As linhas relevantes de dmesg
são:
[ 518.172735] usb 1-3: new full-speed USB device number 4 using xhci_hcd
[ 518.306677] usb 1-3: New USB device found, idVendor=0403, idProduct=6001
[ 518.306686] usb 1-3: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 518.306689] usb 1-3: Product: FT232R USB UART
[ 518.306692] usb 1-3: Manufacturer: FTDI
[ 518.306695] usb 1-3: SerialNumber: AK04P01W
[ 518.309382] ftdi_sio 1-3:1.0: FTDI USB Serial Device converter detected
[ 518.309442] usb 1-3: Detected FT232RL
[ 518.309445] usb 1-3: Number of endpoints 2
[ 518.309448] usb 1-3: Endpoint 1 MaxPacketSize 64
[ 518.309450] usb 1-3: Endpoint 2 MaxPacketSize 64
[ 518.309453] usb 1-3: Setting MaxPacketSize 64
[ 518.309771] usb 1-3: FTDI USB Serial Device converter now attached to ttyUSB0
Estas são as linhas relevantes, porque os timestamps pertencem a eles, como reação ao que acontece quando você faz o plugin do dispositivo, e eles acontecem por tempo suficiente após as mensagens de boot, então não há nenhuma conexão com isso.
Como você pode ver, um novo dispositivo USB é detectado, você recebe detalhes do dispositivo e, em reação a isso, o módulo ftdi_sio
é carregado, o que fornece os arquivos de dispositivo especiais /dev/ttyUSB0
. Se nenhum driver de kernel fosse carregado, você poderia caçar (por exemplo, com google ou grep
a origem do kernel) para a combinação de fornecedor / produto ( 0403:6001
, também mostrado em lsusb
) e tentar encontrar um driver do kernel para este dispositivo.
O driver bcm2708
mencionado nas outras respostas não é relevante: é um driver para o barramento I2C, por exemplo. para o Raspberry Pi, e não para o seu laptop.
Mas já temos um driver em funcionamento, que fornece apenas uma interface serial e não tem conexão com a infraestrutura I2C do kernel. Portanto, lmsensors
, i2detect
etc. não funcionará (a menos que você escreva ou encontre um driver adicional).
O site do seu conversor USB-I2C que você mencionou nos comentários explica o protocolo para use sobre o link serial: você envia uma seqüência de bytes e depois opcional recebe uma seqüência de bytes como resposta. A seqüência de comando se parece com
<command-byte> <address> <register (0-2 bytes)> <data byte count (0-1 bytes)> <write data>
E a página da Web para o SRF 02 explica como os registros do chip do sensor se parecem : 6 registradores você pode ler, um registro de 1 comando você pode escrever.
Então, por exemplo, para ler a versão, você precisa ler 01
byte do registrador 00
, o endereço do chip padrão é E0
, o LSB é o bit R / W, então você usa E1
como endereço e o comando necessário para o adaptador USB-I2C é 55
. Portanto, a sequência completa que você enviaria em série seria 55 E1 00 01
e, em seguida, você leria um byte como resposta.
Você pode fazer isso a partir da linha de comando:
$ printf '\x55\xE1\x00\x01' > /dev/ttyUSB0
$ hexdump -n 1 -e '"%02x \n"' < /dev/ttyUSB0
Ou você pode abrir /dev/ttyUSB0
em seu idioma favorito e, depois, ler e escrever bytes usando os comandos fornecidos pela sua linguagem.