2011-02-20_215458

以下內容已經同步發表於「批踢踢實業坊」NextVOD看板。此內容為我在研究網樂通硬體與驅動的結果。

NextVOD USB wireless device kernel modules package
For firmware version 103
Author: Ciou Stevennick stevennick(at)ms32.url.com.tw
WARNING:This package is not designed for normal user, use at your own risk!

警告:私自修改網樂通將有可能會毀損機器,並同時喪失保固或被要求賠償最高3000元新台幣!本程式並未經過完整測試,且現階段的網路驅動程式尚未能與網樂通介面完全整合,一般使用者請勿輕易嘗試!

這是甚麼
======
這是使用於網樂通機器上面的無線網卡驅動程式模組,並且包含了一些可用的工具程式與自動啟動執行檔,使得網樂通可以使用更多不同類型的無線網路卡進行連線。另外,為了方便程式測試,安裝本模組將會自動啟動正常模式下的telnet伺服器,使用者將可透過telnet指令遠端登入網樂通的命令模式介面。

環境限制
======
1. 可能可以支援的網路卡(以晶片組區分):

Realtek RTL8712/8187/8188/8191/8192SU
Marvell 8xxx/8388
ZyDAS ZD1201/1211
Ralink RT73

其中,rt73核心模組尚有部份問題,可能無法正常工作。
另外,因為個人設備有限,僅有Realtek的核心模組測試過確定可以動作。若有人願意商借更多相關網卡供測試使用,未來版本(若有的話)將有可能擴充支援更多無線網卡。
部份的核心模組有修改原始程式碼。相關的修改將會在作者網站上提供。

2. 基於網樂通系統的先天限制,在安裝模組時與第一次網樂通進行冷開機時,可能會需要使用有線網路進行網路環境設定。使用者必須在網樂通的網路安裝設定畫面內,將區域網路設定為靜態環境,令網樂通跳過有線網路的DHCP搜尋。

3. 韌體更新後,需重新安裝模組才能再次發揮功能。另外,也不保證本驅動模組能在未來版本上的韌體正確執行。

4. 由於網樂通無法管理ralink以外的無線網路卡,因此這個模組中包含了wpa_supplicant以及工具程式wpa_cli來取代網樂通內建的管理程式,另外也包含了ifup/ifdown指令可配合使用。使用者需要手動設定 wpa_supplicant 設定檔案(安裝後,路徑在 /etc/wpa_suplicant/wireless.conf),加入正確的無線基地台名稱、加密方式,密碼等無線網路參數,才能使wpa_supplicant正常工作。
在本安裝內,已經包含了兩個範例檔案可供使用,分別為wireless.conf與plaintext.conf,提供WPA/WPA2-PSK與無加密的組態供設定參考。詳細的設定指令,請參考下面的說明連結。
Gentoo 的說明文件(中文)
http://www.gentoo.org/doc/zh_tw/handbook/handbook-x86.xml?part=4&chap=4
wpa_supplicant作者網站 (英文)
http://w1.fi/wpa_supplicant/

5. 所有設定檔案僅針對網路介面 wlan0 做組態設定,若你掛入的網路介面不是這個名稱,則有兩種方式讓這個集合可以重新工作:
1) 修改/etc/udev/rules.d/99-udev-net-test.rules 檔案,取消第六行的註解後重新開機,或者
2) 修改本集合在/etc/下的所有相關設定檔案,將wlan0改成正確的網路介面名稱。
要查詢你的網路介面是否正確工作或取得介面名稱,請在安裝集合以後,於命令模式下輸入下列指令

cat /proc/net/wireless

6. 提供的安裝流程,僅適用於自動取得IP位址的無線網路環境,並且安裝時需要使用網路(下載安裝檔)。
若要使用隨身碟進行離線安裝,請自行下載安裝步驟第三部份的檔案,參考網樂通改機一文中,掛載隨身碟的說明。

安裝步驟
======
以下為網路安裝步驟。

1. 請先取得網樂通的命令模式介面控制權。並且,請確定網樂通可以連上網路。要取得控制權,最簡單的方法就是拆機器,並使用內部的Console port與電腦連接。
另外,也請確定網樂通運作在正常模式(即螢幕畫面為頻道選單)而非韌體更新模式下。

2. 切換到臨時資料夾。此例為/tmp

cd /tmp

3. 下載並驗證安裝檔案

wget http://dl.dropbox.com/u/18601667/wlanhack_test.tar.gz
md5sum wlanhack_test.tar.gz

請至網站上確定你的檔案驗證碼與網路上公佈的一致。

4. 解開安裝檔案,並且安裝基本程式

tar -xzf wlanhack_test.tar.gz
cd wlanhack_test
./install

5. 設定你的無線網路環境

./get_sample_config
vi wireless.conf

進入vi後,按下鍵盤i鍵後開始修改設定值。可以使用方向鍵與倒退鍵
完成設定後,依序按下ESC鍵、Shift + ;、w鍵、q鍵與Enter 離開 vi

