我刚刚从Ubuntu 10.04升级,这个项目通过USB串口连接嵌入式设备,波特率为115,200。 升级后,它无法工作,但我重启后就可以连接了。自从关闭和重新启动系统以来,我就无法连接。串行线看起来连接的波特率不正确(快速字符串看起来像:
"'''''''''''''''''ppppp'''''''''''''''pppppp'''''''''''"...
USB设备已被识别并设置为
/dev/ttyUSB0
。当我尝试使用stty
设置波特率时,出现以下情况:$ sudo stty -F /dev/ttyUSB0 115200
stty: /dev/ttyUSB0: unable to perform all requested operations
如果我尝试将设置为
9600
,它似乎可以工作:$ sudo stty -F /dev/ttyUSB0 9600
但是其他任何东西都失败了:
$ sudo stty -F /dev/ttyUSB0 4800
stty: /dev/ttyUSB0: unable to perform all requested operations
这是 stty 看到的内容:
$ stty -F /dev/ttyUSB0
speed 9600 baud; line = 0;
min = 1; time = 0;
-brkint -icrnl -imaxbel
-opost -onlcr
-isig -icanon -iexten -echo -echoe -echok -echoctl -echoke
我可以使用stty(echo,echoe等)更改其他值,但不能更改波特率。
我在网上看到有人可以使用Minicom设置波特率,但无法通过命令行执行,所以我下载了Minicom并尝试了一下,但结果相同(似乎是错误的波特率)。
我还尝试了setserial,但它也拒绝接受
/dev/ttyUSB
设备:$ sudo setserial /dev/ttyUSB0 -a
Cannot get serial info: Invalid argument
$ sudo setserial /dev/ttyS0 -a
/dev/ttyS0, Line 0, UART: 16550A, Port: 0x03f8, IRQ: 4
Baud_base: 115200, close_delay: 50, divisor: 0
closing_wait: 3000
Flags: spd_normal skip_test
最后,这里是设备及其来自dmesg的设置:
$ ls -l /dev/ttyUSB*
crw-rw-rw- 1 root dialout 188, 0 Nov 19 15:53 /dev/ttyUSB0
crw-rw-rw- 1 root dialout 188, 1 Nov 19 16:00 /dev/ttyUSB1
$ dmesg | grep ttyUSB
[ 32.444445] usb 4-1: generic converter now attached to ttyUSB0
[ 32.444549] usb 8-2: generic converter now attached to ttyUSB1
我曾在Ubuntu 10.04下使用这个设备工作了几个月,并且上周还能够使用,但是自从关机重启后就无法使用了。我在网上搜索到一些遇到类似问题的人,但是没有解决方案。我该如何解决这个问题?