Linux slogan
Visite também: Segurança Linux · BR-Linux.org · Dicas-L · Doode · NoticiasLinux · SoftwareLivre.org · UnderLinux



» Screenshot
Linux: TonoIRC xChat2 - Fedora 9
Por Pier
» Login
Login:
Senha:

Se você ainda não possui uma conta, clique aqui.

Esqueci minha senha



Scripts

Linux user

Publicado por rafael farias novaes em 27/01/2009    [ 5793 hits ]

Login: rfarias, 145089 pontos

Homepage: http://www.vivaolinux.com.br/perfil/verPerfil.php?login=bfmano   


Descrição

Configurando USB.

[ Download: Configurando Adaptador USBSerial no Ubuntu usando udev.txt ]   [ Enviar nova versão ]

[ Esconder código-fonte ]

Requisitos

    * Cabo USB
    * Adaptador USB->Serial Prolific (este é um dos modelos mais comuns no mercado)
    * Ubuntu Linux 7.10 (Pode funcionar em outras distribuições baseadas que utilizem udev para gerenciamento de dispositivos)


[editar]
Configuração

Antes de mais nada é necessário detectar qual o dispositivo conectado a inteface USB. Para isto basta utilizar o udevmonitor

# udevmonitor
udevmonitor will print the received events for:
UDEV the event which udev sends out after rule processing
UEVENT the kernel uevent


Agora basta conectar o Adaptador USB->Serial ao cabo USB e em seguida conectar o cabo USB no computador.

Será mostrada uma saida de tela parecida com a saida abaixo:

UEVENT[1197270418.942270] remove   /devices/pci0000:00/0000:00:02.0/usb3/3-2/3-2:1.0/ttyUSB0 (usb-serial)
UDEV  [1197270418.950251] remove   /class/tty/ttyUSB0 (tty)
UDEV  [1197270418.951950] remove   /devices/pci0000:00/0000:00:02.0/usb3/3-2/3-2:1.0/ttyUSB0 (usb-serial)
UEVENT[1197270420.922868] add      /devices/pci0000:00/0000:00:02.0/usb3/3-2 (usb)
UEVENT[1197270420.922933] add      /class/usb_endpoint/usbdev3.19_ep00 (usb_endpoint)
UEVENT[1197270420.925735] add      /devices/pci0000:00/0000:00:02.0/usb3/3-2/3-2:1.0 (usb)
UDEV  [1197270420.934592] add      /devices/pci0000:00/0000:00:02.0/usb3/3-2 (usb)
UDEV  [1197270420.943919] add      /class/usb_endpoint/usbdev3.19_ep00 (usb_endpoint)
UEVENT[1197270420.983005] add      /class/usb_endpoint/usbdev3.19_ep81 (usb_endpoint)
UEVENT[1197270420.983068] add      /class/usb_endpoint/usbdev3.19_ep02 (usb_endpoint)
UEVENT[1197270420.983087] add      /class/usb_endpoint/usbdev3.19_ep83 (usb_endpoint)
UEVENT[1197270420.983105] add      /class/usb_device/usbdev3.19 (usb_device)
UDEV  [1197270421.042027] add      /devices/pci0000:00/0000:00:02.0/usb3/3-2/3-2:1.0 (usb)
UDEV  [1197270421.042097] add      /class/usb_endpoint/usbdev3.19_ep81 (usb_endpoint)
UDEV  [1197270421.042117] add      /class/usb_endpoint/usbdev3.19_ep02 (usb_endpoint)
UDEV  [1197270421.042136] add      /class/usb_endpoint/usbdev3.19_ep83 (usb_endpoint)
UDEV  [1197270421.153474] add      /class/usb_device/usbdev3.19 (usb_device)


Para identificar o dispositivo, vamos observar a class listada acima, neste caso /class/usb_device/usbdev3.19.

Agora basta obter informações detalhadas sobre o dispositivo, usando o comando udevinfo:

# udevinfo -a -p /class/usb_device/usbdev3.19

looking at device '/class/usb_device/usbdev3.19':
   KERNEL=="usbdev3.19"
   SUBSYSTEM=="usb_device"
   DRIVER==""
   ATTR{dev}=="189:274"

looking at parent device '/devices/pci0000:00/0000:00:02.0/usb3/3-2':
   KERNELS=="3-2"
   SUBSYSTEMS=="usb"
   DRIVERS=="usb"
   ATTRS{product}=="USB-Serial Controller"
   ATTRS{manufacturer}=="Prolific Technology Inc."
   ATTRS{quirks}=="0x0"
   ATTRS{maxchild}=="0"
   ATTRS{version}==" 1.10"
   ATTRS{devnum}=="19"
   ATTRS{busnum}=="3"
   ATTRS{speed}=="12"
   ATTRS{bMaxPacketSize0}=="64"
   ATTRS{bNumConfigurations}=="1"
   ATTRS{bDeviceProtocol}=="00"
   ATTRS{bDeviceSubClass}=="00"
   ATTRS{bDeviceClass}=="00"
   ATTRS{bcdDevice}=="0300"
   ATTRS{idProduct}=="2303"
   ATTRS{idVendor}=="5372"
   ATTRS{bMaxPower}=="100mA"
   ATTRS{bmAttributes}=="80"
   ATTRS{bConfigurationValue}=="1"
   ATTRS{bNumInterfaces}==" 1"
   ATTRS{configuration}==""
   ATTRS{dev}=="189:274"


Serão mostradas mais informações, mas o que realmente é necessário para configuração do dispositivo estão em negrito no quadro acima.


[editar]
Arquivo de configuração udev: /etc/udev/rules.d/26-usbserial.rules

ACTION=="add", BUS=="usb", ID="ttyUSB0", DRIVER="pl2303", \
SYSFS{product}=="USB-Serial Controller", \
MODE="0666", SYMLINK="pilot", \
RUN+="/bin/sh -c '/bin/chmod 666 $env{DEVICE}'"


[editar]
Testando dispostivo

Para testar o dispositivo, basta desconectar o cabo USB e conectá-lo novamente.

Se tudo estiver correto, uma mensagem semelhante a do quadro abaixo será mostrada no arquivo /var/log/messages

Dec 10 00:00:00 xxxx kernel: [ xxxx.xxxxxx] pl2303 3-2:1.0: pl2303 converter detected
Dec 10 00:00:00 xxxx kernel: [ xxxx.xxxxxx] usb 3-2: pl2303 converter now attached to ttyUSB0
Dec 10 00:00:00 xxxx kernel: [ xxxx.xxxxxx] usbcore: registered new interface driver pl2303


Agora basta configurar o seu cliente, neste caso configurei o minha conexão com o Palm, para utilizar o dispositivo /dev/ttyUSB0.

Scripts recomendados
   Script Linux recomendado Script grafico memória simplificado
   Script Linux recomendado Disponibilidade de impressoras de rede
   Script Linux recomendado Protegendo arquivos contra acessos simultâneos
   Script Linux recomendado Instala o Stardict Dicionario!
   Script Linux recomendado Backup Incremental

Comentários
Nenhum comentário foi encontrado.

Contribuir com comentário


  
Para executar esta ação você precisa estar logado no site, caso contrário, tudo o que for digitado será perdido.
Responsável pelo site: Fábio Berbert de Paula - Conteúdo distribuído sob licença GNU FDL
Site hospedado por:

Viva o Linux

A maior comunidade Linux da América Latina! Artigos, dicas, tutoriais, fórum, scripts e muito mais. Ideal para quem busca auto-ajuda em Linux.