USB modem fizikai újraindítása, vagy új IP cím kérése (OrangePi/Linux)

 ( TCH | 2019. szeptember 16., hétfő - 1:27 )

Van itt egy Huawei 3372e és azt szeretném elérni, hogy az eszköz új IP-t kapjon, de az a baj, hogy ezt a fizikai kihúzás/visszadugás-t leszámítva semmivel sem sikerül.

- Megpróbáltam kiadni power off/suspend parancsot az USB port power/control és tsai-nak, de nem történt semmi.
- A /sys/bus/.../bind && unbind szintén megvolt, nem csinált semmit.
- AT+CFUN=4 és AT+CFUN=1, ha kimegy, elszáll az eszköz.
- Az usb_modeswitch -v 12d1 -p 1506 -R ugyan reseteli, de utána valami más módba vált, mint ahogy a rendszer magától felismerte és utána a wvdial már nem húzza fel többet. Ha adok neki -H vagy -J kapcsolót, akkor is ugyanaz a helyzet.
- ATH és AT+CHUP nem csinálnak semmit.
- A /sys/bus/.../remove ugyan kiszórta az eszközt a rendszerből, az lsusb sem látta többet, de nem bírtam újrahúzatni vele, hacsak fizikailag ki nem húztam az eszközt.
- Találtam egy usbreset.c mini C programot, ami ioctl-lel szórakozik, az sem működött.
- dhclient -r ppp0 && rm /var/lib/dhcp/dhclient.* && dhclient -r ppp0 && dhclient -4 ppp0 sem működött.

Kiolvastam az egész netet, de semmi sem működött.
Van valakinek valami tippje, hogy hogyan lehet az eszközt arra rábírni, hogy új IP címet kapjon? Akár azzal, hogy szimulálunk egy fizikai fel-le csatlakoztatást, akár valami modem paranccsal (bár ilyet nem találtam a manualokban.), vagy igazából bármivel.

Hozzászólás megjelenítési lehetőségek

A választott hozzászólás megjelenítési mód a „Beállítás” gombbal rögzíthető.

Ezek az USB modemek hulladékok. Én régen használtam ilyeneket és mindig fagytak. A megoldás csak az volt, ha teljesen elvetted a tápot (például relével). Az se segített, ha csak újraindítottam a routert (OpenWrt).

És van olyan relés USB-s toldó, aminek lehet pl. GPIO-n keresztül parancsot adni és leválasztani? Vagy építeni kell.

par dollaros relay modul, meg egy usb kabel: kicsit megblankolod kozepen a kabelt, megkeresed melyik lehet a power (en tutvel szoktam atszurni a muanyagot, es multimeterrel sima vezetest keresek). elvagod, es bekotod a relebe. :)
aztan persze lehetne sajat nyakot epiteni, amin van ket usb csati, stbstb.

--
A vegtelen ciklus is vegeter egyszer, csak kelloen eros hardver kell hozza!

A patkolás része még menne, de milyen fajta relémodul volna ide jó? Vagy bármilyen jó hozzá?

Én anno azt csináltam, h soros porton tápláltam meg az usb-s eszközt (csináltam egy kábelt, usb toldóval, de a tápot az rs232-ről vettem), mert a soros port elveszi a tápot, ha azt mondtam a gépnek, h restart.

De a hosszú távú megoldás egy 50-60 ezres lte képes mikrotik ketyere lett.

Itt muszáj az USB-s modem. A restart általi villanyelvétel az USB-nél is működik, nem?

Nem, nálunk az adott gép restartra nem vette el az usb tápját sajna. Ezért kellett forrasztgatnom.
Aztán kihullot az ügyfél, gyaníthatóan pont a kendács usb-s megoldások miatt. Nem működött megbízhatóan, persze ezt mondtuk neki előre, de utólag mi lettünk a hülyék.

Akkor az egyel fentebbi relés megoldás lesz az egyetlen hardware-es megközelítés, ami jó lehet.

talan a ppp processzt kellene ujrainditani.
pon / poff ha te irtad a configot, egyebkent a halozati managered kellene rabirni (aki inditotta a ppp-t: ifupdown / NetworkManager / systemd-networkd / nemtommimostadivat).

Natív LTE esetén nincs PPP. A modem egy pszeudo-ethernet interfészt hoz létre, amin DHCP-vel kapod az IP címet.

igen, de OP ppp-t emlegetett, azert gondoltam, hogy nem native LTE lesz.

A wvdial automatikusan indítja a pppd-t, amikor leállítom, vele áll az is.

Állj! Tehát nem natív LTE-ről van szó, hanem PPP-ről? A topicnyitóban DHCP-t emlegettél...

