linux串口模块化编程,Linux下USB转串口的模块编译安装问题

遇到usb转串口的问题,芯片利用的是ch341,虽然kernel里已经有对ch341的支持,但是插上之后还是不能用,发现系统里没有对这个产品的idVendor=1a86, idProduct=5523描述。所以就需要修改代码,添加上面的id号。代码如下:/usr/src/linux-2.6.37.1-1.2/drivers/usb/serial/ch341.c.

static const struct usb_device_id id_table[] = {

{ USB_DEVICE(0x4348, 0x5523) },

{ USB_DEVICE(0x1a86, 0x7523) },

{ USB_DEVICE(0x1a86, 0x5523) },

{ },

};

添加完成之后就需要编译,安装后可以正常工作。

步骤如下:

进入系统文件夹下:/usr/src/linux-2.6.37.1-1.2

利用超级用户执行以下命令编译你需要的模块。

sudo make CONFIG_USB_SERIAL_CH341=m M=drivers/usb/serial/ LD      drivers/usb/serial//built-in.o

CC [M]  drivers/usb/serial//usb-serial.o

CC [M]  drivers/usb/serial//generic.o

CC [M]  drivers/usb/serial//bus.o

CC [M]  drivers/usb/serial//ezusb.o

LD [M]  drivers/usb/serial//usbserial.o

CC [M]  drivers/usb/serial//aircable.o

......

Building modules, stage 2.

MODPOST 50 modules

CC      drivers/usb/serial//aircable.mod.o

LD [M]  drivers/usb/serial//aircable.ko

CC      drivers/usb/serial//ark3116.mod.o

LD [M]  drivers/usb/serial//ark3116.ko

CC      drivers/usb/serial//belkin_sa.mod.o

LD [M]  drivers/usb/serial//belkin_sa.ko

CC      drivers/usb/serial//ch341.mod.o

LD [M]  drivers/usb/serial//ch341.ko

编译成功后,需要将生成的文件拷贝到系统的模块目录下,可以先备份这个模块目录以防出现问题,系统无法启动,模块目录:/lib/modules/2.6.37.1-1.2-desktop/kernel

执行拷贝:sudo cp drivers/usb/serial/*.ko /lib/modules/2.6.37.1-1.2-desktop/kernel/drivers/usb/serial/

然后install firmare:

sudo make firmware_install

安装模块并检查模块是否安装成功

sudo /sbin/modprobe ch341

查看模块情况

lsmod | grep ch341

显示如下:

ch341                   9275  1

usbserial              34824  3 ch341

表明ch341已经安装成功。

可以查看/dev目录下是否有ttyUSB0的设备

通过dmesg | grep usb显示usb的打印信息

......

[ 1220.889150] usb 2-2: New USB device found, idVendor=1a86, idProduct=5523

[ 1220.889155] usb 2-2: New USB device strings: Mfr=0, Product=0, SerialNumber=0

[ 2369.572897] usb 2-2: ch341-uart converter now attached to ttyUSB0

[ 2369.572925] usbcore: registered new interface driver ch341

以上就完成了对ch341的修改编译和安装。可以打开设备进行操作,需要超级用户权限。

参考文章:http://vanilla.slitaz.org/index.php?p=/discussion/817/solved-how-to-make-new-kernel-module-available-without-the-wok-s/p1

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值