951 (edytowany przez smereka 2024-02-10 11:25:21)

Odp: ZTE MF289F - Porting OpenWRT

This do cut off power supply modem?

952 (edytowany przez m01 2024-02-10 13:16:21)

Odp: ZTE MF289F - Porting OpenWRT

maybe, if you find how it''s connected, I searched on sys/bus/pci but it's empty. there are commands for linux to shut down pcie and also usb. The problem is to know how it's connected the modem. start with dmesg|grep pci
and dmesg|grep usb

953

Odp: ZTE MF289F - Porting OpenWRT

root@OpenWrt_rafal_bia:~# dmesg|grep pci
[    0.202023] qcom-pcie 40000000.pci: host bridge /soc/pci@40000000 ranges:
[    0.202101] qcom-pcie 40000000.pci:       IO 0x0040200000..0x00402fffff -> 0x                                                                                                             0000000000
[    0.202141] qcom-pcie 40000000.pci:      MEM 0x0040300000..0x0040ffffff -> 0x                                                                                                             0040300000
[    0.378072] qcom-pcie 40000000.pci: iATU unroll: disabled
[    0.378105] qcom-pcie 40000000.pci: Detected iATU regions: 32 outbound, 8 inb                                                                                                             ound
[    1.378393] qcom-pcie 40000000.pci: Phy link never came up
[    1.378560] qcom-pcie 40000000.pci: PCI host bridge to bus 0000:00
[    1.378581] pci_bus 0000:00: root bus resource [bus 00-ff]
[    1.378601] pci_bus 0000:00: root bus resource [io  0x0000-0xfffff]
[    1.378619] pci_bus 0000:00: root bus resource [mem 0x40300000-0x40ffffff]
[    1.378673] pci 0000:00:00.0: [17cb:1001] type 01 class 0x060400
[    1.378709] pci 0000:00:00.0: reg 0x10: [mem 0x00000000-0x00000fff]
[    1.378785] pci 0000:00:00.0: PME# supported from D0 D3hot
[    1.382158] pci 0000:00:00.0: BAR 0: assigned [mem 0x40300000-0x40300fff]
[    1.382187] pci 0000:00:00.0: PCI bridge to [bus 01-ff]
[    1.385409] pcieport 0000:00:00.0: AER: enabled with IRQ 103
root@OpenWrt_rafal_bia:~# dmesg|grep usb
[    0.054018] usbcore: registered new interface driver usbfs
[    0.054092] usbcore: registered new interface driver hub
[    0.054153] usbcore: registered new device driver usb
[    1.389301] tcsr 194b000.tcsr: setting usb hs phy mode select = e700e7
[    6.066198] usb usb2: We don't know the algorithms for LPM for this host, disabling LPM.
[    6.137633] usb usb4: We don't know the algorithms for LPM for this host, disabling LPM.
[    8.826653] usb 2-1: new SuperSpeed USB device number 2 using xhci-hcd
[   15.498121] usbcore: registered new interface driver cdc_wdm
[   15.558372] usbcore: registered new interface driver usbserial_generic
[   15.558481] usbserial: USB Serial support registered for generic
[   15.723452] qmi_wwan 2-1:1.5 wwan0: register 'qmi_wwan' at usb-xhci-hcd.0.auto-1, WWAN/QMI device, XX:X:XX:XX:XX:XX
[   15.727328] usbcore: registered new interface driver qmi_wwan
[   21.718605] usbcore: registered new interface driver option
[   21.718751] usbserial: USB Serial support registered for GSM modem (1-port)
[   21.730334] usb 2-1: GSM modem (1-port) converter now attached to ttyUSB0
[   21.743300] usb 2-1: GSM modem (1-port) converter now attached to ttyUSB1
[   21.756154] usb 2-1: GSM modem (1-port) converter now attached to ttyUSB2
root@OpenWrt_rafal_bia:~# ^C



and what's next?

954

Odp: ZTE MF289F - Porting OpenWRT

Ktos wie ktore gpio odpowiada za podanie zasilania na mpcie?

955

Odp: ZTE MF289F - Porting OpenWRT

W dts nie ma nic wyciągniętego, jest tylko gpio 8 do restartu: https://github.com/openwrt/openwrt/blob … ts#L34-L37

956 (edytowany przez MiG25 2024-02-11 14:14:09)

