• «
  • 1
  • 2
  • »
  • Pages: 1/2     Go
主题 : micro2440板添加TL-WN821N USB无线网卡的支持,问题 复制链接 | 浏览器收藏 | 打印
级别: 新手上路
UID: 12105
精华: 0
发帖: 14
金钱: 70 两
威望: 14 点
综合积分: 28 分
注册时间: 2009-12-29
最后登录: 2010-07-19
楼主  发表于: 2010-01-07 17:47

 micro2440板添加TL-WN821N USB无线网卡的支持,问题

这款无线网卡使用的是Atheros的芯片,需要ar9170驱动以及ar9170.fw firmware的支持,在随micro2440提供的linux 2.6.29版中并没有提供,但是在2.6.31/32的内核中已经有添加ar9170的支持。不过为了减少不必要的麻烦,我还是使用的随光盘提供的2.6.29内核,但把2.6.32内核中driver/net/wireless/ath/ar9170这个目录copy到了2.6.29目录下,然后修改了相应的Kconfig和Makefile文件,使得在make menuconfig的选项中,有对Atheros ar9170这个内核配置选项。接下来,重新编译内核make zImage,然后下载到开发板中,开机重启。

我把TL-WN821N的无线网卡插入开发板的usb接口,出现以下提示:
usb 1-1.4: new full speed USB device using s3c2410-ohci and address 4
usb 1-1.4: New USB device found, idVendor=0cf3, idProduct=1002
usb 1-1.4: New USB device strings: Mfr=16, Product=32, SerialNumber=48
usb 1-1.4: Product: USB2.0 WLAN
usb 1-1.4: Manufacturer: ATHER
usb 1-1.4: SerialNumber: 12345
usb 1-1.4: configuration #1 chosen from 1 choice

说明linux已经识别出该网卡(Vendor号和Product号等都匹配正确)。但是当我使用cat /proc/net/wireless命令 或者 ifconfig wlan0 up命令 时, 系统都提示找不到这个设备......

一开始我以为是firmware还没有copy过去的问题,于是把ar9170.fw复制到开发板的/lib/firmware下,然后重启系统,插入网卡,还是找不到......

大家有什么建议吗?
*無鈳取玳
级别: 论坛版主
UID: 27
精华: 12
发帖: 5398
金钱: 40120 两
威望: 17929 点
综合积分: 11036 分
注册时间: 2008-01-16
最后登录: 2014-11-22
1楼  发表于: 2010-01-07 22:27
想要确认网卡驱动有没有成功加载,最简单的方法是"ifconfig -a"或者"cat /proc/net/dev". 从你给出的信息看,只能确定USB Host上有USB网卡插入的信息,但没有ar9170驱动的信息,因此无法确认驱动是否已经成功加载。
如果驱动没有成功加载,那你恐怕需要在drivers/net/wireless/ath/ar9170/usb.c的ar9170_usb_probe()函数里加点调试信息了。
"If you have an apple and I have an apple and we exchange apples, then you and I will
still each have one apple. But if you have an idea and I have an idea and we exchange
these ideas, then each of us will have two ideas."
*無鈳取玳
级别: 论坛版主
UID: 27
精华: 12
发帖: 5398
金钱: 40120 两
威望: 17929 点
综合积分: 11036 分
注册时间: 2008-01-16
最后登录: 2014-11-22
2楼  发表于: 2010-01-07 22:51
刚才发现的一个值得注意的地方,2.6.31和2.6.32里drivers/net/wireless/ath/ar9170/usb.c里的ar9170_usb_ids[]数组值是不同的。从你提供的信息看,你得确保你用的驱动的ar9170_usb_ids[]里包含“{ USB_DEVICE(0x0cf3, 0x1002) }”这样一项
"If you have an apple and I have an apple and we exchange apples, then you and I will
still each have one apple. But if you have an idea and I have an idea and we exchange
these ideas, then each of us will have two ideas."
级别: 新手上路
UID: 12105
精华: 0
发帖: 14
金钱: 70 两
威望: 14 点
综合积分: 28 分
注册时间: 2009-12-29
最后登录: 2010-07-19
3楼  发表于: 2010-01-08 17:48
是的,之前只是Kernel能够发现有这么个设备连接上来而已,驱动并没有正确地安装好,发现是我自己在copy了2.6.32内核中的ath文件到2.6.29中后,忘记在drviers/net/wireless/Makefile中添加一句:

