26 (edytowany przez manguscik 2017-05-11 11:21:56)

Odp: OpenWRT i E3372 z Hilink, problem w wysłaniu sms

Cezary skasowałem plik i pobrałem nowy ale nie widzę żadnych zmian jak było tak jest ? Jakie zmiany wprowadziłeś ?


Tak wyglądają pobrane pliki:

root@LEDE:/tmp# cat /tmp device-basic_information
cat: read error: Is a directory
<?xml version="1.0" encoding="UTF-8"?>
<response>
<productfamily>LTE</productfamily>
<classify>mobile-wifi</classify>
<multimode>0</multimode>
</response>
root@LEDE:/tmp# cat /tmp/device-information
<?xml version="1.0" encoding="UTF-8"?>
<error>
<code>100003</code>
<message></message>
</error>
root@LEDE:/tmp# cat /tmp/device-signal
<?xml version="1.0" encoding="UTF-8"?>
<response>
<pci>52</pci>
<sc></sc>
<cell_id>2309910</cell_id>
<rsrq>-10dB</rsrq>
<rsrp>-83dBm</rsrp>
<rssi>-71dBm</rssi>
<sinr>16dB</sinr>
<rscp></rscp>
<ecio></ecio>
<mode>7</mode>
</response>
root@LEDE:/tmp#

Pisze o braku uprawnień

Stacja Pogody pracująca na LEDE / Openwrt + arduino. http://dominikowice.one.pl  Pomiar temperatury, ciśnienia, wilgotności  online + wykresy 24 godzinne, 7 dniowe, 30 dniowe, itp. A wszystko to na Routerze NETGEAR WNDR 4300 z wgranym LEDE.

27

Odp: OpenWRT i E3372 z Hilink, problem w wysłaniu sms

A widzisz, bo twój się w ogóle nie przedstawia w plikach, więc nie ma i nazwy.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

28 (edytowany przez manguscik 2017-05-12 08:57:42)

Odp: OpenWRT i E3372 z Hilink, problem w wysłaniu sms

Bo modem przedstawia  się w pliku device-information który wymaga podania hasła.

<?xml version="1.0" encoding="UTF-8"?><response>OK</response><?xml version="1.0" encoding="UTF-8"?>
<response>
<DeviceName>E5373s-155</DeviceName>
<SerialNumber>X6xxxxxxxxxx73</SerialNumber>
<Imei>8xxxxxxxxxxxxxxxx1</Imei>
<Imsi>2xxxxxxxxxxxx650</Imsi>
<Iccid>89xxxxxxxxxxxx509</Iccid>
<Msisdn></Msisdn>
<HardwareVersion>CL2E5377SM02</HardwareVersion>
<SoftwareVersion>21.296.03.00.00</SoftwareVersion>
<WebUIVersion>17.100.11.00.03-Mod1.3</WebUIVersion>
<MacAddress1>Ex:xx:xx:xx:6C:4F</MacAddress1>
<MacAddress2></MacAddress2>
<ProductFamily>LTE</ProductFamily>
<Classify>mobile-wifi</Classify>
<supportmode>LTE|WCDMA|GSM</supportmode>
<workmode>LTE</workmode>
</response>
Stacja Pogody pracująca na LEDE / Openwrt + arduino. http://dominikowice.one.pl  Pomiar temperatury, ciśnienia, wilgotności  online + wykresy 24 godzinne, 7 dniowe, 30 dniowe, itp. A wszystko to na Routerze NETGEAR WNDR 4300 z wgranym LEDE.

29

Odp: OpenWRT i E3372 z Hilink, problem w wysłaniu sms

I tego już 3ginfo nie ogarnie, bo żadnego hasła w 3ginfo nie podajesz. Więc albo usuń sobie hasło, albo bezpośrednio korzystaj z gui modemu.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

30

Odp: OpenWRT i E3372 z Hilink, problem w wysłaniu sms

Dodałem hasło i 3ginfo wyświetla:

<code>
Urządzenie:Huawei E5373s-155 mobile-wifi
<code>

Tylko w złym miejscu bo nie pokazuje mi teraz siły sygnału CSQ i  RSSI

Stacja Pogody pracująca na LEDE / Openwrt + arduino. http://dominikowice.one.pl  Pomiar temperatury, ciśnienia, wilgotności  online + wykresy 24 godzinne, 7 dniowe, 30 dniowe, itp. A wszystko to na Routerze NETGEAR WNDR 4300 z wgranym LEDE.

31 (edytowany przez manguscik 2017-05-12 09:51:22)

