Apêndice B. USB

O USB (Universal Serial Bus) foi concebido com o intuito de facilitar a conexão de periféricos existentes para computador. Entre eles estão os mais comuns, como teclados, mouses, impressoras e webcams. Embora ainda não seja de uso muito popular nos PCs, o USB é uma boa solução para unificar e facilitar a adição de periféricos a um computador.

Todos os dispositivos USB possuem apenas dois tipos de conectores A (Figura B-1) e B (Figura B-2). Esses conectores foram feitos de maneira que não permitam o encaixe de modo inadequado, tornando mais simples o uso desses periféricos.

Conector A

Figura B-1. Dispositivos USB - Conector A

Quando for necessária a conexão de mais dispositivos, um hub de dispositivos USB pode ser utilizado. Teclados USB usualmente possuem um hub de duas portas, suficiente para a conexão de um mouse e uma impressora. Se for preciso conectar mais periféricos pode-se usar um hub externo. Os hubs mais comuns possuem quatro ou sete portas e é recomendado que sejam ligados à energia elétrica através de um adaptador para assegurar que todos dispositivos a ele conectados funcionem corretamente.

Outro aspecto interessante do USB é a garantia de banda livre para uso. Por exemplo, com teclado, mouse, impressora e webcam conectados, a webcam ou outros dispositivos que utilizem modo isócrono[1] de transferência de dados podem funcionar perfeitamente sem prejudicar os demais periféricos.

Antes de começar, certifique-se de que o USB está habilitado no BIOS de sua máquina. Se não estiver, procure nos manuais de seu micro ou fale com o suporte de seu revendedor.

Conector B

Figura B-2. Dispositivos USB - Conector B

Perguntas Freqüentes sobre Hardware e Periféricos USB

Como saber que tipo de controlador USB eu tenho?

Com o comando lspci -vt. Para saber mais a respeito do lspci leia a página de manual do comando (man lspci).

[root@jerry /]# lspci -vt
-[00]-+-00.0 Intel Corporation 440BX/ZX - 82443BX/ZX Host \
bridge
+-01.0-[01]--
+-04.0 Intel Corporation 82371AB PIIX4 ISA
+-04.1 Intel Corporation 82371AB PIIX4 IDE

--> +-04.2 Intel Corporation 82371AB PIIX4 USB <--

Controlador de USB da Intel -> UHCI

+-04.3 Intel Corporation 82371AB PIIX4 ACPI
+-09.0 Matrox Graphics, Inc. MGA 2064W [Millennium]
+-0a.0 Brooktree Corporation Bt878
+-0a.1 Brooktree Corporation Bt878
\-0b.0 3Com Corporation 3c905C-TX [Fast Etherlink]


[root@localhost /]# lspci -vt
-[00]-+-00.0 Silicon Integrated Systems [SiS] 530 Host
+-00.1 Silicon Integrated Systems [SiS] 5513 [IDE]
+-01.0 Silicon Integrated Systems [SiS] 85C503/5513
+-01.1 Silicon Integrated Systems [SiS] ACPI

--> +-01.2 Silicon Integrated Systems [SiS] 7001 <--

Controlador de USB da SiS -> OHCI

+-02.0-[01]---00.0 Silicon Integrated Systems [SiS] \
63063D-AGP
+-06.0 ESS Technology ES1969 Solo-1 Audiodrive
\-0a.0 Realtek Semiconductor Co., Ltd. RTL-8139
Chipsets

Se for:

  1. Intel (mais comum) ou VIA, seu USB é um usb-uhci (u = universal).

  2. Máquinas da Compaq, Apple (iMacs, G3, G4, G4 Cube e iBooks) e chipsets da OPTi, SiS ou ALi, seu USB é um usb-ohci (o = open).

Como é feito o suporte a outros periféricos?