obj-$(CONFIG_ATH_COMMON)          += ath/

所以造成实际上驱动并没有被编译,我在make menuconfig中选择将AR9170网卡驱动作为built-in加载。不过,在这样的情况下,内核还是能够发现设备似乎有些奇怪.....

但是,目前发现只是将2.6.32中的驱动文件copy过来然后编译内核并没有那么简单,因为整个drivers/net/wireless下驱动程序所包含的一些头文件都已经做了很大的改动,比如inlude/net/wireless.h、ieee80211.h、mac80211.h、cfg80211.h这些,所以要想通过编译,还是挺复杂的......我就在编译的时候出现了很多的错误,解决了一个另外一个又来了......现在头都有点大了

楼上说的那些地方,我都有注意到。
[ 此帖被embed在2010-01-08 17:59重新编辑 ]
*無鈳取玳
级别: 论坛版主
UID: 27
精华: 12
发帖: 5398
金钱: 40120 两
威望: 17929 点
综合积分: 11036 分
注册时间: 2008-01-16
最后登录: 2014-11-22
4楼  发表于: 2010-01-09 10:22
这里有已经移植好的mini2440内核源代码,版本应该是2.6.32-rc8.
http://repo.or.cz/w/linux-2.6/mini2440.git/tree/1ebb8619ba7da907596cf0e96a4dd78c292a8aba
"If you have an apple and I have an apple and we exchange apples, then you and I will
still each have one apple. But if you have an idea and I have an idea and we exchange
these ideas, then each of us will have two ideas."
这个阶段正是我事业的上升期,我怎么能走得开呢?
级别: 精灵王
UID: 3197
精华: 3
发帖: 770
金钱: 6995 两
威望: 5398 点
综合积分: 1600 分
注册时间: 2008-12-30
最后登录: 2010-12-31
5楼  发表于: 2010-01-09 14:17
友善之臂已经更新内核为最新的Linux-2.6.32.2,并且缺省内核加入了更多型号的USB无线网卡支持,说不定也包含了你所用的。
级别: 新手上路
UID: 12105
精华: 0
发帖: 14
金钱: 70 两
威望: 14 点
综合积分: 28 分
注册时间: 2009-12-29
最后登录: 2010-07-19
6楼  发表于: 2010-01-11 14:19
多谢楼上二位!
这下省了我不少事,可以专心开发应用程序了
级别: 新手上路
UID: 12105
精华: 0
发帖: 14
金钱: 70 两
威望: 14 点
综合积分: 28 分
注册时间: 2009-12-29
最后登录: 2010-07-19
7楼  发表于: 2010-01-11 14:32
貌似现在还有802.15.4的支持了:-)
*無鈳取玳
级别: 论坛版主
UID: 27
精华: 12
发帖: 5398
金钱: 40120 两
威望: 17929 点
综合积分: 11036 分
注册时间: 2008-01-16
最后登录: 2014-11-22
8楼  发表于: 2010-01-11 17:53

 回 7楼(embed) 的帖子

预祝你成功,希望你能早日把成果分享出来,谢谢!
"If you have an apple and I have an apple and we exchange apples, then you and I will
still each have one apple. But if you have an idea and I have an idea and we exchange
these ideas, then each of us will have two ideas."
级别: 新手上路
UID: 12105
精华: 0
发帖: 14
金钱: 70 两
威望: 14 点
综合积分: 28 分
注册时间: 2009-12-29
最后登录: 2010-07-19
9楼  发表于: 2010-01-12 14:33
2.6.32.2内核for mini2440,刚才编译出来down到板子上运行,结果bootloader加载内核之后就卡住了:

load Image of Linux...Uncompressing Linux.............................................................................................................. done, booting the kernel.

现在正在找原因呢...
  • «
  • 1
  • 2
  • »
  • Pages: 1/2     Go