Odp: OpenWRT i E3372 z Hilink, problem w wysłaniu sms

Cezary w którym miejscu dopisać wpisanie hasła w skrypcie aby pokazywało nazwę modemu i resztę parametrów ?

Stacja Pogody pracująca na LEDE / Openwrt + arduino. http://dominikowice.one.pl  Pomiar temperatury, ciśnienia, wilgotności  online + wykresy 24 godzinne, 7 dniowe, 30 dniowe, itp. A wszystko to na Routerze NETGEAR WNDR 4300 z wgranym LEDE.

32

Odp: OpenWRT i E3372 z Hilink, problem w wysłaniu sms

Skrypty 3ginfo w żadnej sposób nie są przystosowania do wprowadzania jakichkolwiek haseł.

Jak wprowadzasz hasło żeby uzyskać zawartość device-information?

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

33 (edytowany przez manguscik 2017-05-12 09:59:10)

Odp: OpenWRT i E3372 z Hilink, problem w wysłaniu sms

Dopisałem to w tym miejscu \

files="device/signal monitoring/status net/current-plmn net/signal-para device/information device/basic_information"
for f in $files; do
        nf=$(echo $f | sed 's!/!-!g')
        if [ -n "$token" ]; then
        curl "[url]http://192.168.8.1/api/user/login[/url]" -H "__RequestVerificationToken: $token" --data "<request><Username>admin</Username><Password>hasozakosowane</Password></request>"  
        /usr/bin/wget -t 3 -O /tmp/$nf "http://$IP/api/$f" --header "__RequestVerificationToken: $token" >/dev/null 2>&1

ALe po dopisaniu tutaj wyświetla mi nazwę urządzenia ale  nie wyświetla mi parametrów sygnału. Mimo że wszystkie 3 pliki są pobrane z danymi

Stacja Pogody pracująca na LEDE / Openwrt + arduino. http://dominikowice.one.pl  Pomiar temperatury, ciśnienia, wilgotności  online + wykresy 24 godzinne, 7 dniowe, 30 dniowe, itp. A wszystko to na Routerze NETGEAR WNDR 4300 z wgranym LEDE.

34

Odp: OpenWRT i E3372 z Hilink, problem w wysłaniu sms

To popsułeś coś dalej w pliku. Zrób sobie debug skryptu i zobaczysz co i jak odczytuje.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

35 (edytowany przez manguscik 2017-05-12 11:00:41)

Odp: OpenWRT i E3372 z Hilink, problem w wysłaniu sms

Najgorsze to że nic  nie popsułem smile bo jak # linijkę z logowaniem to mi wyświetla siłę sygnału tworzy 3 pliki z tym że jeden z błędem że brak uprawnień a jak usunę # to powstają 3 pliki ale ale nie wyświetla siły sygnału smile

Jest problem z awk jak dodam linijkę

root@LEDE:~# /usr/share/3ginfo/scripts/huawei_hilink.sh
<?xml version="1.0" encoding="UTF-8"?><response>OK</response><?xml version="1.0" encoding="UTF-8"?><response>OK</response><?xml version="1.0" encoding="UTF-8"?><response>OK</response><?xml version="1.0" encoding="UTF-8"?><response>OK</response><?xml version="1.0" encoding="UTF-8"?><response>OK</response><?xml version="1.0" encoding="UTF-8"?><response>OK</response>+CSQ: 27,99
^SYSINFOEX:x,x,x,x,,x,"LTE",101,"LTE"
+COPS: 0,2,"26006",x
+CREG: 2,1,"","233F16"
^HCSQ: "LTE",59,57,176,20
DEVICE:Huawei E5373s-155 mobile-wifi
Stacja Pogody pracująca na LEDE / Openwrt + arduino. http://dominikowice.one.pl  Pomiar temperatury, ciśnienia, wilgotności  online + wykresy 24 godzinne, 7 dniowe, 30 dniowe, itp. A wszystko to na Routerze NETGEAR WNDR 4300 z wgranym LEDE.

36

Odp: OpenWRT i E3372 z Hilink, problem w wysłaniu sms

Tak wygląda debugowanie skryptu i teraz pytanie skąd mi się bierze ten kod xml odpowiedz ok po logowaniu,

