在Ubuntu8.04 LTS发布的第一时间我就下载了一份安装(http://yueguangyuan.iteye.com/blog/193501),里面曾经提到一个硬件识别错误,当时没有影响使用,后来发现这是由于在Ubuntu8.04 Kernel上这个iw3945无线网卡的驱动没有正常工作,
[ 46.430898] iwl3945: Microcode SW error detected. Restarting 0x82000008. [ 46.430979] iwl3945: Error Reply type 0x00000005 cmd REPLY_SCAN_CMD (0x80) seq 0x4418 ser 0x0000004B [ 47.424121] iwl3945: Can't stop Rx DMA.
而且也很快就列在Ubuntu的bug-list里面(https://bugs.launchpad.net/ubuntu/+source/linux-source-2.6.24/+bug/226134),至今好像也没看到有解决的迹象,有人回答说这种硬件驱动的解决可能需要很久,可能是涉及到商业支持问题。
而我前段时间无暇顾及这个问题,因为当时还有有线网络,问题一直拖到7月份,现在的情况是我只能使用无线网卡搜寻网络,而刚好会遇到上面的问题不能正确进行,不能上网,Ubuntu就好像一个小怪物,无奈之下,我曾经尝试过安装OpenSUSE(恰逢OpenSUSE11发布),结果OpenSuSE可以识别我的网卡,却不能搜寻网络,dmesg看看结果,原来同样的错误,开源是一家啊,大家都用的相同的驱动、相同的内核 :(。
无奈之前只能到网上搜,没想到几个月过去还是类似的结果,只好按照UbuntuForums上的做法尝试,http://ubuntuforums.org/showthread.php?t=820297,由于第一个8.04的发行版已经被我卸载,索性重新下了一个版本Ubuntu-8.04.1,估计修复了不少bugs,开源软件升级就是快,所以以后我一定要管住自己,第一个正式版的软件坚决不用。我先在Win下下载好提到的文件(不能使用网络的痛苦):linux-backports-modules-hardy-generic_2.6.24.18.20_i386.deb,然后重启进入Ubuntu安装这个补丁文件,结果发现缺乏依赖包,无奈重新回到Win下下载提到的依赖文件:
1.linux-backports-modules-2.6.24-18-generic_2.6.24-18.16_i386.deb
2.linux-image-2.6.24-18-generic_2.6.24-18.32_i386.deb
3.openssl-blacklist_0.3.3+0.4-0ubuntu0.8.04.3_all.man
4.ssl-cert_1.0.14-0ubuntu2.1_all.deb
重启,安装上面的依赖包后再安装之前的补丁,成功,然后打开终端设置:
sudo rmmod -f iwl3945 sudo modprobe iwl3945 disable_hw_scan=1 sudo iwlist wlan0 scan
终于可以搜索到网络!而且速度明显比图形界面的搜索快许多 :P,但是仍然有一个问题,就是这个设置并不是永久性的,还需要每次开机的时候都要设置,写个启动脚本搞定,但我仍然希望这个bug可以早日解决,也说明开源操作系统对商业硬件的支持还是致命伤,虽然现在很多厂商都拿出自己的免费支持驱动,但是这仍远远不够,只有各大硬件厂商能更重视Linux市场份额,肯出钱用于开源驱动的开发,Linux才能更好的普及下去,这也正是每位Linuxer需要努力的:推广开源软件的使用、推广Linux系统的使用!
可以继续使用Ubuntu我真是兴奋之极,恰逢腾讯不失时机的“走漏风声”:说本月QQ For Linux即将推出测试版,让Linuxer一起期待这一天的到来吧!虽然腾讯这个商业软件并不会对Linux做多大直接贡献,但是QQ For Linux一出,必定会使得国内Linux用户增加不少,也在说明微软操作系统霸权时代更加的不稳固。今天你Ubuntu了没有?