Huawei Modems 3G USB e numeração tty

2

Eu tenho um modem Huawei E353 que estou usando com um Raspberry Pi.

Quando eu o conecto, recebo três TTYs - ttyUSB0, ttyUSB1 e ttyUSB2.

Mas às vezes a interface do modem (onde você pode emitir comandos AT do tipo Hayes) está em ttyUSB0 e às vezes é em ttyUSB1.

Não consigo identificar nenhum fator comum que faça a diferença. E eu não tenho certeza, mas parece que sempre faz a mesma coisa no mesmo Pi (ou talvez o mesmo dongle - eu tenho vários de cada um e não tive a chance de experimentar combinações diferentes demais) .

Alguém pode sugerir o que influencia a numeração tty?

    
por Tom 07.04.2017 / 19:39

2 respostas

1

O problema que você está tendo não é exclusivo dos dispositivos Huawei (assim, você pode obter uma resposta melhor se remover isso do seu título).

O problema tem a ver com a detecção de dispositivos e o que o sistema acha que já está instalado. A solução é criar regras UDEV apropriadas para garantir que o dispositivo seja sempre reconhecido como uma peça específica de hardware e tenha a mesma interface.

Os detalhes variam um pouco por distribuição, mas isso normalmente significa usar o lsusb para encontrar atributos exclusivos para o dispositivo e, em seguida, codificar uma linha para corresponder a esses atributos nos arquivos de configuração do udev. O Google é seu amigo aqui - pesquisar as regras do udev [distribuição] deve fornecer os detalhes de que você precisa.

    
por 08.04.2017 / 20:58
1

Todos numeração do dispositivo (disco rígido, tty, qualquer que seja) devem ser considerados não confiáveis e consistentes, porque podem acontecer em ordem aleatória.

Veja lsusb e dmesg para descobrir os detalhes de como o tty é criado, depois escreva regras udev apropriadas para criar links simbólicos com nomes constantes que podem ser confiáveis.

Editar :

Sim, entendi perfeitamente que este é um dispositivo manipulado por um único driver, que produz três tty's. Você não pode distingui-las na saída de lsusb (mas você pode ver o ID do fornecedor / dispositivo, que será necessário para identificar o que está acontecendo em dmesg ), mas tenho certeza de que você pode encontrar atributos do udev.

Se não houver nada em dmesg (improvável), use

udevadm info -a -p  $(udevadm info -q path -n /dev/ttyUSB0)

para percorrer o caminho do dispositivo e ver atributos, e

udevadm monitor --udev --property

para ter uma ideia do que o udev pensa que está a fazer quando liga o dispositivo.

    
por 08.04.2017 / 18:04