(Itt teszem hozzá, hogy az ISC dhclient emlékeim szerint egyáltalán nem támogat PPP interfészeket. PPP fölött egyébként is IPCP-t szokás főként használni.)

Ettől függetlenül, amit próbálnék elsőre:
- ATZ
- AT+CGDCONT -> APN törlése majd újra beállítása

DHCP és PPP. Itt a wvdial.conf. Ez indítja a pppd-t is. (Jah, a AT+QPOWD-t ki is hagytam a felsorolásból, hogy "COMMAND NOT SUPPORT." (sic!))

Ebben egy gramm DHCP sincs. Az IP címet IPv4-en IPCP-vel kapod.

Mivel a PPP session elvileg stateless, ezért minden alkalommal más IP címet kellene kapnod - kivéve, ha az APN a kliens párosításhoz társítja az IP címet. Próbálj meg leszakadni az APN-ről:

AT^NDISDUP=1,1,""

Akkor valamit nagyon félreértelmeztem tegnap, dehát hajnali fél kettő volt már...

Felvettem a wvdial.conf-ba, a AT^NDISDUP=1,1,"internet" elé, hogy AT^NDISDUP=1,1,"", de nem szakasztja le újracsatlakozás előtt.
Sőt, ki is cseréltem; üres APN-nel is ugyanolyan jól megy...

Sz*rk.: AT^NDISDUP=1,1,"kecske" => ezzel is megy...tök mindegy mit írok be neki, nem szakad le.

Nézd meg az AT^NDISDUP helyett az AT+CGDCONT-ot.

AT+CGDCONT=1,"IP","internet" és AT+CGDCONT=1,"IP","" ugyanaz, mint eddig, AT+CGDCONT=1,"IP","kecske"-nél már leszakad (hangup, error code 16). De az IP cím nem változik meg utána.

Sz*rk: Megpróbáltam az internet.vodafone.net-et, hátha egy érvényes, de sikertelen autentikációs kísérlet után IP-t vált...nem.

Hmm. Az érdekes, hogy a szolgáltató oldaláról mennyiben más az APN-ről leszakadni az CT+CGDCONT segítségével, mint fizikailag újraindítva az eszközt...

Esetleg, próbálj meg a szolgáltató hálózatához is újra csatlakozni. (AT+COPS és társai)

AT+COPS=2 => CME ERROR: Incorrect parameters
AT+COPS? => 0,0,"Telekom HU",7
AT+COPS=? => Rommáfagy a modem, majd kis idővel magához tér. (De az IP-t nem cseréli le.)

AT+COPS=? utan keresi az elerheto halozatokat, normalis a lekadas (minden modemnel ezt lattam).

az ehhez a modemhez tartozo AT command set leirast kellene eloszedni a gyartotol, es az alapjan kinezni az AT parancsokat. mas modemnel (pl SIM800 csalad)
szerintem menne az AT+COPS=2, meg az AT+CFUN=4 + AT+CFUN=1 is, de pl ez

http://download-c1.huawei.com/download/downloadCenter?downloadId=100630&version=432889&siteCode=worldwide&view=true

alapjan lehet ehhez a modemhez nem jok, mert COPS=2 "Deregister from network. (not supported currently)"; a CFUN=4 utan CFUN=1 meg nem megengedett.

esetleg probald az AT+CFUN=4 + AT+CFUN=6,1 + AT+CFUN=1 sorozatot (az utolso lehet nem kell), vagy az AT+CFUN=7 + AT+CFUN=1 kombot (ez nem inditja ujra).

de ahogy irtam, ennek a modemnek a leirasabol lehet kinezni a tutit.

Az AT+CFUN=4 + AT+CFUN=6,1 kombó működik! Nagyon szépen köszönöm, jövök egy sörrel!

És akkor itt a működő wvdial.conf is.

Ez még hasznos lehet. Subs

Ha DHCP-vel kéri az IP címet a szolgáltatótól, akkor mindig a korábbi IP címet próbálja lekérni magának. Tehát a DHCP handshake-et kell valahogy meghackelni.

Én nyitott vagyok mindenre: hogyan?

Sz*rk: Never mind: kiderült, hogy nem DHCP.

Nem egészen. Ha lejárt a dinamikus IP-címed bérleti ideje, akkor megint jelezned kell, hogy IP-címre van szükséged, amire a DHCP-szerver ajánlani fog egyet, amit te elfogadsz. Az már a szervertől függ, hogy ugyanazt a címet ajánlja-e neked, amivel előtte rendelkeztél, vagy másikat.