Table of Contents

USB su Linux

Controller USB

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

Quali moduli kernel caricare?

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:

Scheda madre Chipset Intel 865GV

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)

Scheda madre Northbridge VIA PT880, Southebridge VIA 8237

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)

USB Storage

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