我的Ubuntu版本10.04

linux内核是3.0.66, 不是原装的 kernel,我自己编译优化过的

机子是联想Y400 i7

首先,为什么想去替换掉网卡的驱动呢?原因是原先装的驱动,连接上wifi之后,过一段时间就会自动断线,然后重连就不成功,即使成功,这个时候往往也会无法访问到网路,ping网关也不通。

因为已经装双系统,在win7下面是很好的,所以排除硬件问题,一定是软件驱动的问题。

然后网上搜索到说安装wl网卡驱动,替换brcmsmac可以解决这个问题,于是开始着手实验。

首先是用apt-get命令安装wl

sudo apt-get --reinstall install bcmwl-kernel-source

这个命令是用来查看你是否有相应的linux环境

4$ ls /lib/modules/3.0.66custom/build
arch                     config-3.5.7      debian         include  kernel       modules.builtin  REPORTING-BUGS  System.map  vmlinux
automake.sh              config-3.5.7.old  Documentation  init     lib          modules.order    samples         tags        vmlinux.o
automake.sh~             COPYING           drivers        ipc      MAINTAINERS  Module.symvers   scripts         tools
block                    CREDITS           firmware       Kbuild   Makefile     net              security        usr
config-3.5.0-23-generic  crypto            fs             Kconfig  mm           README           sound           virt

我这里显示应该是正常的。

无线网卡是:

Network controller: Broadcom Corporation BCM4313 802.11b/g/n Wireless LAN Controller (rev 01)
    Subsystem: Broadcom Corporation Device 0609
    Kernel driver in use: brcmsmac
    Kernel modules: wl, bcma, brcmsmac

以上是用 lspci -k命令查看到的

然后用lsmod查看:

$ lsmod
Module                  Size  Used by
brcmsmac              628806  0
brcmutil               17837  1 brcmsmac
mac80211              301906  1 brcmsmac
cfg80211              193238  2 brcmsmac,mac80211
crc_ccitt              12667  1 brcmsmac
arc4                   12529  2
ieee802154             25468  0
lib80211               14991  0
bluetooth             100308  2
parport_pc             36784  0
ppdev                  13008  0

目前用到的驱动模块是: brcmsmac

此时先卸载brcmsmac

$ sudo modprobe -r brcmsmac

成功后系统提示无线网络断开

然后插入wl

$ sudo modprobe wl
FATAL: Error inserting wl (/lib/modules/3.0.66custom/updates/dkms/wl.ko): Invalid argument
FATAL: Error running install command for wl

此时系统提示以上错误,查看dmesg:

[ 9208.546626] wl: no symbol version for cfg80211_scan_done
[ 9208.546628] wl: Unknown symbol cfg80211_scan_done (err -22)
[ 9208.546651] wl: no symbol version for cfg80211_disconnected
[ 9208.546652] wl: Unknown symbol cfg80211_disconnected (err -22)
[ 9208.546665] wl: no symbol version for wiphy_register
[ 9208.546666] wl: Unknown symbol wiphy_register (err -22)
[ 9208.546669] wl: no symbol version for wiphy_new
[ 9208.546670] wl: Unknown symbol wiphy_new (err -22)
[ 9208.546672] wl: no symbol version for cfg80211_put_bss
[ 9208.546674] wl: Unknown symbol cfg80211_put_bss (err -22)
[ 9208.546675] wl: no symbol version for cfg80211_roamed
[ 9208.546676] wl: Unknown symbol cfg80211_roamed (err -22)
[ 9208.546683] wl: no symbol version for lib80211_get_crypto_ops
[ 9208.546685] wl: Unknown symbol lib80211_get_crypto_ops (err -22)
[ 9208.546689] wl: no symbol version for cfg80211_ibss_joined
[ 9208.546691] wl: Unknown symbol cfg80211_ibss_joined (err -22)
[ 9208.546696] wl: no symbol version for cfg80211_michael_mic_failure
[ 9208.546697] wl: Unknown symbol cfg80211_michael_mic_failure (err -22)
[ 9208.546699] wl: no symbol version for cfg80211_connect_result
[ 9208.546701] wl: Unknown symbol cfg80211_connect_result (err -22)
[ 9208.546709] wl: no symbol version for wiphy_unregister
[ 9208.546710] wl: Unknown symbol wiphy_unregister (err -22)
[ 9208.546738] wl: no symbol version for cfg80211_get_bss
[ 9208.546741] wl: Unknown symbol cfg80211_get_bss (err -22)
[ 9208.546747] wl: no symbol version for __ieee80211_get_channel
[ 9208.546750] wl: Unknown symbol __ieee80211_get_channel (err -22)
[ 9208.546764] wl: no symbol version for ieee80211_channel_to_frequency
[ 9208.546766] wl: Unknown symbol ieee80211_channel_to_frequency (err -22)
[ 9208.546774] wl: no symbol version for cfg80211_inform_bss_frame
[ 9208.546776] wl: Unknown symbol cfg80211_inform_bss_frame (err -22)
[ 9208.546779] wl: no symbol version for ieee80211_frequency_to_channel
[ 9208.546782] wl: Unknown symbol ieee80211_frequency_to_channel (err -22)
[ 9208.546789] wl: no symbol version for wiphy_free
[ 9208.546791] wl: Unknown symbol wiphy_free (err -22)

