Temat: 3ginfo - błąd w najnowszej wersji + pytanie

Aktualizacja 3ginfo do najnowszej wersji z 03.2024 na OW 22.03.6 przestaje zwracać jakiekolwiek dane w interfejsie na porcie 81 pomimo tego, że wcześniejsza wersja na tym samym modemie działa i wyświetla sporo informacji. Konsola przeglądarki zwraca błędy związane z json i plikiem js, który prawdopodobnie odpowiada za wpychanie danych na strone. Jednocześnie samo 3ginfo z poziomu konsoli jak i 3ginfo-luci działa poprawnie - interfejs na 81 już nie.

Zakładając, że korzystam z kilku modemów - jak za pomocą polecenia 3ginfo odwołać się do konkretnego modemu lub najlepiej uzyskać zrzut wszystkich danych (z wszytskich podłączonych modemów) w formie json lub choćby odpowiedź z samej konsoli? Nawet jeśli utworze kolejne sekcje w konfigu to zapytanie 3ginfo json zwraca odpowiedź tylko dla domyślnego modemu.

Chciałbym zrobić sobie skrypt, który na jednej stronie pokazałby mi dane z wszytskich modemów... W zasadzie skrypt już mam gotowy w pythonie i pobieram sobie wszystko w formie tabeli. Wykorzystuje do tego dane z ModemManager ale przy dwóch modemach dość mocno drenuje to procesor (w okolicach 20%) a modemów docelowo miałbym więcej, dlatego chciałem zobaczyć jakby to wyglądało w przypadku 3ginfo - pod warunkiem właśnie, że da się uzyskiwać dane poszczególnych z modemów lub wszystkiego co jest podłączone.

2

Odp: 3ginfo - błąd w najnowszej wersji + pytanie

Ale to nie jest ostatnia wersja 3ginfo. Zaktualizuj sobie i jeżeli będzie nadal błąd jsona - pokaż to. Może coś trzeba uzupełnić/naprawić.

Co do danych - zobacz sobie skrypt /usr/bin/3ginfo który takie dane odczytuje i wyświetla w konsoli. On też czyta jsona i przerabia go na postać tekstową dla usera.

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

3 (edytowany przez client22 2024-07-30 08:21:38)

Odp: 3ginfo - błąd w najnowszej wersji + pytanie

No w historii zmian w linku poniżej pisze, że ostatnia wersja jest z marca tego roku.
https://eko.one.pl/?p=openwrt-3ginfo#in … unikacyjny

Ale faktycznie z opisu nazw samych plików wynika, że mogą to być późniejsze wersje. Tak czy inaczej zainstalowałem te pliki:
3ginfo_20240424_all.ipk
3ginfo-lite_20240424_all.ipk
3ginfo-text_20240424_all.ipk

Zrestartowałem i interfejs na porcie 81 nie działa (pod x86). Sama strona się wczytuje ale żadne dane nie są odświeżane. W Luci i konsloli działa. Konsola chrome co około 10 sekund zwraca błąd związany z json w pliku js (okolice linii 300 z tego co pamietam).

4 (edytowany przez Cezary 2024-07-30 09:37:04)

Odp: 3ginfo - błąd w najnowszej wersji + pytanie

Ale napisałem żebyś mi pokazał tego jsona.

Pokaż:

uci show 3ginfo
sh -x /usr/bin/3ginfo

lub 3ginfo json

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

5 (edytowany przez client22 2024-07-31 02:56:33)

Odp: 3ginfo - błąd w najnowszej wersji + pytanie

Po aktualizacji ze starego 3ginfo do 3ginfo-text_20240424_all.ipk komunikat błędu z konsoli przeglądarki wygląda tak i powtarza się co 5 sekund:

VM2078:4 Uncaught 
SyntaxError: Unexpected token ',', "
{"res":[
[
,
]
]}
" is not valid JSON
    at JSON.parse (<anonymous>)
    at xmlhttp.onreadystatechange (3ginfo.js?v=20240424:1:383)
xmlhttp.onreadystatechange  @   3ginfo.js?v=20240424:1
XMLHttpRequest.send (asynchronicznie)       
readdata    @   3ginfo.js?v=20240424:1
showmodemparams @   3ginfo.js?v=20240424:1

Jednocześnie sam 3ginfo w konsoli niby działa:

root@OpenWrt:~# 3ginfo
Status: Rozłączony
Czas polaczenia: -
Przeslano danych: - / -
Operator: ---
Tryb pracy: EDGE
Sila sygnalu: 58%
Urzadzenie: huawei E173
MCC MNC: - -
LAC: - (-)
CID: - (-)
TAC: - (-)
CSQ: 18
RSSI: -77 dBm
RSCP: -145 dBm
Ec/IO: -32 dB
RSRP: - dBm
SINR: - dB
RSRQ: - dB
root@OpenWrt:~#