Vamos iniciar pelo teclado (tudo que está após o sinal de # é comentário):

usb-u(o)hci [módulo usbcore virá junto] 
#suporte ao USB existente na máquina

hid [modulo input virá junto]
#dispositivo de interação humana

keybdev
#suporte ao teclado. Se o teclado já funcionava, então
#estava sendo suportado pelo BIOS de sua máquina mas \
# alguns possuem
# a opcão de desligar o suporte ao teclado USB.

Para o mouse:

usb-u(o)hci [modulo usbcore virá junto] 
#suporte ao USB existente na máquina

hid [modulo input virá junto]
#dispositivo de interação humana

mousedev
#suporte ao mouse, o Conectiva Linux suporta 8 (oito) mouses USB

Suporte a impressora:

usb-u(o)hci [modulo usbcore virá junto] 
#suporte ao USB existente na máquina

printer

#suporte a impressora. Não esqueça que ela precisa do filtro
#instalado via Linuxconf como qualquer impressora paralela,
#mas no campo onde especifica em qual porta paralela a
#impressora esta conectada (no
#Linuxconf), o último campo chamado de custom (Personalizado)
# deverá ser preenchido com : /dev/usb/usblp0

Para câmeras (webcam3 USB e baseadas no chipset OV511):

 
usb-u(o)hci [modulo usbcore virá junto]
#suporte ao USB existente na máquina

ov511 [módulo videodev virá junto]
#suporte a WebCam3 e baseadas no chipset OV511

Solução de Problemas

Antes de mais nada, verifique se os módulos necessários para o funcionamento dos dispositivos estão carregados corretamente[2]. Examinaremos a seguir algumas das questões mais freqüentes sobre este assunto:

Meu mouse não funciona

Os módulos hid e mousedev estão carregados? Caso não, execute os comandos:

[root@localhost /]# modprobe hid ; modprobe mousedev

Para seu mouse funcionar no modo texto, digite:

[root@localhost /]# gpm -k ; gpm -t ps2 -m /dev/usb/usbmouse0

E no modo gráfico? Consulte a parte de configuração de mouses em seu ambiente gráfico (por exemplo, KDE, GNOME ou WindowMaker).

Minha impressora não funciona

O módulo printer está carregado? Caso não esteja, execute o comando:

[root@localhost /]# modprobe printer

Se mesmo assim não funcionar, consulte a parte de configuração de impressoras no Capítulo 7.

Não tenho o adaptador (energia elétrica) para o hub USB.

Você poderá conectar apenas dispositivos que tenham seu próprio adaptador ou consumam pouca energia tais como: teclado, mouse e impressora. Observe a Figura B-3.

Hub USB

Figura B-3. Hub USB

Minha webcam não funciona

O módulo ov511 está carregado? Caso não estiver, execute o comando:

[root@localhost /]# modprobe ov511

Continua sem funcionar? Como tem consumo elevado, ela usa toda a energia de uma porta USB, sendo assim, ela deverá ser ligada diretamente a uma das duas portas USB no seu computador ou a um hub USB ligado à energia elétrica com um adaptador.

Qual o comprimento máximo de um cabo USB?

No máximo 3 (três) metros.

Como devo proceder para não ter que carregar os módulos novamente, toda a vez que reinicio a máquina?

Para o teclado: edite o arquivo /etc/rc.d/rc.local e inclua no final do arquivo as seguintes linhas:

modprobe usb-xhci; 
modprobe hid;
modprobe keybdev

Nota: O "x" de usb-xhci refere-se ao controlador USB existente em seu computador.

Para o mouse: edite o mesmo arquivo citado anteriormente e inclua no final do arquivo as seguintes linhas:

modprobe usb-xhci; 
modprobe hid;
modprobe mousedev

Para a impressora proceda da mesma maneira, incluindo o seguinte conteúdo no final do arquivo /etc/rc.d/rc.local:

modprobe usb-xhci; 
modprobe hid;
modprobe printer

E por fim, para a webcam, inclua no final do arquivo citado anteriormente as seguintes linhas:

modprobe usb-xhci; 
modprobe hid;
modprobe ov511

Se você deseja obter mais informações sobre USB, visite o site oficial do USB na Internet .

Notas

[1]

Modo isócrono de transferência de dados no USB é aquele que garante livre a banda requisitada pelo dispositivo.

[2]

Você pode utilizar o comando lsmod para verificar quais módulos estão carregados.