ubuntu10.10-2.6.35内核+BCM4353无线驱动笔记

包含网卡/无线网的网络问题和ADSL/校园网/宽带拨号支持及代理/共享等网络使用问题
回复
cn_lgz
帖子: 3
注册时间: 2010-10-06 10:39

ubuntu10.10-2.6.35内核+BCM4353无线驱动笔记

#1

帖子 cn_lgz » 2010-10-16 19:22

0x00 前言
工作需要公司给配置了一个dell studio 1458的笔记本,让人郁闷的dell装不了xp,只好装了win7-32考虑到了软件兼容性。后面又装了ubuntu10.04,郁闷是装上后有线网卡和无线网卡均不能使用,这下蒙了,linux没有网络还能干什么?于是,去官方下载了最新版的ubuntu10.10版本cd版,装完感觉界面改进了不少。进去后发现有线网卡可以使用,无线无法链接。写这篇文章主要记录自己解决问题的办法,同时也希望能够给遇到同样问题的朋友一个帮助。
0x01
接上网线,先更新看看有什么可以更新的驱动“系统”-》“系统管理”-》“附加驱动“,发现了2个驱动,一个是无线驱动(broadcom sta无法激活),另一个是ati的显卡驱动,显卡驱动更新后完美支持,可是无线还是无法更新。
无奈,看了下dell官方驱动下载只提供了win7-64的驱动,于是查看下是什么型号的:

代码: 全选

xiaoc@xiaoc-Studio-1458:~$ lspci
找到了:

代码: 全选

03:00.0 Ethernet controller: Broadcom Corporation NetLink BCM57780 Gigabit Ethernet PCIe (rev 01)
06:00.0 Network controller: Broadcom Corporation BCM43224 802.11a/b/g/n (rev 01)
第一行是有线网卡,第二后是无线网卡。是Broadcom公司,到broadcom官方下载了。http://www.broadcom.com/support/802.11/linux_sta.php 我下载了32位的(我cpu是64位的)详细看了这个readme.txt,按照说明执行命令如下:

代码: 全选

xiaoc@xiaoc-Studio-1458:~$ lspci -n | grep 14e4
03:00.0 0200: 14e4:1692 (rev 01)
06:00.0 0280: 14e4:4353 (rev 01)
pci的id是4353对照readme.txt的列表发现也没有,网络上看了没有这个型号的安装方法。只好自己蛮试试。
首先下载broadcom官方的32位驱动,cd到下载的目录下执行命令如下:

代码: 全选

sudo mkdir driver
cd driver/
tar -xzf ../hybrid-portsrc-x86_32-v5.60.48.36.tar.gz #因为我在上层目录
先sudo make clean下,然后make,发现错误如下:

代码: 全选

KBUILD_NOPEDANTIC=1 make -C /lib/modules/`uname -r`/build M=`pwd`
make[1]: 正在进入目录 `/usr/src/linux-headers-2.6.35-22-generic-pae'
  CC [M]  /home/xiaoc/下载/driver/src/shared/linux_osl.o
In file included from /home/xiaoc/下载/driver/src/shared/linux_osl.c:19:
/home/xiaoc/下载/driver/src/include/linuxver.h:23: fatal error: linux/autoconf.h: 没有那个文件或目录
compilation terminated.
make[2]: *** [/home/xiaoc/下载/driver/src/shared/linux_osl.o] 错误 1
make[1]: *** [_module_/home/xiaoc/下载/driver] 错误 2
make[1]:正在离开目录 `/usr/src/linux-headers-2.6.35-22-generic-pae'
make: *** [all] 错误 2
从这个错误发现了2个问题2个地方缺少同一个文件autoconf.h 命令找下这个文件:

代码: 全选

sudo find / -mount -name autoconf.h
返回如下:

代码: 全选

