數位天堂

Nokia:科技始終來自於人性; 拜耳:如果文明不能使我們更相愛,那科技便失去意義!
歡迎您的加入,讓我們一起討論科技與環保的結合應用...

您尚未登入。

站內搜尋

#1 2010-02-15 23:11:45

dennys
天使
註冊日期: 2009-12-06
文章數: 109
目前積分 :   
網站

[DD-WRT] 3G 測試 (完全不動到 flash 和外接 storage)

這幾天照著 http://digiland.tw/viewtopic.php?id=914 的作法把 DD-WRT 的 3G 環境也弄起來了, 在這裡重新整理一下. 和原來的方法基本上是一樣的, 只是我在測試過程中全部都用放在 RAM 的 /tmp, 沒有動到 flash, 也沒有外接任何 storage. 當然, 意思就是說, 重開機就什麼都沒了. 至於為什麼要這樣呢? 其實只是因為不確定這條路通不通, 又不想把現在的 HDD 給動到, 所以就這樣子測試了. 如果您也只是想嘗鮮一下, 可以試試看我的方法.

前置準備:
1. 已經刷好 DD-WRT firmware (我是用這個 http://dd-wrt.com/routerdb/de/download/ … c.bin/1958)
2. 在 Hub 開機前把 USB 網卡插入 (這地方還需要多測試, 目前開機後再插入常常會抓不到)
3. 要打開DD-WRT的PPPoE

1. 建立暫時的ipkg/jffs環境
執行下列指令

mkdir /tmp/jffs mount -o bind /tmp/jffs /jffs


2. 準備package
下載以下檔案, 上傳到 500gp, 並用 ipkg install ***.ipk 安裝起來 (因為 3G 網路沒通, 所以沒法直接用 ipkg 上網 download/install, 得分兩段做)
http://downloads.openwrt.org/snapshots/ … cm-2.4.ipk
http://downloads.openwrt.org/snapshots/ … cm-2.4.ipk
http://downloads.openwrt.org/snapshots/ … cm-2.4.ipk
http://downloads.openwrt.org/snapshots/ … cm-2.4.ipk
http://downloads.openwrt.org/snapshots/ … cm-2.4.ipk

3. 準備kernel library (使用 lly)
我是直接下載這個檔案, 不抓最新版 lly 的原因是要把兩邊 (DD-WRT & lly) 都用一樣的 2.4.37 版本
http://wl500g.googlecode.com/files/modu … d-r240.tgz
抓下來以後, upload 到 500gp 的 /tmp, 然後解開

4. 載入相關driver
執行下列指令載入 usbserial

#insmod /tmp/lib/modules/2.4.37/kernel/drivers/usb/serial/usbserial.o


這時候用dmesg應該會看到下列訊息

usb.c: registered new driver serial usbserial.c: USB Serial support registered for Generic usbserial.c: USB Serial Driver core v1.4


再執行下列指令

#insmod /tmp/lib/modules/2.4.37/kernel/drivers/usb/serial/option.o


這時候用dmesg應該會看到下列訊息

usbserial.c: USB Serial support registered for Option GSM modem option.c: USB Driver for GSM modems: v0.7.2a


執行lsusb看driver是否有抓到usb裝置, 最後一行代表抓到了

# ./lsusb ./lsusb: cannot open "/usr/share/usb.ids", No such file or directory Bus 004 Device 001: ID 0000:0000 Bus 003 Device 001: ID 0000:0000 Bus 002 Device 001: ID 0000:0000 Bus 001 Device 001: ID 0000:0000 Bus 001 Device 002: ID 12d1:1001


另外要注意的是, 要確定/dev/usb/tts/0, /dev/usb/tts/1 有被建立起來

# ls -l /dev/usb/tts/ crw------- 1 root root 188, 0 Jan 1 00:01 0 crw------- 1 root root 188, 1 Jan 1 00:00 1


5. 使用usb_modeswitch切換
編寫 /tmp/usb-modeswitch.conf, 內容如下 (DefaultVendor 和 DefaultProduct 請參考前面 lsusb 抓到的值a)

#cat usb-modeswitch.conf DefaultVendor=0x12d1; DefaultProduct=0x1001 ;TargetClass=0xff # choose one of these: ;DetachStorageOnly=1 HuaweiMode=1


執行下列指令, 使用usb_modeswitch將網卡切換到modem模式

#usb_modeswitch -c /tmp/usb-modeswitch.conf Looking for default devices ... Found default devices (1) Accessing device 002 on bus 001 ... Using endpoints 0x02 (out) and 0x82 (in) Not a storage device, skipping SCSI inquiry USB description data (for identification) ------------------------- Manufacturer:  Product: HUAWEI Mobile Serial No.:  ------------------------- Sending Huawei control message ... OK, Huawei control message sent -> Run lsusb to note any changes. Bye.


如果訊息如下, 則代表沒有抓到裝置, 後面應該就不用再測了

# usb_modeswitch -c /tmp/usb_modeswitch.conf Looking for default devices ... No default device found. Is it connected? Bye.


6. 使用pppd, chat撥號
編寫 /tmp/e169.chat, 這邊是中華電信, 所以用的是 internet 和 *99#

'' '' '' 'ATZ' 'OK' 'ATI' 'OK' 'AT+COPS?' 'OK' 'AT+CGDCONT=1,"IP","internet"' 'OK' 'ATD*99#' 'CONNECT' ''


編寫 /tmp/ppp/options.pppoe

/dev/usb/tts/0 460800 debug crtscts noipdefault ipcp-accept-local lcp-echo-interval 60 lcp-echo-failure 5 usepeerdns noauth nodetach user "" connect "/jffs/usr/sbin/chat -s -S -V -t 30 -f /tmp/e169.chat 2>/tmp/chat.log"


先停掉redial, pppd. 這裡要注意的是, 我用 killall pppd 沒有作用, 得用 kill -9 *** 才行.

killall redial killall pppd


7. 使用pppd撥號

#pppd file /tmp/ppp/options.pppoe


觀察 log, 如果最後面有看到 CONNECT, 那應該就是成功了.

# more /tmp/chat.log ATZ OK ATI Manufacturer: huawei Model: E169 Revision: 11.314.13.00.00 IMEI: *************** +GCAP: +CGSM,+DS,+ES OK AT+COPS? +COPS: 0,2,"46692",2 OK AT+CGDCONT=1,"IP","internet" OK ATD*99#CONNECT


8. Debug 的方法
1. dmesg 是最基本的
2. 把 syslog 打開 (從 Web UI), 然後看 /tmp/message 也是個方法.
3. minicom 我抓下來的版本似乎已經 hard code 要把設定檔放在 /etc, 但是 /etc 又是唯讀的, 所以搞不定.




離線

 

相關討論主題

主題 回覆 點閱 最後發表
<Flash Game>泡泡龍 作者 Aven  [ 1 2 3 ]
20 11204 2018-06-15 09:34:54 作者 raidone2004
<Flash Game>快打旋風2 作者 Aven  [ 1 2 ]
14 13446 2018-02-24 16:10:03 作者 dsim-jimmy
<Flash Game>雷電 作者 Aven
7 7925 2017-08-09 00:40:40 作者 w9211623
flash rom 更換 作者 bigdinosaur
1 3753 2012-08-30 19:06:44 作者 thx
X86 Storage OS 整理 作者 thx
2 11206 2011-08-18 13:16:45 作者 thx

友情連結

論壇頁尾

Powered by PunBB
© Copyright 2018 Rickard Andersson
RSS Feed