Sono stati costruiti diversi tipi di controller, seguendo alcuni standard:
UHCI | Universal Host Controller Interface | Prima versione di USB, sviluppato inizialmente da Intel, svolge gran parte delle funzioni in software. Molti chpset Intel e VIA hanno USB di questo tipo. |
---|---|---|
OHCI | Open Host Controller Interface | Controller USB 1.1, sviluppato da Compaq ed altri, l'hardware compie gran parte del lavoro e ci sono meno problemi di brevetti. |
EHCI | Enhanced Host Controller Interface | Per fortuna questo è l'unico standard per il veloce USB 2.0 |
Modulo | Kernel | Note |
---|---|---|
usbcore | ||
usb-uhci | 2.4 | Driver per Linux 2.4 e controller UHCI |
uhci | 2.4 | Driver alternativo per controller UHCI, conosciuto come driver JE. Riscritto da zero, dovrebbe essere migliore. |
usb-ohci | 2.4 | Driver per Linux 2.4 e controller OHCI |
uhci-hcd | 2.6 | Driver per controller UHCI |
ohci-hcd | 2.6 | Driver per controller OHCI |
ehci-hcd | 2.6 | Unico driver esistente per controller EHCI, si usa in combinazione con un driver OHCI o UHCI |
usb-storage |
Il controller USB generalmente è integrato nel chipset della scheda madre, ecco cosa riporta il comando lspci
in alcuni casi:
0000:00:1d.0 USB Controller: Intel Corp. 82801EB/ER (ICH5/ICH5R) USB UHCI #1 (rev 02) 0000:00:1d.1 USB Controller: Intel Corp. 82801EB/ER (ICH5/ICH5R) USB UHCI #2 (rev 02) 0000:00:1d.2 USB Controller: Intel Corp. 82801EB/ER (ICH5/ICH5R) USB UHCI #3 (rev 02) 0000:00:1d.3 USB Controller: Intel Corp. 82801EB/ER (ICH5/ICH5R) USB UHCI #4 (rev 02) 0000:00:1d.7 USB Controller: Intel Corp. 82801EB/ER (ICH5/ICH5R) USB2 EHCI Controller (rev 02)
0000:00:10.0 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 81) 0000:00:10.1 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 81) 0000:00:10.2 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 81) 0000:00:10.3 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 81) 0000:00:10.4 USB Controller: VIA Technologies, Inc. USB 2.0 (rev 86)
Se si vuole montare un filesystem USB automaticamente al boot bisogna prestare attenzione all'ordine in cui vengono caricati i moduli kernel e quando viene letto il file /etc/fstab
. Potrebbe accadere che al momento di montare il filesystem, i moduli kernel ancora non ci siano. In tal caso conviene forzare il caricamento dei moduli elencandoli in /etc/modules
:
# USB external HD (/dev/sda). scsi_mod sd_mod usbcore # Driver per controller USB: sceglierne uno. # I controller possono essere di tipo UHCI, OHCI oppure EHCI. # Vedere lspci. # # Kernel 2.4 #usb-uhci #uhci #usb-ohci # #Kernel 2.6 uhci-hcd #ohci-hcd ehci-hcd usb-storage