/usr/src/linux-headers-2.6.35-22-generic-pae/include/generated/autoconf.h
/usr/src/linux-headers-2.6.35-22-generic/include/generated/autoconf.h
然后uname -r查看内核现在是哪个,所以我选择第一个,直接复制到缺少这个文件的目录
cd到driver/src下,在include文件夹下创建一个linux文件夹,并将autoconf.h拷贝到其目录下,同时也拷贝到src/shared/目录下。
ok,再sudo make 发现编译成功了,提示如下:

代码: 全选

make[1]: 正在进入目录 
/usr/src/linux-headers-2.6.35-22-generic-pae
  LD      /home/xiaoc/下载/driver/built-in.o
  CC [M]  /home/xiaoc/下载/driver/src/shared/linux_osl.o
  CC [M]  /home/xiaoc/下载/driver/src/wl/sys/wl_linux.o
  CC [M]  /home/xiaoc/下载/driver/src/wl/sys/wl_iw.o
  LD [M]  /home/xiaoc/下载/driver/wl.o
  Building modules, stage 2.   
  MODPOST 1 modules    #看到这个就知道编译完成了。
WARNING: modpost: missing MODULE_LICENSE() in /home/xiaoc/下载/driver/wl.o
see include/linux/module.h for more information
  CC      /home/xiaoc/下载/driver/wl.mod.o
  LD [M]  /home/xiaoc/下载/driver/wl.ko
