26

(27 odpowiedzi, napisanych Oprogramowanie / Software)

A nie forwardg lan < > Guest? Wcześniej testowaem to na AP (192.168.0.2) na którym nie korzystam z WAN-u. WAN-u używam tylko w routerze tworzącym podsiec 192.168.1.1 (no i oczywiście głównym). Wrzucam dokładny schemat mojej sieci.

Jeśli wywalę Guest z interfejsu "REPEATER_BRIDGE" to internet w podsieci nie działa.

Skanując otoczenie w podsieci co prawda nie wyświetla żadnych urządzeń z głownej sieci ale wbijajac bezpośrednio adres serwera FTP czy po smb łączy się bezporoblemowo. Tak samo jak np. z głównym routerem 192.168.0.1 to jest normalne?

PunBB bbcode test

W jaki sposób modyfukuje się te strefy w GUI? W interfejsie Guest od VLANu chce zostawić tylko lan + Guest. W polu --custom-- wpisuje te nazwy po przecinku ale nie przyjmuje tych ustawień.

PunBB bbcode test

27

(27 odpowiedzi, napisanych Oprogramowanie / Software)

Właśnie poszedłem podłączyć się ze smartfonem do podsieci aby sprawdzić czy na pewno wszytsko działa i okazuje się, że..mam wejście na serwer FTP, który znajduje się w mojej głównej sieci czyli w praktyce wychodzi na to, że separacja z poziomu podsieci nie działa.

AP, którego konfigurację podałem w poprzenim poście tak naprawdę był routerem testowym, który mam spięty kablem z głównym routerem. Tam wszystko wydawało się działać i nie widziałem urządzeń z mojej głównej sieci. Docelowo jednak tą podsieć potrzebuje uruchomić na routerze, który pracuje w trbie client - odbiera syganał po radiu z AP w domu i przekazuje na kabel.

Skonfigurowałem tam wszystko analogicznie tak jak wcześniej na routerze testowym ale początkowo internet nie działał. Ruszyło dopiero gdy w interfejsie "REPEATER_BRIDGE" dodałem nowo utworzony interfejs "Guest" - wtedy internet zadziałał no ale teraz okazuje się, że podsieć nie ma separacji sieci. Co ciekawe gdy próbuję łączyć się z głównej sieci do podsieci wejścia na router 192.168.1.1 brak. Da się to jakoś obejść?


PunBB bbcode test


config interface 'loopback'
    option ifname 'lo'
    option proto 'static'
    option ipaddr '127.0.0.1'
    option netmask '255.0.0.0'

config globals 'globals'
    option ula_prefix 'fd55:01d0:5e36::/48'

config interface 'lan'
    option type 'bridge'
    option ifname 'eth0.1'
    option proto 'static'
    option netmask '255.255.255.0'
    option ip6assign '60'
    option ipaddr '192.168.0.3'

config device 'lan_eth0_1_dev'
    option name 'eth0.1'
    option macaddr 'd8:fe:e3:73:bb:dc'

config device 'wan_eth0_2_dev'
    option name 'eth0.2'
    option macaddr 'd8:fe:e3:73:bb:dd'

config switch
    option name 'switch0'
    option reset '1'
    option enable_vlan '1'

config switch_vlan
    option device 'switch0'
    option vlan '1'
    option ports '6t 0 1 3'

config switch_vlan
    option device 'switch0'
    option vlan '2'
    option ports '6t 4'

config interface 'wwan'
    option proto 'dhcp'

config interface 'repeater_bridge'
    option proto 'relay'
    option ipaddr '192.168.0.3'
    option gateway '192.168.0.1'
    list network 'Guest'
    list network 'lan'
    list network 'wwan'

config switch_vlan
    option device 'switch0'
    option ports '6t 2'
    option vlan '3'

config interface 'Guest'
    option proto 'static'
    option ifname 'eth0.3'
    option type 'bridge'
    option netmask '255.240.0.0'
    option ipaddr '172.16.0.1'
    option gateway '192.168.0.1'

28

(27 odpowiedzi, napisanych Oprogramowanie / Software)

Dzieki, faktycznie to rozwiazało problem. Nie bawiłem się wcześniej VLAN-ami więc myślałem, że aby izolować port musi być ustawiony na tagged. Teraz podpinając nowy router pod WAN jest połączenie z internetem. Zarówno w interfejsie jak i na w nowym routerze mam włączone DHCP.

Jest szansa abym jednostronnie miał wejście do tej podsieci z poziomu swojej sieci? Teraz chcąc dostać się do tego routera muszę wychodzić na zewnątrz aby złapać Wi-Fi wink Ewentualnie mógłbym jeszcze przekierować port i wbijać po zewnętrzym IP ale nie wiem czy to dobry pomysł. Gdzieś słyszałem, że komunikacja między dwiema sieciami wymaga dodatkowego routera, który spina obie. Możesz potwierdzić?

29

(27 odpowiedzi, napisanych Oprogramowanie / Software)

1. Jeżeli wydzieliłeś port a nie że zrobiłeś tagowany vlanu to nie, nie wymaga

No właśnie, że zrobiłem tagowany bo byłem pewien, że na tym to polega wydzielenie portu i nie ma innej możliwości aby to zrobić inaczej. Ten wydzielony port to LAN1. Aktualnie wyglda to jak widać.

Czytając co dalej napisałeś to on robi za faktyczny router i ma być podłączony do swojego wanu.

Jeśli podepnę się pod WAN to nie mam możliwości dostania się do panelu po kablu.

PunBB bbcode test

config interface 'loopback'
    option device 'lo'
    option proto 'static'
    option ipaddr '127.0.0.1'
    option netmask '255.0.0.0'

config globals 'globals'
    option ula_prefix 'fde3:fbaa:58a7::/48'

config device
    option name 'br-lan'
    option type 'bridge'
    list ports 'eth0.1'

config interface 'lan'
    option device 'br-lan'
    option proto 'static'
    option netmask '255.255.255.0'
    option ip6assign '60'
    option gateway '192.168.0.1'
    list dns '8.8.8.8'
    option ipaddr '192.168.0.2'

config interface 'wan'
    option device 'eth0.2'
    option proto 'dhcp'

config interface 'wan6'
    option device 'eth0.2'
    option proto 'dhcpv6'

config switch
    option name 'switch0'
    option reset '1'
    option enable_vlan '1'

config switch_vlan
    option device 'switch0'
    option vlan '1'
    option vid '1'
    option ports '6t 0'

