无线网卡编译的问题
错误提示:
[root@localhost RT25USB-SRC-V2.0.8.0]# make
make -C /root/2.6.22 SUBDIRS=/root/RT25USB-SRC-V2.0.8.0 modules
make[1]: Entering directory `/root/2.6.22'
CC [M] /root/RT25USB-SRC-V2.0.8.0/rtusb_main.o
/root/RT25USB-SRC-V2.0.8.0/rtusb_main.c: In function 'CMDHandler':
/root/RT25USB-SRC-V2.0.8.0/rtusb_main.c:1079: warning: unused variable 'pkey'
/root/RT25USB-SRC-V2.0.8.0/rtusb_main.c:1078: warning: unused variable 'i'
/root/RT25USB-SRC-V2.0.8.0/rtusb_main.c: In function 'usb_rtusb_probe':
/root/RT25USB-SRC-V2.0.8.0/rtusb_main.c:1807: error: 'dev_base' undeclared (first use in this function)
/root/RT25USB-SRC-V2.0.8.0/rtusb_main.c:1807: error: (Each undeclared identifier is reported only once
/root/RT25USB-SRC-V2.0.8.0/rtusb_main.c:1807: error: for each function it appears in.)
/root/RT25USB-SRC-V2.0.8.0/rtusb_main.c:1807: error: 'struct net_device' has no member named 'next'
make[2]: *** [/root/RT25USB-SRC-V2.0.8.0/rtusb_main.o] 错误 1
make[1]: *** [_module_/root/RT25USB-SRC-V2.0.8.0] 错误 2
make[1]: Leaving directory `/root/2.6.22'
make: *** [all] 错误 2
[root@localhost RT25USB-SRC-V2.0.8.0]#
开发环境描述:
REDHAT AS5.1 内核版本:2.6.18-53.el5-i686'
交叉编译器环境:
Gcc 4.2.1 glibc 2.6.1
目标板内核:
2.6.22
无线网卡芯片RT2571
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(9)
[ 本帖最后由 dreamice 于 2008-11-4 13:02 编辑 ]
能否把你的rtusb_main.c程序贴出来?开发环境内核版本和目标内核版本不一致,这个可能是版本差异引起的错误。
Makefile看起来应该不存在问题。
头部包括的那些7788
[ 本帖最后由 dreamice 于 2008-11-4 13:13 编辑 ]
以前还提示有一个status的成员没有定义 但是我添加过后就没事了 这个->next就没见过 所以...........
几点分析建议:
1、'dev_base' 在这个文件里没有找到定义,你查一下,是不是在其它文件中定义了,但你没有包进头文件;
2、在2.6.18中,确实net_device有成员 next,在2.6.22中,似乎变成了link_watch_next;所以会报error:has no member named 'next'
那我应该是修改驱动程序的调用为link_watch_next
还是为内核的头文件添加net_device的next成员
就安全性我觉得在驱动里面修改调用比较好,你觉得是这样吗?
你应该做的是,检查两个版本内核代码之间的差异,然后搞明白2.6.18中的next对应于2.6.22中的哪一个成员;
可能还有其他的改变,这样你才算是真正做好了这个驱动程序。
正在找 内核的代码量比较大 还没有定位出来 我还是第一做驱动程序的调整