当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 6 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : ubuntu下使用USB转串口线
帖子发表于 : 2007-07-19 11:52 

注册: 2006-10-10 14:11
帖子: 22
送出感谢: 0 次
接收感谢: 0 次
ubuntu6.06下安装USB转串口线驱动。
因为笔记本没有串口,所以找了一条USB转串口的电缆,当前内核是2.6.15-28-686的,把线插入USB口,用lsusb查看USB设备,看到如下输出:Bus 005 Device 001: ID 0000:0000
Bus 003 Device 003: ID 6547:0232
Bus 003 Device 001: ID 0000:0000
Bus 001 Device 001: ID 0000:0000
Bus 004 Device 001: ID 0000:0000
Bus 002 Device 003: ID 062a:0000 Creative Labs
Bus 002 Device 001: ID 0000:0000
其中Creative Labs是我的USB鼠标,所以第一行的显示是我插入的USB转串口线,无法确认其设备类型,查看/proc/bus/usb/devices内容,找到
T: Bus=03 Lev=01 Prnt=01 Port=01 Cnt=01 Dev#= 3 Spd=12 MxCh= 0
D: Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1
P: Vendor=6547 ProdID=0232 Rev= 0.01
S: Manufacturer=ArkMicroChips
S: Product=USB-UART Controller
C:* #Ifs= 1 Cfg#= 1 Atr=80 MxPwr=500mA
I: If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=(none)
E: Ad=81(I) Atr=03(Int.) MxPS= 4 Ivl=1ms
E: Ad=02(O) Atr=02(Bulk) MxPS= 64 Ivl=0ms
E: Ad=82(I) Atr=02(Bulk) MxPS= 64 Ivl=0ms
能够发现产品及芯片型号,但是Driver那里显示是none,系统无法识别这个设备。到以下地址
http://avr.auctionant.de/ark3116_linux_ ... index.html
下载ARK芯片的驱动,由于当前内核是2.6.15版本的,所以只能下载ark3116-0.4.1.tgz这个支持2.6.15版本的驱动,下载到/usr/src目录,解压缩后生成一个目录 ark3116,进入目录后发现是一个C语言程序,需要编译,编译时发现需要一个usb-serial.h的文件,这个文件必须从源代码中找,从源里下载的内核源代码只有2.6.15.7,与当前内核2.6.15-28不匹配,所以只好先编译一个2.6.15.7的内核,使用该内核启动后,再编译/usr/src/ark3166目录下的驱动程序,编译后生成几个内核模块文件,用管理员身份执行:
#modprobe usbserial
#insmod ark3116.ko
这时候插入转换线,lsusb和之前仍然一样,但是在/proc/bus/usb/devices里可以看到:
T: Bus=03 Lev=01 Prnt=01 Port=01 Cnt=01 Dev#= 3 Spd=12 MxCh= 0
D: Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1
P: Vendor=6547 ProdID=0232 Rev= 0.01
S: Manufacturer=ArkMicroChips
S: Product=USB-UART Controller
C:* #Ifs= 1 Cfg#= 1 Atr=80 MxPwr=500mA
I: If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=ark3116
E: Ad=81(I) Atr=03(Int.) MxPS= 4 Ivl=1ms
E: Ad=02(O) Atr=02(Bulk) MxPS= 64 Ivl=0ms
E: Ad=82(I) Atr=02(Bulk) MxPS= 64 Ivl=0ms
可以看到识别到Driver=ark3116,这时候在/dev目录下可以看到有ttyUSB0,拔掉线后,该设备会消失。
在ubuntu下编译内核步骤:
1,从源里下载内核源代码 sudo apt-get install linux-source
2,进入/usr/src/linux-source-2.6.15
3,编译前先要执行命令安装以下软件:
sudo apt-get install fakeroot
sudo apt-get install devscripts
4,复制/boot/config-`uname -r` ./.config
5,执行make menuconfig,先使用menu里的Load an Altername Configuration File载入原有内核配置,然后选择必要选项,也可以不作修改,直接保存退出。
6,执行:#make-kpkg clean
#fakeroot make-kpkg --initrd --append-to-version=custom kernel-image kernel-headers
7,执行完后,可以在源代码的上一级目录里找到两个 deb的包。例如:
kernel-headers-2.6.15.7-ubuntu1pm_10.00.Custom_i386.deb
kernel-image-2.6.15.7-ubuntu1pm_10.00.Custom_i386.deb
8,使用命令
#dpkg -i kernel-image-2.6.15.7-ubuntu1pm_10.00.Custom_i386.deb
#dpkg -i kernel-headers-2.6.15.7-ubuntu1pm_10.00.Custom_i386.deb
安装内核后,用新内核启动,然后可以到前面编译驱动的内核模块,加载模块后可以识别新设备。
由于是新编译的内核模块,每次总要手动加载,我觉得很麻烦,特别是ark3116模块是要使用insmod来加入内核来使用,因此,首先在/etc/modules 文件里添加一行,usbserial,然后把编译好的ark3116.ko复制到/lib/modules/"新编译的内核"/kernel/drivers/usb/serial目录下,在/etc/init.d/rc.local末尾添加一条命令 insmod /lib/modules/“新编译的内核”/kernel/drivers/usb/serial/ark3116.ko
今天是2007年7月19日,从源里只能下载到2.6.15.7的源代码。新的2.6.22.1版本的内核已经内置了ARK的支持,但是编译的2.6.22.1内核无法启动,所以,只好先继续用2.6.15.7版本的内核了。