config switch_vlan
    option device 'switch0'
    option vlan '2'
    option vid '2'
    option ports '6t 4'

config interface 'vpn'
    option proto 'none'
    option device 'tun0'
    option type 'bridge'

config switch_vlan
    option device 'switch0'
    option vlan '3'
    option vid '3'
    option description 'guest'
    option ports '6t 1t'

config interface 'Guest'
    option device 'eth0.3'
    option proto 'static'
    option type 'bridge'
    option ipaddr '172.16.0.1'
    option netmask '255.240.0.0'
    option gateway '192.168.0.1'

Potrzebuje wydzielić jeden fizyczny port na AP do którego podepnę osobny router, który następnie chce w całości udostępnić innej osobie w osobnym pomieszczeniu. Krótko mówiąc potrzebuje odseparować swoją sieć i udostępnić samo połączenie internetowe na osobnym routerze. Poczytałem tutaj trochę i chyba udało się uzyskać wstępną konfigurację - jednak za nic nie mogę uzyskać połączenia z internetem z poziomu nowej sieci. Pytania na które nie znam odpowiedzi to:

1. Czy dodatkowy router do pracy z VLAN wymaga jakiejś szczególnej konfiguracji?
2. DHCP na tym osobnym routerze ma być włączone czy wyłączone?
3. Kabel ma być wpięty do portu LAN czy WAN?

W swojej podstawowej sieci korzystam z adresacji 192.168.0.1 - to adres głównego routera (brama).

AP na którym próbuje udostępniać VLAN korzysta z adresu 192.168.0.2 utworzyłem tu odpowiednią grupę w zakładce switch i dodatkowy interfejs ale zastanawiam się jaki adres ustawić dla nowo utworzonego interfejsu pod VLAN? Czy DHCP w tym interfejsie ma być włączone?

Ten dodatkowy router w zasadzie korzyta z domyślnych ustawień i ma adresację 192.168.1.1

Przerabiałem już sporo konfiguracji od wczoraj m.in z podawaniem adresu bramy w interfejsie włączaniem DHCP ale połączenia z internetem na dodatkowym routerze jak nie było tak nie ma dlatego postanowiłem założyć temat.

31

(18 odpowiedzi, napisanych Oprogramowanie / Software)

W zasadzie to ten router nie musi koniecznie działać jako AP ale zaznaczam, że nie chcę go wykorzystywać w roli głównego routera.

1. A gdybym podpiął go do portu WAN a z drugiej strony do LAN głównego routera to coś zmieni?
2. Czy gdybym zbudował jakąś podsieć to dałoby się to ustawić?

Potrzebuje po prostu jeden router/punkt dostępu gdzie klienci będą wychodzić w świat z IP VPN-a. Jeśli VPN nie jest połączony klienci nie mają wyjścia na świat.

32

(18 odpowiedzi, napisanych Oprogramowanie / Software)

Nie zmieniajac nic z domyślnej konfiguracji usunąłem tylko te dwie linie z pliku firewall, zrestartowałem i to działa na odwrót czyli:

Będąc połączonym z dostawcą VPN, internet nie działa.

Jeśli natomiast rozłącze VPN, działa z domyślnym IP.

A nie jest przypadkiem problemem to, że w interfejsie LAN jako gateway mam wprowadzony adres głównego rutera 192.168.0.1 ?

PunBB bbcode test

33

(18 odpowiedzi, napisanych Oprogramowanie / Software)

Próbowałem ale jakoś nie jestem w stanie jak należy skonfigurować tego killswitch-a.

Za każdym razem jeśli rozłącze VPN, połączenie na świat wychodzi przez główną bramę 192.168.0.1

Wyjściowa konfiguracja przed wprowadzeniem zmian wygląda jak poniżej (kod+screen).

Teraz podążając za instrukcją:
https://openwrt.org/docs/guide-user/ser … lient-luci

1. "Najpierw usuń interfejs tun ze strefy WAN"

- tutaj usuwam vpn ze strefy lan

2. "Następnie kliknij przycisk Dodaj pod listą Strefy , aby dodać nową strefę.
Wybierz Maskarada , MSS Clamping i wybierz interfejs LAN w menu Zezwalaj na przekazywanie ze stref źródłowych"

- w tym kroku dodaje nową strefę o nazwie "VPN" i w "Allow forward to destination zones" wybieram "LAN"

Będąc fizycznie podłączonym klientem do 192.168.0.4 z manualnie ustawioną bramą na 192.168.0.4 (czyli tam gdzie mam VPN), po rozłączeniu VPN, mam wyjściowe IP swojego providera, czyli nie odcina.

config defaults
    option syn_flood '1'
    option input 'ACCEPT'
    option output 'ACCEPT'
    option forward 'REJECT'

config zone
    option name 'lan'
    list network 'lan'
    option input 'ACCEPT'
    option output 'ACCEPT'
    option forward 'ACCEPT'

config zone
    option name 'wan'
    list network 'wan'
    list network 'wan6'
    option input 'REJECT'
    option output 'ACCEPT'
    option forward 'REJECT'
    option masq '1'
    option mtu_fix '1'

config forwarding
    option src 'lan'
    option dest 'wan'

config rule
    option name 'Allow-DHCP-Renew'
    option src 'wan'
    option proto 'udp'
    option dest_port '68'
    option target 'ACCEPT'
    option family 'ipv4'

config rule
    option name 'Allow-Ping'
    option src 'wan'
    option proto 'icmp'
    option icmp_type 'echo-request'
    option family 'ipv4'
    option target 'ACCEPT'

config rule
    option name 'Allow-IGMP'
    option src 'wan'
    option proto 'igmp'
    option family 'ipv4'
    option target 'ACCEPT'

config rule
    option name 'Allow-DHCPv6'
    option src 'wan'
    option proto 'udp'
    option src_ip 'fc00::/6'
    option dest_ip 'fc00::/6'
    option dest_port '546'
    option family 'ipv6'
    option target 'ACCEPT'

config rule
    option name 'Allow-MLD'
    option src 'wan'
    option proto 'icmp'
    option src_ip 'fe80::/10'
    list icmp_type '130/0'
    list icmp_type '131/0'
    list icmp_type '132/0'
    list icmp_type '143/0'
    option family 'ipv6'
    option target 'ACCEPT'

