Dispositivo USB a serie, ¿por qué la entrada no / dev? -- usb campo con serial-port camp askubuntu Relacionados El problema

USB-to-Serial device, why no /dev entry?


3
vote

problema

Español

Inicialmente hice esta pregunta sobre su pregunta, pero es tan específica para Ubuntu que lo muevo aquí.

i instalado un transceptor de 433mhz en mi sistema Ubuntu (3.8.0-35). Es un tipo de dispositivo USB a serial y de alguna manera se reconoce:

ABCDEFGHIJKLMNABCDEFGHIJKLMN4 SALIDA:

  ABCDEFGHIJKLMNABCDEFGHIJKLMN5   

ABCDEFGHIJKLMNABCDEFGHIJKLMN6 SALIDA:

  Bus 003 Device 002: ID 10c4:8668 Cygnal Integrated Products, Inc.   

Me gustaría acceder a ella (a través de rfxcmd por ejemplo), pero no puedo obtener un camino relevante /dev . Los contenidos de /dev no cambian cuando lo conecto, por lo que sin duda falta.

¿Qué otros pasos deben hacerse para crear una ruta de dispositivo sudo apt-get install ubuntu-desktop0/defhijklmn10 , que se puede usar en scripts?

Editar después de Respuesta de Lekensteyn : Salida de ABCDEFGHIJKLMNABCDEFGHIJKLMN11 Siguiendo un sudo apt-get install ubuntu-desktop2 (con partes no relevantes eliminadas). Tenga en cuenta que siguiendo un reinicio el sudo apt-get install ubuntu-desktop3 arriba se convirtió en un sudo apt-get install ubuntu-desktop4 a continuación. Tomé en cuenta en las pruebas.

  sudo apt-get install ubuntu-desktop5 

Editar: Añadido ABCDEFGHIJKLMNABCDEFGHIJKLMN16 Después de CP210X.KO Recompilación y reinicio (con el nuevo CP210X.KO)

  ABCDEFGHIJKLMNABCDEFGHIJKLMN17   

Después de un manual abcdefhijklmnabcdefghijklmn18 , las líneas adicionales en sudo apt-get install ubuntu-desktop9 .

  sudeep@sudeep:~$ sudo apt-get install ubuntu-desktop  Reading package lists... Done Building dependency tree        Reading state information... Done ubuntu-desktop is already the newest version. You might want to run 'apt-get -f install' to correct these: The following packages have unmet dependencies:  firefox-globalmenu : Depends: firefox (= 20.0+build1-0ubuntu0.12.10.3) but it is not going to be installed  firefox-gnome-support : Depends: firefox but it is not going to be installed  lightdm-remote-session-uccsconfigure : Depends: firefox but it is not going to be installed  xul-ext-websites-integration : Depends: firefox (>= 9.0) but it is not going to be installed E: Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution). 0  
Original en ingles

I initially asked this question on SU but it is so specific to Ubuntu that I move it here.

I installed an 433Mhz transceiver on my Ubuntu system (3.8.0-35). It is an USB-to-Serial kind of device and is somehow recognized:

dmesg output:

[  324.051498] usb 3-1: new full-speed USB device number 2 using xhci_hcd [  324.088070] usb 3-1: New USB device found, idVendor=10c4, idProduct=8668 [  324.088081] usb 3-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0 [  324.088087] usb 3-1: Product: NETUSB1100 NEWMSG  [  324.088093] usb 3-1: Manufacturer: HZWB [  324.102259] hid-generic 0003:10C4:8668.0002: hiddev0,hidraw1: USB HID v1.01 Device [HZWB NETUSB1100 NEWMSG ] on usb-0000:0e:00.0-1/input0 

lsusb output:

Bus 003 Device 002: ID 10c4:8668 Cygnal Integrated Products, Inc. 

I would like to access it (via rfxcmd for instance) but I cannot get a relevant /dev path. The contents of /dev do not change when I plug it in so there is certainly something missing.

