Como distinguir entre USBs idênticas

2

Eu tenho este sistema onde eu tenho 8 leitores RFID USB que eu gostaria de distinguir um do outro. Aqui está um trecho de lsusb

Bus 002 Device 011: ID 05fe:1010 Chic Technology Corp. Optical Wireless
Bus 002 Device 012: ID 05fe:1010 Chic Technology Corp. Optical Wireless

Como você pode ver, o idVendor e o idProduct são os mesmos para os dois leitores RFID USB.

P1: Alguém pode me ajudar a fazer um --attrubute-walk com udev info para que eu possa ver se há algum parâmetro exclusivo para o indivíduo leitores. (Estou usando o Ubuntu 14.04 LTS)

Este é o caminho da sys que eu acho que devo procurar e o que a pasta contém:

nicolai@nicolai-K53SV:~$ ls /sys/bus/usb/devices/
1-0:1.0  1-1:1.0  1-1.2:1.0  1-1.4      2-0:1.0  2-1:1.0  4-0:1.0  usb2  usb4
1-1      1-1.2    1-1.2:1.1  1-1.4:1.0  2-1      3-0:1.0  usb1     usb3

Então, claro, tentei o seguinte:

udevadm info --attribute-walk --path=/sys/bus/usb/devices/usb1
udevadm info --attribute-walk --path=/sys/bus/usb/devices/usb2
udevadm info --attribute-walk --path=/sys/bus/usb/devices/usb3
udevadm info --attribute-walk --path=/sys/bus/usb/devices/usb4

Mas não consigo encontrar os dois dispositivos listados no topo (com ID 05fe: 1010).

Q2: Se houver um parâmetro exclusivo para o leitor individual, como posso (espero que em python) distinguir entre eles?

Aqui está um código python que eu pensei que poderia usar (até que percebi que o ID é o mesmo para todos os leitores de RFID)

import usb

dev = usb.core.find(idVendor=0x05fe,idProduct=0x1010)
if dev is None:
    raise ValueError('Device not found')
else:
    print('Device found')


Atualizar

A1: Esta é a saída do link lsusb -v :

Como pode ser visto, o iSerial é apenas zero e todos os outros atributos são os mesmos para ambos os dispositivos.

Então, para Q2: Eu queria saber se eu poderia usar o comando setserial bash para escrever uma série para o leitor RFID USB. Em caso afirmativo, esta serial é armazenada mesmo depois que a energia é perdida, ou você tem que criar um script que cria as séries a cada vez que você inicializa?

Qualquer sugestão é útil.

    
por Nicolai Anton Lynnerup 19.07.2014 / 06:27

0 respostas