Autouzupełnianie PINu w modemach i routerach Huawei Hilink

Kwestie techniczne, konfiguracja i rozwiązywanie problemów z modemami GSM (GPRS, EDGE, UMTS, HSDPA i HSUPA).

Moderator: Moderatorzy

ODPOWIEDZ
tosiek
Specjalista bezprzewodowy-junior
Posty: 292
Rejestracja: 2012-03-24, 14:00
Lokalizacja: inąd

Autouzupełnianie PINu w modemach i routerach Huawei Hilink

Post autor: tosiek »

Próbuję ustalić dlaczego nie chce się zapisywać pin w hilinkach.

Mam prośbę do osób którym działa zapisywanie pinu z webui pod adresem:
192.168.8.1/html/pincodeautovalidate.html

Potrzebuję zawartości zapytania POST (xml) + informacji w jakim pliku zapisuje ten PIN (konieczny modyfikowany firmware żeby grzebać w plikach przez adb lub telnet).

Żeby odczytać POST mamy kilka sposobów:
Wireshark pod Windows
lub
Firefox: CTRL + Shift + E - sieć, należy wysłać konfigurację przyciskiem zastosuj, kliknąć na żądanie post do i po prawej Edytuj i wyślij ponownie:
Obrazek
Obrazek
Potrzebna jest treść żądania. Jeśli jest zakodowane (odpowiada za to linijka enc:true w pinautovalidate.js) jak u mnie to trzeba inaczej.
Wchodzimy do debuggera wybieramy js > pinautovalidate.js
Po prawej w obserwowanych wyrażeniach dodajemy xmlstr
Po lewej np w linijce 127 klikamy na numerek linijki: button_enable('validate_apply', '0');
Po prawej w zakresach będzie nasze zapytanie:
Obrazek

Jak już mamy xml to potrzebna jest jeszcze informacja gdzie to modem/router trzyma.
Trzeba zalogować się przez adb i wejsć do shella

Kod: Zaznacz cały

adb connect 192.168.8.1
adb shell
busybox sh
grep -rnw '/' -e 'simsavepinpin' 2> /dev/null
I teraz fajnei by było sprawdzic uprawnienia tych plików:
np. znalazło:
/app/webroot/WebApp/common/config/device/config.xml
to potrzebny jest wynik:

Kod: Zaznacz cały

ls -la /app/webroot/WebApp/common/config/device/config.xml
Za każdym wejściem adb shell trzeba wydać polecenie busybox sh. Wychodzimy CTRL + D dwa razy.

Fajnie by było też pobrać treść plików np.:

Kod: Zaznacz cały

adb pull /app/webroot/WebApp/common/config/device/config.xml C:\Users\user\Desktop\config.xml
brak podpisu, tak jakby
garysek
Stały użytkownik forum
Posty: 149
Rejestracja: 2017-04-03, 19:44

Re: Autouzupełnianie PINu w modemach i routerach Huawei Hilink

Post autor: garysek »

tosiek pisze:Próbuję ustalić dlaczego nie chce się zapisywać pin w hilinkach.
Przecież zapisuje... http://www.bez-kabli.pl/viewtopic.php?f ... 08#p552908
Możesz nawet używać naprzemiennie kilku kart z różnymi PINami i nic nie musisz wpisywać, jeśli je wcześniej zapamiętasz.
tosiek pisze:potrzebna jest jeszcze informacja gdzie to modem/router trzyma
/data/userdata/device/savepin.xml

Kod: Zaznacz cały

<?xml version="1.0" encoding="UTF-8"?>
<config>
<savepin>
<simsavepinstatus>1</simsavepinstatus>
<simsavepinscid>@IV@1xOTWZoQXu/nmGeYygA5YeJql2UXhyDCsoG5V2Dm</simsavepinscid>
<simsavepinpin>@IV@9YZ1Pl0mILVchOHPdiY=</simsavepinpin>
<encryptmethod>2</encryptmethod>
</savepin>
</config>

Kod: Zaznacz cały

ls -la /data/userdata/device/savepin.xml
-rw-------    1 root     0              290 Jan  1  1970 /data/userdata/device/savepin.xml
tosiek pisze:(konieczny modyfikowany firmware żeby grzebać w plikach przez adb lub telnet)
Toż to męczarnia... Do grzebania w plikach to dropbear i WinSCP u mnie najlepiej się sprawdza.
tosiek pisze:grep -rnw '/' -e 'simsavepinpin' 2> /dev/null
Tego nie ogarniam.
tosiek
Specjalista bezprzewodowy-junior
Posty: 292
Rejestracja: 2012-03-24, 14:00
Lokalizacja: inąd

