勤&快

          問題其實(shí)就是你期望的東西和你體驗(yàn)的東西之間的差別
          隨筆 - 55, 文章 - 0, 評論 - 68, 引用 - 0
          數(shù)據(jù)加載中……

          如何在ubuntu下使用intel 3945abg無線網(wǎng)卡

          這個(gè)方案在升級到內(nèi)核"2.6.24-20"之后不可用,不知道為何。搞定的朋友可以將方案貼出來分享,謝謝。
          查閱了很多方法,包括對內(nèi)核打補(bǔ)丁,都不是很理想。其實(shí)iwl3945對于其他intel 3945的芯片的支持還是挺好的,比如dell d630中的無線網(wǎng)卡(芯片是8086:4222),但是,我的x60中的無限網(wǎng)卡,芯片是8086:4227的。最終選擇使用ndiswrapper+無線網(wǎng)卡驅(qū)動(dòng)for windows。參見這里
          如何查看無限網(wǎng)卡芯片:
          lspci

          找到表示無限網(wǎng)卡的一行,看看最開頭,就是你的網(wǎng)卡信息。
          比如:
          03:00.0 Network controller: Intel Corporation PRO/Wireless 3945ABG [Golan] Network Connection (rev 02)
          那么,03:00.0就是所求。

          然后運(yùn)行
          lspci -n

          找到和剛此型號對應(yīng)的行,如:
          03:00.0 0280: 8086:4227 (rev 02)
          那么,無線網(wǎng)卡的芯片就是8086:4227的。

          -----------------------------------------------------我是分割線----------------------------------------------------------

          警告:本教程存在一定的風(fēng)險(xiǎn),請謹(jǐn)慎使用,使用前請將相關(guān)文件備份。因?yàn)槭褂帽窘坛處淼娜魏螕p失,本人概不負(fù)責(zé)。
          本文中用到的所有文件,都可以在這里一次性下載。
          自從升級到ubuntu 8.04之后,自己的ibm x60上的無線網(wǎng)卡就變的很不穩(wěn)定。

          癥狀

          具體癥狀如下:
          1. 可以識別無線網(wǎng)絡(luò),可以鏈接到無線網(wǎng)絡(luò)。
          2. 剛連接上之后一段時(shí)間,速度還不錯(cuò)。
          3. 過一段時(shí)間,網(wǎng)絡(luò)就變的很慢很慢,有時(shí)候是沒有速度,有時(shí)候會(huì)斷線。
          4. 期間偶爾會(huì)變好。
          總體來說,就是無線網(wǎng)卡不穩(wěn)定。
          于是很無奈的,我的筆記本只能天天插著網(wǎng)線上網(wǎng)了。

          解決方案

          最近終于不能忍了,在網(wǎng)上搜索了一下解決方案。是因?yàn)閡buntu 8.04使用intel新開發(fā)的驅(qū)動(dòng)iwlwifi(驅(qū)動(dòng)名稱是iwl3945)作為intel無線網(wǎng)卡的驅(qū)動(dòng),而這個(gè)iwlwifi還很不穩(wěn)定。所以,基本思想是使用原來的很穩(wěn)定的ipw3945驅(qū)動(dòng)替換現(xiàn)在的iwl3945驅(qū)動(dòng)。ipw3945現(xiàn)在已經(jīng)停止開發(fā)了,最新版本是1.2.2,但是1.2.2在linux內(nèi)核2.6.24或者更高版本中不能正常安裝。幸好[3]中提供了一個(gè)可用的補(bǔ)丁,才可以解決問題。[3]中還強(qiáng)烈譴責(zé)了這種新版本驅(qū)動(dòng)還沒有開發(fā)穩(wěn)定就停止對于舊驅(qū)動(dòng)的開發(fā)的行為,認(rèn)為這是對用戶極大的不負(fù)責(zé)任。
          使用命令
          lshw -C network
          查看自己的網(wǎng)卡驅(qū)動(dòng)。
          下面詳細(xì)介紹一下替換驅(qū)動(dòng)的步驟。主要參考[1]

          具體步驟

          1. 阻止原有驅(qū)動(dòng)的加載
          為了使用新驅(qū)動(dòng),我們需要屏蔽掉原有驅(qū)動(dòng)。編輯/etc/modprobe.d/blacklist
          sudo vim /etc/modprobe.d/blacklist
          在blacklist文件中加入
          # blacklist new iwl3945
          blacklist iwl3945
          2. 安裝ipw3945 microcode
          下載ipw3945 microcode,下載地址
          解壓縮之后,將得到的ipw3945.ucode文件,拷貝到/lib/firmware/2.6.24-19-generic/下。
          注意,我這里的內(nèi)核版本是2.6.24-19,請根據(jù)自己的情況,將這個(gè)數(shù)字替換為當(dāng)前內(nèi)核版本號。可以使用“uname -r”命令查看當(dāng)前內(nèi)核版本。
          sudo cp ipw3945.ucode /lib/firmware/2.6.24-19-generic/
          3. 安裝ipw3945 Regulatory daemon
          下載ipw3945 Regulatory daemon,下載地址
          解壓縮后,將x86(如果是64位機(jī)器,則是x86_64)下的ipw3945d拷貝到/sbin目錄下。
          cp x86/ipw3945d /sbin
          為了讓ipw3945d工作,需要進(jìn)行一些操作,這些操作已經(jīng)寫在了兩個(gè)文件中,分別是ipw3945d-start和ipw3945d-stop中。我們需要將這些文件拷貝到/sbin下,執(zhí)行如下命令:
          sudo cp ipw3945d-{start,stop} /sbin
          sudo chmod a
          +/sbin/ipw3945d-{start,stop}
          更詳細(xì)的說明,請參考README.ipw3945d
          4. 安裝ieee80211
          一般在內(nèi)核中都有,特別是ubuntu安裝的內(nèi)核中。所以我就不需要安裝。如果你內(nèi)核中沒有ieee80211,需要安裝。請參考http://ieee80211.sf.net/。一般ubuntu用戶都可以跳過這個(gè)步驟。
          5. 下載ipw3945 1.2.2
          下載地址,要下載1.2.2版本。如果鏈接不能下載,可以在本文的附件中下載。得到ipw3945-1.2.2.tgz
          6. 下載ipw3945補(bǔ)丁
          下載地址。這個(gè)是一個(gè)文本文件,請直接點(diǎn)擊右鍵另存為。得到ipw3945-1.2.2.patch文件。
          7. 打補(bǔ)丁
          解壓縮ipw3945-1.2.2.tgz文件,將ipw3945-1.2.2.patch文件拷貝到ipw3945-1.2.2.tgz解壓縮后的目錄下,運(yùn)行patch命令
          patch -p1 < ipw3945-1.2.2.patch
          提示輸入文件名的時(shí)候,輸入ipw3945.h
          8. 安裝ipw3945
          ipw3945-1.2.2.tgz解壓縮后的目錄下,運(yùn)行intall命令
          make
          sudo make install
          sudo chmod 777 /sbin/ipw*
          9. 將ipw3945加入內(nèi)核啟動(dòng)加載模塊
          新建文件 /etc/modprobe.d/ipw3945
          sudo vim /etc/modprobe.d/ipw3945
          并且在文件中添加
          install ipw3945 /sbin/modprobe -i ipw3945 ; sleep 0.5 ; /sbin/ipw3945d --quiet
          remove ipw3945 
          /sbin/ipw3945d --kill ; /sbin/modprobe --i ipw3945
          載入模塊
          sudo modprobe ipw3945
          10. 重啟電腦
          重啟之后,就可以正常使用無線網(wǎng)絡(luò)了。

          參考文檔

          [1] http://www.ubuntugeek.com/using-ipw3945-instead-iwl3945-in-hardy.html
          [2] http://ipw3945.sourceforge.net/
          [3] http://james.colannino.org/downloads.html

          posted on 2008-07-09 14:21 daning 閱讀(8409) 評論(12)  編輯  收藏 所屬分類: ubuntu

          評論

          # re: 如何在ubuntu下使用intel 3945abg無線網(wǎng)卡  回復(fù)  更多評論   

          # blacklist new iwl3945
          blacklist iwl3945

          還是
          # blacklist new iwl3945
          blacklist iwl3945
          blacklist mac8021

          2. Reboot
          3. Download ipw3945 microcode

          2是否必要?

          抄襲也要抄全了啊。

          我就是編譯失敗,而且要ieee80211,雖然是ubuntu
          2008-08-04 09:41 | 沖浪板

          # re: 如何在ubuntu下使用intel 3945abg無線網(wǎng)卡  回復(fù)  更多評論   

          To 沖浪板:
          1. 沒有必要屏蔽mac8021,我屏蔽mac8021之后,就不能檢測到無線網(wǎng)絡(luò)了。
          2. 不需要重啟。最后重啟就可以。
          3. 我參考了一些英文資料,自己總結(jié)翻譯了一下,而且都注明了出處,不算抄襲吧。

          個(gè)人情況不一樣,我只是給出自己的經(jīng)驗(yàn),分享一下。按照我的方法,你如果沒有成功,只能說明我們的情況不一樣。你可以自己再搜尋一下答案,把你的經(jīng)驗(yàn)分享一下。或者把你具體的配置環(huán)境列出來,大家共同參考一下,比如你是哪個(gè)版本內(nèi)核,哪個(gè)版本ubuntu等等。不需要出言如此無理吧。
          2008-08-04 15:41 | daning

          # re: 如何在ubuntu下使用intel 3945abg無線網(wǎng)卡  回復(fù)  更多評論   

          說抄襲嚴(yán)重了一點(diǎn):-p
          說是在的,英文的比較嚴(yán)謹(jǐn),如
          4. Download ipw3945 regulatory daemon from here and copy it into /sbin/
          (copy the file within folder x86 to /sbin/ too)

          我的是8.04.1,沒編譯ieee8021的話不成啊,可是這個(gè)ieee8021編譯也是出錯(cuò),錯(cuò)誤和某些人的貼一樣,可是沒見解決辦法。
          ieee8021出錯(cuò),ipw3945就更了。

          有人說連接一個(gè)2.6.24-17的就ok,可是2.6.24-17的哪來

          livecd裝的是不是沒編譯環(huán)境啊,編譯驅(qū)動(dòng)模塊,比編譯一般軟件要求多吧,起碼頭文件....

          冒險(xiǎn)用這個(gè),以后升級,就麻煩了吧。
          2008-08-04 22:26 | 沖浪板

          # re: 如何在ubuntu下使用intel 3945abg無線網(wǎng)卡  回復(fù)  更多評論   

          7. 打補(bǔ)丁
          解壓縮ipw3945-1.2.2.tgz文件,將ipw3945-1.2.2.patch文件拷貝到ipw3945-1.2.2.tgz解壓縮后的目錄下,運(yùn)行patch命令


          若能說為什么要這個(gè),就比較能讓人記錄住;萬一ta怕麻煩沒做這步驟,不麻煩咯。
          2008-08-04 22:30 | 沖浪板

          # re: 如何在ubuntu下使用intel 3945abg無線網(wǎng)卡  回復(fù)  更多評論   

          看來我永遠(yuǎn)也編譯不成了,因?yàn)椴挥茫@樣就ok
          sudo rmmod -f iwl3945
          sudo modprobe iwl3945 disable_hw_scan=1
          sudo iwlist wlan0 scan
          2008-08-04 23:37 | 沖浪板

          # re: 如何在ubuntu下使用intel 3945abg無線網(wǎng)卡  回復(fù)  更多評論   

          我也想解決這個(gè)問題..但一直沒成功,有空方便交流一下嗎?
          我很仔細(xì)看過你的教程了..但還是不成功..
          如果如果可以的話給我發(fā)E-MAIL aiches@qq.com
          2008-09-20 02:05 | aiches

          # re: 如何在ubuntu下使用intel 3945abg無線網(wǎng)卡  回復(fù)  更多評論   

          完全可以在2.6.24-20以后的Kernel中采用這個(gè)驅(qū)動(dòng),主要是編譯的時(shí)候注意加兩個(gè)參數(shù):
          SHELL='/bin/bash' IEEE80211_IGNORE_DUPLICATE=y

          一個(gè)是用bash的shell,一個(gè)是忽略80211檢查,我是ubuntu 8.04,升級到2.6.24-21完全米問題。
          2008-09-21 18:15 | kouga

          # re: 如何在ubuntu下使用intel 3945abg無線網(wǎng)卡[未登錄]  回復(fù)  更多評論   

          我在第8個(gè)步驟中編譯的時(shí)候出錯(cuò)了。不知道怎么辦。
          WARNING: Your kernel contains ieee80211 symbol definitions and you
          are not using the kernel's default ieee80211 subsystem.
          2008-09-27 10:45 | chris

          # re: 如何在ubuntu下使用intel 3945abg無線網(wǎng)卡  回復(fù)  更多評論   

          我的內(nèi)核是2.6.24-21-generic,使用正常
          2008-09-29 12:26 | jfo

          # re: 如何在ubuntu下使用intel 3945abg無線網(wǎng)卡[未登錄]  回復(fù)  更多評論   

          在進(jìn)行到第8步,make之后,提示有錯(cuò)誤。請問如何解決?

          Makefile:53:
          Makefile:54: WARNING: $SHELL not set to bash.
          Makefile:55: If you experience build errors, try
          Makefile:56: 'make SHELL=/bin/bash'.
          Makefile:57:
          /bin/sh: Syntax error: "(" unexpected
          /bin/sh: Syntax error: "(" unexpected
          -e
          WARNING: Your kernel contains ieee80211 symbol definitions and you
          are not using the kernel's default ieee80211 subsystem. (Perhaps you
          used the out-of-tree ieee80211 subsystem's 'make install' or have
          provided a path to the ieee80211 subsystem via IEEE80211_INC.)

          If you wish to use the out-of-tree ieee80211 subsystem then it is
          recommended to use that projects' "make patch_kernel" facility
          and rebuild your kernel to update the Module symbol version information.

          Failure to do this may result in build warnings and unexpected
          behavior when running modules which rely on the ieee80211 subsystem.


          -e Aborting the build. You can force the build to continue by adding:

          IEEE80211_IGNORE_DUPLICATE=y

          to your make command line.


          make: *** [check_inc] 錯(cuò)誤 1
          2008-10-02 23:26 | Jesse

          # re: 如何在ubuntu下使用intel 3945abg無線網(wǎng)卡[未登錄]  回復(fù)  更多評論   

          @Jesse

          不好意思,
          如kouga所說,
          加入SHELL='/bin/bash' IEEE80211_IGNORE_DUPLICATE=y 參數(shù)

          完整的命令為:
          make SHELL='/bin/bash' IEEE80211_IGNORE_DUPLICATE=y
          2008-10-05 22:45 | daning

          # re: 如何在ubuntu下使用intel 3945abg無線網(wǎng)卡  回復(fù)  更多評論   

          修改(沒有就新建一個(gè))/etc/modprobe.conf
          添加內(nèi)容
          #/etc/modprobe.conf: Configuration file/directory for modprobe
          options iwl3945 disable_hw_scan=1

          redhat上有人這們弄,我覺得ubuntu應(yīng)該也可以。
          2008-11-16 08:38 | shuaikun
          主站蜘蛛池模板: 丰宁| 米脂县| 共和县| 青州市| 确山县| 淮北市| 开阳县| 保亭| 普宁市| 孙吴县| 荆州市| 无极县| 阿拉善右旗| 怀宁县| 莲花县| 沂水县| 沂南县| 金华市| 武川县| 大化| 思南县| 全南县| 英超| 临夏县| 仁化县| 乌拉特后旗| 财经| 泸溪县| 五大连池市| 临夏县| 永新县| 札达县| 扎兰屯市| 兴业县| 孟村| 阿荣旗| 吴川市| 图木舒克市| 伊金霍洛旗| 泰顺县| 沂水县|