2 grep WRT54G3G
/proc
/diag
/model
>/dev
/null ||
return 0
3 echo "$1" > /proc
/diag
/led
/3g_green
4 echo "$2" > /proc
/diag
/led
/3g_blue
5 echo "$3" > /proc
/diag
/led
/3g_blink
12 config_get device
"$1" device
14 # try to figure out the device if it's invalid
15 [ -n "$device" -a -e "$device" ] ||
{
16 for device
in /dev
/ttyUSB0
/dev
/ttyUSB1
/dev
/ttyUSB2
/dev
/tts
/2 /dev
/usb
/tts
/0 /dev
/noz0
; do
18 config_set
"$1" device
"$device"
24 # enable 3G with the 3G button by default
25 config_get button
"$1" button
27 config_set
"$1" button
1
33 killall gcom
>/dev
/null
2>/dev
/null
36 setup_interface_3g
() {
39 local chat
="/etc/chatscripts/3g.chat"
41 config_get device
"$config" device
43 for module
in slhc ppp_generic ppp_async
; do
44 /sbin
/insmod
$module 2>&- >&-
47 config_get apn
"$cfg" apn
48 config_get service
"$cfg" service
49 config_get pincode
"$cfg" pincode
50 config_get mtu
"$cfg" mtu
54 # figure out hardware specific commands for the card
56 cdma|evdo
) chat
="/etc/chatscripts/evdo.chat";;
58 cardinfo
=$
(gcom
-d "$device" -s /etc
/gcom
/getcardinfo.gcom
)
59 if echo "$cardinfo" |
grep Novatel
; then
65 mode
="AT\$NWRAT=${CODE},2"
66 elif echo "$cardinfo" |
grep Option
; then
72 mode
="AT_OPSYS=${CODE}"
74 # Don't assume Option to be default as it breaks with Huawei Cards/Sticks
76 PINCODE
="$pincode" gcom
-d "$device" -s /etc
/gcom
/setpin.gcom ||
{
77 echo "$cfg(3g): Failed to set the PIN code."
82 MODE
="$mode" gcom
-d "$device" -s /etc
/gcom
/setmode.gcom
87 config_set
"$config" "connect" "${apn:+USE_APN=$apn }/usr/sbin/chat -t5 -v -E -f $chat"
88 start_pppd
"$config" \
96 ${mtu:+mtu $mtu mru $mtu} \