页首
 用户资料  
 
2 楼 
 文章标题 :
帖子发表于 : 2007-07-19 12:48 
头像

注册: 2005-08-14 21:55
帖子: 58428
地址: 长沙
送出感谢: 4
接收感谢: 272
@@@。我的直接插上就用。GtkTerm测试的。


_________________
● 鸣学


页首
 用户资料  
 
3 楼 
 文章标题 :
帖子发表于 : 2007-08-02 8:39 

注册: 2007-01-01 15:36
帖子: 139
地址: 河北
送出感谢: 0 次
接收感谢: 0 次
首先感谢eexpress的 gtkterm 我终于看到了板子上的东西了哦~呵呵~非常感谢~lz的办法还不敢乱动因为内核编译怕出错哈~
再次感谢


页首
 用户资料  
 
4 楼 
 文章标题 : 补充
帖子发表于 : 2007-08-16 9:10 

注册: 2006-10-10 14:11
帖子: 22
送出感谢: 0 次
接收感谢: 0 次
因为意外,重新安装了系统,在2.6.15-28-686下,用命令$sudo apt-get install linux-headers-2.6.15-28-686 ,
$sudo apt-get install linux-source 再去到ark3116,编译后,就生成了ark3116.ko,不是一定要重新编译内核的。


页首
 用户资料  
 
5 楼 
 文章标题 :
帖子发表于 : 2007-08-16 9:54 
头像

注册: 2005-10-14 16:55
帖子: 1637
地址: 江苏
系统: OS X
送出感谢: 0 次
接收感谢: 0 次
我这插上去能识别了,就是不能调试,不能忘班子里写东西!win&lin下都是如此~~


_________________
Hardy Heron + Mac OS X

在某些人眼里(炫耀+摆阔+不懂音乐+在乎外表-内涵-鉴赏能力-文化)*跟风=买iPod


页首
 用户资料  
 
6 楼 
 文章标题 : Re: ubuntu下使用USB转串口线
帖子发表于 : 2009-08-12 10:32 

注册: 2008-02-10 12:35
帖子: 49
送出感谢: 0 次
接收感谢: 0 次
GtkTerm果然有用!
感谢EE,虽然这么长时间了


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 6 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 4 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译