https://i.imgur.com/h2OpaKJ.png

Możliwe, że błąd może mieć jakiś związek z tym ICCID, który dodałeś w interfejsie bo ten modem raczej nie wyciagnie ICCID za pomocą AT...Sam probowałem wysyłać komendy AT przez ModemManeger i nie chciało mi pokazać ICCID.

6

Odp: 3ginfo - błąd w najnowszej wersji + pytanie

1. Nie używaj 3ginfo z modemmanagerem. Modemnaganer bierze interfesy dla siebie i inny proces nie może czytać danych z takiego interfejsu
2. Nie ma danych z modemu i nic nie ściąga, stąd ten błąd. Kompletnie nic nie ściga z modemu.

Jeszcze raz: pokaż uci show 3ginfo, później wyłącz kompletnie modemmanager, a później pokaż wyniki wyniki

sh -x /usr/share/3ginfo/infoparms.sh /dev/ttyUSB0

Gdzie za /dev/ttyUSB0 podstaw sobie właściwy interfejs komunikacyjny modemu który zdefiniowałeś w konfigu.

Na razie to 3ginfo wyświetla błędy bo modem nie ściąga danych. ICCID robione jest oddzielnym procesem i tak, da się go odczytać przez odpowiednie polecenia AT.

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

7 (edytowany przez client22 2024-08-01 07:33:29)

Odp: 3ginfo - błąd w najnowszej wersji + pytanie

1. Nie mam tutaj nawet zainstalowanego ModemManagera. To świeża instalacja na x86. Wrzuciłem najpierw starą wesję 3ginfo, po czym zaktualizowałem do nowej i efekt jest taki jak widzisz.

2. Jesli używam ModemManager to i tak przez wiekszość czasu mam wyłączone modemy dla ModemManagera (mmcli -m 1 -d) i użwam tego tylko do wysyłania ussd.

3. Nawet jeśli włączam ModemManager to mam zrobiony porządek z interfejsami aby nic nie kolidowało. Pierwszy interfejs na każdym modemie używam do smstools. Durgi dla 3ginfo jak potrzebuje sprawdzić zasięg lub wysłać ussd.

4. Modem nie łapie zasięgu bo przeniosłem sprzęt w inne miejsce. Generalnie mam problem z zasięgiem na orange ale wczoraj coś tam łapało i było to samo czyli 3ginfo nie pokazywało żadnych danch. Jak chcesz to mogę Ci podłaczyć modem Plusa gdzie łapie zasięg bez problemu i będzie to samo.

5. Ewidentnie widać, że 3ginfo.js?v=20240424:1:383 generuje błędy co killa sekund. Jak zakładka jest otwarta kilka dłuzej to błąd powielany jest w nieskończoność.

Czy możesz podać komendę AT, która wyciaga ICCID?

root@OpenWrt:~# echo "AT+CCID" | comgt -d /dev/ttyUSB5
SIM ready
Waiting for Registration..(120 sec max).............................................................
Failed to register
root@OpenWrt:~# 

...Wcześniej próbowałem jeszcze wysyłać komendy AT żeby pokazało CCID w trybie debugowania przez ModemManager to zwracało, że modem nie wspiera tej komendy.

root@OpenWrt:~# uci show 3ginfo
3ginfo.@3ginfo[0]=3ginfo
3ginfo.@3ginfo[0].http_port='81'
3ginfo.@3ginfo[0].language='pl'
3ginfo.@3ginfo[0].network='wan'
3ginfo.@3ginfo[0].device='/dev/ttyUSB2'
root@OpenWrt:~# 
root@OpenWrt:~# sh -x /usr/share/3ginfo/infoparms /dev/ttyUSB2
sh: can't open '/usr/share/3ginfo/infoparms': No such file or directory
root@OpenWrt:~# 

8

Odp: 3ginfo - błąd w najnowszej wersji + pytanie

Zrób:

sh -x /usr/share/3ginfo/infoparms.sh /dev/ttyUSB2

Polecenie do wyciągania ICCID zależy od modemu i jego producenta. 3ginfo wyciąga to skryptem dla gcoma, zobacz sobie zawartość pliku  /usr/share/3ginfo/vendorproduct.gcom

4. Tak, podłącz, pokaz co wypluwa 3ginfo.

5.

Ewidentnie widać, że 3ginfo.js?v=20240424:1:383 generuje błędy co killa sekund. Jak zakładka jest otwarta kilka dłuzej to błąd powielany jest w nieskończoność.

Oczywiście że generuje błędy bo woła skrypt który nie zwraca danych bo z modemem nie chce gadać.

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