What other steps must be done in order to create a /dev/... device path - which can be then used in scripts?

EDIT after lekensteyn's answer: output of tree /sys/bus/usb/drivers/ following a modprobe cp210x (with non-relevant parts removed). Please note that following a reboot the 3-1 above became a 3-2 below. I took that into account in the tests.

/sys/bus/usb/drivers/ xe2x94x9cxe2x94x80xe2x94x80 cp210x xe2x94x82xc2xa0xc2xa0 xe2x94x9cxe2x94x80xe2x94x80 bind xe2x94x82xc2xa0xc2xa0 xe2x94x9cxe2x94x80xe2x94x80 module -> ../../../../module/usbserial xe2x94x82xc2xa0xc2xa0 xe2x94x9cxe2x94x80xe2x94x80 uevent xe2x94x82xc2xa0xc2xa0 xe2x94x94xe2x94x80xe2x94x80 unbind xe2x94x9cxe2x94x80xe2x94x80 hub xe2x94x82xc2xa0xc2xa0 xe2x94x9cxe2x94x80xe2x94x80 1-0:1.0 -> ../../../../devices/pci0000:00/0000:00:1a.0/usb1/1-0:1.0 xe2x94x82xc2xa0xc2xa0 xe2x94x9cxe2x94x80xe2x94x80 1-1:1.0 -> ../../../../devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1:1.0 xe2x94x82xc2xa0xc2xa0 xe2x94x9cxe2x94x80xe2x94x80 2-0:1.0 -> ../../../../devices/pci0000:00/0000:00:1d.0/usb2/2-0:1.0 xe2x94x82xc2xa0xc2xa0 xe2x94x9cxe2x94x80xe2x94x80 2-1:1.0 -> ../../../../devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1:1.0 xe2x94x82xc2xa0xc2xa0 xe2x94x9cxe2x94x80xe2x94x80 3-0:1.0 -> ../../../../devices/pci0000:00/0000:00:1c.6/0000:0e:00.0/usb3/3-0:1.0 xe2x94x82xc2xa0xc2xa0 xe2x94x9cxe2x94x80xe2x94x80 4-0:1.0 -> ../../../../devices/pci0000:00/0000:00:1c.6/0000:0e:00.0/usb4/4-0:1.0 xe2x94x82xc2xa0xc2xa0 xe2x94x9cxe2x94x80xe2x94x80 bind xe2x94x82xc2xa0xc2xa0 xe2x94x9cxe2x94x80xe2x94x80 module -> ../../../../module/usbcore xe2x94x82xc2xa0xc2xa0 xe2x94x9cxe2x94x80xe2x94x80 new_id xe2x94x82xc2xa0xc2xa0 xe2x94x9cxe2x94x80xe2x94x80 remove_id xe2x94x82xc2xa0xc2xa0 xe2x94x9cxe2x94x80xe2x94x80 uevent xe2x94x82xc2xa0xc2xa0 xe2x94x94xe2x94x80xe2x94x80 unbind xe2x94x9cxe2x94x80xe2x94x80 usb xe2x94x82xc2xa0xc2xa0 xe2x94x9cxe2x94x80xe2x94x80 1-1 -> ../../../../devices/pci0000:00/0000:00:1a.0/usb1/1-1 xe2x94x82xc2xa0xc2xa0 xe2x94x9cxe2x94x80xe2x94x80 1-1.2 -> ../../../../devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2 xe2x94x82xc2xa0xc2xa0 xe2x94x9cxe2x94x80xe2x94x80 1-1.3 -> ../../../../devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.3 xe2x94x82xc2xa0xc2xa0 xe2x94x9cxe2x94x80xe2x94x80 1-1.4 -> ../../../../devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.4 xe2x94x82xc2xa0xc2xa0 xe2x94x9cxe2x94x80xe2x94x80 1-1.6 -> ../../../../devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.6 xe2x94x82xc2xa0xc2xa0 xe2x94x9cxe2x94x80xe2x94x80 2-1 -> ../../../../devices/pci0000:00/0000:00:1d.0/usb2/2-1 xe2x94x82xc2xa0xc2xa0 xe2x94x9cxe2x94x80xe2x94x80 3-2 -> ../../../../devices/pci0000:00/0000:00:1c.6/0000:0e:00.0/usb3/3-2 xe2x94x82xc2xa0xc2xa0 xe2x94x9cxe2x94x80xe2x94x80 bind xe2x94x82xc2xa0xc2xa0 xe2x94x9cxe2x94x80xe2x94x80 uevent xe2x94x82xc2xa0xc2xa0 xe2x94x9cxe2x94x80xe2x94x80 unbind xe2x94x82xc2xa0xc2xa0 xe2x94x9cxe2x94x80xe2x94x80 usb1 -> ../../../../devices/pci0000:00/0000:00:1a.0/usb1 xe2x94x82xc2xa0xc2xa0 xe2x94x9cxe2x94x80xe2x94x80 usb2 -> ../../../../devices/pci0000:00/0000:00:1d.0/usb2 xe2x94x82xc2xa0xc2xa0 xe2x94x9cxe2x94x80xe2x94x80 usb3 -> ../../../../devices/pci0000:00/0000:00:1c.6/0000:0e:00.0/usb3 xe2x94x82xc2xa0xc2xa0 xe2x94x94xe2x94x80xe2x94x80 usb4 -> ../../../../devices/pci0000:00/0000:00:1c.6/0000:0e:00.0/usb4 xe2x94x9cxe2x94x80xe2x94x80 usbhid xe2x94x82xc2xa0xc2xa0 xe2x94x9cxe2x94x80xe2x94x80 1-1.2:1.0 -> ../../../../devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2:1.0 xe2x94x82xc2xa0xc2xa0 xe2x94x9cxe2x94x80xe2x94x80 3-2:1.0 -> ../../../../devices/pci0000:00/0000:00:1c.6/0000:0e:00.0/usb3/3-2/3-2:1.0 xe2x94x82xc2xa0xc2xa0 xe2x94x9cxe2x94x80xe2x94x80 bind xe2x94x82xc2xa0xc2xa0 xe2x94x9cxe2x94x80xe2x94x80 module -> ../../../../module/usbhid xe2x94x82xc2xa0xc2xa0 xe2x94x9cxe2x94x80xe2x94x80 new_id xe2x94x82xc2xa0xc2xa0 xe2x94x9cxe2x94x80xe2x94x80 remove_id xe2x94x82xc2xa0xc2xa0 xe2x94x9cxe2x94x80xe2x94x80 uevent xe2x94x82xc2xa0xc2xa0 xe2x94x94xe2x94x80xe2x94x80 unbind xe2x94x9cxe2x94x80xe2x94x80 usbserial xe2x94x82xc2xa0xc2xa0 xe2x94x9cxe2x94x80xe2x94x80 bind xe2x94x82xc2xa0xc2xa0 xe2x94x9cxe2x94x80xe2x94x80 module -> ../../../../module/usbserial xe2x94x82xc2xa0xc2xa0 xe2x94x9cxe2x94x80xe2x94x80 uevent xe2x94x82xc2xa0xc2xa0 xe2x94x94xe2x94x80xe2x94x80 unbind xe2x94x9cxe2x94x80xe2x94x80 usbserial_generic xe2x94x82xc2xa0xc2xa0 xe2x94x9cxe2x94x80xe2x94x80 bind xe2x94x82xc2xa0xc2xa0 xe2x94x9cxe2x94x80xe2x94x80 module -> ../../../../module/usbserial xe2x94x82xc2xa0xc2xa0 xe2x94x9cxe2x94x80xe2x94x80 uevent xe2x94x82xc2xa0xc2xa0 xe2x94x94xe2x94x80xe2x94x80 unbind 

