Wsparcie dla modemów GSM w OpenWrt
Instalacja i uruchomienie modemów GSM USBOstatnia zmiana: 2013-05-06 20:54
1. NDIS
2. Modemy LTE
3. Modemy CDMA
3.1. AnyDATA ADU635WA
3.2. AnyDATA ADU890-W
3.3. DGT CT-680
4. Modemy GSM
4.1. Alcatel X221S
4.2. D-Link DWM-156 A1
4.3. D-Link DWM-156 A3
4.4. Huawei E173s-2 (12d1:1c0b)
4.5. Huawei E3131s-2 HiLink
4.6. Huawei E353s-2 HSPA+
4.7. iPlus Commander 2
4.8. Nokia 21M-02
4.9. Novatel Ovation MC990D
4.10. Option Icon 225
4.11. Samsung GT-Y3100
4.12. Sierra Wireless C855, C889
4.13. Sierra Wireless - direct IP modems
4.14. Vodafone K3760 (Option iCON 411)
4.15. Vodafone K3805-Z
4.16. ZTE MF195
4.17. ZTE MF668
4.18. ZTE MF669
Opisane wskazówki po ich zastosowaniu umożliwiają pracę danego modemu w systemie OpenWrt. Wszystkie ustawienia zostały przetestowane na OpenWrt Backfire oraz Attitude Adjustment z kernelami z serii 2.6 i 3.3.
Interfejs określony jako "diagnostyczny" może być wykorzystany do projektu 3ginfo.
Większość modemów powinna działać poprawnie po instalacji sterowników kmod-usb-serial-option. Interfejsem komunikacyjnym jest wtedy /dev/ttyUSB0, interfejsem diagnostycznym - ostatni z dostępnych. np: /dev/ttyUSB2 lub /dev/ttyUSB4. Dotyczy to większości popularnych modemów Huawei - E159, E169, E170, E220, a także telefonów komórkowych.
Jeżeli modem zawiera w sobie wbudowane sterowniki dla systemu Windows, należy także zainstalować pakiety odpowiedzialne za przełączenie urządzenia w tryb modemu.
# opkg install usb-modeswitch usb-modeswitch-data
Spis modemów działających pod OpenWrt tworzony przez użytkowników zawarty jest w tym wątku. Jeżeli masz działający modem - dopisz się do danych!
NDIS
Huawei E173 - kmod-usb-net-cdc-etherHuawei E398, ZTE MF821D - kmod-usb-net-qmi-wwan
Huawei E3276 - kmod-usb-net-ncm
Gargoyle od wersji 1.5.9.3 zawiera obsługę E3276. W gui należy wybrać DHCP (przewodowo). Następnie zalogować się przez ssh do routera a następnie wpisać
# uci set modem.e3276.enabled=1
# uci set modem.e3276.apn=internet
# uci set modem.e3276.pincode=0000 (można pominąć jak nie ma pinu)
# uci commit modem
# reboot
Powrót do normalnego typu działania odbywa się przez polecenie:
# uci set modem.e3276.enabled=0
# uci set network.wan.auto=1
# uci commit
# reboot
Huawei E372 i K4505(E182E) - kmod-huawei-hw-cdc
Modemy LTE
Osobna stronaModemy CDMA
AnyDATA ADU635WA
Jest to modem HSDPA/CDMA. Praca w jednym lub w drugim trybie wymaga odpowiedniej inicjacji modemu i innej konfiguracji połączenia. Wymaga instalacji sterowników kmod-usb-serial-option.
# opkg install kmod-usb-serial-option
- /dev/ttyUSB0 - praca w trybie CDMA
- /dev/ttyUSB2 - interfejs diagnostyczny
- /dev/ttyUSB3 - praca w trybie HSDPA
config 'interface' 'wan'
option 'proto' '3g'
option 'device' '/dev/ttyUSB3'
option 'pincode' '0000'
option 'apn' 'internet'
option 'username' ''
option 'password' ''
Do poprawnej pracy wymagane jest przełączenie modemu w tryb CDMA. Aby to wykonać należy w pliku /etc/rc.local umieścić następującą sekwencję poleceń:
echo -ne "\xD7\x03\x00\xAE\xEF\x7E" > /dev/ttyUSB2
sleep 4
echo -ne "\xCF\x0D\x00\x00\x81\x8A\x7E" > /dev/ttyUSB2
sleep 5
config 'interface' 'wan'
option 'proto' '3g'
option 'service' 'cdma'
option 'device' '/dev/ttyUSB0'
option 'pincode' '0000'
option 'username' 'cdma@orange'
option 'password' 'orange'
Źródło informacji: http://eko.one.pl/forum/viewtopic.php?id=889
AnyDATA ADU890-W
Moje wersje Gargoyle od wersji 1.9.5.3 zawiera pełne wsparcie dla tego modemu, ale pin na karcie musi być jednym z wymienionych: 0000,1111,2222,3333,4444,5555,6666,7777,8888,9999,1234,00000,11111praca w trybie HSPA+
- /dev/ttyACM0 - praca w trybie HSPA+
Wymagany jest odpowiedni skrypt do podania pinu (patrz link na forum)
- /dev/ttyACM0 - praca w trybie CDMA
Źródło informacji: http://eko.one.pl/forum/viewtopic.php?pid=50545#p50545 oraz http://eko.one.pl/forum/viewtopic.php?pid=62754#p62754
DGT CT-680
Modem CDMA m.in z usługi iPlus CDMA: http://eko.one.pl/forum/viewtopic.php?pid=42895#p42895Modemy GSM
Alcatel X221S
Identyfikator urządzenia po przełączeniu: 1bbb:0017. Wymaga sterowników kmod-usb-serial-option, interfejsem komunikacyjnym jest /dev/ttyUSB4Źródło informacji: http://openrouter.info/forum/viewtopic.php?t=1543&p=15132#p15132
D-Link DWM-156 A1
Identyfikator modemu przed przełączeniem: 07d1:a800, po przełączeniu: 07d1:3e02. Modem przedstawia się (ATI) jako:
Manufacturer: QUALCOMM INCORPORATED
Model: 29
Revision: 100303_GKDNIL_M0.23 1 [compilation=Mar 02 2010 20:57:56][Release=Mar 03 2010 06:00:00]
IMEI: xxxxxxxxxxxxxxx
+GCAP: +CGSM,+FCLASS,+DS
# opkg install kmod-usb-serial-option
- /dev/ttyUSB0 - praca w trybie HSPA
- /dev/ttyUSB2 lub /dev/ttyUSB3 - interfejs diagnostyczny
D-Link DWM-156 A3
Identyfikator modemu po przełączeniu: 07d1:7e11.http://www.draisberghof.de/usb_modeswitch/bb/viewtopic.php?p=5566#5566
Huawei E173s-2 (12d1:1c0b)
UWAGA Modem E173u-2 (dostępny np. w promocji Play Online) posiada inny PID i jest normalnie obsługiwany przez OpenWrt.UWAGA wsparcie dla tego modemu zostało dodane w ostatnich moich wydaniach, więc nie trzeba robić nic kompletnie - powinien zostać wykryty automatycznie.
Wymaga instalacji sterowników kmod-usb-serial-option.
# opkg install kmod-usb-serial-option
- /dev/ttyUSB0 - praca w trybie HSPA
- /dev/ttyUSB2 - interfejs diagnostyczny
DefaultVendor= 0x12d1
DefaultProduct=0x1c0b
TargetVendor= 0x12d1
TargetProductList="1c05,1c08"
MessageContent="55534243123456780000000000000011062000000100000000000000000000"
CheckSuccess=20
echo "12d1 1c05" > /sys/bus/usb-serial/drivers/option1/new_id
sleep 2
Źródło informacji: http://eko.one.pl/forum/viewtopic.php?id=1738
Huawei E3131s-2 HiLink
Jest to inna wersja modemu E3131s-2 niż ta sprzedawana przez Play. Nie ma żadnych dodatkowych oznaczeń na obudowie. Po podłączeniu modem przedstawia się identyfikatorem 12d1:14db oraz nazwą Huawei HiLink. W przeciwieństwie do zwykłego modemu ten przedstawia się jako karta sieciowa - cała obsługa APN, SMS, połączeń odbywa się w samym modemie konfigurowane przez przeglądarkę internetową. Modem ma adres domyślny 192.168.1.1, więc należy zmienić adres routera.1. Zmieniamy adres routera:
# uci set network.lan.ipaddr=192.168.2.1
# uci commit network
# opkg install kmod-usb-net-cdc-ether
# logread | grep CDC
Jan 1 01:00:55 Gargoyle user.info kernel: eth2: register 'cdc_ether' at usb-ar71xx-ehci-1, CDC Ethernet Device, 58:2c:80:13:92:63
# uci set network.wan.ifname=eth2
# uci set network.wan.proto=dhcp
# uci commit network
# ifup wan
Źródło informacji: informacja własna.
Huawei E353s-2 HSPA+
UWAGA wsparcie dla tego modemu zostało dodane w ostatnich moich wydaniach, więc nie trzeba robić nic kompletnie - powinien zostać wykryty automatycznie.Identyfikator modemu przed przełączeniem: 12d1:14fe, po przełączeniu: 12d1:1506
Wymaga instalacji sterowników kmod-usb-serial-option.
# opkg install kmod-usb-serial-option
- /dev/ttyUSB0 - praca w trybie HSPA+
- /dev/ttyUSB4 - interfejs diagnostyczny
echo "12d1 1506" > /sys/bus/usb-serial/drivers/option1/new_id
sleep 2
Źródło informacji: http://eko.one.pl/forum/viewtopic.php?id=1923 oraz informacja własna.
iPlus Commander 2
Identyfikator modemu: 10c4:822b, obsługiwany przez sterownik cp210x
# opkg install kmod-usb-serial-cp210x
- /dev/ttyUSB0
# sed -i -e 's/115200/460800/' /lib/network/3g.sh
Źródło informacji: użytkownicy forum eko.one.pl
Nokia 21M-02
1. Wymaga instalacji sterowników CDC ACM
# opkg install kmod-usb-acm
- wykonuje się to "wysuwając" wirtualny modem. Najpierw należy zainstalować niezbędny program sdparm
# opkg install sdparm kmod-scsi-generic
# sdparm --command=eject /dev/sg0
TargetVendor= 0x0421
TargetProduct= 0x0638
MessageContent="5553424312345678000000000000061b000000020000000000000000000000"
3. Wymaga także usunięcia 2 opcji z 2 plików
- /etc/ppp/options
noaccomp
nopcomp
noaccomp \
nopcomp \
Interfejsy
- /dev/ttyACM0 - interfejs do połączenia
- /dev/ttyACM1 lub /dev/ttyACM2 - interfejs diagnostyczny
Novatel Ovation MC990D
Modem wymaga przełączenia przed uruchomieniem. Wykonuje się to "wysuwając" wirtualny modem. Najpierw należy zainstalować niezbędny program sdparm
# opkg install sdparm kmod-scsi-generic
# sdparm --command=eject /dev/sg0
Interfejsy
- /dev/ttyUSB0 - praca w trybie HSDPA
- /dev/ttyUSB3 - interfejs diagnostyczny
config 'interface' 'wan'
option 'proto' '3g'
option 'device' '/dev/ttyUSB0'
option 'pincode' '0000'
option 'apn' 'internet'
option 'username' ''
option 'password' ''
Źródło informacji: informacja własna
Option Icon 225
(UWAGA: skrypty w pakiecie hso działają poprawnie tylko w wydaniu Backfire, dla Attitude Adjustment nie zostały one jeszcze przepisane).Wymagana jest instalacja sterowników HSO oraz specjalnych skryptów do nawiązania połączenia:
# opkg install kmod-usb-net-hso
# opkg install http://eko.one.pl/openwrt/hso_1-1_all.ipk
rmmod hso
sleep 1
insmod hso
- /dev/ttyHS1 - interfejs diagnostyczny
- /dev/ttyHS2 - praca w trybie HSDPA
config 'interface' 'wan'
option 'ifname' 'hso0'
option 'proto' 'hso'
option 'device' '/dev/ttyHS2'
option 'pincode' '0000'
option 'apn' 'internet'
option 'username' ''
option 'password' ''
Źródło informacji: http://eko.one.pl/forum/viewtopic.php?id=865
Samsung GT-Y3100
Wymagana instalacja sterownika ACM CDC
# opkg install kmod-usb-acm
- /dev/ttyACM0 - tylko jeden do pracy w trybie HSDPA lub diagnostyczny
Sierra Wireless C855, C889
Wymagana jest instalacja sterowników kmod-usb-serial-sierrawireless
# opkg install kmod-usb-serial-sierrawireless
- /dev/ttyUSB3 - praca w trybie HSDPA
- /dev/ttyUSB4 - ograniczony interfejs diagnostyczny
Sierra Wireless - direct IP modems
Lista wspieranych modemówWymagana instalacja specjalnego sterownika kmod-usb-sierrawireless-directip dostępne w moim repozytorium
Skrypt startowy (do umieszczenia w /etc/rc.local)
ifdown wan
PINCODE=1234 gcom -d /dev/ttyUSB3 -s /etc/gcom/setpin.gcom
MODE="AT+CGDCONT=1,\"IP\",\"www.plusgsm.pl\"" gcom -d /dev/ttyUSB3 -s /etc/gcom/setmode.gcom
MODE="AT$QCPDPP=1,1,\"internet\",\"internet\"" gcom -d /dev/ttyUSB3 -s /etc/gcom/setmode.gcom
MODE="AT!SCACT=1,1" gcom -d /dev/ttyUSB3 -s /etc/gcom/setmode.gcom
sleep 2
ifup wan
exit 0
config 'interface' 'wan'
option 'proto' 'dhcp'
option 'ifname' 'usb0'
Vodafone K3760 (Option iCON 411)
Wymagana jest instalacja sterowników HSO oraz specjalnych skryptów do nawiązania połączenia:
# opkg install kmod-usb-net-hso
# opkg install http://eko.one.pl/openwrt/hso_1-1_all.ipk
rmmod hso
sleep 1
insmod hso
- /dev/ttyHS2 - praca w trybie HSDPA
- /dev/ttyHS3 - interfejs diagnostyczny
config 'interface' 'wan'
option 'ifname' 'hso0'
option 'proto' 'hso'
option 'device' '/dev/ttyHS2'
option 'pincode' '0000'
option 'apn' 'internet'
option 'username' ''
option 'password' ''
Źródło informacji: informacja własna
Vodafone K3805-Z
http://eko.one.pl/forum/viewtopic.php?pid=32963#p32963ZTE MF195
Identyfikator USB przed przełączeniem: 19d2:1514, po przełączeniu: 19d2:1515, Modem przedstawia się (ATI) jako
MF195-2.0.0
Wymaga instalacji sterowników kmod-usb-acm.
# opkg install kmod-usb-acm
- /dev/ttyACM0 - interfejs komunikacyjny/diagnostyczny
- /dev/ttyACM1 - interfejs komunikacyjny/diagnostyczny
W niektórych przypadkach może okazać się koniecznie usunięcie kilku opcji z ppp:
- w pliku /etc/ppp/options usunąć linie z
noaccomp
nopcomp
noaccomp \
nopcomp \
Można to wykonać poleceniami
# sed -i '/noaccomp/d' /etc/ppp/options
# sed -i '/nopcomp/d' /etc/ppp/options
# sed -i '/noaccomp/d' /lib/netifd/proto/3g.sh
# sed -i '/nopcomp/d' /lib/netifd/proto/3g.sh
Źródło informacji: informacja własna
ZTE MF668
Wymaga instalacji sterowników kmod-usb-serial-option.
# opkg install kmod-usb-serial-option
- /dev/ttyUSB1 - interfejs diagnostyczny
- /dev/ttyUSB2 - praca w trybie HSPA+
config 'interface' 'wan'
option 'proto' '3g'
option 'service' 'umts'
option 'device' '/dev/ttyUSB2'
option 'apn' 'multi.internet'
Źródło informacji: informacja własna
ZTE MF669
Identyfikator USB przed przełączeniem: 19d2:0154, po przełączeniu: 19d2:0017. Aby przełączyć poprawnie wymagane jest utworzenie nowego skryptu dla usb_modeswitch - należy utworzyć (o ile go nie ma) plik /etc/usb_modeswitch.d/19d2:0154 o następującej zawartości:
DefaultVendor= 0x19d2
DefaultProduct=0x0154
TargetVendor= 0x19d2
TargetProduct= 0x0117
MessageContent="5553424312345678000000000000061e000000000000000000000000000000"
MessageContent2="5553424312345679000000000000061b000000020000000000000000000000"
NeedResponse=1
# usb_modeswitch -v 19d2 -p 0154 -M "5553424312345678000000000000061b000000020000000000000000000000"
# opkg install kmod-usb-serial-option
- /dev/ttyUSB1 - interfejs komunikacyjny/diagnostyczny
- /dev/ttyUSB2 - interfejs komunikacyjny/diagnostyczny