USB is een standaardprotocol, het zou op iedere computer exact gelijk moeten zijn. Een moderne computer met USB aansluiting is dus de enige hardware-eis. Deze uitleg is gebaseerd op ervaringen met twee klonen: AMD K6-200 en K6-2 450, respectievelijk op een Aopen AP5t-3 en een Asus P5A-B moederbord en losgekochte USB-brackets. De gebruikte muis is een Logitech Mouseman(+) Wheel.
Iedere kloon en A-merkcomputer die probleemloos Linux draait zou USB dus even probleemloos moeten kunnen implementeren.
Linux 2.2.8 of hoger en alle software die nodig is om de kernel te kunnen hercompileren. Exacte informatie daarover vind je in de Kernel HOWTO. Over het algemeen bieden moderne distributies alle software die je nodig hebt. Dus daarover hoef je je waarschijnlijk niet veel zorgen te maken.
Om USB onder Linux te gebruiken moet je de stuurprogramma's in de kernel compileren of via een module aanmaken. In deze uitleg ga ik ervan uit dat je de code in de kernel compileert. Meer informatie over het compileren van de kernel of de modules vind je in de Kernel HOWTO.
Zorg voor een nieuwe kernelbroncode, 2.2.8 of hoger. Hoe hoger hoe beter want hoe meer keuze in USB-apparatuur en hoe stabieler de USB-ondersteuning). Je kunt de kernelbroncode downloaden vanaf ftp://www.nl.linux.org/pub/linux/kernel/ of http://www.nl.kernel.org/pub/linux/kernel/
Decomprimeer en untar die broncode op de normale manier. Tik dan in:
cd /usr/src/linux/arch/i386/Open het bestand
config.inmet een teksteditor(bijvoorbeeld met Jed, Pico of Vi) zoek de regel
# source drivers/usb/Config.in(plusminus regelnummer 172) haal het Hash-teken (#) weg sluit de editor af en ga terug naar de broncode-root
cd /usr/src/linuxin de development kernels (2.3.x) hoef je de regel in config.in niet meer te wijzigen, het USB-selectievenster is daarin standaard zichtbaar.
Configureer de kernel op de bekende manier, met
make configof
make menuconfigof
make xconfigJe ziet dat er een menu-item in het configuratiemenu is bijgekomen: 'USB drivers - not for the faint at heart'
Selecteer in dat menu daar in ieder geval het bovenste regeltje Support for USB (EXPERIMENTAL), en UHCI (intel PIIX4 and others). En natuurlijk het regeltje USB mouse support en/of USB keyboard support. Als je een USB-hub gebruikt, selecteer dan ook de twee OHCI virtual root Hub instellingen.
Meer hoeft niet (behalve als je een Compaq hebt, maar dat wijst zich vanzelf uit)
Zorg dat je de rest van de instellingen ook aan je systeem aanpast, sluit het
configuratieprogramma af en compileer de nieuwe kernel op de gebruikelijke
wijze. Na het compileren moet je natuurlijk het gemaakte kernel-image naar
/boot/ kopiëren (of make install
draaien). Daarna
moet je lilo.conf aanpassen en
lilodraaien.
Maak dan een device usbmouse aan.
cd /deven tik in:
mknod usbmouse c 10 32In de development kernels kun je in plaats daarvan ook gebruik maken van /dev/psaux of een speciaal USB-device aanmaken. Deze features zullen later ook in de stabiele kernel worden opgenomen.
Nu is het installatieproces afgerond. Zorg ervoor dat je een reddingsdiskette hebt met een oudere kernel, voor als er iets is misgegaan met de nieuwe kernel. Ik ga ervan uit dat je vaker een kernel hebt gecompileerd en niet meer in dit soort valkuilen trapt!
Herstart de computer, tijdens het opstarten zie je de USB berichten al voorbij komen, eventueel kun je die later aan de prompt nakijken met
dmesg | less
Als de computer normaal is opgestart, is het installatieproces afgerond.
Wil je de muis onder de prompt en consoleprogramma's gebruiken via gpm tik dan in:
gpm -3 m /dev/usbmouse -t ps2 -RJe kunt eventueel de installatie van de muis testen met
mouse-test(of je doet dat met /dev/psaux, dat ligt eraan hoe je hebt gekozen met compileren) Als alles goed is vindt dat programma /dev/usbmouse als mogelijke muispoort.
voor gebruik onder X Windows pas je /etc/XF86Config aan In de Pointer sectie wijzig je met een editor de volgende waarden:
Section "Pointer" Protocol "PS/2" Device "/dev/usbmouse"Sluit de editor en start X Windows. Zie dat het werkt! Denk er wel aan dat gelijktijdig GPM en X gebruiken tot conflicten kan leiden, schakel als je GPM hebt draaien - voor je X Windows start - GPM uit met
gpm -k