六宮格筆電起死回生
2014/01/23 15:02
瀏覽3,398
迴響1
推薦1
引用0
前言:
小弟最近有個需求,要有台24小時開機的電腦,做為資料收集的伺服器用。但衡量到裝台真的PC實在太耗電、買新的ATOM電腦又太貴效能也不好;於是腦筋動到上一個世代Intel Core 2 Duo的筆電。這時期的筆電性價比非常好,效能比現代ATOM強好多、相對省電之外,自帶電池不怕停電,重點是價格漂亮,穩定運作的大概6000以內可以買到。
但,這個時代的筆電,因為NVIDA晶片的瑕疵,因此在2011年的時候遍地發生機瘟,不論何種廠牌都無法倖免,很多的筆電某天開機後就呈現六宮格畫面(請搜尋ASUS 六宮格),根本沒辦法使用。
也因此現在可以在拍賣上看到價格$3000多的整機賣的故障品(更多是不想處裡當殺肉機賣)。小弟我就買了一台這樣的Asus W7S,然後歷經千辛萬苦,裝上外接USB顯卡讓他能正常使用,下面就是小弟的步驟。
所謂六宮格,指的是W7S(或其他類似筆電),因nvidia顯示晶片瑕疵,在高溫使用後約兩年左右,晶片的BGA錫球因為高溫(解焊?)產生虛焊的狀況。虛焊會導致晶片針腳接觸不良,造成作業系統(驅動程式)在對晶片IO的時候寫入錯誤、或讀取到未期待的資料,造成驅動程式的出錯引發系統當機。
六宮格發生後,系統將變得很不穩定,有時能開機進入系統、有時卻一開機就當掉,整台筆電等同於廢了般,就算拿來裝SERVER跑不用螢幕的服務都不行。
請注意,我的解法不是解決nvidia六宮格問題,而是在不重焊nvidia BGA晶片(維修費約$3000)的前提下,完整的發揮這台筆電的最後的剩餘價值。在不重焊BGA晶片的前提下,我認為必須要讓作業系統降低對nvidia晶片的IO量;甚至是完全不驅動nvidia晶片,就應該能避免系統當機。只要系統不當機,那麼這台筆電憑藉著低耗電、高效能的優勢,拿來作為家用伺服器或是上網機、牧場機,是非常綽綽有餘的。
我的解決方法是使用DisplayLink FY1650這個便宜的外接USB VGA顯示卡($850),安裝ubuntu系列的作業系統,並閹掉nvidia驅動(改用VESA 通用顯示介面驅動vesafb),然後再把圖形介面的XWindows改輸出到USB VGA上,從而以最低的成本解決此問題。
步驟1.
因為nvidai顯卡在六宮格的狀態下,沒辦法安裝lubuntu。所以想辦法用火烤或是任何方法暫時讓W7S顯卡正常。我的方法是把CPU+GPU風扇總成拆下後,用噴焰打火機點火後,讓火焰距離nvidia ic約3公分快速繞著圓圈烤,大概烤個20秒就可以,等降溫後把風扇總成裝回(記得插回風扇電源)再開電源,看顯示是否正常。這個可以自行GOOGLE(http://www.youtube.com/results?search_query=FIX%20NVIDIA%20GPU&sm=3),通常這樣的動作只能支撐一兩天,且只要顯卡晶片溫度一高上來,六宮格就會復發。
總之,趁顯示正常的時候,以lubuntu 13.10 CD開機,並趕快安裝lubuntu 13.10,裝完重開機。
安裝lubuntu的時後,就請先插上 DisplayLink的 USB VGA外接顯卡。
步驟2.
正常開機進入lubuntu後編輯grub(如果又發生六宮格不能開到lubuntu的話,就在開機grub選單選進階的第二個,那麼USB VGA就會有顯示):
sudo vi /etc/default/grub 在下面那行加上nomodeset:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash nomodeset"
然後執行 sudo update-grub 更新開機選單
*這麼做是要讓lubuntu改用VESA 的VGA驅動,通常nomodeset是用來暫時避開各種顯卡驅動問題的,我們則是利用這個功能來降低對nvidia晶片的IO,避免未來六宮格復發後引發系統當機。
步驟3.
sudo vi /etc/modprobe.d/blacklist-framebuffer.conf
加上下面兩行,這樣就可以讓DisplayLink的USB 顯示卡能正常使用FrameBuffer功能。
blacklist udl
#blacklist udlfb
#blacklist udlfb
*改到這邊重開機後,lubuntu就已經會把console的輸出導到USB VGA了,因此開機後可按Ctrl+Alt+F1 以外接顯卡的console模式來操作linux了。在此模式可以用zhcon顯示中文的console。到這邊就不用怕nvidia六宮格復發了。
步驟4.
下面是設定XWindows 能從外接USB顯卡輸出,並且完全降低系統對nvidia顯卡的依存(對IC的IO降至最低),請執行下面的命令以新增檔案
sudo vi /usr/share/X11/xorg.conf.d/52-displaylink.conf
>>> 檔案內容如下
Section "Device"
Identifier "DisplayLinkDevice"
driver "fbdev" #這個最重要,就是usb vga framebuffer的driver,可以用sudo fbset -i 得知。
Option "fbdev" "/dev/fb0" # or /dev/fb1 depending on the results of dmesg | grep DisplayLink
EndSection
###
Section "Monitor"
Identifier "DisplayLinkMonitor"
EndSection
Section "Screen"
Identifier "DisplayLinkScreen"
Device "DisplayLinkDevice"
Monitor "DisplayLinkMonitor"
SubSection "Display"
Depth 16
Modes "1024x768"
EndSubSection
EndSection
Identifier "DisplayLinkDevice"
driver "fbdev" #這個最重要,就是usb vga framebuffer的driver,可以用sudo fbset -i 得知。
Option "fbdev" "/dev/fb0" # or /dev/fb1 depending on the results of dmesg | grep DisplayLink
EndSection
###
Section "Monitor"
Identifier "DisplayLinkMonitor"
EndSection
Section "Screen"
Identifier "DisplayLinkScreen"
Device "DisplayLinkDevice"
Monitor "DisplayLinkMonitor"
SubSection "Display"
Depth 16
Modes "1024x768"
EndSubSection
EndSection
<<<
步驟5.
重開機後,就全部搞定了!(NB的LCD已經一片黑完全沒驅動Nvidia顯示卡的樣子了)。
*記得,六宮格的發生主因是高熱,即便我們已經完全不使用內建Nvidia顯示,但高溫仍會造成CPU當機等等其他不良影響,故請您記得定期清除CPU風扇上面的灰塵喔!
你可能會有興趣的文章:
迴響(1) :
- 1樓. user@bobmail.info2014/09/05 09:4824H開機資料收集應不需大量資源,應考慮用VPS。
英國公司INIZ每年不到500NT比電費便宜。
40瓦/1000*24*365*2NT~700NT。
my.iniz.com/cart.php?a=add&pid=114&cy=2
1 CPU core 256MB RAM 128MB vSwap
20GB HDD space
500GB bandwidth / month
1x IPv4 + 1x IPv6 address
OpenVZ/SolusVM
NYC or LA
£8.50GBP/year
(user@bobmail.info)