本次装网卡比较的无语,报错网上竟然找不到答案,误打误撞给装好了,做下记录以后可能会用的上。
首先去官网下载网卡驱动:http://www.broadcom.com/support/802.11
我系统为64位的所以下载的是6.30.223.271 64_bit.
把驱动解压到/usr/local/src/hybrid-wl
[root@localhost modules]# mkdir -p /usr/local/src/hybrid-wl [root@localhost modules]# cd /usr/local/src/hybrid-wl [root@localhost hybrid-wl]# ls [root@localhost hybrid-wl]# tar xvfz /home/peng/文档/hybrid-v35_64-nodebug-pcoem-6_30_223_271.tar.gz
紧接着我 make了下 报错:
[root@localhost hybrid-wl]# make KBUILD_NOPEDANTIC=1 make -C /lib/modules/`uname -r`/build M=`pwd` make[1]: 进入目录“/usr/src/kernels/3.10.0-229.14.1.el7.x86_64” CFG80211 API is prefered for this kernel version Using CFG80211 API LD /usr/local/src/hybrid-wl/built-in.o CC [M] /usr/local/src/hybrid-wl/src/shared/linux_osl.o CC [M] /usr/local/src/hybrid-wl/src/wl/sys/wl_linux.o CC [M] /usr/local/src/hybrid-wl/src/wl/sys/wl_iw.o CC [M] /usr/local/src/hybrid-wl/src/wl/sys/wl_cfg80211_hybrid.o /usr/local/src/hybrid-wl/src/wl/sys/wl_cfg80211_hybrid.c:1799:2: 警告:从不兼容的指针类型初始化 [默认启用] .get_station = wl_cfg80211_get_station, ^ /usr/local/src/hybrid-wl/src/wl/sys/wl_cfg80211_hybrid.c:1799:2: 警告:(在‘wl_cfg80211_ops.get_station’的初始化附近) [默认启用] /usr/local/src/hybrid-wl/src/wl/sys/wl_cfg80211_hybrid.c: 在函数‘wl_alloc_wdev’中: /usr/local/src/hybrid-wl/src/wl/sys/wl_cfg80211_hybrid.c:1894:22: 错误:将‘struct wiphy_wowlan_support’赋值给‘const struct wiphy_wowlan_support *’时类型不兼容 wdev->wiphy->wowlan = wl_wowlan_support; ^ /usr/local/src/hybrid-wl/src/wl/sys/wl_cfg80211_hybrid.c: 在函数‘wl_notify_connect_status’中: /usr/local/src/hybrid-wl/src/wl/sys/wl_cfg80211_hybrid.c:2124:4: 警告:传递‘cfg80211_ibss_joined’的第 3 个参数时将整数赋给指针,未作类型转换 [默认启用] cfg80211_ibss_joined(ndev, (u8 *)&wl->bssid, GFP_KERNEL); ^ In file included from /usr/local/src/hybrid-wl/src/wl/sys/wl_cfg80211_hybrid.c:33:0: include/net/cfg80211.h:4002:6: 附注:需要类型‘struct ieee80211_channel *’,但实参的类型为‘unsigned int’ void cfg80211_ibss_joined(struct net_device *dev, const u8 *bssid, ^ /usr/local/src/hybrid-wl/src/wl/sys/wl_cfg80211_hybrid.c:2124:4: 错误:提供给函数‘cfg80211_ibss_joined’的实参太少 cfg80211_ibss_joined(ndev, (u8 *)&wl->bssid, GFP_KERNEL); ^ In file included from /usr/local/src/hybrid-wl/src/wl/sys/wl_cfg80211_hybrid.c:33:0: include/net/cfg80211.h:4002:6: 附注:在此声明 void cfg80211_ibss_joined(struct net_device *dev, const u8 *bssid, ^ make[2]: *** [/usr/local/src/hybrid-wl/src/wl/sys/wl_cfg80211_hybrid.o] 错误 1 make[1]: *** [_module_/usr/local/src/hybrid-wl] 错误 2 make[1]: 离开目录“/usr/src/kernels/3.10.0-229.14.1.el7.x86_64” make: *** [all] 错误 2
然后根据网上的解决办法把:http://tieba.baidu.com/p/3415973758
把错误'cfg80211_ibass_joined'的实参太少给解决了。
将/usr/local/src/hybrid-wl/sys/wl_cfg80211_hybrid.c查到
cfg80211_ibss_joined(ndev, (u8 *)&wl->bssid, GFP_KERNEL);
改为
cfg80211_ibss_joined(ndev, (u8 *)&wl->bssid,&wl->conf->channel, GFP_KERNEL);
但是错误:将‘struct wiphy_wowlan_support’赋值给‘const struct wiphy_wowlan_support *’时类型不兼容
wdev->wiphy->wowlan = wl_wowlan_support;
没有找到解决的办法阿! 开发程序多年,对c语言也不是太了解,没办法
硬着头皮去找到报错的地方,
wdev->wiphy->wowlan = wl_wowlan_support;
既然你不兼荣,那我给成空试试。
wdev->wiphy->wowlan = NULL;
保存,make一下:
[root@localhost hybrid-wl]# make KBUILD_NOPEDANTIC=1 make -C /lib/modules/`uname -r`/build M=`pwd` make[1]: 进入目录“/usr/src/kernels/3.10.0-229.14.1.el7.x86_64” CFG80211 API is prefered for this kernel version Using CFG80211 API CC [M] /usr/local/src/hybrid-wl/src/wl/sys/wl_cfg80211_hybrid.o /usr/local/src/hybrid-wl/src/wl/sys/wl_cfg80211_hybrid.c:1799:2: 警告:从不兼容的指针类型初始化 [默认启用] .get_station = wl_cfg80211_get_station, ^ /usr/local/src/hybrid-wl/src/wl/sys/wl_cfg80211_hybrid.c:1799:2: 警告:(在‘wl_cfg80211_ops.get_station’的初始化附近) [默认启用] /usr/local/src/hybrid-wl/src/wl/sys/wl_cfg80211_hybrid.c:1828:36: 警告:‘wl_wowlan_support’定义后未使用 [-Wunused-variable] static struct wiphy_wowlan_support wl_wowlan_support = { ^ LD [M] /usr/local/src/hybrid-wl/wl.o Building modules, stage 2. CFG80211 API is prefered for this kernel version Using CFG80211 API MODPOST 1 modules CC /usr/local/src/hybrid-wl/wl.mod.o LD [M] /usr/local/src/hybrid-wl/wl.ko make[1]: 离开目录“/usr/src/kernels/3.10.0-229.14.1.el7.x86_64”
竟然让我给弄成功了,顿时笑了 呵呵!
然后:make install 没有报错,欣喜额
然后根据Centos官网的教程 一路modprobe 大部分没有找到
最后:modprobe wl 发现家里的wifi被找到了 连接上,写博客记录下。完成!