【问题】
新装的Ubuntu 10.04,其他一切正常,但是就是无线网络无法链接。很是郁闷。有线网络是可以正常使用的。
我这里的也是TP Link的无线路由器。
【解决过程】
1.先去Windows下面确认了,硬件工作是正常的,XP下,是可以上网的,同时也确保,硬件没有被Fn+F1这个快捷键关闭无线网卡。
2.参考: Ubuntu10.04无线网络配置的怪事
http://hi.baidu.com/oppslee/blog/item/9d05564e30831d04b2de055e.html
去将IPv4的方式设置,不用DHCP,因为这个DHCP有时候貌似兼容性不好,设置为手动,然后去设置IP,mask,gateway,DNS,确保都和Windows XP下,能工作的时候一致,并且IP自己多常识了其他允许的值,仍旧无法连接到无线网络。
3.参考:Ubuntu下连接无线网的问题(女士不宜)
http://blog.163.com/bluez_gz/blog/static/126597429201071711654469/
去执行了其所说的:
1) sudo vi /etc/NetworkManager/nm-system-settings.conf
将managed=false 改为 managed=true
2)sudo vi /etc/network/interfaces
仅保留:
auto lo
iface lo inet loopback
发现已经是上述设置了,所以无需再改。其中的managed是之前自己偶此改成true的。
但是还是无法连接无线网络。
4.参考:求助:Ubuntu 下无线网络无法连接
http://www.avast1.cn/bbs/thread-25329-1-1.html
去终端里面执行:
sudo lshw
显示出一堆的硬件详细信息,找到其中的无线网卡的部分:
*-network
description: Wireless interface
product: Realtek Semiconductor Co., Ltd.
vendor: Realtek Semiconductor Co., Ltd.
physical id: 0
bus info: pci@0000:02:00.0
logical name: wlan0
version: 10
serial: 00:24:21:c9:af:7f
width: 32 bits
clock: 33MHz
capabilities: pm msi pciexpress bus_master cap_list ethernet physical wireless
configuration: broadcast=yes driver=rtl819xSE driverversion=0014.0115.2010 firmware=62 latency=0 link=no multicast=yes wireless=802.11bgn
resources: irq:16 ioport:2000(size=256) memory:f8000000-f8003fff
可见,其中也是可以正常识别无线网卡的product,vendor以及clock等详细参数的,说明驱动对硬件也是支持的才对,但是无线网络还是无法连接。
5.参考:ubuntu 无线网络连接
http://shijianlin4724.blog.163.com/blog/static/13027878120108854416773/
去系统->系统管理->硬件驱动,搜了一把,结果没有找到可以更新的驱动。所以,还是失败。
6.这个人:两种安装方式下的无线网卡问题(求助高手)
http://forum.ubuntu.org.cn/viewtopic.php?t=271737
和我遇到一样的情况,也是 rtl819xSE的无线网卡,也是没解决问题呢。
附录:
我的lspci -vv的结果:
02:00.0 Network controller: Realtek Semiconductor Co., Ltd. Device 8171 (rev 10)
Subsystem: Micro-Star International Co., Ltd. Device 6897
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B- DisINTx-
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 0, Cache Line Size: 64 bytes
Interrupt: pin A routed to IRQ 16
Region 0: I/O ports at 2000 [size=256]
Region 1: Memory at f8000000 (32-bit, non-prefetchable) [size=16K]
Capabilities: <access denied>
Kernel driver in use: rtl819xSE
Kernel modules: r8192se_pci
04:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 03)
Subsystem: Mitac Device 9223
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B- DisINTx+
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 0, Cache Line Size: 64 bytes
Interrupt: pin A routed to IRQ 27
Region 0: I/O ports at 3000 [size=256]
Region 2: Memory at f4000000 (64-bit, prefetchable) [size=4K]
Region 4: Memory at f2000000 (64-bit, prefetchable) [size=16K]
[virtual] Expansion ROM at f2010000 [disabled] [size=64K]
Capabilities: <access denied>
Kernel driver in use: r8169
Kernel modules: r8169
7.找到这个人,也是同样的无线网卡rtl819xSE,其解决了此问题:
10.04 R400 解决无线上网问题
http://forum.ubuntu.org.cn/viewtopic.php?t=268946
然后去google搜了下rtl819xSE driver,可以找到这个,有人专门提到了Linux内核的某个关于此问题的bug:
[STAGING] Realtek 8172 wifi driver does not work with lucid 2.6.32-21-generic kernel, does work with out-of-tree driver
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/566215
并且提到了,用下载源码重新编译并安装的方法,即上面那人用的,就可以使此网卡正常工作了。
找无线网卡的驱动并编译之前,先要去搞清楚,自己的无线网卡的具体型号是什么。
【在Linux/Ubuntu下 如何查看自己的无线网卡的具体型号】
其他方法,比如上面已经用过的,通过”lspci -vv” 所得到的信息中,只有无线网卡的大概类型,此处为rtl819xSE,而无法得知具体的型号,所以只能找其他办法去弄清楚无线网卡的具体的型号。
经过尝试,通过如下步骤,可以找到无线网卡的具体型号:
打开终端,输入iwconfig,显示出无线网卡的相关的信息:
crifan@crifan-laptop:~$ iwconfig
lo no wireless extensions.
eth0 no wireless extensions.
wlan0 802.11bgn Nickname:”rtl8191SEVA2“
Mode:Managed Frequency=2.412 GHz Access Point: Not-Associated
Bit Rate:135 Mb/s
Retry:on RTS thr:off Fragment thr:off
Power Management:off
Link Quality=10/100 Signal level=0 dBm Noise level=-100 dBm
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0
其中,rtl8191SEVA2即为我这里的无线网卡的具体的型号。
然后接着按照上面帖子的介绍,找无线网卡驱动并编译:
(1) 下载无线网卡的驱动源码:
进入:
找到自己的无线网卡,此处为rtl8191SEVA2,所对应的Linux驱动源码。
或者去其主页:http://www.realtek.com.tw/
搜索你的无线网卡的型号,比如此处为RTL8192SE,然后一步步,即可找到对应的Linux下的驱动源码。
后证实,RTL8191SEVA2所对应的Linux的驱动,此处发现和RTL8192SE的一样。所以去将其RTL8192SE的驱动源码下载下来,留待下面用。
(2)安装编译驱动所需要的Linux内核的头文件:
然后去安装Linux内核源码(头文件),结果出错了:
crifan@crifan-laptop:~$ sudo apt-get install linux-source
[sudo] password for crifan:
正在读取软件包列表… 完成
正在分析软件包的依赖关系树
正在读取状态信息… 完成
将会安装下列额外的软件包:
linux-source-2.6.32
建议安装的软件包:
libncurses-dev ncurses-dev kernel-package libqt3-dev
下列【新】软件包将被安装:
linux-source linux-source-2.6.32
升级了 0 个软件包,新安装了 2 个软件包,要卸载 0 个软件包,有 224 个软件包未被升级。
需要下载 65.9MB 的软件包。
解压缩后会消耗掉 66.0MB 的额外空间。
您希望继续执行吗?[Y/n]y
错误 http://cn.archive.ubuntu.com/ubuntu/ lucid-updates/main linux-source-2.6.32 2.6.32-24.41
404 Not Found
错误 http://security.ubuntu.com/ubuntu/ lucid-security/main linux-source-2.6.32 2.6.32-24.41
404 Not Found [IP: 91.189.92.167 80]
错误 http://security.ubuntu.com/ubuntu/ lucid-security/main linux-source 2.6.32.24.25
404 Not Found [IP: 91.189.92.167 80]
无法下载 http://security.ubuntu.com/ubuntu/pool/main/l/linux/linux-source-2.6.32_2.6.32-24.41_all.deb 404 Not Found [IP: 91.189.92.167 80]
无法下载 http://security.ubuntu.com/ubuntu/pool/main/l/linux-meta/linux-source_2.6.32.24.25_all.deb 404 Not Found [IP: 91.189.92.167 80]
E: 有几个软件包无法下载,您可以运行 apt-get update 或者加上 –fix-missing 的选项再试试?
然后按照提示,继续尝试:
crifan@crifan-laptop:~$ sudo apt-get install linux-source –fix-missing
正在读取软件包列表… 完成
正在分析软件包的依赖关系树
正在读取状态信息… 完成
将会安装下列额外的软件包:
linux-source-2.6.32
建议安装的软件包:
libncurses-dev ncurses-dev kernel-package libqt3-dev
下列【新】软件包将被安装:
linux-source linux-source-2.6.32
升级了 0 个软件包,新安装了 2 个软件包,要卸载 0 个软件包,有 224 个软件包未被升级。
需要下载 65.9MB 的软件包。
解压缩后会消耗掉 66.0MB 的额外空间。
您希望继续执行吗?[Y/n]y
错误 http://cn.archive.ubuntu.com/ubuntu/ lucid-updates/main linux-source-2.6.32 2.6.32-24.41
404 Not Found
错误 http://security.ubuntu.com/ubuntu/ lucid-security/main linux-source-2.6.32 2.6.32-24.41
404 Not Found [IP: 91.189.88.37 80]
错误 http://security.ubuntu.com/ubuntu/ lucid-security/main linux-source 2.6.32.24.25
404 Not Found [IP: 91.189.88.37 80]
无法下载 http://security.ubuntu.com/ubuntu/pool/main/l/linux/linux-source-2.6.32_2.6.32-24.41_all.deb 404 Not Found [IP: 91.189.88.37 80]
无法下载 http://security.ubuntu.com/ubuntu/pool/main/l/linux-meta/linux-source_2.6.32.24.25_all.deb 404 Not Found [IP: 91.189.88.37 80]
怒了,干脆不下载了,等后面不能编译再说。而且好像记得之前系统更新,好像是有更新Linux内核源码还是头文件之类的,所以先暂时不管这步了,后面错了再回来看看。
关于下载内核源码,其实也可以直接去这里下载:
http://www.kernel.org/pub/linux/kernel/
下载内核源码:
http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.32.tar.bz2
(3)编译并安装新的无线驱动:
解压前面下载的无线驱动的源码包rtl8192se_linux_2.6.0018.1025.2010.tar.gz后,进入解压后的目录,找到个readme.txt,其中有如何使用此驱动的说明:
========================================================================================
II. Compile & Installation & uninstall
========================================================================================
You can enter top-level directory of driver and execute follwing command to
Compile, Installation, or uninstall the driver:
0. Change to Super User
sudo su
1. Compile driver from the source code
make
2. Install the driver to the kernel
make install
reboot
3. uninstall driver
make uninstall
所以,就去尝试:
a.
crifan@crifan-laptop:~/download/rtl8192se_linux_2.6.0018.1025.2010$ sudo su
root@crifan-laptop:/home/crifan/download/rtl8192se_linux_2.6.0018.1025.2010# pwd/home/crifan/download/rtl8192se_linux_2.6.0018.1025.2010
root@crifan-laptop:/home/crifan/download/rtl8192se_linux_2.6.0018.1025.2010# ls
firmware readme.txt rtllib wlan0down wpa_supplicant-0.6.9.tar.gz
HAL realtek runwpa wlan0up
Makefile release_note wlan0dhcp wpa1.conf
root@crifan-laptop:/home/crifan/download/rtl8192se_linux_2.6.0018.1025.2010# make
make[1]: 正在进入目录 `/usr/src/linux-headers-2.6.32-21-generic’
CC [M] /home/crifan/download/rtl8192se_linux_2.6.0018.1025.2010/HAL/rtl8192/rtl_core.o
CC [M] /home/crifan/download/rtl8192se_linux_2.6.0018.1025.2010/HAL/rtl8192/rtl_regd.o
CC [M] /home/crifan/download/rtl8192se_linux_2.6.0018.1025.2010/HAL/rtl8192/rtl_rfkill.o
CC [M] /home/crifan/download/rtl8192se_linux_2.6.0018.1025.2010/HAL/rtl8192/rtl_eeprom.o
CC [M] /home/crifan/download/rtl8192se_linux_2.6.0018.1025.2010/HAL/rtl8192/rtl_wx.o
CC [M] /home/crifan/download/rtl8192se_linux_2.6.0018.1025.2010/HAL/rtl8192/rtl_cam.o
CC [M] /home/crifan/download/rtl8192se_linux_2.6.0018.1025.2010/HAL/rtl8192/rtl_pm.o
CC [M] /home/crifan/download/rtl8192se_linux_2.6.0018.1025.2010/HAL/rtl8192/rtl_pci.o
CC [M] /home/crifan/download/rtl8192se_linux_2.6.0018.1025.2010/HAL/rtl8192/rtl_ps.o
CC [M] /home/crifan/download/rtl8192se_linux_2.6.0018.1025.2010/HAL/rtl8192/rtl_dm.o
CC [M] /home/crifan/download/rtl8192se_linux_2.6.0018.1025.2010/HAL/rtl8192/rtl_debug.o
CC [M] /home/crifan/download/rtl8192se_linux_2.6.0018.1025.2010/HAL/rtl8192/rtl_ethtool.o
CC [M] /home/crifan/download/rtl8192se_linux_2.6.0018.1025.2010/HAL/rtl8192/rtl8192s/r8192S_dev.o
CC [M] /home/crifan/download/rtl8192se_linux_2.6.0018.1025.2010/HAL/rtl8192/rtl8192s/r8192S_Efuse.o
CC [M] /home/crifan/download/rtl8192se_linux_2.6.0018.1025.2010/HAL/rtl8192/rtl8192s/r8192S_phy.o
CC [M] /home/crifan/download/rtl8192se_linux_2.6.0018.1025.2010/HAL/rtl8192/rtl8192s/r8192S_firmware.o
CC [M] /home/crifan/download/rtl8192se_linux_2.6.0018.1025.2010/HAL/rtl8192/rtl8192s/r8192S_rtl6052.o
CC [M] /home/crifan/download/rtl8192se_linux_2.6.0018.1025.2010/HAL/rtl8192/rtl8192s/r8192S_hwimg.o
CC [M] /home/crifan/download/rtl8192se_linux_2.6.0018.1025.2010/HAL/rtl8192/rtl8192s/r8192S_led.o
CC [M] /home/crifan/download/rtl8192se_linux_2.6.0018.1025.2010/HAL/rtl8192/rtl8192s/r8192S_mp.o
CC [M] /home/crifan/download/rtl8192se_linux_2.6.0018.1025.2010/HAL/rtl8192/rtl8192s/r8192S_scan.o
CC [M] /home/crifan/download/rtl8192se_linux_2.6.0018.1025.2010/HAL/rtl8192/../../rtllib/rtllib_rx.o
CC [M] /home/crifan/download/rtl8192se_linux_2.6.0018.1025.2010/HAL/rtl8192/../../rtllib/rtllib_softmac.o
CC [M] /home/crifan/download/rtl8192se_linux_2.6.0018.1025.2010/HAL/rtl8192/../../rtllib/rtllib_tx.o
CC [M] /home/crifan/download/rtl8192se_linux_2.6.0018.1025.2010/HAL/rtl8192/../../rtllib/rtllib_wx.o
CC [M] /home/crifan/download/rtl8192se_linux_2.6.0018.1025.2010/HAL/rtl8192/../../rtllib/rtllib_module.o
CC [M] /home/crifan/download/rtl8192se_linux_2.6.0018.1025.2010/HAL/rtl8192/../../rtllib/rtllib_softmac_wx.o
CC [M] /home/crifan/download/rtl8192se_linux_2.6.0018.1025.2010/HAL/rtl8192/../../rtllib/rtl819x_HTProc.o
CC [M] /home/crifan/download/rtl8192se_linux_2.6.0018.1025.2010/HAL/rtl8192/../../rtllib/rtl819x_TSProc.o
CC [M] /home/crifan/download/rtl8192se_linux_2.6.0018.1025.2010/HAL/rtl8192/../../rtllib/rtl819x_BAProc.o
CC [M] /home/crifan/download/rtl8192se_linux_2.6.0018.1025.2010/HAL/rtl8192/../../rtllib/dot11d.o
CC [M] /home/crifan/download/rtl8192se_linux_2.6.0018.1025.2010/HAL/rtl8192/../../rtllib/rtllib_crypt.o
CC [M] /home/crifan/download/rtl8192se_linux_2.6.0018.1025.2010/HAL/rtl8192/../../rtllib/rtllib_crypt_tkip.o
CC [M] /home/crifan/download/rtl8192se_linux_2.6.0018.1025.2010/HAL/rtl8192/../../rtllib/rtllib_crypt_ccmp.o
CC [M] /home/crifan/download/rtl8192se_linux_2.6.0018.1025.2010/HAL/rtl8192/../../rtllib/rtllib_crypt_wep.o
CC [M] /home/crifan/download/rtl8192se_linux_2.6.0018.1025.2010/HAL/rtl8192/../../rtllib/wapi.o
CC [M] /home/crifan/download/rtl8192se_linux_2.6.0018.1025.2010/HAL/rtl8192/../../rtllib/wapi_interface.o
LD [M] /home/crifan/download/rtl8192se_linux_2.6.0018.1025.2010/HAL/rtl8192/r8192se_pci.o
Building modules, stage 2.
MODPOST 1 modules
CC /home/crifan/download/rtl8192se_linux_2.6.0018.1025.2010/HAL/rtl8192/r8192se_pci.mod.o
LD [M] /home/crifan/download/rtl8192se_linux_2.6.0018.1025.2010/HAL/rtl8192/r8192se_pci.ko
可见,此处是可以正常make的,说明之前是已经装了或者Ubuntu本身已经有了对应的Linux内核头文件的。
b. 再继续:
root@crifan-laptop:/home/crifan/download/rtl8192se_linux_2.6.0018.1025.2010# make install
make[1]: 正在进入目录 `/usr/src/linux-headers-2.6.32-21-generic’
Building modules, stage 2.
MODPOST 1 modules
make[1]:正在离开目录 `/usr/src/linux-headers-2.6.32-21-generic’
make[1]: 正在进入目录 `/home/crifan/download/rtl8192se_linux_2.6.0018.1025.2010/HAL/rtl8192′
make -C /lib/modules/2.6.32-21-generic/build M=/home/crifan/download/rtl8192se_linux_2.6.0018.1025.2010 CC=gcc modules
make[2]: 正在进入目录 `/usr/src/linux-headers-2.6.32-21-generic’
Building modules, stage 2.
MODPOST 0 modules
make[2]:正在离开目录 `/usr/src/linux-headers-2.6.32-21-generic’
find /lib/modules/2.6.32-21-generic -name “r8192se_*.ko” -exec ls -l {} ;
-rw-r–r– 1 root root 534096 2010-04-16 21:03 /lib/modules/2.6.32-21-generic/kernel/ubuntu/rtl8192se/r8192se_pci.ko
find /lib/modules/2.6.32-21-generic -name “r8192se_*.ko” -exec rm {} ;
install -p -m 644 r8192se_pci.ko /lib/modules/2.6.32-21-generic/kernel/drivers/net/wireless/
depmod -a
make[1]:正在离开目录 `/home/crifan/download/rtl8192se_linux_2.6.0018.1025.2010/HAL/rtl8192′
其主要就是判断是否有旧的驱动,有的话先删除,然后安装刚编译好的新的驱动,即r8192se_pci.ko。
c. 好了,安装好新无线网卡的驱动,重启,回来再写,看看网卡是否正常工作呢,呵呵。
d. 现在已经是重启好后,用无线网卡上网编辑帖子了,。并且,新的无线网卡,貌似效果很好,一下子搜索到的有一二十个无线网络的。。。远多于Windows XP下面的只能搜到的几个无线网络。。。
有图片为证:
(暂时是在Ubuntu下用Firefox上网,对网易博客系统支持不好,不能上传图片。。。等回到Windows下,再传吧。。
好了,现在回到XP下了。。。)
【提示】
1. 有空可以再试试Ndiswrapper:
另外,无意中,发现有人提到这个工具:Ndiswrapper,其作用是使得你的在windows下正常工作的无线驱动,移植到Linux下。Ndiswrapper的具体解释可以去看:
[翻译]Ndiswrapper终极使用指南
http://blog.chinaunix.net/u1/35100/showart_279408.html
如果上述方法最后还是没搞定,可以尝试去用此工具折腾试试。
2. 可以使用sudo iwlist [wlan0] scan[ning]去搜索无线网络,应该和从Network-manager上看到的那些无线网络是一样的。
【参考】
1.这个地址,介绍了网卡的基本知识,涉及ifconfig,iwconfig,lsusb,值得看看:
网卡
http://wiki.ubuntu.org.cn/%E7%BD%91%E5%8D%A1
转载请注明:在路上 » 【已解决】Ubuntu 10.04 无线网卡 无法连接