326 (edytowany przez Cezary 2024-01-31 14:20:09)

Odp: Netgear LBR20 Orbi

Plik w init.d ma mieć określoną strukturę, nie jest "dowolnym" skryptem

touch /etc/init.d/modem-off

#!/bin/sh /etc/rc.common

START=19
STOP=50

USE_PROCD=1

shutdown() {

    echo "tu bylem"
        sleep 8
}

chmod 755 /etc/init.d/modem-off
/etc/init.d/modem-off enable


Ale jeżeli taki skrypt jest potrzebny to po prostu trzeba zrobić odpowiedni skrypt na start/stop i tyle. Jak chcesz to ci go wystrugam wieczorem.

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

327

Odp: Netgear LBR20 Orbi

A jak to działa w MF286? Tam chyba restart nie restartuje modemu...

328

Odp: Netgear LBR20 Orbi

Tu jest ten problem , że po ustawieniu wszystkich gpio na swoje pozycje ( 28,29,31 - 1  , 30 - 0 ) , modem i tak potrzebuje mignięcia gpio 29 (czyli 0 i za sekundę znowu 1) .  I pierwszym mignięciem go włączamy , drugim mignięciem go wyłączamy i tak w kółko.
Więc jak go tym mignięciem nie wyłączymy przed rebootem , to to mignięcie podczas startu zamiast go włączyć , to wyłączy.
A ,że potrzebujemy mignięcia podczas pierwszego startu ,to niestety i musimy migać przed rebootem smile Tak też to robi orginał.

W MF286D z tego co kojarzę , to płyta podczas samego startu wysyłała sygnał po gpio do rebootu .ale w drugą stronę już tego nie było ( jak modem się resetował , to nie wysyłał sygnału do rebootu płyty).
W MF289D sprzężenie już było obustronne , jak modem się resetował , to i płyta i odwrotnie.

329

Odp: Netgear LBR20 Orbi

Ogarnąłem to takim plikiem w /etc/init.d o nazwie modem_lte :

#!/bin/sh /etc/rc.common

START=97
STOP=10

USE_PROCD=1

#Modem turn on and at the same time turn off white:orbi led.

start_service() {
    echo "0" > /sys/class/gpio/gpio441/value
    sleep 1
    echo "1" > /sys/class/gpio/gpio441/value
    echo "0" > /sys/class/leds/white:orbi/brightness
}



#Modem turn off before reboot. (Otherwise it won't initialize during upcomming boot)  

shutdown() {
    echo "0" > /sys/class/gpio/gpio441/value
    sleep 1
    echo "1" > /sys/class/gpio/gpio441/value
    sleep 10
}

Robi to co chcemy, czyli ustawia się w rs.d i podczas startu miga na włączenie. i przy okazji wyłącza białą diodę , i podczas rebootu miga na wyłączenie.
S97 , żeby wcześniej się ustawiły gpio na swoje domyślne stany , a te zdaje się dopiero robią tym S94gpio_switch.

Pytanie tylko , czy do oficialnego openwrt można dodawać swoje pliki z /files ....

330

Odp: Netgear LBR20 Orbi

Nie, nie files. Włóż to target/linux/ipq40xx/base-files/etc/init.d, tam jest już jest podobny skrypt od bootcount.
I nie tak jak zrobiłeś tylko

start_service() {
    case $(board_name) in
    netgear,lbr20)
            echo "0" > /sys/class/gpio/gpio441/value
            sleep 1
            echo "1" > /sys/class/gpio/gpio441/value
            echo "0" > /sys/class/leds/white:orbi/brightness
        ;;
    esac
}

I taki sam case dla shutdown()


I nie wiem czy nie zastąpić start_services przez boot()

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

331

Odp: Netgear LBR20 Orbi

A nie dało by się w skrypcie startowym sprawdzać czy modem potrzebuje "mignięcia" czy może nie?

332 (edytowany przez MiG25 2024-01-31 17:32:10)

Odp: Netgear LBR20 Orbi

Bez "mignięcia" po restarcie ma dziwne problemy z kartą SIM ( wyrzuca właśnie błędy , żeby ją wyjąć i włożyć) . Stąd lepiej migać przy włączaniu i resetowaniu . Jeśli odcinamy prąd , to problem znika , trzeba migać przy włączaniu smile

333 (edytowany przez MiG25 2024-01-31 17:34:21)

Odp: Netgear LBR20 Orbi

Cezary napisał/a:

Nie, nie files. Włóż to target/linux/ipq40xx/base-files/etc/init.d, tam jest już jest podobny skrypt od bootcount.
I nie tak jak zrobiłeś tylko

