转自:http://www.linuxidc.com/Linux/2011-02/32218.htm

Linux发行版自带usb to serial驱动,以模块方式编译驱动,在内核源代码目录下运行Make MenuConfig选择Devces drivers-->USB seupport--> <M>USB Serial Converter support --> <M> USB driver for GSM and CDMA modems & [*]USB Generic Serial Driver,保存退出。运行make modules,编译成功后可找到usbtoserial.ko及option.ko两个驱动(2.6以上内核版本模块驱动用.ko表示)。如果想在开发板上运行,要用arm-linux-gcc编译。

在2.6.18以前的内核版本中,很多公司及产品未定义,直接用usbtoserial.ko指定ID号可以驱动模块,不需要option.ko。格式为[insmod usbserial.ko vendor=<comp.ID> product=<pro.ID>],对于调试过的模块,给出ID如下:

Telit_UC864:

vendor=0x1bc7 product=0x1003

转出ttyUSB0~2三个串口,ttyUSB0可用,响应AT指令。

大唐 DTM6211:

vendor=0x1ab7 product=0x6000

转出ttyUSB0~5六个串口,ttyUSB5可用,响应AT指令。

华为 MC703:

vendor=0x12d1 product=0x1001

转出ttyUSB0~2三个串口,ttyUSB0和ttyUSB2可用,响应AT指令。

例如要驱动UC864,可输入insmod usbserial.ko vendor=0x1bc7 product=0x1003。注意生成的串口不一定能自动创建,查询/dev下面的设备看是否存在ttyUSBx。如不存在,需要手动调用mknod创建节点。cat /proc/devices,查看加载的驱动号,一般usbtoserial的设备号为188。因此可调用mknod ttyUSB0 c 188 0,创建节点。c表示字符驱动,188是查到的主设备号,0为子设备号。

2.6.18以后的内核,option.c中定义了很多公司和设备,查看内核源代码,打开option.c文件,查找 static struct usb_device_id option_ids[] 结构体数组,里面定义了很多模块厂商和产品的ID,如果未找到我们的模块,可手动添加,然后按上面的步骤重新编译驱动。使用新生成的usbtoserial.ko和option.ko文件,不需要指定ID号,直接insmod usbtoserial.ko再insmod option.ko,即可驱动模块。

Linux下USB转串口的驱动【转】的更多相关文章

  1. linux下usb转串口驱动分析【转】

    转自:http://blog.csdn.net/txxm520/article/details/8934706 首先说一下linux的风格,个人理解 1. linux大小结构体其实是面向对象的方法,( ...

  2. LINUX下 USB转串口 【转】

    转自:http://blog.163.com/smilexiao_11015461/blog/static/2122052182012102410399459/ 1.将设备u口插入pc2.输入#lsm ...

  3. linux下USB转串口驱动的安装

    ubuntu10.04,usb串口用的是moxa 1110 搞了半天没有驱动... 去官方下了个:http://www.moxa.com/support/sarch_result.aspx?type= ...

  4. minicom-linux下USB转串口配置

    现在的笔记本越做越薄,好些电脑已经没有串口了,做硬件开发会非常头疼,不过有了USB转串口设备,PC机只需要有USB接口就可以了.在linux下我们使用minicom与目标设备通信,在此记录一下linu ...

  5. Linux下 USB设备驱动分析(原创)

    之前做过STM32的usb HID复合设备,闲来看看linux下USB设备驱动是怎么一回事, 参考资料基于韦东山JZ2440开发板,以下,有错误欢迎指出. 1.准备知识 1.1USB相关概念: USB ...

  6. Linux下USB烧写uImage kernel

    Linux下USB烧写uImage kernel   1.启动开发板,进入u-boot:(如果开发板中没有系统,可以通过用SD卡方式启动开发板进入)   U-Boot 2011.06 (Mar 19 ...

  7. Linux下USB suspend/resume源码分析【转】

    转自:http://blog.csdn.net/aaronychen/article/details/3928479 Linux下USB suspend/resume源码分析 Author:aaron ...

  8. 如何在Linux下写无线网卡的驱动【转】

    转自:http://www.crifan.com/files/doc/docbook/linux_wireless/release/html/linux_wireless.html 版本:v0.3 H ...

  9. Linux下usb设备驱动详解

    USB驱动分为两块,一块是USB的bus驱动,这个东西,Linux内核已经做好了,我们可以不管,我们只需要了解它的功能.形象的说,USB的bus驱动相当于铺出一条路来,让所有的信息都可以通过这条USB ...

随机推荐

  1. Python网络数据采集

    一.正则表达式 *     表匹配0次或者多次  a*b* +    表至少一次 [ ]   匹配任意一个 ( )  辨识一个编组 {m,n} m或者n 次 [^]  匹配任意不在中括号里的字符 | ...

  2. 继承 多态 java相关基础知识

    1:静态语句块.构造语句块(就是只有大括号的那块)以及构造函数的执行顺序 例子: class HelloA { public HelloA() { System.out.println("H ...

  3. RabbitMQ None of the specified endpoints were reachable

    消息队列部署到服务器的时候,需要新增一个用户,然后一定要设置权限.参考一下 https://www.cnblogs.com/gossip/p/4573056.html

  4. 个人作业Week2-代码复审

    代码复审Check List 概要部分 代码能符合需求和规格说明么? 符合.针对-c和-s可以将正确的结果输出到相应的sudoku.txt,并在规定的时间内求解. 代码设计是否有周全的考虑? 有的.我 ...

  5. MySQL与Oracle集群主从复制工具

    Oracle提供了DataGuard:MySQL提供了Group Replication,简称MGR. Oracle DataGuard的文章:http://www.cnblogs.com/adolf ...

  6. wordApp.Documents.Open 未将对象引用实例

    wordApp.Documents.Open (.........),当我打开的是.docx,能正常打开当是.doc时,却返回空置,显示失败,未能找到文件.......,但其实文件都在 解决方案 WO ...

  7. java学习二 数据类型自动提升 0x开头的数据是 16进制且是int型

    变量只能定义一次,不能定义两次, 变量的作用域:当前的大括号与子括号才有效 变量的作用:存储值,取值 整型:向上自动升级,向下强制降级 char,byte,shot参与运算时候自动提升为int型 因为 ...

  8. 【题解】FBI序列

    题目描述 两伙外星人策划在未来的XXXX年侵略地球,侵略前自然要交换信息咯,现在,作为全球保卫队队长,你截获了外星人用来交换信息的一段仅由“F”,“B”,“I”,“O”组成的序列.为了保卫地球和平,为 ...

  9. Django 高并发负载均衡

    1 什么是负载均衡? 当一台服务器的性能达到极限时,我们可以使用服务器集群来提高网站的整体性能.那么,在服务器集群中,需要有一台服务器充当调度者的角色,用户的所有请求都会首先由它接收,调度者再根据每台 ...

  10. psutil库

    psutil是一个非常强大的第三方库,用法简单,这里主要是做一下梳理. 先看看官方说明: psutil (python system and process utilities) is a cross ...