Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!

Ogłoszenie

Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.

#1  2016-04-06 17:47:49

  morfik - Cenzor wirtualnego świata

morfik
Cenzor wirtualnego świata
Skąd: ze WSI
Zarejestrowany: 2011-09-15
Serwis

Modem LTE HUAWEI E3372s-153 bez usb-modeswitch

To już kolejny wątek powstały w oparciu o moje badania nad modemem LTE HUAWEI E3372s-153 ale, że znalazłem coś ciekawego to przydałoby się o tym napisać. Tu nie będzie opisany problem, tylko takie bardziej mini HOWTO na temat tego jak przystosować modem do pracy pod linuxem. Niby jest takich rozwiązań pełno w sieci ale zasadniczą różnicą tego sposobu jest kompletne pozbycie się pakietu usb-modeswitch. Ci, którzy nie wiedzą, co to za pakiet, to przypominam, że odpowiada on za przełączanie trybu modemu. Zwykle są dwa tryby. Jeden zapewnia stery (pod win), po instalacji których modem przechodzi w drugi tryb, już ten właściwy. Na linuxach to przełączanie jest realizowane via usb-modeswitch. I tu się nasuwa pytanie, czy ten modem faktycznie trzeba przełączać? A może istnieje sposób, który by automatycznie ustawił modem na taki tryb, który linuxy lubią najbardziej? xD

Okazało się, że istnieje. W sumie nie wiem czy wszystkie modemy się da tak dostosować ale jeśli taki modem obsługuje polecenia AT (a większość obsługuje), to bez problemu można odinstalować ten cały pakiet usb-modeswitch i przy pomocy poleceń AT przestawić tryb modemu.

To polecenie, o którym mowa, to AT^SETPORT . Porty obsługiwane przez modem sprawdzamy tak (te polecenia AT można przesłać w dowolny sposób, ja używam wvdial):

--> Sending: AT^SETPORT=?

^SETPORT:3: 3G DIAG
^SETPORT:10: 4G MODEM
^SETPORT:1: 3G MODEM
^SETPORT:12: 4G PCUI
^SETPORT:13: 4G DIAG
^SETPORT:5: 3G GPS
^SETPORT:14: 4G GPS
^SETPORT:A: BLUE TOOTH
^SETPORT:16: NCM
^SETPORT:A1: CDROM
^SETPORT:A2: SD[/quote]
Teraz sprawdzamy konfigurację modemu:

--> Sending: AT^SETPORT?

^SETPORT:A1,A2;12,10,16,A1,A2[/quote]
Składnia wyjścia jest następująca: AT^SETPORT="<primary composition>;<secondary composition>". Mamy tutaj dwie kompozycje, jedna z nich jest aplikowana w jednym trybie modemu, druga zaś w drugim. Niewiele osób wie, że ten pierwszy tryb można całkowicie wyłączyć, co zapobiega przełączaniu modemu na drugi tryb. xD W efekcie modem od razu jest startowany w drugim trybie i odpada potrzeba stosowania pakietu usb-modeswitch.

By wyłączyć ten pierwszy tryb, który jest dla linuxa zupełnie zbędny, musimy przesłać te dwa polecenia AT:

Kod:

--> Sending: AT^SETPORT="FF;12,10,16,A2"
OK
--> Sending: AT^RESET
OK

Kluczowe jest ustawienie w pierwszym trybie [b]FF[/b] . W drugim zaś wyłączyłem ten cd-rom, bo i tak niezbyt się przydaje, a w logu sporo błędów generował. Po chwili modem powinien się uruchomić ponownie, a w logu powinno pojawić się coś takiego:

Kod:

