el controlador de opción coincidió correctamente con la ID de USB y carga el controlador para este dispositivo. Por ejemplo
# lsusb
Bus 001 Device 002: ID 19d2:0031 ONDA Communication S.p.A. ZTE MF636
Bus 001 Device 003: ID 12d1:14ac Huawei Technologies Co., Ltd.
También crea dispositivos ttyUSBX para administrar el hardware.
crw-rw---- 1 root uucp 188, 0 Jul 4 13:48 /dev/ttyUSB0
crw-rw---- 1 root uucp 188, 1 Jul 4 13:49 /dev/ttyUSB1
crw-rw---- 1 root uucp 188, 2 Jul 4 13:35 /dev/ttyUSB2
crw-rw---- 1 root uucp 188, 3 Jul 4 13:37 /dev/ttyUSB3
crw-rw---- 1 root uucp 188, 4 Jul 4 13:37 /dev/ttyUSB4
crw-rw---- 1 root uucp 188, 5 Jul 4 13:37 /dev/ttyUSB5
crw-rw---- 1 root uucp 188, 6 Jul 4 13:37 /dev/ttyUSB6
crw-rw---- 1 root uucp 188, 7 Jul 4 13:37 /dev/ttyUSB7
Sin embargo, tengo más de un dispositivo serie USB y quiero saber qué ttyUSB es para qué USBID. Ex. / dev / ttyUSB1 -> 19d2: 0031
¿Conoces algún punto donde pueda obtener esta información?
Respuestas:
Echa un vistazo al sistema de archivos sysfs. Un ejemplo para mi serie USB:
Como puede ver, los
ttyUSB0
mapas067b:2303
en mi computadora. Otros lugares que vale la pena explorar son/sys/class/tty/
. Presta atención a los enlaces simbólicos.fuente
cat
eluevent
archivo a partir del resultado defind /sys -name ttyACM0
, por ejemplo. Sustituya el nombre del nodo de su dispositivo serie.Puede intentar ver si sus dispositivos están registrados en / dev / serial / by-id /
Estos nombres deben ser consistentes y apuntarán (enlace simbólico) al ttyUSBx correcto
fuente
ls -l /dev/serial/by-id
solo devuelve un adaptador../../ttyUSB1
, mientras quels -l /sys/bus/usb-serial/devices
me muestra ambos. Así que no creo que esta sea una buena respuesta.Yo tenía un problema similar .
Escriba esto a /etc/udev/rules.d/50-usb.rules
hasta el final. Reiniciar.
Ahora puede usar
/dev/ONDA
para llegar a su dispositivo ONDA.Si desea que los usuarios no root puedan usarlos, agregue
hasta el final de cada línea.
fuente
udevadm info --name=/dev/ttyACM0
Usaría udev y escribiría algunas reglas que crean enlaces simbólicos para los dispositivos.
Para obtener suficiente información para distinguir los dispositivos, intente algo como esto para todos los dispositivos:
fuente
Los siguientes comandos me darán una lista de nombres de dispositivos ttyUSB que están asociados con 19d2: 0016 (que es la identificación del "modo de módem" de un dispositivo ZTE MF831 LTE, el suyo puede diferir):
Esto recorrerá una lista de archivos con el nombre de archivo ttyUSB *, incluidos los enlaces simbólicos, en / sys / bus / usb / devices. Dentro de los resultados buscaremos un archivo llamado modalias y buscaremos una cadena que contenga la identificación del proveedor "v" "19d2" y la identificación del producto "p" 0016. Si la salida coincide, haremos eco de una cadena con el prefijo "/ dev / "delante del USB? nombre. Afaik, el primero o generalmente el último (número más alto) es el puerto de módem para dispositivos ZTE. Puede hacer eco de los resultados en un archivo en / tmp / y head -n1 o tail -n1 las líneas en consecuencia. Si tiene centros, es probable que necesite aumentar la profundidad máxima.
Esta no es la forma más elegante, pero funcionará en casi cualquier variante de Linux.
fuente