I dag fikk jeg endelig tittet litt på mine nyinnkjøpte roboter, og -har brukt noen timer til å google etter interessante referanser og -aktuell kildekode for bruk på Linux. Det mest lovende så langt er -ispykee, som har en -BSD-lisensiert linux-daemon som står som mellomledd mellom roboter på -lokalnettet og en sentral tjeneste der en iPhone kan koble seg opp for -å fjernstyre roboten. Linux-daemonen implementerer deler av -protokollen som roboten forstår. Etter å ha knotet litt med å oppnå -kontakt med roboten (den oppretter et eget ad-hoc wifi-nett, så jeg -måtte gå av mitt vanlige nett for å få kontakt), og kommet frem til at -den lytter på IP-port 9000 og 9001, gikk jeg i gang med å finne ut -hvordan jeg kunne snakke med roboten vha. disse portene. Robotbiten -av protokollen er publisert av produsenten med GPL-lisens, slik at det -er mulig å se hvordan protokollen fungerer. Det finnes en java-klient -for Android som så ganske snasen ut, men fant ingen kildekode for -denne. Derimot hadde iphone-løsningen kildekode, så jeg tok -utgangspunkt i den.
- -Daemonen ville i utgangspunktet forsøke å kontakte den sentrale -tjenesten som iphone-programmet kobler seg til. Jeg skrev dette om -til i stedet å sette opp en nettverkstjeneste på min lokale maskin, -som jeg kan koble meg opp til med telnet og gi kommandoer til roboten -(act, forward, right, left, etc). Det involverte i praksis å bytte ut -socket()/connect() med socket()/bind()/listen()/accept() for å gjøre -klienten om til en tjener.
- -Mens jeg har forsøkt å få roboten til å bevege seg har min samboer -skrudd sammen resten av roboten for å få montert kamera og plastpynten -(armer, plastfiber for lys). Nå er det hele montert, og roboten er -klar til bruk. Må få flyttet den over til mitt vanlige trådløsnett -før det blir praktisk, men de bitene av protokollen er ikke -implementert i ispykee-daemonen, så der må jeg enten få tak i en mac -eller en windows-maskin, eller implementere det selv.
- -Vi var tre som kjøpte slike roboter, og vi har blitt enige om å -samle notater og referanser på NUUGs wiki. Ta en titt -der hvis du er nysgjerrig.
+The last few days I have spent at work here at the University of oslo testing if the new +batch of computers will work with Linux. Every year for the last few +years the university have organized shared bid of a few thousand +computers, and this year HP won the bid. Two different desktops and +five different laptops are on the list this year. We in the UNIX +group want to know which one of these computers work well with RHEL +and Ubuntu, the two Linux distributions we currently handle at the +university.
+ +My test method is simple, and I share it here to get feedback and +perhaps inspire others to test hardware as well. To test, I PXE +install the OS version of choice, and log in as my normal user and run +a few applications and plug in selected pieces of hardware. When +something fail, I make a note about this in the test matrix and move +on. If I have some spare time I try to report the bug to the OS +vendor, but as I only have the machines for a short time, I rarely +have the time to do this for all the problems I find.
+ +Anyway, to get to the point of this post. Here is the simple tests +I perform on a new model.
+ +-
+
+
- Is PXE installation working? I'm testing with RHEL6, Ubuntu Lucid +and Ubuntu Maverik at the moment. If I feel like it, I also test with +RHEL5 and Debian Edu/Squeeze. + +
- Is X.org working? If the graphical login screen show up after +installation, X.org is working. + +
- Is hardware accelerated OpenGL working? Running glxgears (in +package mesa-utils on Ubuntu) and writing down the frames per second +reported by the program. + +
- Is sound working? With Gnome and KDE, a sound is played when +logging in, and if I can hear this the test is successful. If there +are several audio exits on the machine, I try them all and check if +the Gnome/KDE audio mixer can control where to send the sound. I +normally test this by playing +a HTML5 +video in Firefox/Iceweasel. + +
- Is the USB subsystem working? I test this by plugging in a USB +memory stick and see if Gnome/KDE notices this. + +
- Is the CD/DVD player working? I test this by inserting any CD/DVD +I have lying around, and see if Gnome/KDE notices this. + +
- Is any built in camera working? Test using cheese, and see if a +picture from the v4l device show up. + +
- Is bluetooth working? Use the Gnome/KDE browsing tool to see if +any bluetooth devices are discovered. In my office, I normally see a +few. + +
- For laptops, is the SD or Compaq Flash reader working. I have +memory modules lying around, and stick them in and see if Gnome/KDE +notice this. + +
- For laptops, is suspecd/hibernate working? I'm testing if the +special button work, and if the laptop continue to work after +resume. + +
- For laptops, is the extra buttons working, like audio level, +adjusting background light, switching on/off external video output, +switching on/off wifi, bluetooth, etc? The set of buttons differ from +laptop to laptop, so I just write down which are working and which are +not. + +
- Some laptops have smart card readers, finger print readers, +acceleration sensors etc. I rarely test these, as I do not know how +to quickly test if they are working or not, so I only document their +existence. + +
By now I suspect you are really curious what the test results are +for the HP machines I am testing. I'm not done yet, so I will report +the test results later. For now I can report that HP 8100 Elite work +fine, and hibernation fail with HP EliteBook 8440p on Ubuntu Lucid, +and audio fail on RHEL6. Ubuntu Maverik worked with 8440p. As you +can see, I have most machines left to test. One interesting +observation is that Ubuntu Lucid has almost twice the framerate than +RHEL6 with glxgears. No idea why.