如果不小心改爛設定值,可以重作第五步驟。vi操作說明操作請上網搜尋。
欄位說明,請參照環境限制內,關於wpa_supplicant的部份。

6. 安裝設定值

./config_install

7. 測試你的設定
請先將欲使用的無線網路卡接上網樂通,然後輸入下面指令開始測試:

./test_install

這個指令將會重新啟動udev、重新載入網路卡的核心模組、並啟動wpa_supplicant
來進行測試連線。若有成功驅動網路卡且設定正確,最後你應該會看到類似下面的資訊:
(請注意:訊息的出現順序可能會不太一樣)

Selected interface 'wlan0'
bssid=00:xx:xx:xx:xx:xx
ssid=My ssid here
id=0
pairwise_cipher=TKIP
group_cipher=TKIP
key_mgmt=WPA-PSK
wpa_state=COMPLETED
ip_address=192.168.1.5

Inter-| sta-| Quality | Discarded packets | Missed | WE
face | tus | link level noise | nwid crypt frag retry misc | beacon | 22
wlan0: 0000 96. 96. 0. 0 0 0 0 0 0

若沒有看到ip_address欄位有數字出現,則表示第五步驟的設定有誤,請回到第五步驟重新確定設定值。若你的interface欄位wlan0而是其他代號,表示你需要套用環境限制內第五項說明的修正。若你的interface欄位沒有任何東西,則表示網路卡驅動失敗。您可以考慮解除安裝本集合,並等待未來更新。

若要套用環境限制內第五項說明的修正,請執行下面的指令

vi /etc/udev/rules.d/99-udev-net-test.rules

使用方向鍵移動到第六行開頭,按一下x鍵刪除#字號
完成設定後,依序按下ESC鍵、Shift + ;、w鍵、q鍵與Enter 離開 vi

8. 清理安裝檔案

./cleanup

9. 將網樂通重新開機,設定靜態網路位址

請保持無線網路卡與網路線皆插在機器上並且重新開機。重新開機後,進到網路狀態內將網路設定值抄寫下來。
然後,請進入安裝設定中的區域網路設定,將網路設定值使用手動設定方式,手動加入一個合法的IP位址、子網路 遮罩、通訊閘以及網域名稱伺服器位址。您可以參考接上網路線時,網路狀態內所顯示的相關內容作相同設定。這個步驟的目的是要避免網樂通執行動態IP查詢,實際上網樂通還是會使用無線網路的設定值來連線。
設定完成後,按下設定畫面的確定按鈕。請確定螢幕顯示連線成功訊息。離開設定畫面後,移除網路線並重新開機。

10. Enjoy your NextVOD!

Versions
========
2011/02/20 測試版發布
2011/02/21 修改測試程式
創作者介紹

空中精靈.SkyElf

stevennick 發表在 痞客邦 PIXNET 留言(4) 人氣()


留言列表 (4)

發表留言
  • hets0001
  • 請問大大:
    我照著你指示的方式去安裝無線網卡 但在insmod rtl8187.ko時會出現以下訊息
    insmod: cannot insert 'rtl8187.ko': unknown symbol in module (-1): No such file or directory
    請問大大,這該如何解決?
    因為剛好手上有二張rtl8187的網卡!!希望可以給網樂通來用,謝謝
  • 發佈的安裝步驟中,是不用使用者手動輸入 insmod 指令。執行install 後,在\etc\init.d\wlan-init會載入所有必要的核心模組,包括rtl8187.ko。
    如果你打算自行載入,該檔案會放置在\root\wireless 資料夾下,所以在執行insmod時,請使用絕對路徑輸入rtl8187.ko所在位置。

    stevennick 於 2011/06/07 16:31 回覆

  • hets0001
  • 因為我的rt8187網卡無法被載入 所以我進入系統中check,才發現執行wlan-init時,在載入rtl8187.ko這個模組時會出現這個錯誤訊息,可以請你幫忙再CHECK一次這個模組嗎?
  • Dark Deed
  • 請問有rt2570的 module嗎??
    有自己cross compile了rt2570(從serial2xxx下載的)
    但無法正廠使用
    insmod後就會出現
    Unable to handle kernel NULL pointer dereference at virtual address 的錯誤
    搞不懂是cross compile時出錯,還是kernel的問題
  • Jack Hsu
  • DHCPDISCOVER on wlan0 to 255.255.255.255 port 67 interval 5
    DHCPDISCOVER on wlan0 to 255.255.255.255 port 67 interval 10
    DHCPDISCOVER on wlan0 to 255.255.255.255 port 67 interval 11
    DHCPDISCOVER on wlan0 to 255.255.255.255 port 67 interval 20
    DHCPDISCOVER on wlan0 to 255.255.255.255 port 67 interval 15
    No DHCPOFFERS received.
    No working leases in persistent database - sleeping.
找更多相關文章與討論
【 X 關閉 】

【痞客邦】大學生網路社群使用習慣調查

親愛的讀者,痞客邦希望能了解大學生的網路社群使用習慣,
填問卷即可抽獨家好禮喔!
(注意:關閉此視窗將不再出現)