start_service() {
    case $(board_name) in
    netgear,lbr20)
            echo "0" > /sys/class/gpio/gpio441/value
            sleep 1
            echo "1" > /sys/class/gpio/gpio441/value
            echo "0" > /sys/class/leds/white:orbi/brightness
        ;;
    esac
}

I taki sam case dla shutdown()


I nie wiem czy nie zastąpić start_services przez boot()

Ok , to tak robię smile
Rozumiem ,że jest pewność , że te wstępne ustawienia gpio , które są w board.d/03_gpio_switches , będą zastosowane jako pierwsze ?

EDIT: Ok ustawia się tak samo START i STOP.

334

Odp: Netgear LBR20 Orbi

gpio_switches idzie jako START=94, więc musisz to umieścić jako START=95

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

335

Odp: Netgear LBR20 Orbi

gpio można by było wyeksportować pod ładną nazwą: https://github.com/openwrt/openwrt/blob … ts#L30-L39

336

Odp: Netgear LBR20 Orbi

Czasami dostaję takie coś:

Wed Jan 31 16:47:03 2024 kern.info kernel: [   33.209303] usb 2-1: new SuperSpeed USB device number 2 using xhci-hcd
Wed Jan 31 16:47:03 2024 kern.info kernel: [   33.380078] option 2-1:1.0: GSM modem (1-port) converter detected
Wed Jan 31 16:47:03 2024 kern.info kernel: [   33.380455] usb 2-1: GSM modem (1-port) converter now attached to ttyUSB0
Wed Jan 31 16:47:03 2024 kern.info kernel: [   33.385861] option 2-1:1.1: GSM modem (1-port) converter detected
Wed Jan 31 16:47:03 2024 kern.info kernel: [   33.392462] usb 2-1: GSM modem (1-port) converter now attached to ttyUSB1
Wed Jan 31 16:47:03 2024 kern.info kernel: [   33.398738] option 2-1:1.2: GSM modem (1-port) converter detected
Wed Jan 31 16:47:03 2024 kern.info kernel: [   33.405395] usb 2-1: GSM modem (1-port) converter now attached to ttyUSB2
Wed Jan 31 16:47:03 2024 kern.info kernel: [   33.411625] option 2-1:1.3: GSM modem (1-port) converter detected
Wed Jan 31 16:47:03 2024 kern.info kernel: [   33.418037] usb 2-1: GSM modem (1-port) converter now attached to ttyUSB3
Wed Jan 31 16:47:03 2024 kern.info kernel: [   33.443608] qmi_wwan 2-1:1.4: cdc-wdm0: USB WDM device
Wed Jan 31 16:47:03 2024 daemon.notice netifd: Interface 'wan' is setting up now
Wed Jan 31 16:47:03 2024 daemon.notice netifd: wan (2397): ls: /sys/devices/platform/soc/8af8800.usb3/8a00000.dwc3/xhci-hcd.0.auto/usb2/2-1/2-1:1.4/net: No such file or directory
Wed Jan 31 16:47:03 2024 daemon.notice netifd: wan (2397): The interface could not be found.
Wed Jan 31 16:47:03 2024 daemon.notice netifd: wan (2409): Stopping network wan
Wed Jan 31 16:47:03 2024 daemon.notice netifd: wan (2409): Command failed: ubus call network.interface notify_proto { "action": 0, "link-up": false, "keep": false, "interface": "wan" } (Permission denied)
Wed Jan 31 16:47:03 2024 daemon.notice netifd: Interface 'wan' is now down
Wed Jan 31 16:47:04 2024 kern.warn kernel: [   34.098253] ath10k_pci 0000:01:00.0: 10.4 wmi init: vdevs: 16  peers: 48  tid: 96
Wed Jan 31 16:47:04 2024 kern.warn kernel: [   34.098325] ath10k_pci 0000:01:00.0: msdu-desc: 2500  skid: 32
Wed Jan 31 16:47:04 2024 kern.info kernel: [   34.131815] ath10k_pci 0000:01:00.0: wmi print 'P 48/48 V 16 K 144 PH 176 T 186  msdu-desc: 2500  sw-crypt: 0 ct-sta: 0'
Wed Jan 31 16:47:04 2024 kern.info kernel: [   34.132736] ath10k_pci 0000:01:00.0: wmi print 'free: 114572 iram: 12644 sram: 29508'
Wed Jan 31 16:47:04 2024 kern.info kernel: [   34.455172] ath10k_pci 0000:01:00.0: rts threshold -1
Wed Jan 31 16:47:04 2024 kern.warn kernel: [   34.455574] ath10k_pci 0000:01:00.0: Firmware lacks feature flag indicating a retry limit of > 2 is OK, requested limit: 4
Wed Jan 31 16:47:04 2024 kern.info kernel: [   34.461185] br-lan: port 4(phy0-ap0) entered blocking state
Wed Jan 31 16:47:04 2024 kern.info kernel: [   34.470244] br-lan: port 4(phy0-ap0) entered disabled state
Wed Jan 31 16:47:04 2024 daemon.info dnsmasq[1]: started, version 2.89 cachesize 1000
Wed Jan 31 16:47:04 2024 daemon.info dnsmasq[1]: DNS service limited to local subnets
Wed Jan 31 16:47:04 2024 daemon.info dnsmasq[1]: compile time options: IPv6 GNU-getopt no-DBus UBus no-i18n no-IDN DHCP no-DHCPv6 no-Lua TFTP no-conntrack no-ipset no-nftset no-auth no-cryptohash no-DNSSEC no-ID loop-detect inotify dumpfile
Wed Jan 31 16:47:04 2024 daemon.info dnsmasq[1]: UBus support enabled: connected to system bus
Wed Jan 31 16:47:04 2024 daemon.info dnsmasq-dhcp[1]: DHCP, IP range 192.168.1.100 -- 192.168.1.249, lease time 12h
Wed Jan 31 16:47:04 2024 kern.info kernel: [   34.475985] device phy0-ap0 entered promiscuous mode
Wed Jan 31 16:47:04 2024 kern.info kernel: [   34.481411] br-lan: port 4(phy0-ap0) entered blocking state
Wed Jan 31 16:47:04 2024 kern.info kernel: [   34.486399] br-lan: port 4(phy0-ap0) entered forwarding state
Wed Jan 31 16:47:04 2024 daemon.notice hostapd: phy0-ap0: interface state UNINITIALIZED->COUNTRY_UPDATE
Wed Jan 31 16:47:04 2024 kern.info kernel: [   34.492820] qmi_wwan 2-1:1.4 wwan0: register 'qmi_wwan' at usb-xhci-hcd.0.auto-1, WWAN/QMI device, d6:4d:49:05:54:a9
Wed Jan 31 16:47:04 2024 kern.info kernel: [   34.498036] br-lan: port 4(phy0-ap0) entered disabled state
Wed Jan 31 16:47:04 2024 daemon.info dnsmasq[1]: using only locally-known addresses for test
Wed Jan 31 16:47:04 2024 daemon.info dnsmasq[1]: using only locally-known addresses for onion
Wed Jan 31 16:47:04 2024 daemon.info dnsmasq[1]: using only locally-known addresses for localhost
Wed Jan 31 16:47:04 2024 daemon.info dnsmasq[1]: using only locally-known addresses for local
Wed Jan 31 16:47:04 2024 daemon.info dnsmasq[1]: using only locally-known addresses for invalid
Wed Jan 31 16:47:04 2024 daemon.info dnsmasq[1]: using only locally-known addresses for bind
Wed Jan 31 16:47:04 2024 daemon.info dnsmasq[1]: using only locally-known addresses for lan
Wed Jan 31 16:47:04 2024 daemon.warn dnsmasq[1]: no servers found in /tmp/resolv.conf.d/resolv.conf.auto, will retry
Wed Jan 31 16:47:04 2024 daemon.info dnsmasq[1]: read /etc/hosts - 12 names