从上面的信息可以看到,

wl.ko里面引用的一些外部函数找不到,包括cfg_xxxx, ieee80211_xxxx, wiphy_xxxx这几个库,为什么会这样呢?我暂时没有找到原因,我相信如果搞清楚这个原因,就可以解决问题了。

我在网上搜索,发现有人说是要把代码放到某个目录下面去编译,才可以引用得到,也许是这个原因。

重新加载brcmsmac, dmesg是这样的:

[ 8990.324012] wlan0: no IPv6 routers present
[ 9000.618439] ieee80211 phy0: wl_ops_bss_info_changed: qos enabled: false (implement)
[ 9000.618455] ieee80211 phy0: brcmsmac: wl_ops_bss_info_changed: disassociated
[ 9000.618464] ieee80211 phy0: wl_ops_bss_info_changed: arp filtering: enabled false, count 1 (implement)
[ 9002.538362] cfg80211: All devices are disconnected, going to restore regulatory settings
[ 9002.538371] cfg80211: Restoring regulatory settings
[ 9002.538380] cfg80211: Calling CRDA to update world regulatory domain
[ 9002.544625] cfg80211: Updating information on frequency 2412 MHz for a 20 MHz width channel with regulatory rule:
[ 9002.544632] cfg80211: 2402000 KHz - 2472000 KHz @  KHz), (300 mBi, 2000 mBm)
[ 9002.544637] cfg80211: Updating information on frequency 2417 MHz for a 20 MHz width channel with regulatory rule:
[ 9002.544641] cfg80211: 2402000 KHz - 2472000 KHz @  KHz), (300 mBi, 2000 mBm)
[ 9002.544644] cfg80211: Updating information on frequency 2422 MHz for a 20 MHz width channel with regulatory rule:
[ 9002.544648] cfg80211: 2402000 KHz - 2472000 KHz @  KHz), (300 mBi, 2000 mBm)
[ 9002.544651] cfg80211: Updating information on frequency 2427 MHz for a 20 MHz width channel with regulatory rule:
[ 9002.544655] cfg80211: 2402000 KHz - 2472000 KHz @  KHz), (300 mBi, 2000 mBm)
[ 9002.544659] cfg80211: Updating information on frequency 2432 MHz for a 20 MHz width channel with regulatory rule:
[ 9002.544663] cfg80211: 2402000 KHz - 2472000 KHz @  KHz), (300 mBi, 2000 mBm)
[ 9002.544666] cfg80211: Updating information on frequency 2437 MHz for a 20 MHz width channel with regulatory rule:
[ 9002.544670] cfg80211: 2402000 KHz - 2472000 KHz @  KHz), (300 mBi, 2000 mBm)
[ 9002.544673] cfg80211: Updating information on frequency 2442 MHz for a 20 MHz width channel with regulatory rule:
[ 9002.544677] cfg80211: 2402000 KHz - 2472000 KHz @  KHz), (300 mBi, 2000 mBm)
[ 9002.544680] cfg80211: Updating information on frequency 2447 MHz for a 20 MHz width channel with regulatory rule:
[ 9002.544684] cfg80211: 2402000 KHz - 2472000 KHz @  KHz), (300 mBi, 2000 mBm)
[ 9002.544688] cfg80211: Updating information on frequency 2452 MHz for a 20 MHz width channel with regulatory rule:
[ 9002.544692] cfg80211: 2402000 KHz - 2472000 KHz @  KHz), (300 mBi, 2000 mBm)
[ 9002.544695] cfg80211: Updating information on frequency 2457 MHz for a 20 MHz width channel with regulatory rule:
[ 9002.544699] cfg80211: 2402000 KHz - 2472000 KHz @  KHz), (300 mBi, 2000 mBm)
[ 9002.544702] cfg80211: Updating information on frequency 2462 MHz for a 20 MHz width channel with regulatory rule:
[ 9002.544706] cfg80211: 2402000 KHz - 2472000 KHz @  KHz), (300 mBi, 2000 mBm)
[ 9002.544710] cfg80211: Updating information on frequency 2467 MHz for a 20 MHz width channel with regulatory rule:
[ 9002.544713] cfg80211: 2457000 KHz - 2482000 KHz @  KHz), (300 mBi, 2000 mBm)
[ 9002.544717] cfg80211: Updating information on frequency 2472 MHz for a 20 MHz width channel with regulatory rule:
[ 9002.544721] cfg80211: 2457000 KHz - 2482000 KHz @  KHz), (300 mBi, 2000 mBm)
[ 9002.544724] cfg80211: Updating information on frequency 2484 MHz for a 20 MHz width channel with regulatory rule:
[ 9002.544728] cfg80211: 2474000 KHz - 2494000 KHz @  KHz), (300 mBi, 2000 mBm)
[ 9002.544733] cfg80211: World regulatory domain updated:
[ 9002.544735] cfg80211:     (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp)
[ 9002.544739] cfg80211:     (2402000 KHz - 2472000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
[ 9002.544743] cfg80211:     (2457000 KHz - 2482000 KHz @ 20000 KHz), (300 mBi, 2000 mBm)
[ 9002.544747] cfg80211:     (2474000 KHz - 2494000 KHz @ 20000 KHz), (300 mBi, 2000 mBm)
[ 9002.544750] cfg80211:     (5170000 KHz - 5250000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
[ 9002.544754] cfg80211:     (5735000 KHz - 5835000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
[ 9003.779116] wlan0: authenticate with 30:46:9a:85:f2:aa (try 1)
[ 9003.783053] wlan0: authenticated
[ 9003.783373] wlan0: associate with 30:46:9a:85:f2:aa (try 1)
[ 9003.806602] wlan0: RX ReassocResp from 30:46:9a:85:f2:aa (capab=0x411 status=0 aid=4)
[ 9003.806608] wlan0: associated
[ 9003.807245] ieee80211 phy0: wl_ops_bss_info_changed: qos enabled: true (implement)
[ 9003.807261] ieee80211 phy0: brcmsmac: wl_ops_bss_info_changed: associated
[ 9003.807283] ieee80211 phy0: wl_ops_bss_info_changed: arp filtering: enabled true, count 1 (implement)

卸载brcmsmac

[ 9129.048142] wlan0: deauthenticating from 30:46:9a:85:f2:aa by local choice (reason=3)
[ 9143.593612] cfg80211: All devices are disconnected, going to restore regulatory settings
[ 9143.593620] cfg80211: Restoring regulatory settings
[ 9143.593628] cfg80211: Calling CRDA to update world regulatory domain
[ 9143.657522] cfg80211: World regulatory domain updated:
[ 9143.657529] cfg80211:     (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp)
[ 9143.657536] cfg80211:     (2402000 KHz - 2472000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
[ 9143.657545] brcmsmac 0000:03:00.0: PCI INT A disabled
[ 9143.657553] cfg80211:     (2457000 KHz - 2482000 KHz @ 20000 KHz), (300 mBi, 2000 mBm)
[ 9143.657559] cfg80211:     (2474000 KHz - 2494000 KHz @ 20000 KHz), (300 mBi, 2000 mBm)
[ 9143.657565] cfg80211:     (5170000 KHz - 5250000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
[ 9143.657572] cfg80211:     (5735000 KHz - 5835000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)

先整理这么多,以后如果成功了再更新吧。

记一次失败的尝试--ubuntu下把笔记本无线网卡的驱动替换掉相关推荐

  1. HID Relay, 有线键盘转蓝牙项目学习:记一次失败的尝试

    HID Relay, 有线键盘转蓝牙项目学习:记一次失败的尝试 开始学习嵌入式后,最难受的一个点在于电脑端口不够.我的电脑有两个USB口一个TypeC口,鼠标和键盘都要插USB口,stm32和51也都 ...

  2. 爬虫:记一次失败的尝试

    近日有一个小练习,要从XXX网站上爬取特定的查询结果(仅是练习爬虫,没有任何其他用意~~).兴冲冲的就拿来selenium开始上手.不料出师不利,屡遭挫折,历经了很长一段时间的suffer后,最终也是 ...

  3. 祭奠逝去的青春-记YY项目失败总结

    祭奠逝去的青春-记YY项目失败总结 Luo Weifeng 2011-5-21 时间过得真快,距上次做项目都快半年了,也是时候总结一下经验教训了. 首先,介绍下大背景.哈尔滨工业大学(威海)不算是很出 ...

  4. 四、记一次失败的 CAS 搭建 之 结果总是那么伤(客户端)

    四.记一次失败的 CAS 搭建 之 结果总是那么伤(客户端) ===================================================================== ...

  5. linux nvidia 361.run,Ubuntu 16.04安装nVidia驱动失败!

    Ubuntu 16.04安装nVidia驱动失败! 发布时间:2016-09-16 10:24:00来源:红联作者:sutao80216 我的笔记本是I/N双显卡,CPU是i7,独显是nVidia G ...

  6. 记一次失败的云函数的实践

    引文: "云应用":终端与服务(云)端互动的应用,终端操作同步云端,通过云端备份保留终端数据. 它把传统软件"本地安装.本地运算"的使用方式变为"即取 ...

  7. ROG 冰刃4 在 Ubuntu 环境下安装NVIDIA驱动

    ROG 冰刃4 在 Ubuntu 环境下安装NVIDIA驱动 机器配置 更新 系统安装好以后直接插网线,或者找个不需要安装驱动的无线网卡联网,然后在配好软件源之后开始更新系统.参照https://ww ...

  8. 联想R7000 ubuntu 18.04 安装1650ti驱动

    联想R7000 ubuntu 18.04 安装1650ti驱动 楼主电脑型号:联想R7000 R7-4800H 1650ti ubuntu18.04双系统 网上大概给出的安装ubuntu安装独显驱动方 ...

  9. RTL8811AU无线网卡linux驱动安装笔记(Fedora、Ubuntu)

    最近公司重新布网络,采购了一批无线网卡都是是USB接口的,卡王(Card-king)KW-AC8012 600M双频增强型外置天线USB无线网卡(https://item.jd.com/7216632 ...

最新文章

  1. 刻意练习:LeetCode实战 -- Task30.通配符匹配
  2. mysql空间扩展 VS PostGIS
  3. python中 使用join()方法 对各种数据类型中元的素进行合并拼接
  4. wxWidgets:wxMutex类用法
  5. 一张图搞清楚Java异常机制
  6. python | 查看pip支持的文件名和版本
  7. sql server driver for php,Microsoft SQL Server Driver for PHP
  8. 最简单的基于DirectShow的示例:视频播放器图形界面版
  9. android视频播放器卡顿,Android,_ExoPlayer循环播放本地视频,偶尔出现视频卡顿。,Android - phpStudy...
  10. js实现表格按行滚动
  11. 线索二叉树(前中后序线索化/遍历/画线索)
  12. python的基础使用之字典(涅槃之路8)
  13. ESP32自动更新气象站
  14. vue 适配微信浏览器 实现点击按钮复制文本 clipboard
  15. Java小游戏------飞翔的小鸟
  16. VUE项目获取微信二维码 (返回了的是一个html)
  17. 修改ActiveMQ的内存大小
  18. 品管七大手法-5控制图(转载)
  19. 怎么在不重启服务器情况下查看管理口-IPMI的ip是多少?
  20. 如何用3D技术“复现”遗址?

热门文章

  1. 前端基础:HTTP强制缓存
  2. terminate called without an active exception异常
  3. 蓝牙AOA高精度定位基站原厂深圳核芯物联科技参加2021中国国际高新技术成果交易会诚邀生态合作伙伴莅临交流指导2021.12.27-29深圳宝安国际会展中心11号馆
  4. Thinking in java-35 String 字符串
  5. 如何提高自己的语言表达能力?
  6. python爬虫之静态网页(以当当网图书畅销榜榜为例)
  7. jQuery事件处理概述
  8. spring security+jwt 登录认证
  9. 《华为机试》刷题之HJ84 统计大写字母个数
  10. 01-windows下载与安装neo4j