config rule
    option name 'Allow-ICMPv6-Input'
    option src 'wan'
    option proto 'icmp'
    list icmp_type 'echo-request'
    list icmp_type 'echo-reply'
    list icmp_type 'destination-unreachable'
    list icmp_type 'packet-too-big'
    list icmp_type 'time-exceeded'
    list icmp_type 'bad-header'
    list icmp_type 'unknown-header-type'
    list icmp_type 'router-solicitation'
    list icmp_type 'neighbour-solicitation'
    list icmp_type 'router-advertisement'
    list icmp_type 'neighbour-advertisement'
    option limit '1000/sec'
    option family 'ipv6'
    option target 'ACCEPT'

config rule
    option name 'Allow-ICMPv6-Forward'
    option src 'wan'
    option dest '*'
    option proto 'icmp'
    list icmp_type 'echo-request'
    list icmp_type 'echo-reply'
    list icmp_type 'destination-unreachable'
    list icmp_type 'packet-too-big'
    list icmp_type 'time-exceeded'
    list icmp_type 'bad-header'
    list icmp_type 'unknown-header-type'
    option limit '1000/sec'
    option family 'ipv6'
    option target 'ACCEPT'

config rule
    option name 'Allow-IPSec-ESP'
    option src 'wan'
    option dest 'lan'
    option proto 'esp'
    option target 'ACCEPT'

config rule
    option name 'Allow-ISAKMP'
    option src 'wan'
    option dest 'lan'
    option dest_port '500'
    option proto 'udp'
    option target 'ACCEPT'

config rule
    option name 'Support-UDP-Traceroute'
    option src 'wan'
    option dest_port '33434:33689'
    option proto 'udp'
    option family 'ipv4'
    option target 'REJECT'
    option enabled 'false'

config include
    option path '/etc/firewall.user'

config zone
    option name 'vpn'
    option input 'ACCEPT'
    option forward 'ACCEPT'
    option output 'ACCEPT'
    option network 'vpn'
    option masq '1'

config forwarding
    option src 'lan'
    option dest 'vpn'

PunBB bbcode test

34

(18 odpowiedzi, napisanych Oprogramowanie / Software)

Dziękuję. Rzeczywiście, wegług Twojej instrukcji + manulanej konfiguracji DNS w kliencie wszytsko działa, ale musiałem wcześniej przywrócić do ustawień fabrycznych.

Jeszcze jedna sprawa: jak teraz skonfigurować dodatkową regułę firewall-a aby odcinało połączenie na świat w przypadku gdy nie ma połączenia z VPN?

Czy moge zrobić tak samo jak w pkt. 6 tutaj?

https://openwrt.org/docs/guide-user/ser … lient-luci

Pytam bo nie chce znowu namieszać konfigurując metodą prób i błędów i przyznaje, że nie do końca rozumiem te reguły.. Zakładając, że nie korzystam z Wan-a i klient jest wpięty w port LAN to ta reguła od Wan-a jest tam w ogóle wykorzystywana i potrzebna?

35

(18 odpowiedzi, napisanych Oprogramowanie / Software)

0. Na głównym nawet nie mam takiej możliwości bo jest fabryczny soft TP-Linka i nawet nie bardzo mogę zmienić bo to sprzęt operatora wink Poza tym nie potrzebuję przepuszczć całego ruchu przez VPN a jedynie wybranych klientów, wiec nie problem aby skonfigurować manulanie jedno, dwa urządzenia podłączone po LAN-ie.
1. W interfejsie LAN mam wprowadzony adres bramy 192.168.0.1 wiec internet działa.
2. Openvpn też wydaje sie działać. Wprowadziłem config Protonvpn i w tej chwili wygląda to tak:
PunBB bbcode test

Generalnie próbując to skonfigurować w pewnym monencie utraciłem połączenie z routerem włącznie z ssh i musiałem przywrócić do fabrycznych więc jeśli istnieje gotowy config pod takie rozwiazanie to mógłbym wrzucić.

Czy jest mi ktoś w stanie powiedzieć jak skonfigurować tunel, który byłby dostepny tylko z jednego AP i wszytskiego co tam podłączę?

Próbowałem wykonać konfigurację wg. poniższych instrukcji ale wyjściowe IP klienta się nie zmienia.

Poniższe instrukcje zakładają, że konfiguracja wykonywana jest na głównym routerze a ja potrzebuje to tylko na dodatkowym:

https://hide.me/pl/vpnsetup/openwrt/openvpn/
https://openwrt.org/docs/guide-user/ser … lient-luci
https://protonvpn.com/support/how-to-se … t-routers/

Router główny (brama) 192.168.0.1
Router dodatkowy na który ma działać VPN 192.168.0.4

Próbowałem też konfigurować klienta manualnie jako bramę wprowadzając 192.168.0.4 - wtedy nie mam w ogóle połączenia.

Jeśli na kliencie dodatkowo skonfiguruję DNS jako: 8.8.8.8 internet działa, ale IP mam providera.

W utworzonym interfejsie tun0 widnieje także błąd "Unkown error"

PunBB bbcode test

37

(8 odpowiedzi, napisanych Oprogramowanie / Software)

Sorry, sprawdziłem raz jeszcze wszytsko i okazało się, że to jednak wina konfiguracji ESP32. Po wprowadzeniu zmian już nie rozłącza więc proponuję usunąć, tudzież przenieść wątek.

38

(8 odpowiedzi, napisanych Oprogramowanie / Software)

Mi WiFi Mini na MediaTek-u.
https://openwrt.org/toh/xiaomi/miwifi_mini

Czytałem gdzieś, że ten chip ma problemy jeśli chodzi o niektóre urządzenia.

Czy jest coś co mógłbym jeszcze sprawdzić? W zakładce software wisi mi kilka aktualizacji ale mam 483 KB wolnego miejsca, które zje mi do końca jeśli to zrobię.

