现在大部分的本都没有串口了,所以USB转串口线是很常用的东西。
2.6kernel已经包含了对这种设备的支持:
# modprobe usb-serial
当然只是这样还不够,还需要对应的具体设备(芯片)的驱动。我使用的fedora8的kernel是2.6.23,已经包含很多类似的设备,比如常用的pl2303等。但很可惜我偏偏买到了一种不支持的设备,很衰。而且据说是2.6.24就会支持,更郁闷。为了个这个再重新安装个kernel或系统也不划算,只好自己找找这方面的驱动。
很不容易的终于找到了:
http://www.csie.ntu.edu.tw/~b94101/ch341_drv.tar.bz2
下载回来解压,包里有两个现成的脚本来编译,ins.sh,ins-2.6.23.sh,编译完会自动载入module。但没那么容易,在fedora8下编译会出现几个错误,解决办法就是直接注释相关行:ch341的301和303行,tty_ioctl.c的35行。
编译完成,模块也已经载入,但期待的/dev/ttyUSB0仍然没有出现。如果是这样,就说明碰到和我一样衰的设备,设备ID为0x1a86,0x7523。手工添加吧,把ch341.c中的:
static struct usb_device_id id_table [] = {
{ USB_DEVICE(0x4348, 0x5523) },
{ },
};
改为:
static struct usb_device_id id_table [] = {
{ USB_DEVICE(0x4348, 0x5523) },
{ USB_DEVICE(0x1a86, 0x7523) },
{ },
};
再重新编译载入,就可以看到/dev/ttyUSB0了。
这里可以下载我的修改好和编译好的包:
相关文章
- sqlite3在Linux下的安装和使用
- 使程序在Linux下后台运行--- Linux Ctrl+Z的使用方法
- 虚拟机Linux(Fedora10)下USB转串口的使用, minicom: cannot open /dev/ttyUSB0的解决
- 在Linux下使用MinGW静态交叉编译带有zlib的libcurl(包括交叉编译openssl,即--cross-compile-prefix=i686-w64-mingw32- mingw)
- Linux下如何测试及使用USB转串口线
- 如何解决在linux下使用wget下载jdk失败的问题
- 在linux环境下使用源码安装软件的步骤(通用)
- 在Linux下使用Python的matplotlib绘制数据图的教程
- 在ubuntu bionic下对基于qemu的arm64进行linux内核5.0.1版本的编译和运行
- 在Windows下使用Navicat连接Linux下的MySql