EDIT: added dmesg after cp210x.ko recompilation and reboot (with the new cp210x.ko)

[    1.352918] usb 3-2: new full-speed USB device number 2 using xhci_hcd [    1.389854] usb 3-2: New USB device found, idVendor=10c4, idProduct=8668 [    1.389865] usb 3-2: New USB device strings: Mfr=1, Product=2, SerialNumber=0 [    1.389871] usb 3-2: Product: NETUSB1100 NEWMSG  [    1.389877] usb 3-2: Manufacturer: HZWB [    1.399869] usbcore: registered new interface driver usbhid [    1.399872] usbhid: USB HID core driver [    1.406870] hid-generic 0003:10C4:8668.0001: hiddev0,hidraw0: USB HID v1.01 Device [HZWB NETUSB1100 NEWMSG ] on usb-0000:0e:00.0-2/input0 

after a manual modprobe cp210x, the extra lines in dmesg.

[ 1313.312593] usbcore: registered new interface driver usbserial [ 1313.312642] usbcore: registered new interface driver usbserial_generic [ 1313.312674] usbserial: USB Serial support registered for generic [ 1313.329536] usbcore: registered new interface driver cp210x [ 1313.329575] usbserial: USB Serial support registered for cp210x (end of file) 
     
 
 

Lista de respuestas

