Tengo un Orange Pi Zero ejecutando Lubuntu y quiero que se comunique con un Arduino (clon).
Acabo de conectar el cable USB del arduino a mi Orange Pi. Si comparo todos los 'puertos' (?) (carpeta/dev) cuando estoy conectado y cuando no, descubrí que /dev/usbdev6.4 es mi arduino.
Mi arduino simplemente está ejecutando un código que dice cada segundo "Hola" en serie. Así que intenté ejecutar: minicom -D /dev/usbdev6.4 pero aparece una nota.
He probado muchas cosas y ahora ya no tengo opciones.
¿Alguien puede ayudarme?
EDITAR: La información solicitada:
Mi versión del kernel:
Linux orangepi 3.4.39 #46 SMP PREEMPT Wed Nov 9 09:50:08 CST 2016 armv7l armv7l armv7l GNU/Linux
el dmesg | grep -i tty
comando me dio esto:
$[ 0.000000] Kernel command line: console=ttyS0,115200 console=tty1 root=/dev/mmcblk0p2 init=/sbin/init rootwait rootfstype=ext4 panic=10 consoleblank=0 enforcing=0 loglevel=7
[ 0.000000] console [tty1] enabled
[ 0.393385] uart0: ttyS0 at MMIO 0x1c28000 (irq = 32) is a SUNXI
[ 0.505110] console [ttyS0] enabled
[ 1.007724] uart1: ttyS1 at MMIO 0x1c28400 (irq = 33) is a SUNXI
[ 1.111633] uart2: ttyS2 at MMIO 0x1c28800 (irq = 34) is a SUNXI
[ 2.490156] Bluetooth: RFCOMM TTY layer initialized
diferencia de mensaje:
> [ 188.338462] ehci_irq: highspeed device connect
> [ 188.540136] ehci_irq: highspeed device disconnect
> [ 188.540200] ohci_irq: fullspeed or lowspeed device connect
> [ 188.960117] usb 6-1: new full-speed USB device number 2 using sunxi-ohci
diferencia lsusb:
> Bus 006 Device 002: ID 1a86:7523 QinHeng Electronics HL-340 USB-Serial adapter
También he leído esto: https://lists.launchpad.net/kernel-packages/msg183415.html
Se trata de un error en el chip CH341. Y creo que mi clon arduino está usando esto. ¿Podría ser este el problema?
Lo hice modinfo ch341
y me devolvió esto:
libkmod: ERROR ../libkmod/libkmod.c:507 kmod_lookup_alias_from_builtin_file:
could not open builtin file '/lib/modules/3.4.39/modules.builtin.bin'
modinfo: ERROR: Module ch341 not found.
¡Gracias de antemano!
Respuesta1
Y ahí está su respuesta: no tiene el módulo kernel necesario para su dispositivo serie USB. Actualice a un kernel más nuevo que contenga este módulo o compile el módulo para su kernel.
Asegúrese de utilizar una versión del código fuente del módulo que ya incluya la identificación del dispositivo que necesita ( 1a86:7523
). Después de una instalación exitosa, debería obtener algo como
$ sudo modinfo ch341
filename: /lib/modules/4.8.5/kernel/drivers/usb/serial/ch341.ko
license: GPL
alias: usb:v1A86p5523d*dc*dsc*dp*ic*isc*ip*in*
alias: usb:v1A86p7523d*dc*dsc*dp*ic*isc*ip*in*
alias: usb:v4348p5523d*dc*dsc*dp*ic*isc*ip*in*
depends: usbserial,usbcore
intree: Y
vermagic: 4.8.5 SMP preempt mod_unload modversions 686
(eso es para mi sistema, por supuesto). El alias v1A86p7523d
es el que se parcheó y debería estar presente.