Odp: ZTE MF289F - Porting OpenWRT

W MF286D też to jest , ale tam bylo to raczej po to , żeby modem wogole się podniósł. ..
Inaczej,  to gpio z płyty MF ,żeby zresetować modem , a nie odwrotnie ( żeby modem resetował plyte)

EDIT: Czyli w sumie to może być zasilanie modemu smile

957

Odp: ZTE MF289F - Porting OpenWRT

Jak się tym steruje podpowiecie bo coś mi nie idzie?

echo 1 > /sys/class/gpio/gpio8/value
-ash: can't create /sys/class/gpio/gpio8/value: nonexistent directory

958 (edytowany przez frutis 2024-02-11 15:38:23)

Odp: ZTE MF289F - Porting OpenWRT

Coś takiego jest w kodzie:

zte,mf282plus|\
zte,mf286d|\
zte,mf287pro|\
zte,mf289f)
    ucidef_add_gpio_switch "power_btn_block" "Power button blocker" "421" "0"
    ;;

ale nie wiem czy to jest to samo gpio.

959

Odp: ZTE MF289F - Porting OpenWRT

To coś to jest bloker żeby ten tylni przełącznik nie wyłączył zasilania routera.

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

960 (edytowany przez MiG25 2024-02-11 15:49:54)

Odp: ZTE MF289F - Porting OpenWRT

smereka napisał/a:

Jak się tym steruje podpowiecie bo coś mi nie idzie?

echo 1 > /sys/class/gpio/gpio8/value
-ash: can't create /sys/class/gpio/gpio8/value: nonexistent directory

Pokaż najpierw

cat /sys/kernel/debug/gpio
ls -al /sys/class/gpio

961

Odp: ZTE MF289F - Porting OpenWRT

A co się stanie po wywołaniu usbreset (jest w paczce usbutils)?

962

Odp: ZTE MF289F - Porting OpenWRT

Dam znac i to wszystko co piszecie bede testowal jak wroce ze spaceru.Dzieki

963

Odp: ZTE MF289F - Porting OpenWRT