Re: Autouzupełnianie PINu w modemach i routerach Huawei Hilink

Post autor: tosiek »

Kod: Zaznacz cały

grep -rnw '/' -e 'simsavepinpin' 2> /dev/null
Szuka plików z frazą simsavepinpin a błędy typu access denied pomija do nula

Jakie masz webui i fw?
U mnie na E3372s-153
FW: 22.300.09.00.00
Webui: 17.100.13.01.03-Mod1.10
zdecydowanie nie działa zapamiętywanie. Zmiana za każdym razem przez telnet nie jest wygodna.

U mnie nie chce działać więc masz jakieś inne webui.
PIN code auto validation is disabled.
Więc cały czas nie czyta z tych xmli niżej. Potrzebne byłoby info z działającym pinem na fabrycznym webui ale modowanym FW.

W /app/webroot/WebApp/common/config/device/config.xml zmieniłem sekcję savepin tak jak w tamtym temacie:

Kod: Zaznacz cały

<savepin>
          <simsavepinenable>2</simsavepinenable>
          <simsavepinstatus>0</simsavepinstatus>
          <simsavepinscid> </simsavepinscid>
          <simsavepinpin>9zhX3BBUTJg=</simsavepinpin>    
          <encryptmethod>2</encryptmethod>
    </savepin>
/data/userdata/device/savepin.xml

Kod: Zaznacz cały

<?xml version="1.0" encoding="UTF-8"?>
<config>
<savepin>
<simsavepinstatus>1</simsavepinstatus>
<simsavepinscid>@IV@1xOTWZoQXu/nmGeYygA5YeJql2UXhyDCsoG5V2Dm</simsavepinscid>
<simsavepinpin>@IV@9YZ1Pl0mILVchOHPdiY=</simsavepinpin>
<encryptmethod>2</encryptmethod>
</savepin>
</config>
brak podpisu, tak jakby
dzejk
Guru bezprzewodowy
Posty: 7187
Rejestracja: 2014-10-17, 14:37
Lokalizacja: internet

Re: Autouzupełnianie PINu w modemach i routerach Huawei Hilink

Post autor: dzejk »

tosiek, swego czasu zrobiłem na szybko skrypt, który podmienia odpowiedni plik i problem z głowy
http://www.mediafire.com/file/gyt15w62x ... orange.zip
garysek
Stały użytkownik forum
Posty: 149
Rejestracja: 2017-04-03, 19:44

Re: Autouzupełnianie PINu w modemach i routerach Huawei Hilink

Post autor: garysek »

tosiek pisze:Szuka plików z frazą simsavepinpin a błędy typu access denied pomija do nula
Domyślałem się, że o to Ci chodziło, jednak u mnie to nie działa.

Kod: Zaznacz cały

root@android:/ # grep -rnw '/' -e 'simsavepin' 2> /dev/null
137|root@android:/ #
Jakie masz webui i fw?
http://www.bez-kabli.pl/viewtopic.php?f ... 95#p569395
Czyli webui na podstawie tego samego moda, co masz aktualnie.
Więc cały czas nie czyta z tych xmli niżej. Potrzebne byłoby info z działającym pinem na fabrycznym webui ale modowanym FW.
/data/userdata/device/savepin.xml - tego masz nie zmieniać, webui samo modyfikuje ten plik.
Może masz zmieniony plik /app/webroot/data/userdata/device/config.xml (stary sposób na pin) i temu nie działa? Zawsze też najlepiej po wgraniu nowego softu przywrócić ustawienia fabryczne.
Sam sposób na PIN działa na różnych modemach i routerach Huawei, chociaż w niektórych (np. B525) troszkę inaczej to się uaktywnia.
tosiek
Specjalista bezprzewodowy-junior
Posty: 292
Rejestracja: 2012-03-24, 14:00
Lokalizacja: inąd

Re: Autouzupełnianie PINu w modemach i routerach Huawei Hilink

Post autor: tosiek »

Ok poprawiłem swój stary skrypt i teraz automatycznie zapisuje z simsavepinscid.
Link do pobrania: http://www.mediafire.com/file/h6p9lspg7 ... nk-0.1.zip
Wystarczy uruchomić 1.PIN.bat

Krótki opis: modyfikuje pliki sed-em przez adb shell. Zachowuje całą resztę konfiguracji, nie podmienia całych plików.

Zmienne:
Ades IP modemu:
set modIPAdr=192.168.8.1
Domyślny plik konfiguracji - nie zapisuje tutaj właściwego pinu, po prostu musi być przynajmniej jedna sekcja <savepin> nawet z zerowymi wartościami opcji
set cfgfile=/app/webroot/WebApp/common/config/device/config.xml
Właściwy plik do zapisu PINI
set cfgfile2=/data/userdata/device/config.xml
Jeśli automatyczny pin nadal nie zadziała to jak od komentujecie linie i zamontujecie do zapisu /app/webroot to usunie wszystkie wpisy <savepin></savepin> z plików xml i doda jeden domyśl ny do /app/webroot/WebApp/common/config/device/config.xml.