busybox    1.33.1-6 » 1.33.2-2    ~211.9 KB    The Swiss Army Knife of embedded Linux.…    
Upgrade…
cgi-io    2020-10-27-ab4c3471-19 » 2021-09-08-98cef9dd-20    ~8.4 KB    This package contains an cgi utility that is useful for up/downloading files    
Upgrade…
hostapd-common    2020-06-08-5a8b3662-35 » 2020-06-08-5a8b3662-40    ~12.3 KB    hostapd/wpa_supplicant common support files    
Upgrade…
libexpat    2.2.10-1 » 2.2.10-2    ~39.1 KB    A fast, non-validating, stream-oriented XML parsing library.    
Upgrade…
libopenssl1.1    1.1.1l-1 » 1.1.1m-1    ~974.6 KB    The OpenSSL Project is a collaborative effort to develop a robust,…    
Upgrade…
libuci20130104    2020-10-06-52bbc99f-5 » 2021-04-14-4b3db117-5    ~15.8 KB    C library for the Unified Configuration Interface (UCI)    
Upgrade…
libustream-wolfssl20201210    2020-12-10-68d09243-1 » 2022-01-16-868fd881-1    ~4.8 KB    ustream SSL Library (wolfssl)    
Upgrade…
luci-app-firewall    git-21.244.20922-3b3c2e5 » git-22.046.85957-59c3392    ~15.0 KB    Firewall and Portforwarding application    
Upgrade…
luci-app-opkg    git-21.079.58598-6639e31 » git-21.312.69848-4745991    ~9.3 KB    OPKG package management application    
Upgrade…
luci-base    git-21.231.26241-422c175 » git-22.052.50801-31a27f3    ~129.8 KB    LuCI core libraries    
Upgrade…
luci-mod-network    git-21.243.25235-d9a228e » git-22.046.85061-dd54dce    ~47.1 KB    LuCI Network Administration    
Upgrade…
luci-mod-status    git-21.188.55036-eafe171 » git-22.046.85784-0ac2542    ~29.4 KB    LuCI Status Pages    
Upgrade…
netifd    2021-07-26-440eb064-1 » 2021-10-30-8f82742c-1    ~78.2 KB    OpenWrt Network Interface Configuration Daemon    
Upgrade…
procd    2021-02-23-37eed131-1 » 2021-03-08-2cfc26f8-1    ~50.1 KB    OpenWrt system process manager    
Upgrade…
rpcd    2021-03-11-ccb75178-1 » 2022-02-19-8d26a1ba-1    ~23.6 KB    This package provides the UBUS RPC backend server to expose various…    
Upgrade…
rpcd-mod-file    2021-03-11-ccb75178-1 » 2022-02-19-8d26a1ba-1    ~7.4 KB    Provides ubus calls for file and directory operations.    
Upgrade…
rpcd-mod-iwinfo    2021-03-11-ccb75178-1 » 2022-02-19-8d26a1ba-1    ~7.8 KB    Provides ubus calls for accessing iwinfo data.    
Upgrade…
uci    2020-10-06-52bbc99f-5 » 2021-04-14-4b3db117-5    ~7.3 KB    Utility for the Unified Configuration Interface (UCI)    
Upgrade…
uhttpd    2021-03-21-15346de8-1 » 2021-03-21-15346de8-2    ~28.1 KB    uHTTPd is a tiny single threaded HTTP server with TLS, CGI and Lua…    
Upgrade…
uhttpd-mod-ubus    2021-03-21-15346de8-1 » 2021-03-21-15346de8-2    ~8.6 KB    The ubus plugin adds a HTTP/JSON RPC proxy for ubus and publishes the…    
Upgrade…
usbids    0.350-1 » 0.354-1    ~251.2 KB    USB ID list

39

(8 odpowiedzi, napisanych Oprogramowanie / Software)

Jak w temacie, AP wywala mi urządzenia z wlan 2.4 Generalnie nie zwróciłbym na to uwagi gdyby nie fakt, że jednym z klientów, które łączą się z tym AP jest płytka ESP32, które zbiera mi dane z czujników BLE i wysyła na serwer. Zdarza się po takim rozłączeniu, że płytka nie łączy się ponownie z siecią przez kilka godzin przez co trudno posiłkować się tym co jest wyświetlane bez urzedniego sprawdzenia połęczenia. Początkowo myślałem, że to kwestia konfiguracji samego ESP ale z logów wynika, że inne urządzenia także są rozłączane.

"Disable Inactivity Polling" mam zaznaczone.

Fragnemt loga wygląda tak:

