De USB HOWTO

Martijn de Meulder, martijn@creativeminds.nl

v1.1, 26 augustus 1999


Hoe USB apparatuur aansluiten onder Linux ?

1. Introductie

1.1 Waarom dit document

Nergens op het internet kon ik goede documentatie vinden over het toevoegen van zoiets eenvoudigs als een USB-muis aan Linux. Hiermee vul ik voor het Nederlandse taalgebied het hiaat op.

1.2 Wat is dit document (niet)?

Met dit document kun je in ieder geval je USB muis aan de gang krijgen onder Linux, waarschijnlijk geldt exact dezelfde procedure ook voor USB toetsenborden en in een later stadium ook voor videocamera's en audio-apparatuur. Ik heb de andere apparatuur (nog) niet getest maar gezien de eenvoud van USB moet dat op de beschreven manier ook lukken.

Dit document is geen officiële HOWTO. Het is niet in SGML geschreven en niet in andere formaten dan HTML verkrijgbaar. Omdat het voor eindgebruikers is, voor iedereen die er aardigheid in heeft met Linux te werken. De meer technisch begaafden onder ons zullen misschien vinden dat het niet diep genoeg gaat, maar zo is dit document niet bedoeld. Het legt in begrijpelijke taal en in een paar stappen uit hoe je eenvoudige USB randapparatuur aan de gang kunt krijgen.

Natuurlijk nodig ik iedereen uit extra informatie aan te leveren en eventuele onvolkomenheden te corrigeren. Deze handleiding is ontstaan op het moment dat USB nog niet officieel onder Linux beschikbaar was. Het de bedoeling dat het in de loop der tijd uitgroeit tot een installatiehandleiding voor alle USB apparatuur onder Linux. Ik zal mijn uiterste best doen zoveel mogelijk USB apparatuur te testen. Nogmaals: ik stel bijdragen van jou als lezer/gebruiker zeer op prijs!

1.3 Voor wie is deze handleiding bedoeld?

Dit document is voor iedereen met enige Linuxervaring die USB apparatuur wil aansluiten. 'Enige Linuxervaring' betekent in dit verband: 'in staat zijn de kernel te compileren en niet bang zijn om met teksteditors configuratiebestandjes te bewerken'.

2. Het aansluiten van een USB-muis

2.1 Vereiste hardware

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.

2.2 Vereiste software

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.

2.3 De USB-code in de kernel

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.in
  
met 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/linux
  
in de development kernels (2.3.x) hoef je de regel in config.in niet meer te wijzigen, het USB-selectievenster is daarin standaard zichtbaar.

2.4 De kernel opnieuw configureren

Configureer de kernel op de bekende manier, met

        make config
  
of
        make menuconfig
  
of
        make xconfig
  
Je 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

        lilo
  
draaien.

2.5 Device usbmouse aanmaken

Maak dan een device usbmouse aan.

        cd /dev
  
en tik in:
        mknod usbmouse c 10 32
  
In 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
  

2.6 Software bijwerken: GPM en X windows

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 -R
  
Je 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
  

3. Bronnen

3.1 Technische informatie

Dit document is zoals je hebt gemerkt een praktische handleiding voor het installeren van USB apparaten onder Linux. Heb je behoefte aan diepere informatie, dan kun je onder meer terecht bij de volgende sites:

Het eerste USB project (Uusbd) van Iñaky Pérez González

Kernel traffic, de wekelijkse online Kernel nieuwsbrief waarin ook de nieuwste Linux-USB ontwikkelingen worden doorgenomen:

http://www.kt.opensrc.org/

Cutting Edge Linux, met de nieuwste changelogs:

http://edge.kernelnotes.org/

3.2 USB in het algemeen

De centrale site (algemene) rond USB is

http://www.usb.org

Daar vind je veel hyperlinks naar relevante informatie.

3.3 Linux-USB discussies

Er zijn nog geen Linux USB-nieuwsgroepen, wel een algemene hardware nieuwsgroep:

news://comp.os.linux.hardware

Natuurlijk kun je ook terecht bij de algemene Nederlandse nieuwsgroep:

news://nl.comp.os.linux

Ook een zoektocht bij dejanews kan bruikbare informatie opleveren:

http://www.deja.com

4. Feedback en disclaimer

4.1 Feedback

Heb je opmerkingen over de inhoud van dit document stuur dan een e-mail naar martijn@creativeminds.nl

Als je zelf ervaring hebt met het aansluiten van muizen of andere USB apparatuur onder Linux, dan stel ik het ook zeer op prijs als je contact met me opneemt zodat we dit document completer kunnen maken en uitbreiden met handleidingen voor andere apparatuur.

4.2 Disclaimer

Voor zover er handelsmerken zijn gebruikt in dit document: ze zijn in handen van hun eigenaren. Er is geen garantie voor de informatie in dit document. Je mag het gebruiken, verspreiden, en vrij herproduceren, op voorwaarde dat je deze copyright vermelding niet wijzigt of verwijdert, het versienummer en de datum niet aanpast en de verwijzing naar de huidige WWW versie van dit document niet wijzigt of verwijdert. Die versie is: http://www.creativeminds.nl/linux/USB-uitleg-nl.html Als je iets verandert moet je duidelijk aangeven dat het om een gewijzigde versie gaat.