kernel: usb 2-1.3: new high-speed USB device number 11 using ehci-pci
kernel: usb 2-1.3: New USB device found, idVendor=12d1, idProduct=15b6
kernel: usb 2-1.3: New USB device strings: Mfr=1, Product=2, SerialNumber=3
kernel: usb 2-1.3: Product: HUAWEI_MOBILE
kernel: usb 2-1.3: Manufacturer: HUAWEI_MOBILE
kernel: usb 2-1.3: SerialNumber: 0123456789ABCDEF
kernel: option 2-1.3:1.0: GSM modem (1-port) converter detected
kernel: usb 2-1.3: GSM modem (1-port) converter now attached to ttyUSB0
kernel: option 2-1.3:1.1: GSM modem (1-port) converter detected
kernel: usb 2-1.3: GSM modem (1-port) converter now attached to ttyUSB1
kernel: huawei_cdc_ncm 2-1.3:1.2: MAC-Address: 00:1e:10:1f:00:00
kernel: huawei_cdc_ncm 2-1.3:1.2: setting rx_max = 16384
kernel: huawei_cdc_ncm 2-1.3:1.2: NDP will be placed at end of frame for this device.
kernel: huawei_cdc_ncm 2-1.3:1.2: cdc-wdm0: USB WDM device
kernel: huawei_cdc_ncm 2-1.3:1.2 wwan0: register 'huawei_cdc_ncm' at usb-0000:00:1d.0-1.3, Huawei CDC NCM device, 00:1e:10:1f:00:00
kernel: usb-storage 2-1.3:1.3: USB Mass Storage device detected
kernel: scsi host10: usb-storage 2-1.3:1.3
mtp-probe[14361]: checking bus 2, device 11: "/sys/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.3"
mtp-probe[14361]: bus: 2, device: 11 was not an MTP device
kernel: scsi 10:0:0:0: Direct-Access     HUAWEI   TF CARD Storage  2.31 PQ: 0 ANSI: 2
kernel: sd 10:0:0:0: Attached scsi generic sg2 type 0
kernel: sd 10:0:0:0: [sdb] Attached SCSI removable disk

Jak widać, nie ma przełączania trybu. Jako, że ten modem obsługuje tryb NDIS, to mogę dodać sobie także konfigurację dla interfejsu wwan0 do pliku /etc/network/interfaces :

Kod:

allow-hotplug wwan0
iface wwan0 inet dhcp
    dns-nameservers 127.0.0.1
    pre-up sleep 1
    pre-up echo -e "AT^SYSCFGEX=\"03\",3FFFFFFF,1,2,800C5,,\r" > /dev/ttyUSB0
    pre-up echo -e "AT^NDISDUP=1,1,\"internet\"\r" > /dev/ttyUSB0
    pre-down echo -e "AT^NDISDUP=1,0\r" > /dev/ttyUSB0

i podnieść interfejs via [b]ifup wwan0[/b] . Po chwili powinniśmy uzyskać adresację via DHCP:

Kod:

dhclient[14505]: Internet Systems Consortium DHCP Client 4.3.3
dhclient[14505]: Copyright 2004-2015 Internet Systems Consortium.
dhclient[14505]: All rights reserved.
dhclient[14505]: For info, please visit https://www.isc.org/software/dhcp/
dhclient[14505]:
dhclient[14505]: Listening on LPF/wwan0/00:1e:10:1f:00:00
dhclient[14505]: Sending on   LPF/wwan0/00:1e:10:1f:00:00
dhclient[14505]: Sending on   Socket/fallback
dhclient[14505]: DHCPDISCOVER on wwan0 to 255.255.255.255 port 67 interval 5
dhclient[14505]: DHCPDISCOVER on wwan0 to 255.255.255.255 port 67 interval 10
dhclient[14505]: DHCPREQUEST of 10.135.130.144 on wwan0 to 255.255.255.255 port 67
dhclient[14505]: DHCPOFFER of 10.135.130.144 from 10.135.130.129
dhclient[14505]: DHCPACK of 10.135.130.144 from 10.135.130.129
dhclient[14505]: bound to 10.135.130.144 -- renewal in 197138 seconds.