+ getvaluen device-signal rssi
+ + sed s/[^0-9]//g
awk -F[<>] /<rssi>/ {print $3} /tmp/device-signal
+ echo 59
+ rssi=59
+ [ -n 59 ]
+ CSQ=27
+ echo +CSQ: 27,99
+CSQ: 27,99
+ getvaluen monitoring-status CurrentNetworkType
+ + sed s/[^0-9]//g
awk -F[<>] /<CurrentNetworkType>/ {print $3} /tmp/monitoring-status
+ echo 101
+ MODEN=101
+ MODE=LTE
+ echo ^SYSINFOEX:x,x,x,x,,x,"LTE",101,"LTE"
^SYSINFOEX:x,x,x,x,,x,"LTE",101,"LTE"
+ getvaluen net-current-plmn Numeric
+ + sed s/[^0-9]//g
awk -F[<>] /<Numeric>/ {print $3} /tmp/net-current-plmn
+ echo 26006
+ numeric=26006
+ echo +COPS: 0,2,"26006",x
+COPS: 0,2,"26006",x
+ getvalue net-signal-para Lac
+ awk -F[<>] /<Lac>/ {print $3} /tmp/net-signal-para
+ echo
+ lac=
+ getvalue net-signal-para CellID
+ awk -F[<>] /<CellID>/ {print $3} /tmp/net-signal-para
+ echo
+ cid=
+ [ -z  ]
+ getvalue device-signal cell_id
+ awk -F[<>] /<cell_id>/ {print $3} /tmp/device-signal
+ echo 2309910
+ cell_id=2309910
+ cid=
+ [ -n 2309910 ]
+ printf %0X 2309910
+ cid=233F16
+ echo +CREG: 2,1,"","233F16"
+CREG: 2,1,"","233F16"
+ [ xLTE = xLTE ]
+ getvaluens device-signal rsrp
+ + sed s/[^0-9-]//g
awk -F[<>] /<rsrp>/ {print $3} /tmp/device-signal
+ echo -84
+ rsrp=-84
+ getvaluens device-signal sinr
+ + sed s/[^0-9-]//g
awk -F[<>] /<sinr>/ {print $3} /tmp/device-signal
+ echo 12
+ sinr=12
+ getvaluens device-signal rsrq
+ + sed s/[^0-9-]//g
awk -F[<>] /<rsrq>/ {print $3} /tmp/device-signal
+ echo -10
+ rsrq=-10
+ awk BEGIN {print -84 + 141}
+ rsrp=57
+ awk BEGIN {print (12+20.2)*5}
+ sinr=161
+ awk BEGIN {print (-10+20)*2}
+ rsrq=20
+ echo ^HCSQ: "LTE",59,57,161,20
^HCSQ: "LTE",59,57,161,20
+ getvalue device-information DeviceName
+ awk -F[<>] /<DeviceName>/ {print $3} /tmp/device-information
+ echo E5373s-155
+ device=E5373s-155
+ [ -n E5373s-155 ]
+ getvalue device-information Classify
+ awk -F[<>] /<Classify>/ {print $3} /tmp/device-information
+ echo mobile-wifi
+ class=mobile-wifi
+ echo DEVICE:Huawei E5373s-155 mobile-wifi
DEVICE:Huawei E5373s-155 mobile-wifi
+ [ x != xdebug ]
+ + sed s!/!-!g
echo device/signal
+ nf=device-signal
+ + sed s!/!-!g
echo monitoring/status
+ nf=monitoring-status
+ + sed s!/!-!g
echo net/current-plmn
+ nf=net-current-plmn
+ + sed s!/!-!g
echo net/signal-para
+ nf=net-signal-para
+ + sed s!/!-!g
echo device/information
+ nf=device-information
+ + sed s!/!-!g
echo device/basic_information
+ nf=device-basic_information
+ + sed s!/!-!g
echo webserver/token
+ nf=webserver-token
+ rm /tmp/tmp.AOIFPk
+ exit 0
Stacja Pogody pracująca na LEDE / Openwrt + arduino. http://dominikowice.one.pl  Pomiar temperatury, ciśnienia, wilgotności  online + wykresy 24 godzinne, 7 dniowe, 30 dniowe, itp. A wszystko to na Routerze NETGEAR WNDR 4300 z wgranym LEDE.

37

Odp: OpenWRT i E3372 z Hilink, problem w wysłaniu sms

Wygląda tak jak byś miał zbędne odpowiedzi niepotrzebne łapane.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

38

Odp: OpenWRT i E3372 z Hilink, problem w wysłaniu sms

Już wiem - użyłeś curla i nie przekierowałeś wyniku do /dev/null, więc rezultat wyświetla na konsoli po prostu.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

39

Odp: OpenWRT i E3372 z Hilink, problem w wysłaniu sms

Jak zawsze słuszna diagnoza smile  problem rozwiązany.  Jak już mam logowanie i wszystko działa to teraz dopiszę jeszcze deviceinformation/add_param.xml