Thu Mar 10 08:35:16 2022 daemon.info hostapd: wlan1: STA 3c:2e:ff:a9:36:84 IEEE 802.11: authenticated
Thu Mar 10 08:35:16 2022 daemon.info hostapd: wlan1: STA 3c:2e:ff:a9:36:84 IEEE 802.11: associated (aid 6)
Thu Mar 10 08:35:16 2022 daemon.notice hostapd: wlan1: AP-STA-CONNECTED 3c:2e:ff:a9:36:84
Thu Mar 10 08:35:16 2022 daemon.info hostapd: wlan1: STA 3c:2e:ff:a9:36:84 WPA: pairwise key handshake completed (RSN)
Thu Mar 10 11:10:01 2022 authpriv.info dropbear[24071]: Exit (root) from <192.168.0.100:59108>: Exited normally
Thu Mar 10 12:47:07 2022 daemon.info hostapd: wlan1: STA 94:b9:7e:d6:37:6c IEEE 802.11: authenticated
Thu Mar 10 12:47:07 2022 daemon.info hostapd: wlan1: STA 94:b9:7e:d6:37:6c IEEE 802.11: associated (aid 7)
Thu Mar 10 12:47:07 2022 daemon.notice hostapd: wlan1: AP-STA-CONNECTED 94:b9:7e:d6:37:6c
Thu Mar 10 12:47:07 2022 daemon.info hostapd: wlan1: STA 94:b9:7e:d6:37:6c WPA: pairwise key handshake completed (RSN)
Thu Mar 10 13:02:07 2022 daemon.notice hostapd: wlan1: AP-STA-DISCONNECTED 94:b9:7e:d6:37:6c
Thu Mar 10 13:02:07 2022 daemon.info hostapd: wlan1: STA 94:b9:7e:d6:37:6c IEEE 802.11: disassociated
Thu Mar 10 13:02:08 2022 daemon.info hostapd: wlan1: STA 94:b9:7e:d6:37:6c IEEE 802.11: deauthenticated due to inactivity (timer DEAUTH/REMOVE)
Thu Mar 10 13:03:25 2022 daemon.info hostapd: wlan1: STA 94:b9:7e:d6:37:6c IEEE 802.11: authenticated
Thu Mar 10 13:03:25 2022 daemon.info hostapd: wlan1: STA 94:b9:7e:d6:37:6c IEEE 802.11: associated (aid 7)
Thu Mar 10 13:03:25 2022 daemon.notice hostapd: wlan1: AP-STA-CONNECTED 94:b9:7e:d6:37:6c
Thu Mar 10 13:03:25 2022 daemon.info hostapd: wlan1: STA 94:b9:7e:d6:37:6c WPA: pairwise key handshake completed (RSN)
Thu Mar 10 13:18:25 2022 daemon.notice hostapd: wlan1: AP-STA-DISCONNECTED 94:b9:7e:d6:37:6c
Thu Mar 10 13:18:25 2022 daemon.info hostapd: wlan1: STA 94:b9:7e:d6:37:6c IEEE 802.11: disassociated
Thu Mar 10 13:18:26 2022 daemon.info hostapd: wlan1: STA 94:b9:7e:d6:37:6c IEEE 802.11: deauthenticated due to inactivity (timer DEAUTH/REMOVE)
Thu Mar 10 14:00:38 2022 daemon.notice hostapd: wlan1: AP-STA-DISCONNECTED 18:70:3b:32:d4:ce
Thu Mar 10 14:00:38 2022 daemon.info hostapd: wlan1: STA 18:70:3b:32:d4:ce IEEE 802.11: authenticated
Thu Mar 10 14:00:38 2022 daemon.info hostapd: wlan1: STA 18:70:3b:32:d4:ce IEEE 802.11: associated (aid 5)
Thu Mar 10 14:00:38 2022 daemon.notice hostapd: wlan1: AP-STA-CONNECTED 18:70:3b:32:d4:ce
Thu Mar 10 14:00:38 2022 daemon.info hostapd: wlan1: STA 18:70:3b:32:d4:ce WPA: pairwise key handshake completed (RSN)
Thu Mar 10 20:04:40 2022 daemon.notice hostapd: wlan1: AP-STA-DISCONNECTED 3c:2e:ff:a9:36:84
Thu Mar 10 20:04:40 2022 daemon.info hostapd: wlan1: STA 3c:2e:ff:a9:36:84 IEEE 802.11: authenticated
Thu Mar 10 20:04:40 2022 daemon.info hostapd: wlan1: STA 3c:2e:ff:a9:36:84 IEEE 802.11: associated (aid 6)
Thu Mar 10 20:04:40 2022 daemon.notice hostapd: wlan1: AP-STA-CONNECTED 3c:2e:ff:a9:36:84
Thu Mar 10 20:04:40 2022 daemon.info hostapd: wlan1: STA 3c:2e:ff:a9:36:84 WPA: pairwise key handshake completed (RSN)
Thu Mar 10 21:35:37 2022 daemon.notice hostapd: wlan1: AP-STA-DISCONNECTED 3c:2e:ff:a9:36:84
Thu Mar 10 21:35:37 2022 daemon.info hostapd: wlan1: STA 3c:2e:ff:a9:36:84 IEEE 802.11: disassociated due to inactivity
Thu Mar 10 21:35:38 2022 daemon.info hostapd: wlan1: STA 3c:2e:ff:a9:36:84 IEEE 802.11: deauthenticated due to inactivity (timer DEAUTH/REMOVE)

plik etc/wireless

config wifi-device 'radio0'
    option type 'mac80211'
    option channel '36'
    option hwmode '11a'
    option path 'pci0000:00/0000:00:00.0/0000:01:00.0'
    option htmode 'VHT80'
    option disabled '1'

config wifi-iface 'default_radio0'
    option device 'radio0'
    option network 'lan'
    option mode 'ap'
    option ssid 'OpenWrt'
    option encryption 'none'
    option disassoc_low_ack '0'

config wifi-device 'radio1'
    option type 'mac80211'
    option hwmode '11g'
    option path 'platform/10180000.wmac'
    option htmode 'HT40'
    option channel '10'
    option cell_density '0'
    option noscan '1'
    option txpower '20'
    option disassoc_low_ack '0'

config wifi-iface 'default_radio1'
    option device 'radio1'
    option mode 'ap'
    option encryption 'psk2'
    option key 'xxxxx'
    option ssid 'INEA'
    option disassoc_low_ack '0'
    option skip_inactivity_poll '1'
    option network 'lan'
    option macfilter 'deny'

40

(28 odpowiedzi, napisanych Oprogramowanie / Software)

Tu nie chodzi o błąd "GSM2_0" bo on w ogóle nie jest podpięty więc to normalne, że taki błąd wywala, ale o to "/dev/ttyGSMO1_AT, error: Is a directory, waiting 30 sec" - niby mam symlinka w katalogu ale jest jakby nieaktywny. Testuje na razie przy minimalnej konfiguracji, na jednym modemie. Wrzuciłem, ten log GSM2_0 aby pokazać, że komunikaty błędów się różnią. Inaczej wygląda komunikat o błędzie jeśli symlink w ogóle nie istnieje w a inaczej jeśli symlink niby jest w katalogu ale z jakiegoś powodu nie działa.

Ale mniejsza z tym, bo znalazłem już inny skrypt do hotpluga. Wygląda może mniej elegancko i czytelnie ale przynajmniej działa jak należy.

#!/bin/sh

#
# /etc/hotplug.d/tty/10-persistent_ttys
#
# creates persistent USB tty device links under /dev/serial/by-port based on usb port number (eg hub port)
#
# Sat Jan 26 23:28:14 CET 2019        Michael Rausch <mrausch (at) netadair.de>      Initial version
# Tue Mar 17 16:24:29 CET 2020        Michael Rausch                    Fixed regex for ttyACM
#
# TODO: check with multi-tty UMTS adapters
#

. /lib/functions.sh
. /lib/functions/procd.sh

logger -t DEBUG "hotplug tty: action='$ACTION' devicename='$DEVICENAME' devname='$DEVNAME' devpath='$DEVPATH' product='$PRODUCT' type='$TYPE' interface='$INTERFACE'"

# Sun Jan 20 10:35:27 2019 user.notice DEBUG: hotplug tty: action='add' devicename='ttyUSB1' devname='ttyUSB1' devpath='/devices/pci0000:00/0000:00:13.0/usb1/1-2/1-2.2/1-2.2:1.0/ttyUSB1/tty/ttyUSB1' product='' type='' interface=''
# /dev/serial/by-port//sys/devices/platform/ehci-platform/usb1/1-1/1-1:1.0/tty/ttyACM0

# NB: not sure if this works properl in all cases, eg multiple dev nodes per physical device
[ -z "${DEVNAME}" ] && exit


SERIALPATH=/dev/serial/by-port
[ ! -d "$SERIALPATH" ] && mkdir -p "$SERIALPATH" 

