最近把家裡的光纖網路換成威寶 3G 網路,但家裡有多台的電腦想要分享網路連線,你可以把一台電腦打開連上3G網路後再用該電腦作分享連線(ICS),不過最簡單的方式還是透過分享器來解決了。於是我就上網找了一下有關3G分享器的資料,結果每台分享器大部分都需要2500左右,不過都很陽春,忽然找到有人在改ASUS WL 系列的資料,哈,我在六年前就買了一台WL-500g 的無線網路分享器,恰好國外koppel 有人寫好支援USB 3G網卡的模組,所以,為了省錢就給他硬著頭皮改下去。
不過,我拿到的是 ZTE MF626的USB 3G網卡,該模組預設沒有直接支援,需要自行修改才有辦法使用,我試了好幾天(大概有兩個禮拜吧!),終於試成功而可以正常撥號使用了,請看我下面的步驟:
1. 先自行到 http://koppel.cz/cdmawifi/download/171/ 下載適當的第三方所開發的韌體。
2. 下載完畢後請使用 ASUS WL-500g 之網頁管理介面(System Setup -Firmware Upgrade)更新所下載回來的韌體。

3. 最重要的是這時候不要將 ZTE MF626安裝在Asus WL-500g,請將它拔出,待全部設定完畢後再安裝到 Asus WL-500g機器上。
4. 命令提示字元下使用 telnet 192.168.0.1 登入 Asus WL-500g。