Stacja Pogody pracująca na LEDE / Openwrt + arduino. http://dominikowice.one.pl  Pomiar temperatury, ciśnienia, wilgotności  online + wykresy 24 godzinne, 7 dniowe, 30 dniowe, itp. A wszystko to na Routerze NETGEAR WNDR 4300 z wgranym LEDE.

40

Odp: OpenWRT i E3372 z Hilink, problem w wysłaniu sms

Co do wysyłania smsów po API w modemie E3372 z modowanym softem to napewno nie jest to wina softu bo teraz mam router Huawei E5786Bs-32a mobile-wifi z nie modowanym softem i tak samo jest problem z wysłaniem smsa ten sam bład co na E3372 więc problem jest z złą komenda API do wysyłania sms-a.

Stacja Pogody pracująca na LEDE / Openwrt + arduino. http://dominikowice.one.pl  Pomiar temperatury, ciśnienia, wilgotności  online + wykresy 24 godzinne, 7 dniowe, 30 dniowe, itp. A wszystko to na Routerze NETGEAR WNDR 4300 z wgranym LEDE.

41

Odp: OpenWRT i E3372 z Hilink, problem w wysłaniu sms

Dokładnie tak - tamto api było do e3372, nie masz pewności że jest takie samo w e5786.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

42

Odp: OpenWRT i E3372 z Hilink, problem w wysłaniu sms

Albo jak to przy sofcie modowanym mogło być od innego routera i dlatego też nie działało smile

Stacja Pogody pracująca na LEDE / Openwrt + arduino. http://dominikowice.one.pl  Pomiar temperatury, ciśnienia, wilgotności  online + wykresy 24 godzinne, 7 dniowe, 30 dniowe, itp. A wszystko to na Routerze NETGEAR WNDR 4300 z wgranym LEDE.

43 (edytowany przez desperat 2020-10-02 21:13:03)

Odp: OpenWRT i E3372 z Hilink, problem w wysłaniu sms

Dla potomnych tutaj necro pozostawię dla wersji modowanej:

software: 22.300.09.00.00
webui: 17.100.17.00.143-Mod1.20
IP modemu: 192.168.8.1

działa mi wysyłanie:

#!/bin/sh

# usage: sh send.sh "192.168.8.1" "+48xxxyyyzzz" "test kolejny :) ąśćź"