#USBPORT=$(echo "/sys$DEVPATH" | sed -r -e 's/(^.*\/)(.*)(\/tty.*\/tty\/tty.*$)/\2/' )
USBPORT=$(echo "/sys$DEVPATH" | sed -r -e 's#(/tty.*$)##' | sed -r -e 's#(^.*/)(.*$)#\2#' )

if [ "${ACTION}" = "add" ]; then
    if [ -z "${USBPORT}" ]; then
        logger -t WARN "hotplug tty: Warning, usb port is empty"
        exit
    fi

    ln -sf /dev/$DEVICENAME "${SERIALPATH}/${USBPORT}" 
    logger -t INFO "hotplug tty: Symlink to /dev/$DEVICENAME from ${SERIALPATH}/${USBPORT} created"
fi

if [ "${ACTION}" = "remove" ]; then
        if [ -z "${USBPORT}" ]; then
                logger -t WARN "hotplug tty: Warning, usb port is empty"
                exit
        fi

       rm "${SERIALPATH}/${USBPORT}"
        logger -t INFO "hotplug tty: Symlink from ${SERIALPATH}/${USBPORT} removed"
fi

Działa to tak, że w katalogu dev tworzy on ścieżkę składającą się z dwóch podkatalogów dev/serial/by-port/ gdzie w tym ostatnim folderze mam już symlinki do poszczególnych interfejsów modemu czyli w configu smsd podaje np. coś takiego:

device = /dev/serial/by-port/1-1:1.0

Co odpowiada: "/dev/ttyUSB0" Dopóki modemy będą wpięte w te same porty huba to wszystko będzie działać.

Ale ogólnie muszę powiedzieć, że dramat z tym hotplugiem.. Uważam, że skoro społeczność odpowiedzialna za OpenWrt zdecydowała na usunięcie udeva, to przykładów rozwiązań tutaj https://openwrt.org/docs/guide-user/base-system/hotplug powinno być więcej a okazuje się, że nawet to co tam jest nie zupełnie działa. Wszystkie tego typu rozwiązania w innych systemach opartych na linuxie opierają się na regułach udev i chyba tylko OpenWrt z tego korzysta. Skoro domyślnie udev-a nie ma to powinna być chociaż możliwość jego prostej instalacji dla tych co tego potrzebują a tak jak widać na tym przykładzie tworzy to masę problemów, bo nie każdy jest od razu programistą basha wink

41

(28 odpowiedzi, napisanych Oprogramowanie / Software)

Znalazłem skrypt do hotpluga, który wiąże urządzenia do konkretnych portów tak jak tego potrzebowałem: https://openwrt.org/docs/guide-user/base-system/hotplug

Skrypt działa i po podpięciu modemu tworzy symlinki w katalogu dev:

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

#!/bin/sh
# Description: Action executed on boot (bind) and with the system on the fly
if [ "${ACTION}" = "bind" ]; then
  case "${PRODUCT}" in
    12d1*) # E173 3g modem product id prefix
      DEVICE_NAME="$(ls /sys/${DEVPATH} | grep tty)"
      DEVICE_TTY="$(ls /sys/${DEVPATH}/tty/)"

      # Module E173-* connected to slot 1
      if [ "${DEVICENAME}" = "1-1:1.0" ]; then
        ln -s /dev/${DEVICE_TTY} /dev/ttyGSMO1_AT
        logger -t hotplug "Symlink from /dev/${DEVICE_TTY} to /dev/ttyGSMO1_AT created"

      elif [ "${DEVICENAME}" = "1-1:1.1" ]; then
        ln -s /dev/${DEVICE_TTY} /dev/ttyGSMO1_DATA
        logger -t hotplug "Symlink from /dev/${DEVICE_TTY} to /dev/ttyGSMO1_DATA created"

      elif [ "${DEVICENAME}" = "1-1:1.2" ]; then
        ln -s /dev/${DEVICE_TTY} /dev/ttyGSMO1_AT2
        logger -t hotplug "Symlink from /dev/${DEVICE_TTY} to /dev/ttyGSMO1_AT2 created"

      fi
    ;;
  esac
fi
# Action to remove the symlinks
if [ "${ACTION}" = "remove" ]; then
  case "${PRODUCT}" in
    12d1*)  # E173 3g modem product id prefix

     # Module E173-* connected to slot 1
      if [ "${DEVICENAME}" = "1-1:1.0" ]; then
        rm /dev/ttyGSMO1_AT
        logger -t hotplug "Symlink /dev/ttyGSMO1_AT removed"

      elif [ "${DEVICENAME}" = "1-1:1.1" ]; then
        rm /dev/ttyGSMO1_DATA
        logger -t hotplug "Symlink /dev/ttyGSMO1_DATA removed"

      elif [ "${DEVICENAME}" = "1-1:1.2" ]; then
        rm /dev/ttyGSMO1_AT2
        logger -t hotplug "Symlink /dev/ttyGSMO1_AT2 removed"

      fi
    ;;
  esac
fi
EOF

...Jednak co z tego skoro są one nieużywalne i smsd wywala taki błąd:

2021-11-23 00:57:55,3, GSM1: Couldn't open serial port /dev/ttyGSMO1_AT, error: Is a directory, waiting 30 sec.
2021-11-23 00:57:55,3, GSM2: Couldn't open serial port /dev/GSM2_0, error: No such file or directory, waiting 30 sec.

Dla przykładu ten "GSM2" nie jest w ogóle podpięty.

Wynik zapytania:

dmesg | grep tty

Pokazuje to:

[   20.012509] option 1-1:1.0: GSM modem (1-port) converter detected
[   20.019136] usb 1-1: GSM modem (1-port) converter now attached to ttyUSB0

[   20.026780] option 1-1:1.1: GSM modem (1-port) converter detected
[   20.033406] usb 1-1: GSM modem (1-port) converter now attached to ttyUSB1

[   20.040952] option 1-1:1.2: GSM modem (1-port) converter detected
[   20.047585] usb 1-1: GSM modem (1-port) converter now attached to ttyUSB2

42

(28 odpowiedzi, napisanych Oprogramowanie / Software)

Dobra, a czy jest jakiś sposób na wrzucenie pełnej wersji udeva do OpenWrt? Domyślam się, że trzeba byłoby skompilować, pytanie zatem czy masz może paczkę pod mipsel_24kc ? Tudzież cały obraz który mógłbym wrzucić?

