在我的 Firefly-RK3399 (arm arch) 上,我为主板安装了官方的 ubuntu 镜像。我还安装了 Arduino IDE,当我连接我的 Arduino UNO 时,一切正常,我可以刷新它,并且我在我的串行端口 (Arduino IDE) 中看到:
/dev/ttyACM0
但是,当我使用 Arduino Nano 执行此操作时...什么也没有。Arduino IDE 看不到它,我无法刷新它。
今天我已经看了很多论坛帖子。我试了所有办法,但不幸的是,到目前为止,没有任何效果。
当我跑步时:
dmesg-w 命令
然后我插入 Arduino UNO,然后插入 Arduino NANO...然后我在控制台末尾得到以下内容:
[ 1915.205439] usb 1-1.4:使用 ehci 平台的新全速 USB 设备编号 8 [ 1915.294646] usb 1-1.4:发现新 USB 设备,idVendor=2341,idProduct=0043 [ 1915.294663] usb 1-1.4:新 USB 设备字符串:Mfr=1,Product=2,SerialNumber=220 [ 1915.294671] usb 1-1.4:制造商:Arduino (www.arduino.cc) [ 1915.294678] usb 1-1.4:SerialNumber:85435333131351104190 [ 1915.296502] cdc_acm 1-1.4:1.0: ttyACM0:USB ACM 设备
[ 1934.279563] usb 3-1:使用 xhci-hcd 的新全速 USB 设备编号 2 [ 1934.393985] usb 3-1:发现新 USB 设备,idVendor=1a86,idProduct=7523 [ 1934.394001] usb 3-1:新 USB 设备字符串:Mfr=0,Product=2,SerialNumber=0 [ 1934.394009] usb 3-1:产品:USB2.0-Serial
因此 Arduino Nano 不会连接到任何 ttyACM*
我怎样才能做到这一点?
答案1
只需安装 Arduino IDE(1.8.x)并授予自己端口权限,我便能够在 Ubuntu 18.04 上找到带有 CH340 芯片(或 CH340G,亚马逊产品不清楚)的 Nano:
sudo usermod -a -G dialout <my linux username>
然后我就可以/dev/ttyUSB0
在 Arduino IDE 中看到端口了(它ttyACM0
和文档中说的不一样)。你可以拔下 Nano,然后运行以下命令来找出端口:
ls -l /dev/tty*
然后重新插入 Nano 并再次运行它并比较列表。新设备应该位于第二个列表的底部。
我能够通过将处理器从 ATmega328p 更改为旧 Bootloader 来上传草图。
答案2
我想这里说一下很重要...带有 CH340 原生 Linux 驱动程序的中国 Nano 开发板必须与以下配置一起使用:
(处理器:ATmega328P)
答案3
nano 有一个 CH34x USB 转串行转换器芯片。以下是 CH34x 在我的 Ubuntu Intel/AMD 系统上的样子。注意 Linux 创建 /dev/ttyUSB0,而不是 /dev/ttyACM0。
$ lsusb |grep 1a86
Bus 002 Device 008: ID 1a86:7523 QinHeng Electronics HL-340 USB-Serial adapter
$
$ dmesg
usb 2-1.2: new full-speed USB device number 8 using ehci-pci
usb 2-1.2: New USB device found, idVendor=1a86, idProduct=7523
usb 2-1.2: New USB device strings: Mfr=0, Product=2, SerialNumber=0
usb 2-1.2: Product: USB2.0-Serial
usbcore: registered new interface driver usbserial
usbcore: registered new interface driver usbserial_generic
usbserial: USB Serial support registered for generic
usbcore: registered new interface driver ch341
usbserial: USB Serial support registered for ch341-uart
ch341 2-1.2:1.0: ch341-uart converter detected
usb 2-1.2: ch341-uart converter now attached to ttyUSB0
假设您的内核支持 CH34x,您可以尝试添加 udev 规则来加载驱动程序。或者使用 modprobe 强制加载驱动程序。
$ lsmod | grep -i ch34
ch341 14072 0
usbserial 45014 1 ch341
$ sudo modprobe ch341