root@OpenWrt_rafal_bia:~# cat /sys/kernel/debug/gpio
gpiochip0: GPIOs 412-511, parent: platform/1000000.pinctrl, 1000000.pinctrl:
gpio0   : in  high func0 2mA pull up
gpio1   : in  high func0 2mA pull up
gpio2   : in  high func0 2mA pull up
gpio3   : in  low  func0 2mA no pull
gpio4   : in  high func0 2mA pull up
gpio5   : in  low  func0 2mA pull down
gpio6   : in  high func1 2mA pull up
gpio7   : in  high func1 2mA pull up
gpio8   : out low  func0 10mA no pull
gpio9   : out low  func0 10mA no pull
gpio10  : in  high func0 2mA pull up
gpio11  : in  high func0 2mA pull up
gpio12  : out high func0 2mA no pull
gpio13  : in  high func1 12mA no pull
gpio14  : in  low  func1 12mA no pull
gpio15  : in  low  func1 12mA no pull
gpio16  : out low  func1 2mA no pull
gpio17  : out low  func1 2mA no pull
gpio18  : in  high func0 2mA pull down
gpio19  : in  high func1 2mA pull down
gpio20  : in  high func0 2mA pull up
gpio21  : in  high func0 2mA pull up
gpio22  : in  high func0 2mA pull up
gpio23  : in  high func0 2mA pull up
gpio24  : in  high func0 2mA pull up
gpio25  : in  high func0 2mA pull up
gpio26  : in  high func0 2mA pull up
gpio27  : in  high func0 2mA pull up
gpio28  : in  high func0 2mA pull up
gpio29  : in  high func0 2mA pull up
gpio30  : in  high func0 2mA pull up
gpio31  : in  high func0 2mA pull up
gpio32  : in  high func0 2mA pull up
gpio33  : in  high func0 2mA no pull
gpio34  : in  high func0 2mA pull up
gpio35  : out low  func0 10mA no pull
gpio36  : in  high func0 2mA pull down
gpio37  : in  low  func0 2mA pull down
gpio38  : out high func0 2mA pull down
gpio39  : out high func0 2mA pull up
gpio40  : in  high func0 2mA pull up
gpio41  : in  high func0 2mA pull down
gpio42  : in  low  func0 2mA pull down
gpio43  : in  low  func0 2mA pull down
gpio44  : in  low  func0 2mA pull down
gpio45  : in  low  func0 2mA pull down
gpio46  : in  low  func0 2mA pull down
gpio47  : out high func0 2mA pull down
gpio48  : in  low  func0 2mA pull down
gpio49  : in  low  func0 2mA pull down
gpio50  : in  high func0 2mA pull up
gpio51  : in  low  func0 2mA pull down
gpio52  : in  high func0 2mA pull up
gpio53  : in  high func0 2mA pull up
gpio54  : out high func0 2mA no pull
gpio55  : in  low  func0 2mA pull down
gpio56  : in  low  func0 2mA pull down
gpio57  : in  low  func0 2mA pull down
gpio58  : in  high func0 2mA pull up
gpio59  : in  high func0 2mA pull up
gpio60  : in  low  func0 2mA pull down
gpio61  : out high func0 10mA no pull
gpio62  : in  high func2 2mA pull down
gpio63  : in  high func0 2mA pull down
gpio64  : in  low  func0 2mA pull down
gpio65  : in  low  func0 2mA pull down
gpio66  : in  low  func0 2mA pull down
gpio67  : in  low  func0 2mA pull down
gpio68  : in  high func0 10mA no pull
gpio69  : in  low  func0 2mA pull down
gpio70  : in  low  func0 2mA pull down
gpio71  : in  low  func0 2mA pull down
gpio72  : in  low  func0 2mA pull down
gpio73  : in  low  func0 2mA pull down
gpio74  : in  low  func0 2mA pull down
gpio75  : in  low  func0 2mA pull down
gpio76  : in  low  func0 2mA pull down
gpio77  : in  low  func0 2mA pull down
gpio78  : in  low  func0 2mA pull down
gpio79  : in  low  func0 2mA pull down
gpio80  : in  low  func0 2mA pull down
gpio81  : in  low  func0 2mA pull down
gpio82  : in  low  func0 2mA pull down
gpio83  : in  low  func0 2mA pull down
gpio84  : in  low  func0 2mA pull down
gpio85  : in  low  func0 2mA pull down
gpio86  : in  low  func0 2mA pull down
gpio87  : in  low  func0 2mA pull down
gpio88  : in  low  func0 2mA pull down
gpio89  : in  low  func0 2mA pull down
gpio90  : in  low  func0 2mA pull down
gpio91  : in  low  func0 2mA pull down
gpio92  : in  low  func0 2mA pull down
gpio93  : in  low  func0 2mA pull down
gpio94  : in  low  func0 2mA pull down
gpio95  : in  low  func0 2mA pull down
gpio96  : in  low  func0 2mA pull down
gpio97  : in  low  func0 2mA pull down
gpio98  : in  low  func0 2mA pull down
gpio99  : in  low  func0 2mA pull down
root@OpenWrt_rafal_bia:~# ls -al /sys/class/gpio
drwxr-xr-x    2 root     root             0 Jan  1  1970 .
drwxr-xr-x   36 root     root             0 Jan  1  1970 ..
--w-------    1 root     root          4096 Feb 10 23:57 export
lrwxrwxrwx    1 root     root             0 Feb  9 15:23 gpio421 -> ../../devices/platform/soc/1000000.pinctrl/gpiochip0/gpio/gpio421
lrwxrwxrwx    1 root     root             0 Jan  1  1970 gpiochip412 -> ../../devices/platform/soc/1000000.pinctrl/gpio/gpiochip412
--w-------    1 root     root          4096 Jan  1  1970 unexport
root@OpenWrt_rafal_bia:~#

964 (edytowany przez smereka 2024-02-11 17:24:43)

Odp: ZTE MF289F - Porting OpenWRT

usbreset zadziałał pierwszorzędnie zrebootował modem bez rebootu płyty. Kurde zapomniałem o tym big_smile Ale jakby co gpio też można by przetestować. Fajnie że działa - teraz zastosowanie mwan3 na tym routerze ma sens - w kontekście pilnowania łącza zarówno kablowego jak i modemowego. Czyli jak modem mi się zawiesi to po użyciu usbreset włączy się ponownie modem a nie cała płyta - czego skutkiem byłoby odcięcie od netu wszystkich.