Sprawdzałem tworzenie reguł udev pod Debianem na virtualboxie i tam wszystko działa bez problemu. Dzięki temu:

udevadm info /dev/ttyUSB0 | grep "ID_PATH="

jestem w stanie szybko zidentyfikować konkretny interfejs i utworzyć regułę gdzie w wybrakowanym hotplugu trzeba tworzyć całe skrypty aby uzyskać ten sam efekt.

43

(28 odpowiedzi, napisanych Oprogramowanie / Software)

Chcąc upewnić się, że ten udev w ogóle działa jak należy i nie namieszałem nic z numerami portów zacząłem od utworzenia prostego pliku 90-modem.rules o poniższej zawartości ale nie zadziałało.

ACTION=="add", KERNEL=="ttyUSB?", SUBSYSTEM=="tty", \
    ENV{ID_VENDOR_ID}=="12d1", \
    ENV{ID_MODEL_ID}=="1c05", \
    SYMLINK+="huawei-E173-%n"

W międzyczasie trafiłem na bloga autora ModemManagera gdzie dokładnie opisuje sposób w jaki udev współpracuje z ModemManager-em:

https://sigquit.wordpress.com/2017/01/0 … rt-take-2/

Jeśli dobrze rozumiem, autor wspomina o możliwości tworzenia reguł udev w kontekście dodawania poszczególnych interfejsów na czarną listę tak aby były dostępne dla innych aplikacji? Nigdzie nie pisze, że można tworzyć standardowe reguły i będą one działać, wiec pytanie czy jest to w ogóle możliwe. "udev wykorzystuje właściwości sysfs do przetwarzania i stosowania reguł". Czyli wychodzi na to, że udev jest i jednocześnie go nie ma? wink

Ma ktoś pomysł co mam z tym zrobić? Obojętnie czy to przez udev, hotplug czy jakkolwiek inaczej. Potrzebuje tylko aby interfejsy miały jakieś sensowne nazwy bo przy 5 modemach i standardowych nazwach interfejsów komunikacja z poszczególnymi modemami będzie praktycznie nie do ogarnięcia.

44

(28 odpowiedzi, napisanych Oprogramowanie / Software)

Zrobiłem raz jeszcze debug aby upewnić się czy ścieżka jest poprawna. W tej chwili kod wygląda jak poniżej, ale żadne dodatkowe symlinki nie są tworzone.