5
 
vote
vote
La mejor respuesta
 

Cuando los controladores genéricos de HID poseen un dispositivo, deja claro que falta un controlador más específico para el dispositivo. Grepped the Kernel Tree (3.13) para su dispositivo ( 10[Cc]4 y abcdefhijklmnabcdefghijklmn7 ), pero no encontró un controlador para esto. El más cercano que encontré fue el módulo cp210x , pero no tiene entrada para su dispositivo 8668 .

Puede intentar unir manualmente el dispositivo al dispositivo /etc/sudoers0 (Cambiar /etc/sudoers1 a las direcciones enumeradas en /etc/sudoers2 ):

  /etc/sudoers3  

Intente editar el módulo CP210X y agregue su ID de producto a la lista:

  /etc/sudoers4  

Si no desea obtener 124 MB de fuentes, todo lo que necesita son los archivos Makefile y CP210x.c. Consulte https://gist.github.com/lekenstyn/8544581 Para versiones ya parcheadas basadas en 3.8 .0-35-genérico.

luego construir el módulo (instale el paquete /etc/sudoers5 usando /etc/sudoers6 si aún no lo ha hecho):

  ABCDEFGHIJKLMNABCDEFGHIJKLMN17   

Luego descargue el módulo antiguo (si corresponde) y cargue el recién integrado (debe deshabilitar la bota segura si lo ha habilitado):

  ABCDEFGHIJKLMNABCDEFGHIJKLMN18   
 

When the generic HID drivers owns a device, it makes clear that a more specific driver is missing for the device. I grepped the kernel tree (3.13) for your device (10[Cc]4 and 8668), but did not find a driver for this. The closest I found was the cp210x module, but it has no entry for your 8668 device.

You can try to manually bind the device to the cp210x driver (Change 3-1 to the addresses listed in dmesg):

sudo modprobe cp210x sudo tee /sys/bus/usb/drivers/usbhid/unbind <<<3-1 sudo tee /sys/bus/usb/drivers/cp210x/bind <<<3.1 

Try editing the cp210x module and add your product ID to the list:

apt-get source linux-headers-$(uname -r) cd linux-lts-*/drivers/usb/serial wget https://gist.github.com/Lekensteyn/8544581/raw/cp210x-10c4-8668.patch patch < cp210x-10c4-8668.patch 

If you do not want to fetch 124MB of sources, all you need are the Makefile and cp210x.c files. See https://gist.github.com/Lekensteyn/8544581 for already patched versions based on 3.8.0-35-generic.

Then build the module (install the build-essential package using apt-get if you have not already):

make -C /usr/src/linux-headers-$(uname -r) M=$PWD cp210x.ko 

Then unload the old module (if any) and load the newly built one (you need to disable Secure Boot if you had it enabled):