Linux górą. xD Jak coś to zostawcie komentarze poniżej.

Ostatnio edytowany przez morfik (2016-04-29 05:18:44)

Offline

 

#2  2016-04-06 21:31:29

  debianus_userus - Członek DUG

debianus_userus
Członek DUG
Skąd: Warszawa
Zarejestrowany: 2005-08-29
Serwis

Re: Modem LTE HUAWEI E3372s-153 bez usb-modeswitch

A nie prościej to przerobić modem na hilink poprzez wgranie odpowiedniego oprogramowania. I dalej zarządzać modemem via www (np. by wymusić only LTE)?
Modem jest automatycznie widziany w systemie jako interfejs sieciowy bez zbędnej konfiguracji i grzebania.

Offline

 

#3  2016-04-06 23:02:10

  morfik - Cenzor wirtualnego świata

morfik
Cenzor wirtualnego świata
Skąd: ze WSI
Zarejestrowany: 2011-09-15
Serwis

Re: Modem LTE HUAWEI E3372s-153 bez usb-modeswitch

Tylko te HiLinki są ograniczone zwykle. Przynajmniej fabrycznie, nie wiem jak po przerobieniu. Poza tym, do HiLinka dochodzi ci jeszcze dodatkowy NAT już w samym modemie. To z kolei zjada moc obliczeniową i mniejszą prędkość uzyskasz, no i też więcej się będzie grzać. Przynajmniej tyle wyczytałem na necie odnośnie HiLinków.

Offline

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
Możesz wyłączyć AdBlock — tu nie ma reklam ;-)

[ Generated in 0.011 seconds, 13 queries executed ]

Informacje debugowania

Time (s) Query
0.00016 SET CHARSET latin2
0.00009 SET NAMES latin2
0.00190 SELECT u.*, g.*, o.logged FROM punbb_users AS u INNER JOIN punbb_groups AS g ON u.group_id=g.g_id LEFT JOIN punbb_online AS o ON o.ident='18.118.226.167' WHERE u.id=1
0.00114 UPDATE punbb_online SET logged=1732464676 WHERE ident='18.118.226.167'
0.00062 SELECT * FROM punbb_online WHERE logged<1732464376
0.00088 DELETE FROM punbb_online WHERE ident='3.145.85.74'
0.00073 DELETE FROM punbb_online WHERE ident='85.208.96.200'
0.00071 SELECT topic_id FROM punbb_posts WHERE id=300299
0.00095 SELECT id FROM punbb_posts WHERE topic_id=28504 ORDER BY posted
0.00055 SELECT t.subject, t.closed, t.num_replies, t.sticky, f.id AS forum_id, f.forum_name, f.moderators, fp.post_replies, 0 FROM punbb_topics AS t INNER JOIN punbb_forums AS f ON f.id=t.forum_id LEFT JOIN punbb_forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id=3) WHERE (fp.read_forum IS NULL OR fp.read_forum=1) AND t.id=28504 AND t.moved_to IS NULL
0.00006 SELECT search_for, replace_with FROM punbb_censoring
0.00072 SELECT u.email, u.title, u.url, u.location, u.use_avatar, u.signature, u.email_setting, u.num_posts, u.registered, u.admin_note, p.id, p.poster AS username, p.poster_id, p.poster_ip, p.poster_email, p.message, p.hide_smilies, p.posted, p.edited, p.edited_by, g.g_id, g.g_user_title, o.user_id AS is_online FROM punbb_posts AS p INNER JOIN punbb_users AS u ON u.id=p.poster_id INNER JOIN punbb_groups AS g ON g.g_id=u.group_id LEFT JOIN punbb_online AS o ON (o.user_id=u.id AND o.user_id!=1 AND o.idle=0) WHERE p.topic_id=28504 ORDER BY p.id LIMIT 0,25
0.00074 UPDATE punbb_topics SET num_views=num_views+1 WHERE id=28504
Total query time: 0.00925 s