#!/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$DEVPATH" = "x/devices/platform/101c0000.ehci/usb1/1-1/1-1.4/1-1.4.3" ]; then
            NEWD="GSM1_"${DEVPATH##*.}
            rm /dev/$NEWD
            ln -s /dev/$OLDD /dev/$NEWD
        fi


    done
fi

..Ale mniejsza z tym gdyż tak jak podejrzewałem muszę chyba poszukać rozwiązania pod udev.. Inaczej jak później dodam modemmanager to ten i tak będzie mi blokował hotplug-a. Potwierdzenie tego znalazłem tutaj:

https://github.com/openwrt/packages/issues/14197

Jeśli chodzi o udev-a który przypisuje urządzenia do portów to znalazłem coś takiego:

BUS="usb", ID=="1-4.2:1.0", SYMLINK+="ttyUSBport2"
BUS="usb", ID=="1-4.3:1.0", SYMLINK+="ttyUSBport3"
BUS="usb", ID=="1-4.4:1.0", SYMLINK+="ttyUSBport4"

Nie rozumiem tylko:

1. Tych tych definicji portów: "1-4.2:1.0" w stosunku do tej scieżki: devices/platform/101c0000.ehci/usb1/1-1/1-1.4/1-1.4.3
2. Do którego pliku mam dodać te reguły.

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

45

(28 odpowiedzi, napisanych Oprogramowanie / Software)

Tak, wiem o tym napędzie CD ale nie wiedziałem, że przedstawia się on w systemie inaczej niż sam modem. Koniec końców wychodzi na to, że mam kilka modemów z tym samym oznaczeniem PRODUCT: 12d1:1c0b (a już miałem nadzieję, że są różne wink

Czytałem kilkukrotnie https://eko.one.pl/?p=openwrt-linkidoportowszeregowych ale nie znajduje tam rozwiązania...

Zrobiłem debug, wyciągnąłem dane i próbowałem modyfikować skrypt np. w taki sposób, ale oczywiście nic z tego.

#!/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$DEVPATH" = "/devices/platform/101c0000.ehci/usb1/1-1/1-1.4/1-1.4.3" ]; then
            NEWD="GSM1_"${DEVPATH##*.}
            rm /dev/$NEWD
            ln -s /dev/$OLDD /dev/$NEWD
        fi


    done
fi

Jako ciekawostkę dodam, że gdy zainstaluje ModemMenager skrypt w ogóle przestaje reagować. W tej chwili aby testować hotplug-a musiałem przywrócić wszystko bez instalowania ModemMenager-a i dopiero po tym zabiegu hotplug wrócił do działania.

Może powinienem skupić się na szukaniu rozwiązania pod udev skoro okazuje się, że ten jednak w jakiś sposób współpracuje z ModemMenagerem?

46

(28 odpowiedzi, napisanych Oprogramowanie / Software)

Zrobiłem debug dla dwóch identycznych modemów i wyszły ciekawe rzeczy bo debug twierdzi, że oba modemy (oba e173 s-2) mają różne oznaczenia PRODUCT:

GSM1
----
USER=root
ACTION=add
SHLVL=1
HOME=/
SEQNUM=697
HOTPLUG_TYPE=usb
DEVPATH=/devices/platform/101c0000.ehci/usb1/1-1/1-1.4/1-1.4.3/1-1.4.3:1.0
LOGNAME=root
DEVICENAME=1-1.4.3:1.0
TERM=linux
SUBSYSTEM=usb
PATH=/usr/sbin:/usr/bin:/sbin:/bin
MODALIAS=usb:v12D1p1C0Bd0102dc00dsc00dp00ic08isc06ip50in00
TYPE=0/0/0
PRODUCT=12d1/1c0b/102
INTERFACE=8/6/80
PWD=/
DEVTYPE=usb_interface
GSM2
----
USER=root
ACTION=add
SHLVL=1
HOME=/
SEQNUM=713
HOTPLUG_TYPE=usb
DEVPATH=/devices/platform/101c0000.ehci/usb1/1-1/1-1.4/1-1.4.2/1-1.4.2:1.0
LOGNAME=root
DEVICENAME=1-1.4.2:1.0
TERM=linux
SUBSYSTEM=usb
PATH=/usr/sbin:/usr/bin:/sbin:/bin
MODALIAS=usb:v12D1p1C05d0102dc00dsc00dp00icFFiscFFipFFin00
TYPE=0/0/0
PRODUCT=12d1/1c05/102
INTERFACE=255/255/255
PWD=/
DEVTYPE=usb_interface

Tutaj natomiast wynik zapytania lsusb w konsoli, który pokazuje 2 takie same oznaczenia, więc nie mam pojęcia który wynik jest prawdziwy.

root@OpenWrt:~# lsusb
Bus 002 Device 001: ID 1d6b:0001 Linux 5.4.143 ohci_hcd Generic Platform OHCI controller
Bus 001 Device 006: ID 12d1:1c05 HUAWEI HUAWEI Mobile
Bus 001 Device 008: ID 12d1:1c05 HUAWEI HUAWEI Mobile

47

(28 odpowiedzi, napisanych Oprogramowanie / Software)

ModemMenager posiada wbudowany mechanizm, który ogarnia nazwy modemów (każdy modem dostaje swoje unikalne id) i pewnie w tym celu są tam te pliki udev-a.

ModemMenager domyślnie oznacza modemy jako "Modem 0", "Modem 1" itd. ale dodając poniższy zapis do reguł, można to zmienić i posługiwać się własnymi nazwami. W moim przypadku jest to "GSM1":

ACTION!="add|change|move", GOTO="mm_naming_rules_end"

DEVPATH=="/sys/devices/platform/101c0000.ehci/usb1/1-1/1-1.4/1-1.4.3",ENV{ID_MM_PHYSDEV_UID}="GSM1"

LABEL="mm_naming_rules_end"
LABEL="mm_candidate_end"
root@OpenWrt:~# mmcli -L
    /org/freedesktop/ModemManager1/Modem/1 [huawei] E173
root@OpenWrt:~# mmcli -m GSM1 -d
successfully disabled the modem

Tak więc ogólnie problem z kodami USSD mam rozwiązany. Same modemy będę wymieniał na wersję U-2.

Jedyny problem to modyfikacja tego skryptu hotplug-a tak aby generował symlink w oparciu o ścieżkę/port danego urządzenia. Potrzebowałbym jakiś przykład, szukałem ale większość tego typu rozwiązań jest pod udev-a.

Przykładowa ścieżka do pierwszego modemu wygląda u mnie tak:

/sys/devices/platform/101c0000.ehci/usb1/1-1/1-1.4/1-1.4.3
#!/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

    done
fi

48

(28 odpowiedzi, napisanych Oprogramowanie / Software)

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

  

49

(28 odpowiedzi, napisanych Oprogramowanie / Software)

Gdyby ktoś miał podobny problem to sprawę załatwia ModemManager. Żadne inne rozwiazanie w żaden sposób nie działa.

Natrafiłem za to na dziwny problem z smstools3 z odbieraniem sms z kilku modemów. Zaznaczam, że pierwotnie wszystko działało, później zacząłem trochę testować z mapowaniem portów usb i aktualnie na jednym z modemów jest jakiś problem (a w sumie na 3 które mają to samo oznaczenie PRODUCT).

Nie wnikając w szczegóły: jak mogę usunąć całą partycję i przywrócić wszystko do początkowego stanu jak świeżo po flashowaniu? Próbowałem:

mtd -r erase rootfs_data 

...i niby wszystko wyczyściło ale zauważyłem, że np. niektóre katalogi w /dev mają datę 1.1.1970 Nie rozwiązało to także problemu z smstools3.

Gdy podłącze modem pod inny system (Debian/Windows) normalnie loguje się do sieci wszystkie i smsy spływają, więc wygląda jakby coś było przyblokowane. Gdy podłącze jeden z 4 modemów, które ma inne oznaczenie PRODUCT ustawiając ttyUSB0 to także działa. Nie działają 3 modemy, które mają to samo oznaczenie PRODUCT (12d1/1436).

Log smsd nic nie mówi i wszystko wydaje się działać jak wcześniej więc najpewniejszym rozwiązaniem byłoby wrzucenie całego systemu na nowo bo nie mam już pomysłu gdzie szukać problemu.

50

(28 odpowiedzi, napisanych Oprogramowanie / Software)

Wyszło podobnie jak w poprzedniej próbie.. Cezary, na jakiej wersji testujesz u siebie smstools? Ja jestem na 21.02.0 i myślę, że powodem tego, że te kody w żaden sposób nie działają to problem z jakimiś zależnościami w 21.02 Sprawdzałem ten modem na Debianie z modem-manager-gui i tam wszystko działa bez problemu włącznie z wysyłaniem odpowiedzi na kody USSD.

Myślałem aby zrobić downgrade do 19.07 i tam próbować ale problem w tym, że nawet nie bardzo do czego mogę się cofnąć wink

https://openwrt.org/toh/xiaomi/miwifi_mini

root@OpenWrt:~# gammu textall --getussd *660*#
Warning: No configuration file found!
Warning: No configuration read, using builtin defaults!
No response in specified timeout. Probably the phone is not connected.
root@OpenWrt:~# gammu textall --getussd *660*#
Warning: No configuration file found!
Warning: No configuration read, using builtin defaults!
Press Ctrl+C to break…
USSD received
Status               : Action needed
Service reply        : "Twoj numer to 510xxxxxx.
Twoja taryfa to Orange Free na karte.
1. Zmien numer
2. Zmien taryfe
3. Zaakceptuj i zakoncz
4. Anuluj i zakoncz
"
1
root@OpenWrt:~# 1
-ash: 1: not found
root@OpenWrt:~# gammu textall --getussd *660*#
Warning: No configuration file found!
Warning: No configuration read, using builtin defaults!
No response in specified timeout. Probably the phone is not connected.
root@OpenWrt:~# gammu textall --getussd *660*#
Warning: No configuration file found!
Warning: No configuration read, using builtin defaults!
Press Ctrl+C to break…
USSD received
Status               : Action needed
Service reply        : "Twoj numer to 510xxxxxx.
Twoja taryfa to Orange Free na karte.
1. Zmien numer
2. Zmien taryfe
3. Zaakceptuj i zakoncz
4. Anuluj i zakoncz
"
1
root@OpenWrt:~# 1
-ash: 1: not found
root@OpenWrt:~#