Ostatecznie doszedłem do wniosku, że przyczyną wszystkich problemów może być modem E173. Z tego co widzę te modemy występują w różnych wersjach hardwarowych...Na te chwilę posiadam 4 takie modemy (jutro będę miał kolejny) w wersji u-1 + jeden s-2 z czego najsprawniej działa ten ostatni, co widać po zapytaniach wysyłanych do konsoli poniżej ("modem2" to wersja s-2). To samo jest z odbieraniem sms. s-2 odbiera bez problemu. Na u-2 są problemy i zdarza się, że nie działa. Aktualnie 2 u-2 "ożyły" i odbierają sms ale jednego za nic nie mogę zmusić do poprawnego działania pod OpenWrt. Najgorsze jest to, że nawet nie wiem czy mam aktualny soft bo Huawei usunął wszystkie ślady po tym modemie ze swojej strony.
W jednym z u-1 było wgrane 11.126.83.00.264, wykonałem update do 11.126.85.00.209 ale zbyt dużo to nie pomogło i nadal wysyłanie USSD nie działa zbyt sprawnie.
W dwóch pozostałych u-1 siedzi: 11.126.85.01.00 i rezultat zapytań USSD jest podobny do tego poniżej:
root@OpenWrt:~# mmcli -L
/org/freedesktop/ModemManager1/Modem/1 [huawei] E173
root@OpenWrt:~# mmcli -m 1 -e
successfully enabled the modem
root@OpenWrt:~# mmcli -m 1 --3gpp-ussd-initiate="*124*#"
error: couldn't initiate USSD session: 'Timeout was reached'
root@OpenWrt:~# mmcli -m 1 --3gpp-ussd-initiate="*124*#"
error: couldn't initiate USSD session: 'GDBus.Error:org.freedesktop.ModemManager1.Error.Core.WrongState: Cannot initiate USSD: a session is already active'
root@OpenWrt:~# mmcli -m 1 --3gpp-ussd-initiate="*124*#"
error: couldn't initiate USSD session: 'GDBus.Error:org.freedesktop.ModemManager1.Error.Core.WrongState: Cannot initiate USSD: a session is already active'
root@OpenWrt:~# mmcli -m 1 --3gpp-ussd-initiate="*124*#"
error: couldn't initiate USSD session: 'GDBus.Error:org.freedesktop.ModemManager1.Error.Core.WrongState: Cannot initiate USSD: a session is already active'
root@OpenWrt:~# mmcli -m 1 --3gpp-ussd-initiate="*124*#"
error: couldn't initiate USSD session: 'GDBus.Error:org.freedesktop.ModemManager1.Error.Core.WrongState: Cannot initiate USSD: a session is already active'
root@OpenWrt:~# mmcli -L
/org/freedesktop/ModemManager1/Modem/1 [huawei] E173
root@OpenWrt:~# mmcli -L
/org/freedesktop/ModemManager1/Modem/1 [huawei] E173
/org/freedesktop/ModemManager1/Modem/2 [huawei] E173
root@OpenWrt:~# mmcli -m 2 -e
successfully enabled the modem
root@OpenWrt:~# mmcli -m 2 --3gpp-ussd-initiate="*124*#"
USSD session initiated; new reply from network: 'Twoja oferta to Orange Free.
1.Stan konta glownego: 0.00 zl. Srodki wazne 0 dni.'
root@OpenWrt:~# mmcli --modem=1
-----------------------------
General | path: /org/freedesktop/ModemManager1/Modem/1
| device id: 1d469cd4f40e235e9b133c748d7aeca33f39f39c
-----------------------------
Hardware | manufacturer: huawei
| model: E173
| firmware revision: 11.126.85.00.209
| supported: gsm-umts
| current: gsm-umts
| equipment id: 869xxxxxxxxx
-----------------------------
System | device: /sys/devices/platform/101c0000.ehci/usb1/1-1/1-1.1
| drivers: option1, cdc_ether
| plugin: huawei
| primary port: ttyUSB0
| ports: ttyUSB0 (at), wwan0 (net)
-----------------------------
Numbers | own: +48510xxxxxx
-----------------------------
Status | unlock retries: sim-pin (3), sim-puk (10), sim-pin2 (3), sim-puk2 (10)
| state: registered
| power state: on
| access tech: edge
| signal quality: 40% (recent)
-----------------------------
Modes | supported: allowed: 2g, 3g; preferred: none
| allowed: 2g, 3g; preferred: 2g
| allowed: 2g, 3g; preferred: 3g
| allowed: 2g; preferred: none
| allowed: 3g; preferred: none
| current: allowed: 2g, 3g; preferred: 3g
-----------------------------
IP | supported: ipv4, ipv6
-----------------------------
3GPP | imei: 8698780xxxxxxx
| operator id: 26003
| operator name: Orange
| registration: home
-----------------------------
SIM | primary sim path: /org/freedesktop/ModemManager1/SIM/1
root@OpenWrt:~# mmcli --modem=2
-----------------------------
General | path: /org/freedesktop/ModemManager1/Modem/2
| device id: 065250671b3e80ecc8bf7de5d15809421efaad71
-----------------------------
Hardware | manufacturer: huawei
| model: E173
| firmware revision: 21.017.09.00.00
| supported: gsm-umts
| current: gsm-umts
| equipment id: 352xxxxxxxxxxx
-----------------------------
System | device: /sys/devices/platform/101c0000.ehci/usb1/1-1/1-1.4/1-1.4.3
| drivers: option1
| plugin: huawei
| primary port: ttyUSB5
| ports: ttyUSB3 (at), ttyUSB5 (at)
-----------------------------
Numbers | own: +48510xxxxx
-----------------------------
Status | unlock retries: sim-pin (3), sim-puk (10), sim-pin2 (3), sim-puk2 (10)
| state: registered
| power state: on
| access tech: edge
| signal quality: 38% (recent)
-----------------------------
Modes | supported: allowed: 2g, 3g; preferred: none
| allowed: 2g, 3g; preferred: 2g
| allowed: 2g, 3g; preferred: 3g
| allowed: 2g; preferred: none
| allowed: 3g; preferred: none
| current: allowed: 2g, 3g; preferred: 3g
-----------------------------
IP | supported: ipv4
-----------------------------
3GPP | imei: 352xxxxxxxxx
| operator id: 26003
| operator name: Orange
| registration: home
-----------------------------
SIM | primary sim path: /org/freedesktop/ModemManager1/SIM/2
@cezary, czy w 21.02 jest udev? ..Szukając wcześniej byłem pewien, że nie ma. Aktualnie po instalacji ModemManager w katalogu lib pojawił się udev. ..Masz może jakiś skrypt, który ogrania nazwy interfejsów? ..Wcześniej mając dwa modemy z różnymi oznaczeniami PRODUCT, korzystałem z tego poniższego do hotplug.d ale w tej chwili mam 3 modemy, które mają takie samo oznaczenie (x12d1:1436). Modemy mam ponumerowane i wpinam w te same porty huba wiec mógłbym opierać się na stałych ścieżkach konkretnych portów (jeśli rzeczywiście się one nie zmieniają).
#!/bin/sh
if [ "$DEVTYPE" = "usb_interface" ] && [ "$ACTION" = "add" ]; then
for tty in /sys/$DEVPATH/ttyUSB*; do
[ -d "$tty" ] || continue
OLDD=${tty##*/}
# to jest E173 1
if [ "x$PRODUCT" = "x12d1/1c05/102" ]; then
NEWD="GSM1_"${DEVPATH##*.}
rm /dev/$NEWD
ln -s /dev/$OLDD /dev/$NEWD
fi
# to jest E173 2
if [ "x$PRODUCT" = "x12d1/1436/0" ]; then
NEWD="GSM2_"${DEVPATH##*.}
rm /dev/$NEWD
ln -s /dev/$OLDD /dev/$NEWD
fi
done
fi