Dispositivo USB a ser detectado no "mesmo" ponto / dev sempre?

3

No Linux (na verdade eu estou com o CentOS v6.5) , sempre que eu conecto meu USB Terminal/Character Device (algum tipo de adaptador USB) pela primeira vez (após o boot), ele é detectado em:

/dev/ttyUSB0

Mas sempre que eu conecto OUT e IN novamente, ele é novamente detectado em:

/dev/ttyUSB1

O primeiro e único dispositivo.

Isso está me causando problemas com algumas configurações em meus Aplicativos.

  • Significa que às vezes eu sou (preciso) conectando IN e OUT em tempo de execução .

Como faço para que esse Dispositivo USB (que é o primeiro a ser detectado) seja sempre detectado em /dev/ttyUSB0 (em " Zero "ou o que for sempre no número same .

    
por 夏期劇場 07.01.2014 / 11:31

3 respostas

1

Eu tive um problema semelhante com um dispositivo USB usando o driver pl2303. De vez em quando / dev / ttyUSB0 iria desaparecer e / dev / ttyUSB1 apareceria em seu lugar.

Eu resolvi isso executando um cronjob a cada 15 minutos que fez o seguinte:

if [ ! -c /dev/ttyUSB0 ]
then
  echo 'date' Device missing
  echo 'date' Stopping zmconcopy '/usr/sbin/rczmconcopy stop 2>&1'
  sleep 2
  echo 'date' Unloading drivers '/sbin/modprobe -r pl2303 2>&1'
  sleep 2
  echo 'date' Reloading drivers '/sbin/modprobe pl2303 2>&1'
  sleep 2
  echo 'date' Starting zmconcopy '/usr/sbin/rczmconcopy start 2>&1'
  echo 'date' Finished
fi

É importante que qualquer aplicativo que use / dev / ttyUSB0 seja interrompido antes de descarregar o driver de dispositivo.

Você pode estar usando um driver diferente de pl2303, então mude isso para qualquer que seja o seu driver.

    
por 22.05.2015 / 11:25
1

Você pode tentar via udev, mas não é tão fácil, mais encontrado aqui, mas esteja ciente de que o post é de 4 anos atrás. Os dispositivos USB não estão consertados no dev / sd? - > Corrigido

    
por 07.01.2014 / 12:06
0

Você também pode tentar usar o dispositivo pelo endereço USB (ou seja, controlador / hub e número do dispositivo), assim:

ls -l /dev/bus/usb/0??/0??

Você pode descobrir o número do dispositivo usando o comando lsusb (tente usá-lo como root se você não obtiver todas as informações necessárias, embora ele geralmente forneça muitas informações) ou use

udevadm info --name=/dev/ttyUSB0 --attribute-walk

Aqui está informação relacionada se você deseja cavar um pouco mais: link

    
por 22.05.2015 / 11:41