i wtedy ifup wan nie pomaga , bo tego wanu nie ma....
dopiero pomaga "/etc/init.d/network restart" ,no ale wtedy wiadomo ,że wszystko się resetuje , lany ,wifi...

337

Odp: Netgear LBR20 Orbi

Brak interfejsu wwan0, ale dlaczego? Bo modem się nie zainicjalizował? Czyli wyłączenie lte power i włączenie powinno dać radę i zrestartować modem.

Choć oczywiście pytanie dlaczego się tak dzieje.

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

338

Odp: Netgear LBR20 Orbi

Czyli jednak taki prosty skrypt jest trochę zawodny. Czy przy sysupgrade wykona się przed restartem?
Trzeba by było jakoś sprawdzać przy starcie czy modem jest dostępny w systemie i wtedy jeśli:
1. tak - "migać" 2 razy
2. nie - "migać" 1 raz

339

Odp: Netgear LBR20 Orbi

Ty masz niczym nie migać, tylko jak ew modemu nie ma to zastosować magiczną kombinację w gpio żeby się pojawił.
Co ci po miganiu, niech automaty działają.

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

340

Odp: Netgear LBR20 Orbi

Cezary napisał/a:

Brak interfejsu wwan0, ale dlaczego? Bo modem się nie zainicjalizował? Czyli wyłączenie lte power i włączenie powinno dać radę i zrestartować modem.

Choć oczywiście pytanie dlaczego się tak dzieje.

Ok , ale dlaczego network restart daje radę ? ( modem się nie resetuje wtedy).

341 (edytowany przez frutis 2024-01-31 18:25:08)

Odp: Netgear LBR20 Orbi

Cezary napisał/a:

