Read Sean

          Read me, read Sean.
          posts - 508, comments - 655, trackbacks - 9, articles - 4

          Ubuntu Karmic安裝手記 - T400s

          Posted on 2009-12-26 11:14 laogao 閱讀(1419) 評(píng)論(2)  編輯  收藏 所屬分類: Computer UsageOperating SystemsGNU/Linux

          周二的時(shí)候拿到了新的T400s,安裝Linux(64位Karmic)的過程比預(yù)想的要曲折,趁周末有時(shí)間,整理記錄于此,希望對(duì)遇到同樣問題的人有所幫助。

          T400s送到之前,我先簡(jiǎn)單的在網(wǎng)上查了查基本的配置信息,同時(shí)也看到有很多網(wǎng)友十分順利的安裝了Linux,不論是Ubuntu Karmic還是Arch Linux,基本都是除了指紋都是out-of-box就可直接工作的,這也符合我的預(yù)期。于是,拿著amd64版的Karmic盤,開始在T400s上安裝。

          基本系統(tǒng)的安裝很順利,跟著提示一路走完,Karmic就能夠boot并正常login了,so far so good。不過登錄進(jìn)去之后,無(wú)線網(wǎng)卡不工作,只有有線連接,這是怎么回事?用lspci一看:
          • 00:00.0 Host bridge: Intel Corporation Mobile 4 Series Chipset Memory Controller Hub (rev 07)
          • 00:02.0 VGA compatible controller: Intel Corporation Mobile 4 Series Chipset Integrated Graphics Controller (rev 07)
          • 00:02.1 Display controller: Intel Corporation Mobile 4 Series Chipset Integrated Graphics Controller (rev 07)
          • 00:03.0 Communication controller: Intel Corporation Mobile 4 Series Chipset MEI Controller (rev 07)
          • 00:03.3 Serial controller: Intel Corporation Mobile 4 Series Chipset AMT SOL Redirection (rev 07)
          • 00:19.0 Ethernet controller: Intel Corporation 82567LM Gigabit Network Connection (rev 03)
          • 00:1a.0 USB Controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #4 (rev 03)
          • 00:1a.1 USB Controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #5 (rev 03)
          • 00:1a.2 USB Controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #6 (rev 03)
          • 00:1a.7 USB Controller: Intel Corporation 82801I (ICH9 Family) USB2 EHCI Controller #2 (rev 03)
          • 00:1b.0 Audio device: Intel Corporation 82801I (ICH9 Family) HD Audio Controller (rev 03)
          • 00:1c.0 PCI bridge: Intel Corporation 82801I (ICH9 Family) PCI Express Port 1 (rev 03)
          • 00:1c.1 PCI bridge: Intel Corporation 82801I (ICH9 Family) PCI Express Port 2 (rev 03)
          • 00:1c.2 PCI bridge: Intel Corporation 82801I (ICH9 Family) PCI Express Port 3 (rev 03)
          • 00:1c.3 PCI bridge: Intel Corporation 82801I (ICH9 Family) PCI Express Port 4 (rev 03)
          • 00:1d.0 USB Controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #1 (rev 03)
          • 00:1d.1 USB Controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #2 (rev 03)
          • 00:1d.2 USB Controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #3 (rev 03)
          • 00:1d.7 USB Controller: Intel Corporation 82801I (ICH9 Family) USB2 EHCI Controller #1 (rev 03)
          • 00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev 93)
          • 00:1f.0 ISA bridge: Intel Corporation ICH9M-E LPC Interface Controller (rev 03)
          • 00:1f.2 SATA controller: Intel Corporation ICH9M/M-E SATA AHCI Controller (rev 03)
          • 00:1f.3 SMBus: Intel Corporation 82801I (ICH9 Family) SMBus Controller (rev 03)
          • 03:00.0 Network controller: Realtek Semiconductor Co., Ltd. Device 8172 (rev 10)
          • 04:00.0 Memory controller: Intel Corporation Turbo Memory Controller (rev 11)
          • 05:00.0 SD Host controller: Ricoh Co Ltd Device e822 (rev 01)
          • 05:00.1 System peripheral: Ricoh Co Ltd Device e230 (rev 01)
          注意03:00.0這一行,竟然是Realtek的8172,對(duì)應(yīng)Windows下的型號(hào)是8192,Lenovo什么時(shí)候把T400s原本的無(wú)線芯片配置(Intel WiMAX/WiFi Link 5xxx)換成了Realtek 8172的?難怪沒有無(wú)線,這塊網(wǎng)卡的驅(qū)動(dòng)還沒有被Linux內(nèi)核直接支持,需要手工安裝。網(wǎng)上搜到很多方案,比如ndiswrapper+win版驅(qū)動(dòng)等等,但這個(gè)Ubuntu LaunchPad上的方案[1]看上去最靠譜,還等什么,開工吧。
          • 首先下載驅(qū)動(dòng): http://launchpadlibrarian.net/34090404/rtl8192se_linux_2.6.0010.1012.2009_64bit.tar.gz
          • 解壓后進(jìn)入rtl8192se_linux_2.6.0010.1020.2009_64bit子目錄,make
          • 成功后在HAL/rtl8192下能夠找到r8192se_pci.ko文件,cp至/lib/modules/`uname -r`/kernel/drivers/net/wireless/
          • 然后將固件相關(guān)文件,即firmware/RTL8192SE目錄,cp至/lib/firmware/`uname -r`/
          • 執(zhí)行命令depmod -a重新掃描module依賴關(guān)系
          • 執(zhí)行命令modprobe r8192se_pci加載該module,這一步完成以后NetworkManager就可以搜到無(wú)線網(wǎng)絡(luò)并進(jìn)行連接了
          好了,到此最大的攔路虎已經(jīng)消滅,開始裝別的軟件吧。就在這時(shí),新的問題出現(xiàn)了,dmesg可以看到重復(fù)出現(xiàn)的如下報(bào)錯(cuò)/警告信息:
          • [ 483.431670] DMA: Out of SW-IOMMU space for 9100 bytes at device 0000:0e:00.0
          • [ 483.435783] DMA: Out of SW-IOMMU space for 9100 bytes at device 0000:0e:00.0
          • [ 483.439867] DMA: Out of SW-IOMMU space for 9100 bytes at device 0000:0e:00.0
          • ...
          通常經(jīng)過數(shù)分鐘的積累,系統(tǒng)就死機(jī)了,只剩下CapsLock鍵上的小燈不停閃爍,典型的kernel panic? 根據(jù)網(wǎng)友提供的線索[2],由于Intel的64位實(shí)現(xiàn)雖是參考AMD64但細(xì)節(jié)有差異,所以在實(shí)際內(nèi)存大于等于4G的環(huán)境下,某些未考慮到該特性的代碼會(huì)leak memory,怎么辦?增加內(nèi)核啟動(dòng)參數(shù)mem=4G iommu=off,一方面限定內(nèi)存范圍,另一方面關(guān)閉IOMMU。

          經(jīng)過測(cè)試,這樣的配置下系統(tǒng)和無(wú)線網(wǎng)絡(luò)都能夠持續(xù)穩(wěn)定運(yùn)行。系統(tǒng)安裝到此,一個(gè)大的里程碑達(dá)成,唯一的缺憾是每次kernel升級(jí),可能還需要手工做一些工作,且暫時(shí)不能既開無(wú)線又開4G以上內(nèi)存,不過這樣總好過沒有無(wú)線,或者繳槍投降,不是嗎?本想多罵幾句Lenovo,好好的Intel芯片不用,要換Realtek,但轉(zhuǎn)念一想,這已是既成事實(shí),而且看到很多其他型號(hào)的ThinkPad,如R500、SL400等,也有不少用上了Realtek的這款無(wú)線芯片,讓我們一起期待穩(wěn)定可靠的驅(qū)動(dòng)最終被Linux內(nèi)核支持的那一天吧。

          參考鏈接:
          [1] https://bugs.launchpad.net/ubuntu/+source/linux/+bug/401126
          [2] http://lwn.net/Articles/91870/

          主站蜘蛛池模板: 洛浦县| 开封市| 社旗县| 塘沽区| 喀喇沁旗| 全南县| 阜平县| 太仆寺旗| 深泽县| 汝城县| 容城县| 武义县| 阳春市| 叶城县| 林芝县| 罗甸县| 会泽县| 留坝县| 固原市| 盱眙县| 扬州市| 普陀区| 金塔县| 三台县| 宁南县| 浏阳市| 明水县| 绍兴县| 隆昌县| 枞阳县| 甘孜| 长武县| 内黄县| 汽车| 临邑县| 张家川| 台山市| 房山区| 靖安县| 仁化县| 德昌县|