关于Ubuntu 16.04绑定USB串口号的坑-(1)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/ckkboy/article/details/83005904

今天在调机器人的时候,由于用到了很多串口,目前是四个,ubuntu重启后,端口号就改变了,比如一开始某一个端口号是/dev/ttyUSB0后面就变成/dev/ttyUSB1,这是一个很严重的问题,控制代码里,有很多地方依赖到打开串口,每次打开电脑就会报错,今天就想来解决这个问题。
一开始参考https://blog.csdn.net/walleva96/article/details/78347612
第一种方式有效,就是根据/etc/udev/rule.d,来写rules,

KERNEL=="ttyUSB*", ATTRS{idVendor}=="1a03", ATTRS{idProduct}=="6001", MODE:="0666", GROUP:="dialout",  SYMLINK+="chedan"

这个本来以为使用service udev reload &&service udev restart即可,但是发现并没有生效,重启电脑后生效,心想这个问题解决了,来看下一个端口,
结果同一种串口芯片具有相同的设备号,即idVendor和idProduct都是一样的,这就很尴尬,然后看到下一种方式,更改硬件设备号,使用下面命令进行查询硬件号:

udevadm info --attribute-walk --name=/dev/ttyUSB0

好,查到KERNEL为1-13.0,然后就直接用下面命令进行操作:

KERNELS=="1-13.0",  MODE:="0666", GROUP:="dialout",  SYMLINK+="chedan_1"

好的重点来了,系统开机进不去了,开机后只能进入guest模式,第二天还需要进行重要机器人演示,头一天还把工控机搞坏了,那个慌啊,想哭的心都有了,好重启,按住shift进入ubuntu advanced模式,选择genetic-34(upstart)选项,按住ctrl+shift+F1,进入命令行,进行删除该规则,然后vim /usr/share/lightdm/lightdm.conf.d/50-unity-greeter.conf
把里面的内容更改成如下:

[Seat:*]
greeter-session=unity-greeter
user-session=YourName
greeter-show-manual-login=true
all-guest=false

总的来说就是把游客用户模式去掉,强制使用你的计算机名字用户登录,重启可进入界面,但是绑定串口问题,还没解决,明天继续解决该问题,需要查看的小伙伴期待下次因式分解。

猜你喜欢

转载自blog.csdn.net/ckkboy/article/details/83005904