GNU/Linux >> Tutoriales Linux >  >> Linux

Desconecte y vuelva a conectar ttyUSB0 mediante programación en Linux

Esta es la solución:

  • Encuentre la identidad de su dispositivo USB.

    # tree /sys/bus/usb/drivers/cp210x/
    /sys/bus/usb/drivers/cp210x/
    |-- 1-1:1.1 -> ../../../../devices/platform/omap/musb-ti81xx/musb-hdrc.1/usb1/1-1/1-1:1.1
    |-- bind
    |-- module -> ../../../../module/cp210x
    |-- remove_id
    |-- uevent
     -- unbind
    

Entonces 1-1:1.1 es el identificador de mi ttyUSB0 (también se puede descubrir a través de dmesg ).

  • Luego, desconecte el dispositivo (como root):

    # echo -n "1-1:1.1" > /sys/bus/usb/drivers/cp210x/unbind
    
  • vuelve a conectarlo

    # echo -n "1-1:1.1" > /sys/bus/usb/drivers/cp210x/bind
    

En este punto tenía el mismo dispositivo pero con un nombre diferente, ahora era ttyUSB1 en lugar de ttyUSB0.- Para evitar esto agregué una nueva regla en /etc/udev/rules.d/ creando un nuevo archivo llamado 99-usb-serial.rules con esta línea:

SUBSYSTEM=="tty", ATTRS{idVendor}=="10c4", ATTRS{idProduct}=="ea70", ATTRS{serial}=="002DCFAF", SYMLINK+="sameName", MODE:="0666"

donde idVendor , idProduct y serial deben ser los valores de su dispositivo. Esta regla creará un nuevo dispositivo llamado sameName vinculado al ttyUSB* dispositivo normalmente generado desde el sistema operativo.


Linux
  1. Cómo instalar un controlador de dispositivo en Linux

  2. Linux:¿directorios estándar y/o comunes en sistemas operativos Unix/linux?

  3. Linux Eliminar archivos y directorios

  4. ¿Cómo obtener información del proveedor y del producto USB mediante programación en Linux?

  5. ¿Cuál es la diferencia entre un controlador de plataforma Linux y un controlador de dispositivo normal?

Kernel de Linux y sus funciones

Conectar y desconectar WiFi desde la línea de comandos en Linux

Instalar y configurar Ansible en Linux

Instalación y configuración de Jenkins en Linux

Cómo detectar y administrar dispositivos en Linux

Descripción general de RAMFS y TMPFS en Linux