La pregunta:
Conecté un dispositivo (es decir, un módem GSM) a través de un puerto serie (también conocido como RS-232), y necesito ver con qué archivo en el /dev/
sistema de archivos estaba conectado este dispositivo, para poder comunicarme con él. Desafortunadamente, no hay un archivo recién creado /dev/
ni se puede ver nada en la dmesg
salida. Entonces, esta parece ser una pregunta difícil.
Fondo:
Nunca había trabajado con un dispositivo en serie, así que ayer, cuando parecía necesario, intenté buscarlo en Google, pero no pude encontrar nada útil. Pasé algunas horas buscando y quiero compartir una respuesta encontrada, ya que podría ser útil para alguien.
devices
tty
serial-port
Hola angel
fuente
fuente
Respuestas:
Desafortunadamente, los puertos seriales no son PlugNPlay, por lo que el kernel no sabe qué dispositivo se conectó. Después de leer un tutorial de HowTo , tengo la idea funcional.
El
/dev/
directorio de sistemas operativos tipo UNIX contiene archivos denominados como ttySn (siendo n un número) . La mayoría de ellos no corresponde a los dispositivos existentes. Para encontrar cuáles lo hacen, emita un comando:Arriba hay un ejemplo de salida de mi PC. Puede ver la inicialización de algunos puertos seriales:
ttyS0
``ttyS1
`ttyS4
`ttyS5
.Uno de ellos tendrá un voltaje positivo en un dispositivo conectado. Por lo tanto, al comparar el contenido del archivo
/proc/tty/driver/serial
con y sin el dispositivo conectado, podemos encontrar fácilmente los ttyS relacionados con nuestro dispositivo. Entonces, ahora haz:(des) conectar un dispositivo
Luego verifique la diferencia entre los dos archivos. A continuación se muestra una salida de mi PC:
Al comparar los tres números con la salida dmesg podemos determinar cuál es el puerto:
Por lo tanto, nuestro dispositivo es
/dev/ttyS0
, ¡misión cumplida!fuente
dmesg
debería tener un mensaje sobre la asignación de irq a un dispositivo en serie. Y si no fuera así, asumiría algún problema de hardware. Eso es solo una suposición, y podría estar equivocado, pero si depurara tal problema, comenzaría a investigar con la idea en mente de que el puerto serie debería haberse inicializado.