Eu tenho um Orange Pi Zero rodando Lubuntu e quero que ele se comunique com um Arduino (clone).
Acabei de colocar o cabo USB do arduino no meu Orange Pi. Se comparar todas as 'portas' (?) (pasta/dev) quando estou conectado e quando não estou, descobri que /dev/usbdev6.4 é meu arduino.
Meu arduino está apenas executando um código onde diz "Ei" a cada segundo em serial. Então tentei executar: minicom -D /dev/usbdev6.4 Mas surge uma anotação.
Eu tentei muitas coisas e agora estou sem opções.
Alguém pode me ajudar?
EDITAR: As informações solicitadas:
Minha versão do kernel:
Linux orangepi 3.4.39 #46 SMP PREEMPT Wed Nov 9 09:50:08 CST 2016 armv7l armv7l armv7l GNU/Linux
o dmesg | grep -i tty
comando me deu isso:
$[ 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
diferença dmesg:
> [ 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
diferença lsusb:
> Bus 006 Device 002: ID 1a86:7523 QinHeng Electronics HL-340 USB-Serial adapter
Eu também li isso: https://lists.launchpad.net/kernel-packages/msg183415.html
É sobre um bug do chip CH341. E acho que meu clone do Arduino está usando isso. Esse poderia ser o problema?
Eu fiz modinfo ch341
e isso retornou:
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.
Desde já, obrigado!
Responder1
E aí está a sua resposta: você não possui o módulo do kernel necessário para o seu dispositivo serial USB. Atualize para um kernel mais recente que contenha este módulo ou compile o módulo para o seu kernel.
Certifique-se de usar uma versão do código-fonte do módulo que já inclua o ID do dispositivo necessário ( 1a86:7523
). Após a instalação bem-sucedida, você deverá obter 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
(isso é para o meu sistema, é claro). O alias v1A86p7523d
é aquele que foi corrigido e deve estar presente.