Welcome 微信登录

首页 / 操作系统 / Linux / Linux 3.2.2内核编译BCM4312驱动解决办法

新升级linux到3.2.2 发现编译bcm4312驱动出错 错误信息如下:CC [M]  /home/liu/document/hybrid-portsrc_x86_32-v5_100_82_112/src/wl/sys/wl_linux.o
/home/liu/document/hybrid-portsrc_x86_32-v5_100_82_112/src/wl/sys/wl_linux.c:388:2: 错误:初始值设定项里有未知的字段‘ndo_set_multicast_list’
/home/liu/document/hybrid-portsrc_x86_32-v5_100_82_112/src/wl/sys/wl_linux.c:388:2: 警告:从不兼容的指针类型初始化 [默认启用]
/home/liu/document/hybrid-portsrc_x86_32-v5_100_82_112/src/wl/sys/wl_linux.c:388:2: 警告:(在‘wl_netdev_ops.ndo_validate_addr’的初始化附近) [默认启用]
make[2]: *** [/home/liu/document/hybrid-portsrc_x86_32-v5_100_82_112/src/wl/sys/wl_linux.o] 错误 1
make[1]: *** [_module_/home/liu/document/hybrid-portsrc_x86_32-v5_100_82_112] 错误 2
make[1]: 离开目录“/usr/src/kernels/3.2.2-1.fc16.i686.PAE”
make: *** [all] 错误 2
对比之前3.1.9的内核文件 /lib/modules/3.1.9-1.fc16.i686.PAE/source/include/linux/netdevice.h 和3.2.2中的文件,发现结构体net_device_ops中少了ndo_set-multicast_list成员。把驱动中388行注解掉,重新编译,提示:
/home/liu/document/hybrid-portsrc_x86/src/wl/sys/wl_linux.c:1730:1: 警告:‘wl_set_multicast_list’定义后未使用 [-Wunused-function]
  CC [M]  /home/liu/document/hybrid-portsrc_x86/src/wl/sys/wl_iw.o
  CC [M]  /home/liu/document/hybrid-portsrc_x86/src/wl/sys/wl_cfg80211.o
  LD [M]  /home/liu/document/hybrid-portsrc_x86/wl.o
  Building modules, stage 2.
Wireless Extension is the only possible API for this kernel version
Using Wireless Extension API
  MODPOST 1 modules
WARNING: modpost: missing MODULE_LICENSE() in /home/liu/document/hybrid-portsrc_x86/wl.o
see include/linux/module.h for more information
  CC      /home/liu/document/hybrid-portsrc_x86/wl.mod.o
  LD [M]  /home/liu/document/hybrid-portsrc_x86/wl.ko
make[1]: 离开目录“/usr/src/kernels/3.2.2-1.fc16.i686.PAE”
挂载好驱动后,无线网工作正常。再次google后发现  ndo_set_multicast_list 被ndo_set_rx_mode替换(在以下网站提到http://www.mindwerks.net/2011/11/wireless-bcm4312-3-2-kernel/,但是个人并没有找到更多关于替换的信息,在内核源码中也没有找到,找到的交流交流)根据网站的信息,将ndo_set_multicast_list 替换成ndo_set_rx_mode 同样编译通过,并且没有警告信息。CentOS下Xen虚拟机的安装与配置Linux下默认方式安装OpenSSL相关资讯      Linux基础教程 
  • Linux基础教程:对文件打包压缩  (03月08日)
  • 基础教程:Linux 新手应该知道的   (09/06/2015 21:17:20)
  • Linux基础教程:find 与 xargs  (04/05/2015 10:20:11)
  • Linux基础教程:tar 命令使用介绍  (12/03/2015 13:19:47)
  • Linux基础教程(1)操作系统基础   (08/15/2015 20:44:01)
  • Linux基础教程:从源码安装软件  (04/05/2015 10:14:45)
本文评论 查看全部评论 (0)
表情: 姓名: 字数