Ty masz niczym nie migać, tylko jak ew modemu nie ma to zastosować magiczną kombinację w gpio żeby się pojawił.
Co ci po miganiu, niech automaty działają.

Ale wcześniej była taka informacja:

MiG25 napisał/a:

Bez "mignięcia" po restarcie ma dziwne problemy z kartą SIM ( wyrzuca właśnie błędy , żeby ją wyjąć i włożyć) . Stąd lepiej migać przy włączaniu i resetowaniu . Jeśli odcinamy prąd , to problem znika , trzeba migać przy włączaniu

A może jest jakieś gpio od sim?

342

Odp: Netgear LBR20 Orbi

Może być tak ze wwan0 pojawia się później po kilku sekundach. Restart network m.in czyści flash że sieć się aktywna czy dostępna, a skrypty od qmi jak nie ma interfejsu to oznaczają go jako brak i nic dalej nie chcą zrobić.

Nie wiem, jak dostanę w ręce sztukę z działającym modemem to sobie zobaczę jak to się zachowuje.

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

343

Odp: Netgear LBR20 Orbi

frutis napisał/a:

gpio można by było wyeksportować pod ładną nazwą: https://github.com/openwrt/openwrt/blob … ts#L30-L39

Może popróbować z tym , zamiast ustawiać w 03_gpio_switches...

344

Odp: Netgear LBR20 Orbi

Cezary napisał/a:

.....I nie wiem czy nie zastąpić start_services przez boot()

No z start_services jakoś nie działa stworzony w  target/linux/ipq40xx/base-files/etc/init.d , działa tylko boot().
Ten mój kopiowany z /files działał z start_services też ...
Więc będzie boot()

345

Odp: Netgear LBR20 Orbi

@Cezary podawał jaki skrypt obsługuje modem w tym poście: https://eko.one.pl/forum/viewtopic.php? … 46#p295446
Są tam używane aż 4 gpio. Chyba trzeba by było to tak samo zaimplementować.

346

Odp: Netgear LBR20 Orbi

Tak ,tylko z tego skryptu wynika właśnie to : 28,29,31 - 1  , 30 - 0  - i to jest ustawiane w 03_gpio_switches ( choć może spróbować to ustawić już w DTS...)  , i miganie gpio29 - na sekundę 0 i później znowu 1 , raz migamy podczas startu , raz podczas rebootu.

I to raczej wychodzi dobrze , nie trzeba ustawiać wszystkich na 0 i po sekundzie niektórych na 1.

347

Odp: Netgear LBR20 Orbi

I jeszcze mac adres:

[   34.755642] qmi_wwan 2-1:1.4: cdc-wdm0: USB WDM device
[   34.756900] qmi_wwan 2-1:1.4 wwan0: register 'qmi_wwan' at usb-xhci-hcd.0.auto-1, WWAN/QMI device, 72:01:d2:b5:c4:83

w orginale modem dostaje mac przypisany do wan , a tu losowo. Da się to przypisać , czy tym wogóle się nie przejmować ?

348

Odp: Netgear LBR20 Orbi

Żadnego nie ma znaczenia.

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

349 (edytowany przez MiG25 2024-01-31 19:21:49)

Odp: Netgear LBR20 Orbi

frutis napisał/a:

Czyli jednak taki prosty skrypt jest trochę zawodny. Czy przy sysupgrade wykona się przed restartem?
Trzeba by było jakoś sprawdzać przy starcie czy modem jest dostępny w systemie i wtedy jeśli:
1. tak - "migać" 2 razy
2. nie - "migać" 1 raz

No niestety podczas sysupgrade nie robi mignięcia , no i podczas startu modem się zamiast włączyć to wyłącza smile

Jest gdzieś do wpisania co ma się dziać podczas sysupgrade ?

No albo dla całej formalności rozszerzać procedurę "startu" , najpierw wszystkie gpio na 0 , za 1s następne na 1 , i za kolejną sekundę miganie....

Tak , ta cała procedura obojętnie z jakiego stanu włączy na pewno modem :

echo "0" > /sys/class/gpio/gpio440/value
echo "0" > /sys/class/gpio/gpio441/value
echo "0" > /sys/class/gpio/gpio442/value
echo "0" > /sys/class/gpio/gpio443/value
sleep 1
echo "1" > /sys/class/gpio/gpio443/value
echo "1" > /sys/class/gpio/gpio441/value
echo "1" > /sys/class/gpio/gpio440/value
sleep 1
echo "0" > /sys/class/gpio/gpio441/value
sleep 1
echo "1" > /sys/class/gpio/gpio441/value

Chyba nie ma co się zastanawiać.

350

Odp: Netgear LBR20 Orbi

No, zrób dokładnie tak jak to jest u nich zrobione.

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