5. 使用 vi 指令編輯 vi /usr/local/etc/usb_modeswitch.conf ,開啟後輸入鍵盤 i 進入編輯,並輸入下列內容。如要離開請按鍵盤右上角 Esc ,接著輸入 :wq! 儲存後離開或輸入 :q! 不儲存並離開。
CheckSuccess=2
# ZTE MF628+ (tested version from Telia / Sweden)
# ZTE MF626
# DetachStorageOnly=0
# Contributor: Joakim Wennergren
DefaultVendor= 0x19d2
DefaultProduct= 0x2000
DetachStorageOnly=0
TargetVendor= 0x19d2
TargetProduct= 0x0031
MessageEndpoint=0x01
MessageContent="55534243123456782000000080000c85010101180101010101000000000000"
# if that command doesn't work, try the other ("eject")
MessageContent="5553424312345678000000000000061b000000030000000000000000000000"
6. 使用 vi 指令編輯 vi /etc/usb_modeswitch.conf ,開啟後輸入鍵盤 i 進入編輯,並輸入下列內容。
如要離開請按鍵盤右上角 Esc ,接著輸入 :wq! 儲存後離開或輸入 :q! 不儲存並離開。
CheckSuccess=2
# ZTE MF628+ (tested version from Telia / Sweden)
# ZTE MF626
# DetachStorageOnly=0
# Contributor: Joakim Wennergren
DefaultVendor= 0x19d2
DefaultProduct= 0x2000
TargetVendor= 0x19d2
TargetProduct= 0x0031
DetachStorageOnly=0
MessageEndpoint=0x01
MessageContent="55534243123456782000000080000c85010101180101010101000000000000"
# if that command doesn't work, try the other ("eject")
MessageContent="5553424312345678000000000000061b000000030000000000000000000000"
7. 使用 vi 指令編輯 vi /tmp/local/sbin/post-boot ,開啟後輸入鍵盤 i 進入編輯,並輸入下列內容。
如要離開請按鍵盤右上角 Esc ,接著輸入 :wq! 儲存後離開或輸入 :q! 不儲存並離開。
#!/bin/sh
chmod 777 /tmp
usb_modeswitch
sleep 5
rmmod usbserial
sleep 5
s=0
DEVICE=2
modprobe usbserial vendor=0x19d2 product=0x0031 maxSize=4096
sleep 10
while true;
do
if [ -e /dev/usb/tts/${DEVICE} ]; then
echo 'modem on'
/tmp/local/sbin/post-pppd start &
sleep 20
s=0
else
echo 'modem off'
fi
while [ -e /dev/usb/tts/${DEVICE} ]; do
if [ -n "`pidof pppd`" ]
then
sleep 30
else
break #end while
echo "pppd down"
fi
done
echo ':('
if [ $s = 0 ]; then
killall pppd
killall -SIGHUP pppd
killall /dev/usb/tts/*
killall chat
killall cat
s=1
else
sleep 30
fi
done
8. 使用 vi 指令編輯 vi /tmp/local/sbin/post-pppd ,開啟後輸入鍵盤 i 進入編輯,並輸入下列內容。
如要離開請按鍵盤右上角 Esc ,接著輸入 :wq! 儲存後離開或輸入 :q! 不儲存並離開。
#! /bin/sh
sleep 10
pppd call dialup
sleep 60
cat /dev/usb/tts/1 &
9. 使用 vi 指令編輯 vi /tmp/ppp/peers/dialup ,開啟後輸入鍵盤 i 進入編輯,並輸入下列內容。
如要離開請按鍵盤右上角 Esc ,接著輸入 :wq! 儲存後離開或輸入 :q! 不儲存並離開。
debug
/dev/usb/tts/2
921600
mtu 1472
mru 1400
crtscts
noipdefault
ipcp-accept-local
ipcp-accept-remote
lcp-echo-interval 180
lcp-echo-failure 3
mppc
maxfail 1
usepeerdns
defaultroute
noauth
persist
holdoff 10
user ''
password ''
connect "/usr/sbin/chat -s -S -V -t 60 -f /tmp/ppp/dialup.chat 2>/tmp/chat.log"
10. 使用 vi 指令編輯vi /tmp/ppp/dialup.chat ,開啟後輸入鍵盤 i 進入編輯,並輸入下列內容。
如要離開請按鍵盤右上角 Esc ,接著輸入 :wq! 儲存後離開或輸入 :q! 不儲存並離開。
'' ''
'' 'ATZ'
'' 'AT+CFUN=1'
'' 'ATQ0 V1 E0 S0=0 &C1 &D2 +FCLASS=0'
'' 'AT+ZSNT=0,0,2'
'' 'AT+ZOPRT=5'
'' 'AT+ZSTART'
'' 'AT+CPBS="SM"'
'' 'AT+CPMS="SM","SM",""'
'' 'AT+CGDCONT=1,"IP","internet"'
'OK' 'ATD *99#'
'CONNECT' ''
11. 接著在命令提示字元下,分別輸入下列每一行指令:
於Asus WL-500g 網頁管理介面下之IP Config - WAN & LAN,設定為 WAN Connection Type 設定為 USB Connection,記得按下方的 Apply。
echo /tmp/ppp/peers/dialup > /tmp/local/.files 按 enter
echo /tmp/ppp/dialup.chat >> /tmp/local/.files 按 enter
echo /etc/usb_modeswitch.conf >> /tmp/local/.files 按 enter
chmod +x /tmp/local/sbin/post-boot 按 enter
chmod +x /tmp/local/sbin/post-pppd 按 enter
flashfs save && flashfs commit && flashfs enable && reboot 按 enter
12.
13. 於 Backup Connection 設定下列的屬性,設定後請按 Finish,讓系統重開機。
Enable backup connection 選擇 NO
Enable automatic dial on boot 選擇 Yes
Connection Possibility 選擇 GPRS/EDGE/UMTS。

14. 待重新開機後,於USB Connection – Connection Mode 設定如下:

15. 於USB Connection 下之 GPRS/EDGE/UMTS Config 畫面,此時按Finish儲存並重開機。
Custom USB device parameters 設定 USB device Vendor ID (0xabcd): 0x19d2
Custom USB device parameters 設定 USB device Product ID (0xefgh): 0x0031
Custom USB device parameters 設定USB device packet size (0 for default):4096
Zero CD Configuration 選擇 User config at /usr/local/etc/usb_modeswitch.conf

16. 接下來請將ZTE MF626安裝到Asus WL-500g 上,並重開機,並關閉原來的ASUS WL-500g 管理介面,再開啟新的瀏覽器進入管理畫面。此時檢查一下System Log 會出現 USB Connection: connected to ISP,表示已經成功了。

不過目前在Syetem Log 會一直出現 connection script failed訊息,雖然暫時對上網沒有影響,且目前不知怎麼解決這個問題,若讀者有這方面的經驗的話,請不吝賜教。
參考: http://wl500g.info/showthread.php?t=18155
Can’t code withoutAutomated code refactorings for C#, VB.NET,
ASP.NET & XAML work across languages
DotBlogs Tags:
3.5G
MF626
vibo
WL-500g
ZTE
威寶