root@OpenWrt_rafal_bia:~# usbreset
Usage:
  usbreset PPPP:VVVV - reset by product and vendor id
  usbreset BBB/DDD   - reset by bus and device number
  usbreset "Product" - reset by product name

Devices:
  Number 002/003  ID 19d2:1485  ZTE Mobile Broadband


dałem:

usbreset 19d2:1485

i działa elegancko

I tak będzie chyba najlepiej bo jak użyjemy usbreset 002/003

to po ponownym uruchomieniu jest już

Number 002/004  ID 19d2:1485  ZTE Mobile Broadband

więc w skrypcie już znowu 002/003 nie zadziała

965 (edytowany przez MiG25 2024-02-11 17:44:07)

Odp: ZTE MF289F - Porting OpenWRT

Pytanie , czy faktycznie resetuje się modem , czy tylko na chwilę odłącza i spowrotem podłącza się do USB....  Najlepiej jakby mu uptime sprawdzić po adb...

A co do gpio , to w sumie nie wiem jaki jest offset (najpewniej 412 , może być też 421...) więc GPIO8 to albo 420 albo 429 , więc :

echo 420 >/sys/class/gpio/export
echo "out" > /sys/class/gpio/gpio420/direction
echo "0" > /sys/class/gpio/gpio420/value

później ustawić 1 i zobaczyć ,czy coś się stanie.

A jak nie to to samo dla wartosci 429...

EDIT: Nie ,ten 421 to przecież ustawiony switch ucidefaults..... więc na pewno 420 będzie gpio8...

966 (edytowany przez smereka 2024-02-11 17:57:21)

Odp: ZTE MF289F - Porting OpenWRT

jak sprawdzić uptime po adb podacie komendę?

967

Odp: ZTE MF289F - Porting OpenWRT

Jak sprawdzić offset jest tutaj opisane: https://openwrt.org/docs/techref/hardwa … o#software

968

Odp: ZTE MF289F - Porting OpenWRT

No dobra ale co to kurna za szyfr uptime?

root@OpenWrt_rafal_bia:~# adb shell cat /proc/uptime
182173.90 177372.60
root@OpenWrt_rafal_bia:~#

969

Odp: ZTE MF289F - Porting OpenWRT

Pierwsza to uptime w sek, druga ide w sekundach.

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

970 (edytowany przez smereka 2024-02-11 18:04:16)

Odp: ZTE MF289F - Porting OpenWRT

Ok mam czyli lipa masz rację Mig:

root@OpenWrt_rafal_bia:~# adb shell uptime
18:02:07 up 2 days,  2:37,  load average: 0.19, 0.17, 0.17
root@OpenWrt_rafal_bia:~#


A ta komenda coś nie chce iść...


root@OpenWrt_rafal_bia:~# echo 420 >/sys/class/gpio/export
ash: write error: Resource busy
root@OpenWrt_rafal_bia:~#

971

Odp: ZTE MF289F - Porting OpenWRT

A zrób adb shell reboot

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

972 (edytowany przez smereka 2024-02-11 18:05:35)

Odp: ZTE MF289F - Porting OpenWRT

Cezary napisał/a:

A zrób adb shell reboot



Wywaliło router. Robię to zdalnie przez vpn więc czekamy aż się podniesie (o ile w ogóle big_smile)

973 (edytowany przez smereka 2024-02-11 18:10:15)

Odp: ZTE MF289F - Porting OpenWRT

No dobra odżył wiemy że wykonał się reboot modemu tudzież i płyty co już i tak wiedzieliśmy smile  co dalej bo to od Miga nie chce gadać:

root@OpenWrt_rafal_bia:~# echo 420 >/sys/class/gpio/export
ash: write error: Resource busy
root@OpenWrt_rafal_bia:~#

974

Odp: ZTE MF289F - Porting OpenWRT

Ale to gpio to chyba masz już w systemie wyeksportowane.

975

Odp: ZTE MF289F - Porting OpenWRT

root@OpenWrt_rafal_bia:~# echo "out" > /sys/class/gpio/gpio420/direction
-ash: can't create /sys/class/gpio/gpio420/direction: nonexistent directory
root@OpenWrt_rafal_bia:~# echo "0" > /sys/class/gpio/gpio420/value
-ash: can't create /sys/class/gpio/gpio420/value: nonexistent directory
root@OpenWrt_rafal_bia:~#