Modem w ogóle nie odczytuje:

Kod: Zaznacz cały

/data/userdata/device/savepin.xml
za to nie trzeba przeładowywać do zapisu ścieżki:

Kod: Zaznacz cały

/data/userdata/device/config.xml
co więcej ten plik wyżej ładnie nadpisuje ustawienia wczytane z:

Kod: Zaznacz cały

/app/webroot/WebApp/common/config/device/config.xml
brak podpisu, tak jakby
tosiek
Specjalista bezprzewodowy-junior
Posty: 292
Rejestracja: 2012-03-24, 14:00
Lokalizacja: inąd

Re: Autouzupełnianie PINu w modemach i routerach Huawei Hilink

Post autor: tosiek »

garysek co pozmieniałeś w webui że zaczęło pin zapisywać? Własny skrypt?
brak podpisu, tak jakby
garysek
Stały użytkownik forum
Posty: 149
Rejestracja: 2017-04-03, 19:44

Re: Autouzupełnianie PINu w modemach i routerach Huawei Hilink

Post autor: garysek »

tosiek pisze:Modem w ogóle nie odczytuje:

Kod: Zaznacz cały

/data/userdata/device/savepin.xml
Jak już Ci zapamiętał pin i startuje bez podawania pinu, to skasuj ten plik i zrestartuj modem a przekonasz się, czy go odczytuje...
garysek co pozmieniałeś w webui że zaczęło pin zapisywać? Własny skrypt?
Przecież odpowiedź już padła w podlinkowanym temacie. W pliku /app/webroot/WebApp/common/config/device/config.xml w sekcji <savepin> zamieniłem:

Kod: Zaznacz cały

<simsavepinenable>0</simsavepinenable>
na

Kod: Zaznacz cały

<simsavepinenable>2</simsavepinenable>
tosiek
Specjalista bezprzewodowy-junior
Posty: 292
Rejestracja: 2012-03-24, 14:00
Lokalizacja: inąd

Re: Autouzupełnianie PINu w modemach i routerach Huawei Hilink

Post autor: tosiek »

Skrypt PIN-FIX
Dzięki garysek!
Ok kolejny prosty skrypt do automatycznej podmiany simsavepinenable na wartość 2 umożliwiającą zapis.

Wartości simsavepinenable :
0 - Disable PIN verification - wyłączenie sprawdzania pinu przy próbie zapisania, na kartach orange zwróci błąd na innych wyłączy PIN i nie zapisze go
1 - Disable PIN verification - jak wyżej, możliwe, że czymś się różni
2 - Remember my selection - umożliwia zapisanie pinu w /data/userdata/device/savepin.xml razem z identyfikatorem karty SIM więć obsługuje wiele kart

Pobieranie:
http://www.mediafire.com/file/55pv2ivgb ... hilink.zip
lub z załącznika
PIN-FIX-hilink.zip
Uruchom PIN-FIX.bat w razie potrzeby zmień adres IP modemu. Po zmianie wartości modem się uruchomi ponownie (wymagane).



Źródło:

Kod: Zaznacz cały

adb kill-server
adb connect 192.168.8.1
adb shell "cat /proc/mounts | busybox grep -o '/dev/block/mtdblock[[:digit:]]\+[[:space:]]\+/app/webroot' | while read line ; do mount -o remount,rw $line ;  done"
adb shell "busybox sed -e 's/<simsavepinenable>.*<\/simsavepinenable>/<simsavepinenable>2<\/simsavepinenable>/g' -i /app/webroot/WebApp/common/config/device/config.xml"
adb shell "cat /proc/mounts | busybox grep -o '/dev/block/mtdblock[[:digit:]]\+[[:space:]]\+/app/webroot' | while read line ; do mount -o remount,ro $line ;  done"
adb reboot
pause
e
Zmienia w pliku: /app/webroot/WebApp/common/config/device/config.xml

Skrypt automatycznie montuje /app/webroot do zapisu - może komuś się przydać do innych skryptów gdzie bywa pod różnymi partycjami mtdblock:

Kod: Zaznacz cały

adb shell "cat /proc/mounts | busybox grep -o '/dev/block/mtdblock[[:digit:]]\+[[:space:]]\+/app/webroot' | while read line ; do mount -o remount,rw $line ;  done"
brak podpisu, tak jakby
ODPOWIEDZ