make[1]:正在离开目录 `/usr/src/linux-headers-2.6.35-22-generic-pae'
[code]
模块生成了,不过还有一个错误。先不管,将按照官方readme说明文件要将其拷贝到/lib/modules/2.6.35-22-generic-pae/kernel/net/wireless/,执行命令:
[code]sudo cp wl.ko /lib/modules/2.6.35-22-generic-pae/kernel/net/wireless/
然后继续执行命令depmod
手动加载驱动试试效果modprobe wl
到这里发现已经又无线网卡,并且能够搜索到其他无线网络。可是疑问又来了。获取到的ip不对,所以上不了网。
查看下模块是否加载,执行:

代码: 全选

xiaoc@xiaoc-Studio-1458:~$ lsmod  | grep "wl"
wl                   1959533  0 
lib80211                5058  2 wl,lib80211_crypt_tkip
发现正常加载了,但是纳闷的是,还是不能上网。出去吃饭回来,将路由的加密模式修改了一下,由原来的WEP128位改成了WAP后链接发现正常了。ok解决了~文章到此结束,我的网络ID:Xiaoc,网络地址:www.81sec.com ,不对的还望指出。
本文提供编译好的文件,只需将wl.ko复制到你内核的文件位置即可。当然要先看看你的网卡版本是否和我一致。
附件
driver.tar.gz
已经编译好的模块,同时带源码了。
(2.65 MiB) 已下载 71 次
头像
wlzyan
帖子: 504
注册时间: 2008-08-16 15:09
来自: 没有海一样的胸怀,哪能有海一样的事业.

Re: ubuntu10.10-2.6.35内核+BCM4353无线驱动笔记

#2

帖子 wlzyan » 2010-10-16 19:50

:em11 :em11
只有零售才能产生利润,其它都是成本.
mmiluy
帖子: 42
注册时间: 2007-04-10 13:05

Re: ubuntu10.10-2.6.35内核+BCM4353无线驱动笔记

#3

帖子 mmiluy » 2010-10-19 13:16

我按照楼主办法
也编译成功了
也安装了
lsmod也看见wl加载了
但是还不能用。。。。。。
cn_lgz
帖子: 3
注册时间: 2010-10-06 10:39

Re: ubuntu10.10-2.6.35内核+BCM4353无线驱动笔记

#4

帖子 cn_lgz » 2010-10-19 13:52

有错误提示?
你ifconfig查看下获取ip是否正确,我之前也是这样,发现获取的ip是10.*.*.*的,而我的路由是192.168.8.*所以显然不对
你自己检查下。后面我将路由的加密算法改成了WAP了就可以了。之前采用的是WEP,连接是连接了,但是IP错误。你也从这个角度看看。
如果你lsmod有加载无线网卡并且可以检测到无线网卡就说明驱动安装成功了。建议重启机子看看。
头像
npnufn
帖子: 1845
注册时间: 2005-10-14 15:56

Re: ubuntu10.10-2.6.35内核+BCM4353无线驱动笔记

#5

帖子 npnufn » 2010-10-19 15:06

如果是35内核并正确安装了linux-headers的话:

代码: 全选

sudo apt-get install bcmwl-kernel-source
即可。
yunio:又一个支持linux的云存储:链接 (非邀请链接)。
BCM4313驱动正常无法联网的解决:这里
plank:轻巧漂亮的dock 介绍在这里
mmiluy
帖子: 42
注册时间: 2007-04-10 13:05

Re: ubuntu10.10-2.6.35内核+BCM4353无线驱动笔记

#6

帖子 mmiluy » 2010-10-19 20:07

cn_lgz 写了:有错误提示?
你ifconfig查看下获取ip是否正确,我之前也是这样,发现获取的ip是10.*.*.*的,而我的路由是192.168.8.*所以显然不对
你自己检查下。后面我将路由的加密算法改成了WAP了就可以了。之前采用的是WEP,连接是连接了,但是IP错误。你也从这个角度看看。
如果你lsmod有加载无线网卡并且可以检测到无线网卡就说明驱动安装成功了。建议重启机子看看。
没有错误提示,如果非得说错误提示 和楼主的基本上一样
只不过我sudo make之后 直接sudo make install
也在那个文件夹下有编译后的文件
加载模块也成功了
但是无线网卡还是显示缺少固件
后来按照以前一个帖子里的 用 b43-fwcutter 安装成功的,这个直接从ubuntu的软件源里下载后安装的
驱动程序用的这个名字的包 broadcom-wl-4.80.53.0.tar.bz2
解压后 cd到里面的kmod文件夹 运行 b43-fwcutter -w /lib/firmware wl_apsta.o
然后就成功了。。。。。。
15618557537
帖子: 5
注册时间: 2010-10-19 10:00

Re: ubuntu10.10-2.6.35内核+BCM4353无线驱动笔记

#7

帖子 15618557537 » 2010-10-22 9:28

我也出现这样的问题wind7,64位下wubi安装ubuntu 10.10,也是说缺少固件,上不了网。
第一次用这种系统,楼上所说的,看着都云里雾里的,试试看,能不能用好。
15618557537
帖子: 5
注册时间: 2010-10-19 10:00

Re: ubuntu10.10-2.6.35内核+BCM4353无线驱动笔记

#8

帖子 15618557537 » 2010-10-22 10:24

还是上不了网。
15618557537
帖子: 5
注册时间: 2010-10-19 10:00

Re: ubuntu10.10-2.6.35内核+BCM4353无线驱动笔记

#9

帖子 15618557537 » 2010-10-22 11:59

哪位可以告诉我内核文件位置在哪呀?刚用ubuntu,什么都不知道。
mmiluy
帖子: 42
注册时间: 2007-04-10 13:05

Re: ubuntu10.10-2.6.35内核+BCM4353无线驱动笔记

#10

帖子 mmiluy » 2010-10-22 15:58

楼上的可以参照我说的办法
15618557537
帖子: 5
注册时间: 2010-10-19 10:00

Re: ubuntu10.10-2.6.35内核+BCM4353无线驱动笔记

#11

帖子 15618557537 » 2010-10-26 9:44

再试试看,谢谢 mmiluy
cash1943
帖子: 44
注册时间: 2010-03-07 13:25

Re: ubuntu10.10-2.6.35内核+BCM4353无线驱动笔记

#12

帖子 cash1943 » 2010-12-05 12:14

:em11
回复