Estamos haciendo un dispositivo y tiene 8 puertos serie. Se ejecuta en el kernel de Monta Vista Pro5. Y estamos trabajando en C.¿Cómo encontrar qué dispositivo está conectado a un puerto serie USB en Linux usando C?
Supongamos: Un dispositivo se conecta a ttyUSB0, ttyUSB1 y ttyUSB2. El siguiente dispositivo se conecta a ttyUSB3 y otro a ttyUSB4. ¿Cómo puedo saber qué dispositivo se conecta a qué puerto? es decir, ttyUSB0 o ttyUSB1 más o menos. ¿Hay alguna forma de consultar directamente el dispositivo y encontrar el puerto al que está conectado? O, en C, abre ttyUSB0, indaga de alguna manera y obtén alguna respuesta sobre qué dispositivo es?
Una forma bastante complicada: hacer una estadística de, digamos/dev/ttyUSB0. Obtener el número de dispositivo. Y busque esto en/proc/bus/usb/devices y encuentre la identificación del proveedor o algo para identificar el dispositivo.
O: ¿Hay alguna manera de reservar ttyUSB0, ttyUSB1 y ttyUSB2 para un dispositivo, ttyUSB3 para otro y así sucesivamente cuando están enchufadas? De esta forma sabré qué dispositivo está conectado a qué puerto.
Ayuda por favor ..... :)
Gracias de antemano. Nubin Stanley
Vamos a ver si tengo ese derecho. Lo que intenta hacer es hacer coincidir los nodos/dev/ttyUSBx con el dispositivo/proc/bus/usb en el sistema host? ¿O está intentando identificar un dispositivo en serie que está conectado a un adaptador usbserial? – thkala
stat'ing/dev/ solo obtendrá las versiones principales y secundarias del dispositivo.Esos no están de ninguna manera conectados a los identificadores de proveedor/producto/dispositivo. –
thkala
Entonces, ¿tiene un dispositivo con algunos IC usbserial (por ejemplo, de FTDI) y necesita identificarlo? ¿Ha establecido ids de proveedor/producto y número de serie en el chip usbserial? – thkala