====== 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 [[..:..:hardware:chipset|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