sudo rmmod cp210x sudo insmod cp210x.ko 
 
 
         
         
0
 
vote

Utilizo scripts de shell para administrar el nodo de identificación del dispositivo y use el controlador CP210X personalizado. También proporcione las reglas y los scripts de UDEV apropiados para ejecutar dinámicamente un script cuando un dispositivo CP210X está conectado en caliente.

github.com/rishigupta12/serial-communication-manager/tree/master/drivers/cp210x-silicon-labs

 

I use shell scripts to manage identifying device node and use custom cp210x driver. The also give appropriate udev rules and scripts to dynamically execute a script when a CP210X device is hot plugged.

github.com/RishiGupta12/serial-communication-manager/tree/master/drivers/cp210x-silicon-labs

 
 

Relacionados problema

0  Módulo LIRC_SERIAL que falta 18.04+  ( Lirc serial module missing 18 04 ) 
En GAINTU 20.04, quiero configurar LIRC para impulsar el puerto serie. Pero parece que el último kernel de Linux le falta el módulo necesario "LIRC_SERIAL.KO"...

18  Arduino Puerto serie COM1 problema  ( Arduino serial port com1 problem ) 
Compré un arduino uno e instalado Arduino IDE 1.6.5. Pero cuando quiero subir un boceto a la Junta Arduino, obtengo este error: AVRDUDE: ser_open (): no ...

62  Cambio de permisos en el puerto serie  ( Changing permissions on serial port ) 
Estoy usando el IDE Arduino en Ubuntu, y estoy teniendo problemas con el puerto serie. Ha trabajado en el pasado, pero por razones que pueden ser innecesarias...

0  El software en serie no funciona  ( Serial software not working ) 
Tengo Ubuntu 16.04 LTS y me gustaría comunicarme a través de USB-UART. Conecté mi convertidor a mi PC y lo encontré en / dev / ttyusb0. Busqué software y en...

0  Quiero capturar la información de la impresora en serie para poder manipular los datos  ( I want to capture serial printer information so that i can manipulate the data ) 
Necesito poder ajustar la tasa de bits, comenzar, parar y paridad. Me gustaría usar una computadora de una sola tabla o un viejo teléfono Android que esté enr...

3  Teclado PS / 2 a través del puerto serie  ( Ps 2 keyboard via serial port ) 
Estoy tratando de conectar un teclado PS / 2 a un SuperMicro X7DBT-INF a través de su puerto serie y una Adaptador . He intentado usar el Paquete de entrada...

4  no se puede abrir / dev / ttys0: permiso denegado, pero en grupo de marcado  ( Cannot open dev ttys0 permission denied but in dialout group ) 
Estoy tratando de usar mi puerto serie de 9 pines para conectar mi ECU automotriz a mi computadora (controlador Megasquirt). Lo he hecho antes con Ubuntu 10.0...

1  Cómo conectar los altavoces inalámbricos G550W de GIGAWORKS creativos a través de un puerto serie  ( How to connect creative gigaworks progamer g550w wireless speakers through a ser ) 
Estos se conectan a través de un dispositivo en un puerto serie que transmite la señal de audio a través de Wi-Fi. El Jack tradicional está en "el otro" final...

0  Los scripts de Python no pueden encontrar el puerto serie TTYACM0  ( Python scripts cannot find ttyacm0 serial port ) 
Tengo un envío de datos de Arduino Mega 2560, mi entorno es Ubuntu 14.04, es un nodo de Python ROS. El problema es que funciona bien cuando uso el monitor d...

9  Encuentra qué dispositivo TTY conectado sobre USB  ( Find which tty device connected over usb ) 
Estoy haciendo el desarrollo de Android. El comando ADB PPP para volver al cable USB en lugar de TCP / IP dice que necesita el TTY como un parámetro. Me he ...




© 2022 respuesta.top Reservados todos los derechos. Centro de preguntas y respuestas reservados todos los derechos