if [ $# -lt 2 ]
then
echo "Podałeś za mało paramerów ustawiam domyslne\n"
host="192.168.8.1"
number="+48xxxyyyzzz"
content="testowy sms do $number"
echo -e "Host: $host\nNumer: $number\nTreść: $content"
else
host="$1"
number="$2"
content="$3"
echo -e "Podałeś Host: $host\nNumer: $number\nTreść: $content"
fi 
length=${#content}

echo $length
cc=`curl -s -X GET http://$host/api/webserver/SesTokInfo`
# echo $cc
c=`echo "$cc"| grep SessionID=| cut -b 10-147`
t=`echo "$cc"| grep TokInfo| cut -b 10-41`
date=$(date +"%Y-%m-%d %H:%M:%S")
echo $date

curl -v http://$host/api/sms/send-sms \
 -H "Cookie: $c" -H "__RequestVerificationToken: $t" -H "Content-Type: application/x-www-form-urlencoded; charset=UTF-8" \
 --data "<?xml version="1.0" encoding="UTF-8"?><request><Index>-1</Index><Phones><Phone>$number</Phone></Phones><Sca></Sca><Content>$content</Content><Length>$length</Length><Reserved>1</Reserved><Date>$date</Date></request>"

a jesliby ktoś potrzebował odbieranie to też działa, kod oczywiscie do adaptacji... wg potrzeb:

#!/bin/sh

RESPONSE=`curl -s -X GET http://192.168.8.1/api/webserver/SesTokInfo`
COOKIE=`echo "$RESPONSE"| grep SessionID=| cut -b 10-147`
TOKEN=`echo "$RESPONSE"| grep TokInfo| cut -b 10-41`
DATA="<request><PageIndex>1</PageIndex><ReadCount>3</ReadCount><BoxType>1</BoxType><SortType>0</SortType><Ascending>0</Ascending><UnreadPreferred>1</UnreadPreferred></request>"

curl -b $COOKIE -c $COOKIE -H "X-Requested-With: XMLHttpRequest" --data "$DATA" http://192.168.8.1/api/sms/sms-list --header "__RequestVerificationToken: $TOKEN" --header "Content-Type:text/xml"
Netgear R6220
TP-LINK TL-SG1008P
ZyXEL WSM20

44

Odp: OpenWRT i E3372 z Hilink, problem w wysłaniu sms

Ja też miałem problem z wysyłaniem smsów przez ten modem, z twoim skryptem @desperat miałem taki problem, że źle były wycinane tokeny. Najpierw info o wersji modemu:

E3372h-320 (hilink)
Bieżąca wersja 10.0.3.1(H192SP2C983)
Wersja interfejsu internetowego WEBUI 10.0.3.1(W13SP2C7201)

Tak, jak wspominałem, u mnie był problem z wyciąganiem tokenu przez skrypt. Nie wiem czy mam wersję softwaru za starą, czy za młodą (moje wartości wyglądają jakby miały inną numerację), ale mam inny response przy SesTokInfo:

GET http://192.168.8.1/api/webserver/SesTokInfo
Reponse:
<?xml version="1.0" encoding="UTF-8"?>
<response>
    <SesInfo>
E1nGw6cmVvY10w8NJWn0It2Kx6M9FEwOh6nOPF6MZp0U7rMIeoL6H0NCYqH0PnD864nMsD20Rd34j6IWmIKfjm1MfLdMSTpad86faYoClQAXhZbV0Sq39kvDX090yZKC
    </SesInfo>
    <TokInfo>SRjEWvhnONhc7HjM41x6Y09sbrlbYz7o</TokInfo>
</response>

Dokładnie rzecz biorąc, nie występuje u mnie ciąg SessionID, zamiast tego jest tag <SesInfo>

Stąd, wrzucam modyfikację tego skryptu, która wycina znaki na odpowiednich pozycjach bez grepa:

#!/bin/sh

# usage: sh send.sh "192.168.8.1" "+48xxxyyyzzz" "test kolejny :) ąśćź"

if [ $# -lt 2 ]
then
echo "Podałeś za mało paramerów ustawiam domyslne\n"
host="192.168.8.1"
number="+48533090410"
content="testowy sms do $number"
echo -e "Host: $host\nNumer: $number\nTreść: $content"
else
host="$1"
number="$2"
content="$3"
echo -e "Podałeś Host: $host\nNumer: $number\nTreść: $content"
fi 
length=${#content}

echo $length
cc=`curl -s -X GET http://$host/api/webserver/SesTokInfo`
echo $cc
c=`echo "$cc"| cut -b 58-185`
t=`echo "$cc"| cut -b 205-236`
date=$(date +"%Y-%m-%d %H:%M:%S")
echo $date

curl -v http://$host/api/sms/send-sms \
 -H "Cookie: SessionID=$c" -H "__RequestVerificationToken: $t" -H "Content-Type: application/x-www-form-urlencoded; charset=UTF-8" \
 --data "<?xml version="1.0" encoding="UTF-8"?><request><Index>-1</Index><Phones><Phone>$number</Phone></Phones><Sca></Sca><Content>$content</Content><Length>$length</Length><Reserved>1</Reserved><Date>$date</Date></request>"

Dziękuję za pomocny wątek i życzę powodzenia z hakowaniem modemów

45

Odp: OpenWRT i E3372 z Hilink, problem w wysłaniu sms

Tak na przyszłość - wycinanie cutem po kolumnach jest złe dla samej ideologi. Jak sam napisałeś - wystarczy że zmieni się wersja softu,  dojdzie jakiś znak czy spacja w wyniku i już nie będzie działać. Trzeba było użyć grepa/seda/awk żeby wyciągać to co potrzebujesz.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

46

Odp: OpenWRT i E3372 z Hilink, problem w wysłaniu sms

Odgrzeje kotleta może sie komuś przyda:

W przypadku E3372h-320 na tym nowym oprogramowaniu:

to wygląda tak: https://imgur.com/mOyDgzE.png

działa mi tylko wysyłanie smsów poprzez bibliotekę w pythonie:
https://pypi.org/project/huawei-modem-api-client/

próbowałem wszystkiego hmm

Dla potomnych zrobiłem sobie binarkę z pythona przy użyciu: pyinstallera

Zajmuje toto ogromne ilości (11MB x64) także z openwrt to odpalać to niebardzo ale już z serwera jakiegoś można bez problemu:

Download:
https://drive.google.com/file/d/1IEJPk1 … sp=sharing

Składnia w konsoli:

./send01 http://192.168.8.1/ +48xxxyyyzzz "Tresc SMSa Alarm notyfikacja....."
Netgear R6220
TP-LINK TL-SG1008P
ZyXEL WSM20