Temat: D-Link DWR 961_A1 - modem niewidoczny w OpenWRT 24.10

Dzień dobry

Nie wiem, czy ktoś się już spotkał z problemem, który mam na routerze D-Link DWR-961 A1.

Mianowicie po aktualizacji obrazu z 23.05 (z ostatniego obrazu Cezarego, OpenWrt 23.05-SNAPSHOT r24176-880258bb1d) do dowolnej wersji 24.10 (stockowej lub Cezarego) nie jest widoczny modem LTE (podłączony do złącza mPCI-e)

W wersji 23.05 jest wykrywany bezproblemowo, czasem zdarzają się problemy z brakiem możliwości zalogowania do BTS i czasem zwiecha, ale w najgorszym razie po restarcie routera modem zaczyna być widoczny.

Podejrzewam, że to jakiś bug w nowszym kernelu (przejście było z 5.15 na 6.6) dla konkretnej platformy sprzętowej.

Na OpenWRT 23.05 mam takie urządzenia USB:

root@router:~# cat /sys/kernel/debug/usb/devices 

T:  Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#=  1 Spd=480  MxCh= 1
B:  Alloc=  0/800 us ( 0%), #Int=  0, #Iso=  0
D:  Ver= 2.00 Cls=09(hub  ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
P:  Vendor=1d6b ProdID=0002 Rev= 5.15
S:  Manufacturer=Linux 5.15.180 ehci_hcd
S:  Product=EHCI Host Controller
S:  SerialNumber=101c0000.ehci
C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=  0mA
I:* If#= 0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub
E:  Ad=81(I) Atr=03(Int.) MxPS=   4 Ivl=256ms

T:  Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#=  2 Spd=480  MxCh= 0
D:  Ver= 2.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
P:  Vendor=1435 ProdID=d191 Rev=ff.ff
S:  Manufacturer=Android
S:  Product=Android
S:  SerialNumber=0123456789ABCDEF
C:* #Ifs= 6 Cfg#= 1 Atr=80 MxPwr=500mA
I:* If#= 0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=option
E:  Ad=81(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=01(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
I:* If#= 1 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=42 Prot=01 Driver=(none)
E:  Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=82(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
I:* If#= 2 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=option
E:  Ad=84(I) Atr=03(Int.) MxPS=  10 Ivl=32ms
E:  Ad=83(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=03(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
I:* If#= 3 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=option
E:  Ad=86(I) Atr=03(Int.) MxPS=  10 Ivl=32ms
E:  Ad=85(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=04(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
I:* If#= 4 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=ff Driver=qmi_wwan
E:  Ad=88(I) Atr=03(Int.) MxPS=   8 Ivl=32ms
E:  Ad=87(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=05(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
I:* If#= 5 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=(none)
E:  Ad=89(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=06(O) Atr=02(Bulk) MxPS= 512 Ivl=125us

T:  Bus=02 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#=  1 Spd=12   MxCh= 1
B:  Alloc=  0/900 us ( 0%), #Int=  0, #Iso=  0
D:  Ver= 1.10 Cls=09(hub  ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
P:  Vendor=1d6b ProdID=0001 Rev= 5.15
S:  Manufacturer=Linux 5.15.180 ohci_hcd
S:  Product=Generic Platform OHCI controller
S:  SerialNumber=101c1000.ohci
C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=  0mA
I:* If#= 0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub
E:  Ad=81(I) Atr=03(Int.) MxPS=   2 Ivl=255ms

oraz (po zainstalowaniu usbutils i pciutils):

root@router:~# lsusb
Bus 002 Device 001: ID 1d6b:0001 Linux 5.15.180 ohci_hcd Generic Platform OHCI controller
Bus 001 Device 002: ID 1435:d191 Android Android
Bus 001 Device 001: ID 1d6b:0002 Linux 5.15.180 ehci_hcd EHCI Host Controller
root@router:~# lspci
00:00.0 PCI bridge: Ralink corp. Device 0801 (rev 01)
01:00.0 Network controller: MEDIATEK Corp. MT7612E 802.11acbgn PCI Express Wireless Network Adapter

Na nowszym - widać tylko kontrolery OHCI i EHCI.

Ktoś się może spotkał z takim problemem?

Ewentualnie, od czego można zacząć debugować ten problem w nowszym OpenWRT?

2

Odp: D-Link DWR 961_A1 - modem niewidoczny w OpenWRT 24.10

Zobacz w logi czy nie ma jakiegoś błędu o inicjalizacji podsystemu USB.

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

3

Odp: D-Link DWR 961_A1 - modem niewidoczny w OpenWRT 24.10

Nie zauważyłem.

Na razie to jest główny router, używany przez całą rodzinę, więc przywróciłem działającą wersję, mogę dopiero ewentualnie wieczorem pobadać.

Logi natomiast zebrałem przed każdą aktualizacją, poniżej dmesg z najnowszej wersji dostępnej na Twojej stronie. Wygląda wszystko OK, tylko jakby modem się nie zgłaszał:

[    0.000000] Linux version 6.6.102 (cezary@eko.one.pl) (mipsel-openwrt-linux-musl-gcc (OpenWrt GCC 13.3.0 r28010-49d8f4b833) 13.3.0, GNU ld (GNU Binutils) 2.42) #0 Thu Aug 28 19:17:44 2025
[    0.000000] Board has DDR2
[    0.000000] Analog PMU set to hw control
[    0.000000] Digital PMU set to hw control
[    0.000000] SoC Type: MediaTek MT7620A ver:2 eco:6
[    0.000000] printk: bootconsole [early0] enabled
[    0.000000] CPU0 revision is: 00019650 (MIPS 24KEc)
[    0.000000] MIPS: machine is D-Link DWR-961 A1
[    0.000000] Initrd not found or empty - disabling initrd
[    0.000000] Primary instruction cache 64kB, VIPT, 4-way, linesize 32 bytes.
[    0.000000] Primary data cache 32kB, 4-way, PIPT, no aliases, linesize 32 bytes
[    0.000000] Zone ranges:
[    0.000000]   Normal   [mem 0x0000000000000000-0x0000000007ffffff]
[    0.000000] Movable zone start for each node
[    0.000000] Early memory node ranges
[    0.000000]   node   0: [mem 0x0000000000000000-0x0000000007ffffff]
[    0.000000] Initmem setup node 0 [mem 0x0000000000000000-0x0000000007ffffff]
[    0.000000] pcpu-alloc: s0 r0 d32768 u32768 alloc=1*32768
[    0.000000] pcpu-alloc: [0] 0 
[    0.000000] Kernel command line: console=ttyS0,57600 rootfstype=squashfs,jffs2
[    0.000000] Dentry cache hash table entries: 16384 (order: 4, 65536 bytes, linear)
[    0.000000] Inode-cache hash table entries: 8192 (order: 3, 32768 bytes, linear)
[    0.000000] Writing ErrCtl register=0005ac20
[    0.000000] Readback ErrCtl register=0005ac20
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 32480
[    0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
[    0.000000] Memory: 120064K/131072K available (6668K kernel code, 619K rwdata, 880K rodata, 1232K init, 241K bss, 11008K reserved, 0K cma-reserved)
[    0.000000] SLUB: HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[    0.000000] NR_IRQS: 256
[    0.000000] CPU Clock: 580MHz
[    0.000000] clocksource: systick: mask: 0xffff max_cycles: 0xffff, max_idle_ns: 583261500 ns
[    0.000000] systick: enable autosleep mode
[    0.000000] systick: running - mult: 214748, shift: 32
[    0.000000] clocksource: MIPS: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 6590553264 ns
[    0.000002] sched_clock: 32 bits at 290MHz, resolution 3ns, wraps every 7405115902ns
[    0.015566] Calibrating delay loop... 385.84 BogoMIPS (lpj=1929216)
[    0.087777] pid_max: default: 32768 minimum: 301
[    0.109631] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    0.124060] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    0.150713] RCU Tasks Trace: Setting shift to 0 and lim to 1 rcu_task_cb_adjust=1 rcu_task_cpu_ids=1.
[    0.177125] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[    0.196625] futex hash table entries: 256 (order: -1, 3072 bytes, linear)
[    0.213419] pinctrl core: initialized pinctrl subsystem
[    0.227327] NET: Registered PF_NETLINK/PF_ROUTE protocol family
[    0.239884] thermal_sys: Registered thermal governor 'step_wise'
[    0.243885] /pinctrl: Fixed dependency cycle(s) with /pinctrl/pinctrl0
[    0.543626] PCI host bridge to bus 0000:00
[    0.551699] pci_bus 0000:00: root bus resource [mem 0x20000000-0x2fffffff]
[    0.565318] pci_bus 0000:00: root bus resource [io  0x10160000-0x1016ffff]
[    0.578983] pci_bus 0000:00: No busn resource found for root bus, will use [bus 00-ff]
[    0.594788] pci 0000:00:00.0: [1814:0801] type 01 class 0x060400
[    0.606691] pci 0000:00:00.0: reg 0x10: [mem 0x00000000-0x7fffffff]
[    0.619141] pci 0000:00:00.0: reg 0x14: [mem 0x00000000-0x0000ffff]
[    0.631677] pci 0000:00:00.0: supports D1
[    0.639553] pci 0000:00:00.0: PME# supported from D0 D1 D3hot
[    0.652875] pci 0000:00:00.0: bridge configuration invalid ([bus 00-00]), reconfiguring
[    0.668917] pci 0000:01:00.0: [14c3:7612] type 00 class 0x028000
[    0.680782] pci 0000:01:00.0: reg 0x10: [mem 0x00000000-0x000fffff 64bit]
[    0.694277] pci 0000:01:00.0: reg 0x30: [mem 0x00000000-0x0000ffff pref]
[    0.707663] pci 0000:01:00.0: PME# supported from D0 D3hot D3cold
[    0.720078] pci_bus 0000:01: busn_res: [bus 01-ff] end is updated to 01
[    0.733146] pci_bus 0000:00: busn_res: [bus 00-ff] end is updated to 01
[    0.746295] pci 0000:00:00.0: BAR 0: no space for [mem size 0x80000000]
[    0.759420] pci 0000:00:00.0: BAR 0: failed to assign [mem size 0x80000000]
[    0.773270] pci 0000:00:00.0: BAR 8: assigned [mem 0x20000000-0x200fffff]
[    0.786767] pci 0000:00:00.0: BAR 9: assigned [mem 0x20100000-0x201fffff pref]
[    0.801131] pci 0000:00:00.0: BAR 1: assigned [mem 0x20200000-0x2020ffff]
[    0.814642] pci 0000:01:00.0: BAR 0: assigned [mem 0x20000000-0x200fffff 64bit]
[    0.829185] pci 0000:01:00.0: BAR 6: assigned [mem 0x20100000-0x2010ffff pref]
[    0.843536] pci 0000:00:00.0: PCI bridge to [bus 01]
[    0.853395] pci 0000:00:00.0:   bridge window [mem 0x20000000-0x200fffff]
[    0.866900] pci 0000:00:00.0:   bridge window [mem 0x20100000-0x201fffff pref]
[    0.883211] clocksource: Switched to clocksource systick
[    0.907547] NET: Registered PF_INET protocol family
[    0.917478] IP idents hash table entries: 2048 (order: 2, 16384 bytes, linear)
[    0.933651] tcp_listen_portaddr_hash hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    0.950401] Table-perturb hash table entries: 65536 (order: 6, 262144 bytes, linear)
[    0.965750] TCP established hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    0.980985] TCP bind hash table entries: 1024 (order: 1, 8192 bytes, linear)
[    0.995020] TCP: Hash tables configured (established 1024 bind 1024)
[    1.008521] MPTCP token hash table entries: 512 (order: 0, 6144 bytes, linear)
[    1.023144] UDP hash table entries: 256 (order: 0, 4096 bytes, linear)
[    1.036049] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes, linear)
[    1.051100] NET: Registered PF_UNIX/PF_LOCAL protocol family
[    1.062396] PCI: CLS 0 bytes, default 32
[    1.070408] rt-timer 10000100.timer: maximum frequency is 1220Hz
[    1.089841] workingset: timestamp_bits=14 max_order=15 bucket_order=1
[    1.104776] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    1.116291] jffs2: version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc.
[    1.142877] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 252)
[    1.160011] Serial: 8250/16550 driver, 16 ports, IRQ sharing enabled
[    1.179364] printk: console [ttyS0] disabled
[    1.188516] 10000c00.uartlite: ttyS0 at MMIO 0x10000c00 (irq = 20, base_baud = 2500000) is a Palmchip BK-3103
[    1.208240] printk: console [ttyS0] enabled
[    1.224761] printk: bootconsole [early0] disabled
[    1.282445] spi spi0.0: force spi mode3
[    1.290966] spi-nor spi0.0: w25q128 (16384 Kbytes)
[    1.300705] 3 fixed-partitions partitions found on MTD device spi0.0
[    1.313431] OF: Bad cell count for /palmbus@10000000/spi@b00/flash@0/partitions
[    1.328033] OF: Bad cell count for /palmbus@10000000/spi@b00/flash@0/partitions
[    1.342923] Creating 3 MTD partitions on "spi0.0":
[    1.352519] 0x000000000000-0x000000010000 : "jboot"
[    1.366273] 0x000000010000-0x000000ff0000 : "firmware"
[    1.414344] 2 uimage-fw partitions found on MTD device firmware
[    1.426198] Creating 2 MTD partitions on "firmware":
[    1.436100] 0x000000000000-0x000000287e80 : "kernel"
[    1.445998] mtd: partition "kernel" doesn't end on an erase/write block -- force read-only
[    1.465139] 0x000000287e80-0x000000fe0000 : "rootfs"
[    1.475133] mtd: partition "rootfs" doesn't start on an erase/write block boundary -- force read-only
[    1.495968] mtd: setting mtd3 (rootfs) as root device
[    1.506216] 1 squashfs-split partitions found on MTD device rootfs
[    1.518558] 0x000000820000-0x000000fe0000 : "rootfs_data"
[    1.531961] 0x000000ff0000-0x000001000000 : "config"
[    1.544717] OF: Bad cell count for /palmbus@10000000/spi@b00/flash@0/partitions
[    1.589244] gsw: ephy base address: 8
[    1.597925] gsw: setting port4 to ephy mode
[    1.606436] mtk_soc_eth 10100000.ethernet: generated random MAC address 66:3b:b2:97:aa:7a
[    1.626653] switch0: Atheros AR8337 rev. 2 switch registered on mdio-bus
[    1.865841] mtk_soc_eth 10100000.ethernet: port 5 - using fixed link parameters
[    1.880755] mtk_soc_eth 10100000.ethernet: loaded mt7620 driver
[    1.893399] mtk_soc_eth 10100000.ethernet eth0: mediatek frame engine at 0xb0100000, irq 5
[    1.910812] rt2880_wdt 10000120.watchdog: Initialized
[    1.923606] NET: Registered PF_INET6 protocol family
[    1.941715] Segment Routing with IPv6
[    1.949283] In-situ OAM (IOAM) with IPv6
[    1.957303] NET: Registered PF_PACKET protocol family
[    1.967510] bridge: filtering via arp/ip/ip6tables is no longer available by default. Update your scripts to load br_netfilter if you need this.
[    1.993712] 8021q: 802.1Q VLAN Support v1.8
[    2.047406] clk: Disabling unused clocks
[    2.064245] VFS: Mounted root (squashfs filesystem) readonly on device 31:3.
[    2.085118] Freeing unused kernel image (initmem) memory: 1232K
[    2.096949] This architecture does not have kernel memory protection.
[    2.109797] Run /sbin/init as init process
[    2.117947]   with arguments:
[    2.117953]     /sbin/init
[    2.117960]   with environment:
[    2.117966]     HOME=/
[    2.117973]     TERM=linux
[    3.062966] init: Console is alive
[    3.070422] init: - watchdog -
[    4.775154] kmodloader: loading kernel modules from /etc/modules-boot.d/*
[    4.843653] usbcore: registered new interface driver usbfs
[    4.854788] usbcore: registered new interface driver hub
[    4.865597] usbcore: registered new device driver usb
[    4.880534] gpio_button_hotplug: loading out-of-tree module taints kernel.
[    4.919531] phy phy-usbphy.0: remote usb device wakeup disabled
[    4.931369] phy phy-usbphy.0: UTMI 16bit 30MHz
[    4.940223] ehci-platform 101c0000.ehci: EHCI Host Controller
[    4.951712] ehci-platform 101c0000.ehci: new USB bus registered, assigned bus number 1
[    4.967662] ehci-platform 101c0000.ehci: irq 26, io mem 0x101c0000
[    4.990875] ehci-platform 101c0000.ehci: USB 2.0 started, EHCI 1.00
[    5.004729] hub 1-0:1.0: USB hub found
[    5.013410] hub 1-0:1.0: 1 port detected
[    5.033333] ohci-platform 101c1000.ohci: Generic Platform OHCI controller
[    5.047005] ohci-platform 101c1000.ohci: new USB bus registered, assigned bus number 2
[    5.063036] ohci-platform 101c1000.ohci: irq 26, io mem 0x101c1000
[    5.104252] hub 2-0:1.0: USB hub found
[    5.112612] hub 2-0:1.0: 1 port detected
[    5.138924] kmodloader: done loading kernel modules from /etc/modules-boot.d/*
[    5.158117] init: - preinit -
[    9.122495] random: crng init done
[   11.838632] mtk_soc_eth 10100000.ethernet eth0: port 5 link up (1000Mbps/Full duplex)
[   11.855034] 8021q: adding VLAN 0 to HW filter on device eth0
[   13.597431] jffs2_scan_eraseblock(): End of filesystem marker found at 0x10000
[   13.611914] jffs2_build_filesystem(): unlocking the mtd device... 
[   13.611943] done.
[   13.628076] jffs2_build_filesystem(): erasing all blocks after the end marker... 
[   38.396847] done.
[   38.415653] jffs2: notice: (469) jffs2_build_xattr_subsystem: complete building xattr subsystem, 0 of xdatum (0 unchecked, 0 orphan) and 0 of xref (0 dead, 0 orphan) found.
[   38.455221] mount_root: overlay filesystem has not been fully initialized yet
[   38.471337] mount_root: switching to jffs2 overlay
[   38.487664] overlayfs: upper fs does not support tmpfile.
[   39.296859] urandom-seed: Seed file not found (/etc/urandom.seed)
[   39.394490] mtk_soc_eth 10100000.ethernet eth0: port 5 link down
[   39.433001] procd: - early -
[   39.439302] procd: - watchdog -
[   40.110794] procd: - watchdog -
[   40.117716] procd: - ubus -
[   40.301380] procd: - init -
[   42.122314] kmodloader: loading kernel modules from /etc/modules.d/*
[   43.889872] OpenVPN data channel offload (ovpn-dco) 2.0.0 -- (C) 2020-2023 OpenVPN, Inc.
[   43.930614] tun: Universal TUN/TAP device driver, 1.6
[   44.016297] usbcore: registered new interface driver cdc_wdm
[   44.049540] Loading modules backported from Linux version v6.12.6-0-ge9d65b48ce1a
[   44.064549] Backport generated by backports.git v6.1.110-1-35-g410656ef04d2
[   44.190680] usbcore: registered new interface driver usbserial_generic
[   44.203908] usbserial: USB Serial support registered for generic
[   44.948418] mt76x2e 0000:01:00.0: card - bus=0x1, slot = 0x0 irq=4
[   44.961150] mt76x2e 0000:01:00.0: ASIC revision: 76120044
[   45.678183] mt76x2e 0000:01:00.0: ROM patch build: 20141115060606a
[   45.738320] mt76x2e 0000:01:00.0: Firmware Version: 0.0.00
[   45.749349] mt76x2e 0000:01:00.0: Build: 1
[   45.757511] mt76x2e 0000:01:00.0: Build Time: 201607111443____
[   45.826188] mt76x2e 0000:01:00.0: Firmware running!
[   45.836100] mt76x2e 0000:01:00.0: registering led 'mt76-phy0'
[   45.849671] ieee80211 phy0: Selected rate control algorithm 'minstrel_ht'
[   46.344651] PPP generic driver version 2.4.2
[   46.390025] NET: Registered PF_PPPOX protocol family
[   46.440297] usbcore: registered new interface driver qmi_wwan
[   46.571817] wireguard: WireGuard 1.0.0 loaded. See www.wireguard.com for information.
[   46.587517] wireguard: Copyright (C) 2015-2019 Jason A. Donenfeld <Jason@zx2c4.com>. All Rights Reserved.
[   46.728920] usbcore: registered new interface driver option
[   46.740225] usbserial: USB Serial support registered for GSM modem (1-port)
[   46.908706] ieee80211 phy1: rt2x00_set_rt: Info - RT chipset 6352, rev 0500 detected
[   46.924253] ieee80211 phy1: rt2x00lib_read_eeprom_file: Info - Loading EEPROM data from 'soc_wmac.eeprom'.
[   46.943662] rt2800_wmac 10180000.wmac: Direct firmware load for soc_wmac.eeprom failed with error -2
[   46.961929] rt2800_wmac 10180000.wmac: Falling back to sysfs fallback for: soc_wmac.eeprom
[   48.946455] ieee80211 phy1: rt2x00_set_rf: Info - RF chipset 7620 detected
[   48.962120] ieee80211 phy1: Selected rate control algorithm 'minstrel_ht'
[   49.016801] kmodloader: done loading kernel modules from /etc/modules.d/*
[  113.717124] Atheros AR8216/AR8236/AR8316 mdio-bus:00: Port 2 is up
[  113.768913] mtk_soc_eth 10100000.ethernet eth0: port 5 link up (1000Mbps/Full duplex)
[  113.787000] 8021q: adding VLAN 0 to HW filter on device eth0
[  113.938680] mtk_soc_eth 10100000.ethernet eth0: entered promiscuous mode
[  114.008049] br-lan: port 1(eth0.1) entered blocking state
[  114.018933] br-lan: port 1(eth0.1) entered disabled state
[  114.029763] eth0.1: entered allmulticast mode
[  114.038468] mtk_soc_eth 10100000.ethernet eth0: entered allmulticast mode
[  114.052371] eth0.1: entered promiscuous mode
[  114.217097] br-lan: port 1(eth0.1) entered blocking state
[  114.227929] br-lan: port 1(eth0.1) entered forwarding state
[  134.009835] br-lan: port 2(phy1-ap0) entered blocking state
[  134.021047] br-lan: port 2(phy1-ap0) entered disabled state
[  134.032232] rt2800_wmac 10180000.wmac phy1-ap0: entered allmulticast mode
[  134.046204] rt2800_wmac 10180000.wmac phy1-ap0: entered promiscuous mode
[  137.261917] br-lan: port 2(phy1-ap0) entered blocking state
[  137.273134] br-lan: port 2(phy1-ap0) entered forwarding state
[  143.461700] br-lan: port 3(phy0-ap0) entered blocking state
[  143.472909] br-lan: port 3(phy0-ap0) entered disabled state
[  143.484107] mt76x2e 0000:01:00.0 phy0-ap0: entered allmulticast mode
[  143.497201] mt76x2e 0000:01:00.0 phy0-ap0: entered promiscuous mode
[  148.144590] export_store: invalid GPIO 0
[  205.753029] br-lan: port 3(phy0-ap0) entered blocking state
[  205.764242] br-lan: port 3(phy0-ap0) entered forwarding state
[  206.487134] br-lan: port 4(phy0-ap1) entered blocking state
[  206.498351] br-lan: port 4(phy0-ap1) entered disabled state
[  206.509532] mt76x2e 0000:01:00.0 phy0-ap1: entered allmulticast mode
[  206.522572] mt76x2e 0000:01:00.0 phy0-ap1: entered promiscuous mode
[  206.558748] mt76x2e 0000:01:00.0 phy0-ap1: left allmulticast mode
[  206.571112] mt76x2e 0000:01:00.0 phy0-ap1: left promiscuous mode
[  206.583328] br-lan: port 4(phy0-ap1) entered disabled state
[  206.831761] br-lan: port 4(phy0-ap1) entered blocking state
[  206.842991] br-lan: port 4(phy0-ap1) entered disabled state
[  206.854186] mt76x2e 0000:01:00.0 phy0-ap1: entered allmulticast mode
[  206.867244] mt76x2e 0000:01:00.0 phy0-ap1: entered promiscuous mode
[  207.492360] br-lan: port 4(phy0-ap1) entered blocking state
[  207.503585] br-lan: port 4(phy0-ap1) entered forwarding state
[  216.568762] urngd: v1.0.2 started.
[  697.491028] rt2800_wmac 10180000.wmac phy1-ap0: left allmulticast mode
[  697.504284] rt2800_wmac 10180000.wmac phy1-ap0: left promiscuous mode
[  697.517317] br-lan: port 2(phy1-ap0) entered disabled state
[  699.514018] br-lan: port 2(phy1-ap0) entered blocking state
[  699.525238] br-lan: port 2(phy1-ap0) entered disabled state
[  699.537356] rt2800_wmac 10180000.wmac phy1-ap0: entered allmulticast mode
[  699.551591] rt2800_wmac 10180000.wmac phy1-ap0: entered promiscuous mode
[  701.297024] br-lan: port 2(phy1-ap0) entered blocking state
[  701.308198] br-lan: port 2(phy1-ap0) entered forwarding state
[  702.350453] br-lan: port 2(phy1-ap0) entered disabled state
[  704.701350] phy1-sta0: authenticate with 02:c4:6b:73:96:15 (local address=28:3b:82:c8:64:9e)
[  704.718295] phy1-sta0: send auth to 02:c4:6b:73:96:15 (try 1/3)
[  704.966131] phy1-sta0: authenticate with 02:c4:6b:73:96:15 (local address=28:3b:82:c8:64:9e)
[  704.983088] phy1-sta0: send auth to 02:c4:6b:73:96:15 (try 1/3)
[  704.999929] phy1-sta0: authenticated
[  705.058404] phy1-sta0: associate with 02:c4:6b:73:96:15 (try 1/3)
[  705.098929] phy1-sta0: RX AssocResp from 02:c4:6b:73:96:15 (capab=0x1431 status=0 aid=1)
[  705.115525] phy1-sta0: associated
[  705.236673] phy1-sta0: Limiting TX power to 20 (20 - 0) dBm as advertised by 02:c4:6b:73:96:15
[  705.268790] br-lan: port 2(phy1-ap0) entered blocking state
[  705.279982] br-lan: port 2(phy1-ap0) entered forwarding state
[  843.899081] kmodloader: loading kernel modules from /etc/modules.d/*
[  843.944912] SCSI subsystem initialized
[  843.983107] usbcore: registered new interface driver usb-storage
[  844.002446] usbcore: registered new interface driver uas
[  844.018393] kmodloader: done loading kernel modules from /etc/modules.d/*
[  844.166764] kmodloader: loading kernel modules from /etc/modules.d/*
[  844.199749] kmodloader: done loading kernel modules from /etc/modules.d/*
[  844.422504] kmodloader: loading kernel modules from /etc/modules.d/*
[  844.455664] kmodloader: done loading kernel modules from /etc/modules.d/*
[ 1084.314481] kmodloader: loading kernel modules from /etc/modules.d/*
[ 1084.351120] usbcore: registered new interface driver sierra
[ 1084.362451] usbserial: USB Serial support registered for Sierra USB modem
[ 1084.385548] usbcore: registered new interface driver sierra_net
[ 1084.403477] kmodloader: done loading kernel modules from /etc/modules.d/*
[ 1084.543125] kmodloader: loading kernel modules from /etc/modules.d/*
[ 1084.590708] kmodloader: done loading kernel modules from /etc/modules.d/*

4

Odp: D-Link DWR 961_A1 - modem niewidoczny w OpenWRT 24.10

Porównałem też zainstalowane pakiety z modułami kernela pomiędzy wersją 23.05 a 24.10 - nie widzę różnic.

5

Odp: D-Link DWR 961_A1 - modem niewidoczny w OpenWRT 24.10

Nie było jakiejś zmiany systemu gpio przypadkiem, że pin od enable się nie aktywuje?

Mam i używam: Fujitsu Futro S720, Netgear R6220, Unielec U7621-06, TP-Linki 1043 V1, V2, Linksysy EA7500v2, AeroHive AP350, Linksys EA8500, ZTE MF286d.
Mam: D-Linki DWR-921, DWR-118, DWR-116, TP-Link WDR-4900 v1, Checkpoint L-50, Linksysy 1900ACS, LB-Link BL-W1200,

6

Odp: D-Link DWR 961_A1 - modem niewidoczny w OpenWRT 24.10

Było gpio od mpci power (na 512). Zobacz w 23.05 w

cat /sys/kernel/debug/gpio

W jakie jest offset tego gpio (512, ale od którego zaczynają się numerować gpio), a potem znajdź offset w 24.10 i zmień to sobie w /etc/config/system

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

7

Odp: D-Link DWR 961_A1 - modem niewidoczny w OpenWRT 24.10

Też myślałem właśnie o czymś takim, ale obstawiałem raczej jakieś niekompatybilne zmiany w Device Tree.

Coś jeszcze warto sprawdzić na starym systemie, zanim znów go przeoram? :-D

Dzięki za sugestie, sprawdzę wieczorem (po ponownej aktualizacji).

8

Odp: D-Link DWR 961_A1 - modem niewidoczny w OpenWRT 24.10

Zawartość /sys/kernel/debug/gpio poniżej z 23.05. nie widzę nic poza przyciskami i LED-ami:

root@router:~# cat /sys/kernel/debug/gpio 
gpiochip0: GPIOs 0-23, parent: platform/10000600.gpio, 10000600.gpio:
 gpio-0   (                    |sysfs               ) out hi 
 gpio-1   (                    |reset               ) in  hi ACTIVE LOW
 gpio-2   (                    |wps                 ) in  hi ACTIVE LOW
 gpio-7   (                    |green:status        ) out lo ACTIVE LOW
 gpio-11  (                    |green:wan           ) out hi ACTIVE LOW
 gpio-12  (                    |green:lan           ) out lo ACTIVE LOW
 gpio-13  (                    |green:hidden-1      ) out hi ACTIVE LOW
 gpio-14  (                    |green:hidden-2      ) out hi ACTIVE LOW

gpiochip1: GPIOs 24-39, parent: platform/10000638.gpio, 10000638.gpio:
 gpio-39  (                    |green:sms           ) out lo ACTIVE LOW

gpiochip2: GPIOs 40-71, parent: platform/10000660.gpio, 10000660.gpio:
 gpio-40  (                    |green:signal        ) out lo 
 gpio-41  (                    |red:signal          ) out lo 
 gpio-42  (                    |green:4g            ) out lo ACTIVE LOW
 gpio-43  (                    |green:3g            ) out lo ACTIVE LOW
 gpio-44  (                    |green:wlan5g        ) out lo ACTIVE LOW

gpiochip3: GPIOs 72-72, parent: platform/10000688.gpio, 10000688.gpio:
 gpio-72  (                    |green:wlan2g        ) out hi ACTIVE LOW

9

Odp: D-Link DWR 961_A1 - modem niewidoczny w OpenWRT 24.10

W 23.05 było to gpio 0: https://github.com/openwrt/openwrt/blob … itches#L14

czyli pierwsze dostępne. Zainstaluj teraz 24.10 i zobacz które jest pierwsze. Obstawiam że nie 512 tylko np  523

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

10

Odp: D-Link DWR 961_A1 - modem niewidoczny w OpenWRT 24.10

mskalski13 napisał/a:

Zawartość /sys/kernel/debug/gpio poniżej z 23.05. nie widzę nic poza przyciskami i LED-ami:

root@router:~# cat /sys/kernel/debug/gpio 
gpiochip0: GPIOs 0-23, parent: platform/10000600.gpio, 10000600.gpio:
 gpio-0   (                    |sysfs               ) out hi 
...

Ten gpio o nazwie sysfs to jedyny, który nie ma fizycznego odpowiednika na panelu przednim

11

Odp: D-Link DWR 961_A1 - modem niewidoczny w OpenWRT 24.10

Bo jest eksportowany z userlandu.

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

12

Odp: D-Link DWR 961_A1 - modem niewidoczny w OpenWRT 24.10

OK, zrobiłem aktualizację:

$ ssh -A router


BusyBox v1.36.1 (2025-07-29 21:18:45 UTC) built-in shell (ash)

  _______                     ________        __
 |       |.-----.-----.-----.|  |  |  |.----.|  |_
 |   -   ||  _  |  -__|     ||  |  |  ||   _||   _|
 |_______||   __|_____|__|__||________||__|  |____|
          |__| W I R E L E S S   F R E E D O M
 -----------------------------------------------------------------------------
 |                                                                           |
 | OpenWrt 24.10-SNAPSHOT, r28816-a65ca44cb7                                 |
 |                                                                           |
 | Build time: 2025-08-30 05:59 UTC                                          |
 | Cezary Jackiewicz, https://eko.one.pl                                     |
 |                                                                           |
 -----------------------------------------------------------------------------
 | Machine: D-Link DWR-961 A1                                                |
 | Uptime: 0d, 00:03:15                                                      |
 | Load: 5.48 2.49 0.95                                                      |
 | Flash: total: 7.8MB, free: 7.4MB, used: 5%                                |
 | Memory: total: 118.5MB, free: 89.3MB, used: 24%                           |
 | Leases: 0                                                                 |
 | wan: dhcp, ?                                                              |
 | wan6: dhcpv6, ?                                                           |
 | wwan: qmi, ?                                                              |
 | lan: static, 192.168.10.1                                                 |
...

Po aktualizacji nie mam w gpio `sysfs` w ogóle:

root@router:~# cat /sys/kernel/debug/gpio 
gpiochip0: GPIOs 512-535, parent: platform/10000600.gpio, 10000600.gpio:
 gpio-513 (                    |reset               ) in  hi IRQ ACTIVE LOW
 gpio-514 (                    |wps                 ) in  hi IRQ ACTIVE LOW
 gpio-519 (                    |green:status        ) out lo ACTIVE LOW
 gpio-523 (                    |green:wan           ) out hi ACTIVE LOW
 gpio-524 (                    |green:lan           ) out lo ACTIVE LOW
 gpio-525 (                    |green:hidden-1      ) out hi ACTIVE LOW
 gpio-526 (                    |green:hidden-2      ) out hi ACTIVE LOW

gpiochip1: GPIOs 536-551, parent: platform/10000638.gpio, 10000638.gpio:
 gpio-551 (                    |green:sms           ) out lo ACTIVE LOW

gpiochip2: GPIOs 552-583, parent: platform/10000660.gpio, 10000660.gpio:
 gpio-552 (                    |green:signal        ) out lo 
 gpio-553 (                    |red:signal          ) out lo 
 gpio-554 (                    |green:4g            ) out hi ACTIVE LOW
 gpio-555 (                    |green:3g            ) out hi ACTIVE LOW
 gpio-556 (                    |green:wlan5g        ) out lo ACTIVE LOW

gpiochip3: GPIOs 584-584, parent: platform/10000688.gpio, 10000688.gpio:
 gpio-584 (                    |green:wlan2g        ) out hi ACTIVE LOW

13

Odp: D-Link DWR 961_A1 - modem niewidoczny w OpenWRT 24.10

Po instalacji dtc i konwersji na 24.10 na postać DTS z użyciem:

root@router:~# dtc -I fs -O dts /proc/device-tree/ -o /tmp/dwr-961_a1-24.10.dts
/tmp/dwr-961_a1-24.10.dts: Warning (clocks_property): /wmac@10180000:clocks: cell 0 is not a phandle reference
/tmp/dwr-961_a1-24.10.dts: Warning (clocks_property): /palmbus@10000000/watchdog@120:clocks: cell 0 is not a phandle reference
/tmp/dwr-961_a1-24.10.dts: Warning (clocks_property): /palmbus@10000000/uart@500:clocks: cell 0 is not a phandle reference
/tmp/dwr-961_a1-24.10.dts: Warning (clocks_property): /palmbus@10000000/i2c@900:clocks: cell 0 is not a phandle reference
/tmp/dwr-961_a1-24.10.dts: Warning (clocks_property): /palmbus@10000000/timer@100:clocks: cell 0 is not a phandle reference
/tmp/dwr-961_a1-24.10.dts: Warning (clocks_property): /palmbus@10000000/uartlite@c00:clocks: cell 0 is not a phandle reference
/tmp/dwr-961_a1-24.10.dts: Warning (clocks_property): /palmbus@10000000/spi@b40:clocks: cell 0 is not a phandle reference
/tmp/dwr-961_a1-24.10.dts: Warning (clocks_property): /palmbus@10000000/spi@b00:clocks: cell 0 is not a phandle reference
/tmp/dwr-961_a1-24.10.dts: Warning (clocks_property): /palmbus@10000000/i2s@a00:clocks: cell 0 is not a phandle reference
/tmp/dwr-961_a1-24.10.dts: Warning (clocks_property): /mmc@10130000:clocks: cell 0 is not a phandle reference
/tmp/dwr-961_a1-24.10.dts: Warning (clocks_property): /mmc@10130000:clocks: cell 2 is not a phandle reference
/tmp/dwr-961_a1-24.10.dts: Warning (dmas_property): /palmbus@10000000/i2s@a00:dmas: cell 0 is not a phandle reference
/tmp/dwr-961_a1-24.10.dts: Warning (dmas_property): /palmbus@10000000/i2s@a00:dmas: cell 2 is not a phandle reference
/tmp/dwr-961_a1-24.10.dts: Warning (phys_property): /ohci@101c1000:phys: cell 0 is not a phandle reference
/tmp/dwr-961_a1-24.10.dts: Warning (phys_property): /ehci@101c0000:phys: cell 0 is not a phandle reference
/tmp/dwr-961_a1-24.10.dts: Warning (resets_property): /gsw@10110000:resets: cell 0 is not a phandle reference
/tmp/dwr-961_a1-24.10.dts: Warning (resets_property): /usbphy:resets: cell 0 is not a phandle reference
/tmp/dwr-961_a1-24.10.dts: Warning (resets_property): /usbphy:resets: cell 2 is not a phandle reference
/tmp/dwr-961_a1-24.10.dts: Warning (resets_property): /ethernet@10100000:resets: cell 0 is not a phandle reference
/tmp/dwr-961_a1-24.10.dts: Warning (resets_property): /ethernet@10100000:resets: cell 2 is not a phandle reference
/tmp/dwr-961_a1-24.10.dts: Warning (resets_property): /palmbus@10000000/watchdog@120:resets: cell 0 is not a phandle reference
/tmp/dwr-961_a1-24.10.dts: Warning (resets_property): /palmbus@10000000/uart@500:resets: cell 0 is not a phandle reference
/tmp/dwr-961_a1-24.10.dts: Warning (resets_property): /palmbus@10000000/pcm@2000:resets: cell 0 is not a phandle reference
/tmp/dwr-961_a1-24.10.dts: Warning (resets_property): /palmbus@10000000/i2c@900:resets: cell 0 is not a phandle reference
/tmp/dwr-961_a1-24.10.dts: Warning (resets_property): /palmbus@10000000/uartlite@c00:resets: cell 0 is not a phandle reference
/tmp/dwr-961_a1-24.10.dts: Warning (resets_property): /palmbus@10000000/spi@b40:resets: cell 0 is not a phandle reference
/tmp/dwr-961_a1-24.10.dts: Warning (resets_property): /palmbus@10000000/spi@b00:resets: cell 0 is not a phandle reference
/tmp/dwr-961_a1-24.10.dts: Warning (resets_property): /palmbus@10000000/i2s@a00:resets: cell 0 is not a phandle reference
/tmp/dwr-961_a1-24.10.dts: Warning (resets_property): /palmbus@10000000/gdma@2800:resets: cell 0 is not a phandle reference
/tmp/dwr-961_a1-24.10.dts: Warning (resets_property): /mmc@10130000:resets: cell 0 is not a phandle reference
/tmp/dwr-961_a1-24.10.dts: Warning (resets_property): /pcie@10140000:resets: cell 0 is not a phandle reference
/tmp/dwr-961_a1-24.10.dts: Warning (gpios_property): /leds/wlan5g:gpios: cell 0 is not a phandle reference
/tmp/dwr-961_a1-24.10.dts: Warning (gpios_property): /leds/lan:gpios: cell 0 is not a phandle reference
/tmp/dwr-961_a1-24.10.dts: Warning (gpios_property): /leds/sms:gpios: cell 0 is not a phandle reference
/tmp/dwr-961_a1-24.10.dts: Warning (gpios_property): /leds/wlan2g:gpios: cell 0 is not a phandle reference
/tmp/dwr-961_a1-24.10.dts: Warning (gpios_property): /leds/hidden-1:gpios: cell 0 is not a phandle reference
/tmp/dwr-961_a1-24.10.dts: Warning (gpios_property): /leds/wan:gpios: cell 0 is not a phandle reference
/tmp/dwr-961_a1-24.10.dts: Warning (gpios_property): /leds/status:gpios: cell 0 is not a phandle reference
/tmp/dwr-961_a1-24.10.dts: Warning (gpios_property): /leds/signal_red:gpios: cell 0 is not a phandle reference
/tmp/dwr-961_a1-24.10.dts: Warning (gpios_property): /leds/hidden-2:gpios: cell 0 is not a phandle reference
/tmp/dwr-961_a1-24.10.dts: Warning (gpios_property): /leds/signal_green:gpios: cell 0 is not a phandle reference
/tmp/dwr-961_a1-24.10.dts: Warning (gpios_property): /leds/4g:gpios: cell 0 is not a phandle reference
/tmp/dwr-961_a1-24.10.dts: Warning (gpios_property): /leds/3g:gpios: cell 0 is not a phandle reference
/tmp/dwr-961_a1-24.10.dts: Warning (gpios_property): /keys/wps:gpios: cell 0 is not a phandle reference
/tmp/dwr-961_a1-24.10.dts: Warning (gpios_property): /keys/reset:gpios: cell 0 is not a phandle reference

dostaję taki DTS:

root@router:~# cat /tmp/dwr-961_a1-24.10.dts 
/dts-v1/;

/ {
    compatible = "dlink,dwr-961-a1", "ralink,mt7620a-soc";
    model = "D-Link DWR-961 A1";
    #address-cells = <0x01>;
    #size-cells = <0x01>;

    gsw@10110000 {
        compatible = "mediatek,mt7620-gsw";
        resets = <0x01 0x18>;
        interrupt-parent = <0x02>;
        interrupts = <0x11>;
        phandle = <0x0a>;
        reg = <0x10110000 0x8000>;
        reset-names = "ephy";
        mediatek,ephy-base = [08];
    };

    cpuintc {
        compatible = "mti,cpu-interrupt-controller";
        #interrupt-cells = <0x01>;
        #address-cells = <0x00>;
        phandle = <0x03>;
        interrupt-controller;
    };

    ohci@101c1000 {
        compatible = "generic-ohci";
        phy-names = "usb";
        status = "okay";
        interrupt-parent = <0x02>;
        #address-cells = <0x01>;
        interrupts = <0x12>;
        #size-cells = <0x00>;
        phys = <0x10>;
        reg = <0x101c1000 0x1000>;

        port@1 {
            #trigger-source-cells = <0x00>;
            reg = <0x01>;
        };
    };

    leds {
        compatible = "gpio-leds";

        wlan5g {
            gpios = <0x16 0x04 0x01>;
            label = "green:wlan5g";
            linux,default-trigger = "phy0tpt";
        };

        lan {
            gpios = <0x14 0x0c 0x01>;
            color = <0x02>;
            function = "lan";
        };

        sms {
            gpios = <0x15 0x0f 0x01>;
            label = "green:sms";
        };

        wlan2g {
            gpios = <0x17 0x00 0x01>;
            label = "green:wlan2g";
            linux,default-trigger = "phy1tpt";
        };

        hidden-1 {
            gpios = <0x14 0x0d 0x01>;
            label = "green:hidden-1";
        };

        wan {
            gpios = <0x14 0x0b 0x01>;
            color = <0x02>;
            function = "wan";
        };

        status {
            gpios = <0x14 0x07 0x01>;
            color = <0x02>;
            function = "status";
        };

        signal_red {
            gpios = <0x16 0x01 0x00>;
            label = "red:signal";
        };

        hidden-2 {
            gpios = <0x14 0x0e 0x01>;
            label = "green:hidden-2";
        };

        signal_green {
            gpios = <0x16 0x00 0x00>;
            label = "green:signal";
        };

        4g {
            gpios = <0x16 0x02 0x01>;
            label = "green:4g";
        };

        3g {
            gpios = <0x16 0x03 0x01>;
            label = "green:3g";
        };
    };

    usbphy {
        compatible = "mediatek,mt7620-usbphy";
        resets = <0x01 0x19 0x01 0x16>;
        ralink,sysctl = <0x01>;
        phandle = <0x10>;
        reset-names = "host", "device";
        #phy-cells = <0x00>;
    };

    aliases {
        spi0 = "/palmbus@10000000/spi@b00";
        led-boot = "/leds/status";
        spi1 = "/palmbus@10000000/spi@b40";
        led-running = "/leds/status";
        led-upgrade = "/leds/status";
        led-failsafe = "/leds/status";
        serial0 = "/palmbus@10000000/uartlite@c00";
    };

    chosen {
        bootargs = "console=ttyS0,57600";
    };

    keys {
        compatible = "gpio-keys";

        wps {
            gpios = <0x14 0x02 0x01>;
            label = "wps";
            linux,code = <0x211>;
        };

        reset {
            gpios = <0x14 0x01 0x01>;
            label = "reset";
            linux,code = <0x198>;
        };
    };

    ehci@101c0000 {
        compatible = "generic-ehci";
        phy-names = "usb";
        status = "okay";
        interrupt-parent = <0x02>;
        #address-cells = <0x01>;
        interrupts = <0x12>;
        #size-cells = <0x00>;
        phys = <0x10>;
        reg = <0x101c0000 0x1000>;

        port@1 {
            #trigger-source-cells = <0x00>;
            reg = <0x01>;
        };
    };

    wmac@10180000 {
        compatible = "ralink,rt7620-wmac", "ralink,rt2880-wmac";
        clocks = <0x01 0x10>;
        interrupt-parent = <0x03>;
        interrupts = <0x06>;
        reg = <0x10180000 0x40000>;
        ralink,eeprom = "soc_wmac.eeprom";
    };

    ethernet@10100000 {
        compatible = "mediatek,mt7620-eth";
        resets = <0x01 0x15 0x01 0x17>;
        mediatek,switch = <0x0a>;
        interrupt-parent = <0x03>;
        #address-cells = <0x01>;
        interrupts = <0x05>;
        #size-cells = <0x00>;
        reg = <0x10100000 0x10000>;
        pinctrl-0 = <0x0b 0x0c>;
        reset-names = "fe", "esw";
        pinctrl-names = "default";

        port@5 {
            compatible = "mediatek,eth-port";
            status = "okay";
            mediatek,fixed-link = <0x3e8 0x01 0x01 0x01>;
            reg = <0x05>;
            phy-mode = "rgmii";
        };

        mdio-bus {
            status = "okay";
            #address-cells = <0x01>;
            #size-cells = <0x00>;

            ethernet-phy@0 {
                qca,ar8327-initvals = <0x04 0x87300000 0x0c 0x00 0x7c 0x7e 0x80 0x1200 0x84 0x1200 0x88 0x1200 0x8c 0x1200 0x90 0x1200 0x94 0x00>;
                reg = <0x00>;
                phy-mode = "rgmii";
            };
        };

        port@4 {
            compatible = "mediatek,eth-port";
            status = "disabled";
            reg = <0x04>;
        };
    };

    palmbus@10000000 {
        compatible = "palmbus";
        ranges = <0x00 0x10000000 0x1fffff>;
        #address-cells = <0x01>;
        #size-cells = <0x01>;
        reg = <0x10000000 0x200000>;

        gpio@638 {
            compatible = "ralink,rt2880-gpio";
            gpio-controller;
            status = "okay";
            #interrupt-cells = <0x02>;
            interrupt-parent = <0x02>;
            interrupts = <0x06>;
            ngpios = <0x10>;
            phandle = <0x15>;
            reg = <0x638 0x24>;
            #gpio-cells = <0x02>;
            ralink,register-map = [00 04 08 0c 10 14 18 1c 20 24];
            interrupt-controller;
        };

        watchdog@120 {
            compatible = "ralink,rt2880-wdt";
            clocks = <0x01 0x08>;
            resets = <0x01 0x08>;
            interrupt-parent = <0x02>;
            interrupts = <0x01>;
            reg = <0x120 0x10>;
            reset-names = "wdt";
        };

        uart@500 {
            compatible = "ralink,mt7620a-uart", "ralink,rt2880-uart", "ns16550a";
            clocks = <0x01 0x09>;
            resets = <0x01 0x0c>;
            status = "disabled";
            interrupt-parent = <0x02>;
            interrupts = <0x05>;
            reg = <0x500 0x100>;
            reg-shift = <0x02>;
        };

        intc@200 {
            compatible = "ralink,rt2880-intc";
            #interrupt-cells = <0x01>;
            interrupt-parent = <0x03>;
            interrupts = <0x02>;
            phandle = <0x02>;
            reg = <0x200 0x100>;
            interrupt-controller;
        };

        pcm@2000 {
            compatible = "ralink,mt7620a-pcm";
            resets = <0x01 0x0b>;
            status = "disabled";
            interrupt-parent = <0x02>;
            interrupts = <0x04>;
            reg = <0x2000 0x800>;
            reset-names = "pcm";
        };

        systick@d00 {
            compatible = "ralink,mt7620a-systick", "ralink,cevt-systick";
            interrupt-parent = <0x03>;
            interrupts = <0x07>;
            reg = <0xd00 0x10>;
        };

        gpio@660 {
            compatible = "ralink,rt2880-gpio";
            gpio-controller;
            status = "okay";
            #interrupt-cells = <0x02>;
            interrupt-parent = <0x02>;
            interrupts = <0x06>;
            ngpios = <0x20>;
            phandle = <0x16>;
            reg = <0x660 0x24>;
            #gpio-cells = <0x02>;
            ralink,register-map = [00 04 08 0c 10 14 18 1c 20 24];
            interrupt-controller;
        };

        i2c@900 {
            compatible = "ralink,rt2880-i2c";
            clocks = <0x01 0x0a>;
            resets = <0x01 0x10>;
            status = "disabled";
            #address-cells = <0x01>;
            #size-cells = <0x00>;
            reg = <0x900 0x100>;
            pinctrl-0 = <0x04>;
            reset-names = "i2c";
            pinctrl-names = "default";
        };

        gpio@600 {
            compatible = "ralink,rt2880-gpio";
            gpio-controller;
            #interrupt-cells = <0x02>;
            interrupt-parent = <0x02>;
            interrupts = <0x06>;
            ngpios = <0x18>;
            phandle = <0x14>;
            reg = <0x600 0x34>;
            #gpio-cells = <0x02>;
            ralink,register-map = [00 04 08 0c 20 24 28 2c 30 34];
            interrupt-controller;
        };

        timer@100 {
            compatible = "ralink,rt2880-timer";
            clocks = <0x01 0x07>;
            interrupt-parent = <0x02>;
            interrupts = <0x01>;
            reg = <0x100 0x20>;
        };

        uartlite@c00 {
            compatible = "ralink,mt7620a-uart", "ralink,rt2880-uart", "ns16550a";
            clocks = <0x01 0x0e>;
            resets = <0x01 0x13>;
            interrupt-parent = <0x02>;
            interrupts = <0x0c>;
            reg = <0xc00 0x100>;
            pinctrl-0 = <0x08>;
            reg-shift = <0x02>;
            pinctrl-names = "default";
        };

        spi@b40 {
            compatible = "ralink,rt2880-spi";
            clocks = <0x01 0x0d>;
            resets = <0x01 0x12>;
            status = "disabled";
            #address-cells = <0x01>;
            #size-cells = <0x00>;
            reg = <0xb40 0x60>;
            pinctrl-0 = <0x07>;
            reset-names = "spi";
            pinctrl-names = "default";
        };

        spi@b00 {
            compatible = "ralink,rt2880-spi";
            clocks = <0x01 0x0c>;
            resets = <0x01 0x12>;
            status = "okay";
            #address-cells = <0x01>;
            #size-cells = <0x00>;
            reg = <0xb00 0x40>;
            pinctrl-0 = <0x06>;
            reset-names = "spi";
            pinctrl-names = "default";

            flash@0 {
                compatible = "jedec,spi-nor";
                reg = <0x00>;
                spi-max-frequency = <0x2faf080>;

                partitions {
                    compatible = "fixed-partitions";
                    #address-cells = <0x01>;
                    #size-cells = <0x01>;

                    partition@0 {
                        read-only;
                        label = "jboot";
                        reg = <0x00 0x10000>;
                    };

                    partition@ff0000 {
                        read-only;
                        label = "config";
                        reg = <0xff0000 0x10000>;

                        nvmem-layout {
                            compatible = "fixed-layout";
                            #address-cells = <0x01>;
                            #size-cells = <0x01>;

                            eeprom@e08e {
                                reg = <0xe08e 0x200>;
                            };

                            macaddr@e50e {
                                compatible = "mac-base";
                                phandle = <0x13>;
                                reg = <0xe50e 0x06>;
                                #nvmem-cell-cells = <0x01>;
                            };

                            eeprom@e29e {
                                phandle = <0x12>;
                                reg = <0xe29e 0x200>;
                            };
                        };
                    };

                    partition@10000 {
                        compatible = "openwrt,uimage", "denx,uimage";
                        openwrt,offset = <0x10000>;
                        label = "firmware";
                        openwrt,ih-magic = <0x4f4b4c49>;
                        reg = <0x10000 0xfe0000>;
                    };
                };
            };
        };

        syscon@0 {
            compatible = "ralink,mt7620-sysc", "syscon";
            #reset-cells = <0x01>;
            #clock-cells = <0x01>;
            phandle = <0x01>;
            reg = <0x00 0x100>;
        };

        i2s@a00 {
            compatible = "mediatek,mt7620-i2s";
            clocks = <0x01 0x0b>;
            resets = <0x01 0x11>;
            txdma-req = <0x02>;
            status = "disabled";
            interrupt-parent = <0x02>;
            interrupts = <0x0a>;
            dma-names = "tx", "rx";
            rxdma-req = <0x03>;
            reg = <0xa00 0x100>;
            dmas = <0x05 0x04 0x05 0x06>;
            reset-names = "i2s";
        };

        gdma@2800 {
            #dma-cells = <0x01>;
            compatible = "ralink,rt3883-gdma";
            resets = <0x01 0x0e>;
            #dma-requests = <0x10>;
            status = "disabled";
            interrupt-parent = <0x02>;
            interrupts = <0x07>;
            phandle = <0x05>;
            reg = <0x2800 0x800>;
            reset-names = "dma";
            #dma-channels = <0x10>;
        };

        gpio@688 {
            compatible = "ralink,rt2880-gpio";
            gpio-controller;
            status = "okay";
            #interrupt-cells = <0x02>;
            interrupt-parent = <0x02>;
            interrupts = <0x06>;
            ngpios = <0x01>;
            phandle = <0x17>;
            reg = <0x688 0x24>;
            #gpio-cells = <0x02>;
            ralink,register-map = [00 04 08 0c 10 14 18 1c 20 24];
            interrupt-controller;
        };

        memc@300 {
            compatible = "ralink,mt7620a-memc", "ralink,rt3050-memc";
            interrupt-parent = <0x02>;
            interrupts = <0x03>;
            reg = <0x300 0x100>;
        };
    };

    mmc@10130000 {
        cap-mmc-highspeed;
        compatible = "mediatek,mt7620-mmc", "ralink,mt7620-sdhci";
        clocks = <0x01 0x0f 0x01 0x0f>;
        cap-sd-highspeed;
        resets = <0x01 0x1e>;
        pinctrl-1 = <0x0d>;
        clock-names = "source", "hclk";
        status = "disabled";
        interrupt-parent = <0x02>;
        interrupts = <0x0e>;
        disable-wp;
        bus-width = <0x04>;
        reg = <0x10130000 0x4000>;
        pinctrl-0 = <0x0d>;
        reset-names = "hrst";
        vmmc-supply = <0x0e>;
        max-frequency = <0x16e3600>;
        vqmmc-supply = <0x0f>;
        pinctrl-names = "default", "state_uhs";
    };

    regulator-1v8 {
        compatible = "regulator-fixed";
        enable-active-high;
        phandle = <0x0f>;
        regulator-min-microvolt = <0x1b7740>;
        regulator-max-microvolt = <0x1b7740>;
        regulator-always-on;
        regulator-name = "mmc_io";
    };

    cpus {
        #address-cells = <0x01>;
        #size-cells = <0x00>;

        cpu@0 {
            compatible = "mips,mips24KEc";
            reg = <0x00>;
        };
    };

    pcie@10140000 {
        compatible = "mediatek,mt7620-pci";
        resets = <0x01 0x1a>;
        device_type = "pci";
        ranges = <0x2000000 0x00 0x00 0x20000000 0x00 0x10000000 0x1000000 0x00 0x00 0x10160000 0x00 0x10000>;
        status = "okay";
        bus-range = <0x00 0xff>;
        interrupt-parent = <0x03>;
        #address-cells = <0x03>;
        interrupts = <0x04>;
        #size-cells = <0x02>;
        reg = <0x10140000 0x100 0x10142000 0x100>;
        pinctrl-0 = <0x11>;
        reset-names = "pcie0";
        pinctrl-names = "default";

        pcie@0,0 {
            device_type = "pci";
            ranges;
            #address-cells = <0x03>;
            #size-cells = <0x02>;
            reg = <0x00 0x00 0x00 0x00 0x00>;

            wifi@0,0 {
                compatible = "mediatek,mt76";
                mac-address = [28 3b 82 c8 64 a0];
                nvmem-cells = <0x12 0x13 0x02>;
                reg = <0x00 0x00 0x00 0x00 0x00>;
                ieee80211-freq-limit = <0x4c4b40 0x5b8d80>;
                nvmem-cell-names = "eeprom", "mac-address";
            };
        };
    };

    regulator-3v3 {
        compatible = "regulator-fixed";
        enable-active-high;
        phandle = <0x0e>;
        regulator-min-microvolt = <0x325aa0>;
        regulator-max-microvolt = <0x325aa0>;
        regulator-always-on;
        regulator-name = "mmc_power";
    };

    pinctrl {
        compatible = "ralink,rt2880-pinmux";
        pinctrl-0 = <0x09>;
        pinctrl-names = "default";

        mdio {
            phandle = <0x0c>;

            mdio {
                groups = "mdio";
                function = "mdio";
            };
        };

        wled {

            wled {
                groups = "wled";
                function = "wled";
            };
        };

        uartf_gpio {

            uartf_gpio {
                groups = "uartf";
                function = "gpio uartf";
            };
        };

        rgmii1 {
            phandle = <0x0b>;

            rgmii1 {
                groups = "rgmii1";
                function = "rgmii1";
            };
        };

        mdio_refclk {

            mdio_refclk {
                groups = "mdio";
                function = "refclk";
            };
        };

        uartlite {
            phandle = <0x08>;

            uart {
                groups = "uartlite";
                function = "uartlite";
            };
        };

        sdhci {
            phandle = <0x0d>;

            sdhci {
                groups = "nd_sd";
                function = "sd";
            };
        };

        pa {

            pa {
                groups = "pa";
                function = "pa";
            };
        };

        spi_pins {
            phandle = <0x06>;

            spi_pins {
                groups = "spi";
                function = "spi";
            };
        };

        pa_gpio {

            pa {
                groups = "pa";
                function = "gpio";
            };
        };

        pcm_i2s {

            pcm_i2s {
                groups = "uartf";
                function = "pcm i2s";
            };
        };

        gpio_i2s {

            gpio_i2s {
                groups = "uartf";
                function = "gpio i2s";
            };
        };

        pinctrl0 {
            phandle = <0x09>;

            default {
                groups = "i2c", "wled", "spi refclk", "uartf", "ephy";
                function = "gpio";
            };
        };

        pcie {
            phandle = <0x11>;

            pcie {
                groups = "pcie";
                function = "pcie rst";
            };
        };

        spi1 {
            phandle = <0x07>;

            spi1 {
                groups = "spi refclk";
                function = "spi refclk";
            };
        };

        rgmii2 {

            rgmii2 {
                groups = "rgmii2";
                function = "rgmii2";
            };
        };

        i2c_pins {
            phandle = <0x04>;

            i2c_pins {
                groups = "i2c";
                function = "i2c";
            };
        };

        ephy {

            ephy {
                groups = "ephy";
                function = "ephy";
            };
        };
    };
};

14

Odp: D-Link DWR 961_A1 - modem niewidoczny w OpenWRT 24.10

Tak wygląda DTS w 23.05:

/dts-v1/;

/ {
    compatible = "dlink,dwr-961-a1\0ralink,mt7620a-soc";
    model = "D-Link DWR-961 A1";
    #address-cells = <0x01>;
    #size-cells = <0x01>;

    gsw@10110000 {
        compatible = "mediatek,mt7620-gsw";
        resets = <0x02 0x17>;
        interrupt-parent = <0x01>;
        interrupts = <0x11>;
        phandle = <0x0c>;
        reg = <0x10110000 0x8000>;
        reset-names = "esw";
        mediatek,ephy-base = [08];
    };

    clkctrl {
        compatible = "ralink,rt2880-clock";
        #clock-cells = <0x01>;
        phandle = <0x0b>;
    };

    cpuintc {
        compatible = "mti,cpu-interrupt-controller";
        #interrupt-cells = <0x01>;
        #address-cells = <0x00>;
        phandle = <0x03>;
        interrupt-controller;
    };

    ohci@101c1000 {
        compatible = "generic-ohci";
        phy-names = "usb";
        status = "okay";
        interrupt-parent = <0x01>;
        #address-cells = <0x01>;
        interrupts = <0x12>;
        #size-cells = <0x00>;
        phys = <0x10>;
        reg = <0x101c1000 0x1000>;

        port@1 {
            #trigger-source-cells = <0x00>;
            reg = <0x01>;
        };
    };

    leds {
        compatible = "gpio-leds";

        wlan5g {
            gpios = <0x16 0x04 0x01>;
            label = "green:wlan5g";
            linux,default-trigger = "phy0tpt";
        };

        lan {
            gpios = <0x14 0x0c 0x01>;
            label = "green:lan";
        };

        sms {
            gpios = <0x15 0x0f 0x01>;
            label = "green:sms";
        };

        wlan2g {
            gpios = <0x17 0x00 0x01>;
            label = "green:wlan2g";
            linux,default-trigger = "phy1tpt";
        };

        hidden-1 {
            gpios = <0x14 0x0d 0x01>;
            label = "green:hidden-1";
        };

        wan {
            gpios = <0x14 0x0b 0x01>;
            label = "green:wan";
        };

        status {
            gpios = <0x14 0x07 0x01>;
            label = "green:status";
        };

        signal_red {
            gpios = <0x16 0x01 0x00>;
            label = "red:signal";
        };

        hidden-2 {
            gpios = <0x14 0x0e 0x01>;
            label = "green:hidden-2";
        };

        signal_green {
            gpios = <0x16 0x00 0x00>;
            label = "green:signal";
        };

        4g {
            gpios = <0x16 0x02 0x01>;
            label = "green:4g";
        };

        3g {
            gpios = <0x16 0x03 0x01>;
            label = "green:3g";
        };
    };

    usbphy {
        compatible = "mediatek,mt7620-usbphy";
        clocks = <0x0b 0x16 0x0b 0x19>;
        resets = <0x02 0x16 0x02 0x19>;
        clock-names = "host\0device";
        ralink,sysctl = <0x0a>;
        phandle = <0x10>;
        reset-names = "host\0device";
        #phy-cells = <0x00>;
    };

    aliases {
        spi0 = "/palmbus@10000000/spi@b00";
        led-boot = "/leds/status";
        spi1 = "/palmbus@10000000/spi@b40";
        led-running = "/leds/status";
        led-upgrade = "/leds/status";
        led-failsafe = "/leds/status";
        serial0 = "/palmbus@10000000/uartlite@c00";
    };

    chosen {
        bootargs = "console=ttyS0,57600";
    };

    keys {
        compatible = "gpio-keys";

        wps {
            gpios = <0x14 0x02 0x01>;
            label = "wps";
            linux,code = <0x211>;
        };

        reset {
            gpios = <0x14 0x01 0x01>;
            label = "reset";
            linux,code = <0x198>;
        };
    };

    ehci@101c0000 {
        compatible = "generic-ehci";
        phy-names = "usb";
        status = "okay";
        interrupt-parent = <0x01>;
        #address-cells = <0x01>;
        interrupts = <0x12>;
        #size-cells = <0x00>;
        phys = <0x10>;
        reg = <0x101c0000 0x1000>;

        port@1 {
            #trigger-source-cells = <0x00>;
            reg = <0x01>;
        };
    };

    wmac@10180000 {
        compatible = "ralink,rt7620-wmac\0ralink,rt2880-wmac";
        interrupt-parent = <0x03>;
        interrupts = <0x06>;
        reg = <0x10180000 0x40000>;
        ralink,eeprom = "soc_wmac.eeprom";
    };

    ethernet@10100000 {
        compatible = "mediatek,mt7620-eth";
        resets = <0x02 0x15 0x02 0x17>;
        mediatek,switch = <0x0c>;
        interrupt-parent = <0x03>;
        #address-cells = <0x01>;
        interrupts = <0x05>;
        #size-cells = <0x00>;
        reg = <0x10100000 0x10000>;
        pinctrl-0 = <0x0d 0x0e>;
        reset-names = "fe\0esw";
        pinctrl-names = "default";

        port@5 {
            compatible = "mediatek,mt7620a-gsw-port\0mediatek,eth-port";
            status = "okay";
            mediatek,fixed-link = <0x3e8 0x01 0x01 0x01>;
            reg = <0x05>;
            phy-mode = "rgmii";
        };

        mdio-bus {
            status = "okay";
            #address-cells = <0x01>;
            #size-cells = <0x00>;

            ethernet-phy@0 {
                qca,ar8327-initvals = <0x04 0x87300000 0x0c 0x00 0x7c 0x7e 0x80 0x1200 0x84 0x1200 0x88 0x1200 0x8c 0x1200 0x90 0x1200 0x94 0x00>;
                reg = <0x00>;
                phy-mode = "rgmii";
            };
        };

        port@4 {
            compatible = "mediatek,mt7620a-gsw-port\0mediatek,eth-port";
            status = "disabled";
            reg = <0x04>;
        };
    };

    palmbus@10000000 {
        compatible = "palmbus";
        ranges = <0x00 0x10000000 0x1fffff>;
        #address-cells = <0x01>;
        #size-cells = <0x01>;
        reg = <0x10000000 0x200000>;

        gpio@638 {
            compatible = "ralink,mt7620a-gpio\0ralink,rt2880-gpio";
            gpio-controller;
            status = "okay";
            interrupt-parent = <0x01>;
            interrupts = <0x06>;
            ngpios = <0x10>;
            phandle = <0x15>;
            reg = <0x638 0x24>;
            #gpio-cells = <0x02>;
            ralink,gpio-base = <0x18>;
            ralink,register-map = [00 04 08 0c 10 14 18 1c 20 24];
        };

        sysc@0 {
            compatible = "ralink,mt7620a-sysc\0ralink,rt3050-sysc\0syscon";
            phandle = <0x0a>;
            reg = <0x00 0x100>;
        };

        watchdog@120 {
            compatible = "ralink,mt7620a-wdt\0ralink,rt2880-wdt";
            resets = <0x02 0x08>;
            interrupt-parent = <0x01>;
            interrupts = <0x01>;
            reg = <0x120 0x10>;
            reset-names = "wdt";
        };

        uart@500 {
            compatible = "ralink,mt7620a-uart\0ralink,rt2880-uart\0ns16550a";
            resets = <0x02 0x0c>;
            status = "disabled";
            interrupt-parent = <0x01>;
            interrupts = <0x05>;
            reg = <0x500 0x100>;
            reg-shift = <0x02>;
            reset-names = "uart";
        };

        intc@200 {
            compatible = "ralink,mt7620a-intc\0ralink,rt2880-intc";
            resets = <0x02 0x13>;
            #interrupt-cells = <0x01>;
            interrupt-parent = <0x03>;
            interrupts = <0x02>;
            phandle = <0x01>;
            reg = <0x200 0x100>;
            reset-names = "intc";
            interrupt-controller;
        };

        pcm@2000 {
            compatible = "ralink,mt7620a-pcm";
            resets = <0x02 0x0b>;
            status = "disabled";
            interrupt-parent = <0x01>;
            interrupts = <0x04>;
            reg = <0x2000 0x800>;
            reset-names = "pcm";
        };

        systick@d00 {
            compatible = "ralink,mt7620a-systick\0ralink,cevt-systick";
            resets = <0x02 0x1c>;
            interrupt-parent = <0x03>;
            interrupts = <0x07>;
            reg = <0xd00 0x10>;
            reset-names = "intc";
        };

        gpio@660 {
            compatible = "ralink,mt7620a-gpio\0ralink,rt2880-gpio";
            gpio-controller;
            status = "okay";
            interrupt-parent = <0x01>;
            interrupts = <0x06>;
            ngpios = <0x20>;
            phandle = <0x16>;
            reg = <0x660 0x24>;
            #gpio-cells = <0x02>;
            ralink,gpio-base = <0x28>;
            ralink,register-map = [00 04 08 0c 10 14 18 1c 20 24];
        };

        i2c@900 {
            compatible = "ralink,rt2880-i2c";
            resets = <0x02 0x10>;
            status = "disabled";
            #address-cells = <0x01>;
            #size-cells = <0x00>;
            reg = <0x900 0x100>;
            pinctrl-0 = <0x04>;
            reset-names = "i2c";
            pinctrl-names = "default";
        };

        gpio@600 {
            compatible = "ralink,mt7620a-gpio\0ralink,rt2880-gpio";
            resets = <0x02 0x0d>;
            gpio-controller;
            interrupt-parent = <0x01>;
            interrupts = <0x06>;
            ngpios = <0x18>;
            phandle = <0x14>;
            reg = <0x600 0x34>;
            #gpio-cells = <0x02>;
            ralink,gpio-base = <0x00>;
            reset-names = "pio";
            ralink,register-map = [00 04 08 0c 20 24 28 2c 30 34];
        };

        timer@100 {
            compatible = "ralink,mt7620a-timer\0ralink,rt2880-timer";
            interrupt-parent = <0x01>;
            interrupts = <0x01>;
            reg = <0x100 0x20>;
        };

        uartlite@c00 {
            compatible = "ralink,mt7620a-uart\0ralink,rt2880-uart\0ns16550a";
            resets = <0x02 0x13>;
            interrupt-parent = <0x01>;
            interrupts = <0x0c>;
            reg = <0xc00 0x100>;
            pinctrl-0 = <0x08>;
            reg-shift = <0x02>;
            reset-names = "uartl";
            pinctrl-names = "default";
        };

        spi@b40 {
            compatible = "ralink,rt2880-spi";
            resets = <0x02 0x12>;
            status = "disabled";
            #address-cells = <0x01>;
            #size-cells = <0x00>;
            reg = <0xb40 0x60>;
            pinctrl-0 = <0x07>;
            reset-names = "spi";
            pinctrl-names = "default";
        };

        spi@b00 {
            compatible = "ralink,mt7620a-spi\0ralink,rt2880-spi";
            resets = <0x02 0x12>;
            status = "okay";
            #address-cells = <0x01>;
            #size-cells = <0x00>;
            reg = <0xb00 0x40>;
            pinctrl-0 = <0x06>;
            reset-names = "spi";
            pinctrl-names = "default";

            flash@0 {
                compatible = "jedec,spi-nor";
                reg = <0x00>;
                spi-max-frequency = <0x2faf080>;

                partitions {
                    compatible = "fixed-partitions";
                    #address-cells = <0x01>;
                    #size-cells = <0x01>;

                    partition@0 {
                        read-only;
                        label = "jboot";
                        reg = <0x00 0x10000>;
                    };

                    partition@ff0000 {
                        compatible = "nvmem-cells";
                        read-only;
                        #address-cells = <0x01>;
                        label = "config";
                        #size-cells = <0x01>;
                        phandle = <0x13>;
                        reg = <0xff0000 0x10000>;

                        macaddr@e50e {
                            phandle = <0x12>;
                            reg = <0xe50e 0x06>;
                        };
                    };

                    partition@10000 {
                        compatible = "openwrt,uimage\0denx,uimage";
                        openwrt,offset = <0x10000>;
                        label = "firmware";
                        openwrt,ih-magic = <0x4f4b4c49>;
                        reg = <0x10000 0xfe0000>;
                    };
                };
            };
        };

        i2s@a00 {
            compatible = "mediatek,mt7620-i2s";
            resets = <0x02 0x11>;
            txdma-req = <0x02>;
            status = "disabled";
            interrupt-parent = <0x01>;
            interrupts = <0x0a>;
            dma-names = "tx\0rx";
            rxdma-req = <0x03>;
            reg = <0xa00 0x100>;
            dmas = <0x05 0x04 0x05 0x06>;
            reset-names = "i2s";
        };

        gdma@2800 {
            #dma-cells = <0x01>;
            compatible = "ralink,mt7620a-gdma\0ralink,rt3883-gdma";
            resets = <0x02 0x0e>;
            #dma-requests = <0x10>;
            status = "disabled";
            interrupt-parent = <0x01>;
            interrupts = <0x07>;
            phandle = <0x05>;
            reg = <0x2800 0x800>;
            reset-names = "dma";
            #dma-channels = <0x10>;
        };

        gpio@688 {
            compatible = "ralink,mt7620a-gpio\0ralink,rt2880-gpio";
            gpio-controller;
            status = "okay";
            interrupt-parent = <0x01>;
            interrupts = <0x06>;
            ngpios = <0x01>;
            phandle = <0x17>;
            reg = <0x688 0x24>;
            #gpio-cells = <0x02>;
            ralink,gpio-base = <0x48>;
            ralink,register-map = [00 04 08 0c 10 14 18 1c 20 24];
        };

        memc@300 {
            compatible = "ralink,mt7620a-memc\0ralink,rt3050-memc";
            resets = <0x02 0x14>;
            interrupt-parent = <0x01>;
            interrupts = <0x03>;
            reg = <0x300 0x100>;
            reset-names = "mc";
        };
    };

    sdhci@10130000 {
        compatible = "ralink,mt7620-sdhci";
        status = "disabled";
        interrupt-parent = <0x01>;
        interrupts = <0x0e>;
        reg = <0x10130000 0x4000>;
        pinctrl-0 = <0x0f>;
        pinctrl-names = "default";
    };

    cpus {
        #address-cells = <0x01>;
        #size-cells = <0x00>;

        cpu@0 {
            compatible = "mips,mips24KEc";
            reg = <0x00>;
        };
    };

    rstctrl {
        compatible = "ralink,mt7620a-reset\0ralink,rt2880-reset";
        #reset-cells = <0x01>;
        phandle = <0x02>;
    };

    pcie@10140000 {
        compatible = "mediatek,mt7620-pci";
        clocks = <0x0b 0x1a>;
        resets = <0x02 0x1a>;
        device_type = "pci";
        clock-names = "pcie0";
        ranges = <0x2000000 0x00 0x00 0x20000000 0x00 0x10000000 0x1000000 0x00 0x00 0x10160000 0x00 0x10000>;
        status = "okay";
        bus-range = <0x00 0xff>;
        interrupt-parent = <0x03>;
        #address-cells = <0x03>;
        interrupts = <0x04>;
        #size-cells = <0x02>;
        reg = <0x10140000 0x100 0x10142000 0x100>;
        pinctrl-0 = <0x11>;
        reset-names = "pcie0";
        pinctrl-names = "default";

        pcie@0,0 {
            device_type = "pci";
            ranges;
            #address-cells = <0x03>;
            #size-cells = <0x02>;
            reg = <0x00 0x00 0x00 0x00 0x00>;

            wifi@0,0 {
                compatible = "mediatek,mt76";
                mac-address = [28 3b 82 c8 64 a0];
                nvmem-cells = <0x12>;
                reg = <0x00 0x00 0x00 0x00 0x00>;
                mediatek,mtd-eeprom = <0x13 0xe29e>;
                ieee80211-freq-limit = <0x4c4b40 0x5b8d80>;
                nvmem-cell-names = "mac-address";
            };
        };
    };

    pinctrl {
        compatible = "ralink,rt2880-pinmux";
        pinctrl-0 = <0x09>;
        pinctrl-names = "default";

        mdio {
            phandle = <0x0e>;

            mdio {
                groups = "mdio";
                function = "mdio";
            };
        };

        wled {

            wled {
                groups = "wled";
                function = "wled";
            };
        };

        uartf_gpio {

            uartf_gpio {
                groups = "uartf";
                function = "gpio uartf";
            };
        };

        rgmii1 {
            phandle = <0x0d>;

            rgmii1 {
                groups = "rgmii1";
                function = "rgmii1";
            };
        };

        mdio_refclk {

            mdio_refclk {
                groups = "mdio";
                function = "refclk";
            };
        };

        uartlite {
            phandle = <0x08>;

            uart {
                groups = "uartlite";
                function = "uartlite";
            };
        };

        sdhci {
            phandle = <0x0f>;

            sdhci {
                groups = "nd_sd";
                function = "sd";
            };
        };

        pa {

            pa {
                groups = "pa";
                function = "pa";
            };
        };

        spi_pins {
            phandle = <0x06>;

            spi_pins {
                groups = "spi";
                function = "spi";
            };
        };

        pa_gpio {

            pa {
                groups = "pa";
                function = "gpio";
            };
        };

        pcm_i2s {

            pcm_i2s {
                groups = "uartf";
                function = "pcm i2s";
            };
        };

        gpio_i2s {

            gpio_i2s {
                groups = "uartf";
                function = "gpio i2s";
            };
        };

        pinctrl0 {
            phandle = <0x09>;

            default {
                groups = "i2c\0wled\0spi refclk\0uartf\0ephy";
                function = "gpio";
            };
        };

        pcie {
            phandle = <0x11>;

            pcie {
                groups = "pcie";
                function = "pcie rst";
            };
        };

        spi1 {
            phandle = <0x07>;

            spi1 {
                groups = "spi refclk";
                function = "spi refclk";
            };
        };

        rgmii2 {

            rgmii2 {
                groups = "rgmii2";
                function = "rgmii2";
            };
        };

        i2c_pins {
            phandle = <0x04>;

            i2c_pins {
                groups = "i2c";
                function = "i2c";
            };
        };

        ephy {

            ephy {
                groups = "ephy";
                function = "ephy";
            };
        };
    };
};

15

Odp: D-Link DWR 961_A1 - modem niewidoczny w OpenWRT 24.10

Wielkie dzięki, chyba sukces - po zmianie w konfiguracji w /etc/config/system w sekcji gpio_switch numeru pinu z 0 na 512 modem się zgłasza.

config gpio_switch 'power_mpcie'
    option name 'mPCIe power'
    option gpio_pin '512'
    option value '1'
root@router:~# cat /sys/kernel/debug/gpio 
gpiochip0: GPIOs 512-535, parent: platform/10000600.gpio, 10000600.gpio:
 gpio-512 (                    |sysfs               ) out hi 
 gpio-513 (                    |reset               ) in  hi IRQ ACTIVE LOW
 gpio-514 (                    |wps                 ) in  hi IRQ ACTIVE LOW
 gpio-519 (                    |green:status        ) out lo ACTIVE LOW
 gpio-523 (                    |green:wan           ) out hi ACTIVE LOW
 gpio-524 (                    |green:lan           ) out lo ACTIVE LOW
 gpio-525 (                    |green:hidden-1      ) out hi ACTIVE LOW
 gpio-526 (                    |green:hidden-2      ) out hi ACTIVE LOW

gpiochip1: GPIOs 536-551, parent: platform/10000638.gpio, 10000638.gpio:
 gpio-551 (                    |green:sms           ) out lo ACTIVE LOW

gpiochip2: GPIOs 552-583, parent: platform/10000660.gpio, 10000660.gpio:
 gpio-552 (                    |green:signal        ) out lo 
 gpio-553 (                    |red:signal          ) out lo 
 gpio-554 (                    |green:4g            ) out lo ACTIVE LOW
 gpio-555 (                    |green:3g            ) out hi ACTIVE LOW
 gpio-556 (                    |green:wlan5g        ) out lo ACTIVE LOW

gpiochip3: GPIOs 584-584, parent: platform/10000688.gpio, 10000688.gpio:
 gpio-584 (                    |green:wlan2g        ) out hi ACTIVE LOW
Wed Sep  3 00:20:31 2025 kern.info kernel: [  119.026026] usb 1-1: new high-speed USB device number 2 using ehci-platform
Wed Sep  3 00:20:32 2025 kern.info kernel: [  119.328017] option 1-1:1.0: GSM modem (1-port) converter detected
Wed Sep  3 00:20:32 2025 kern.info kernel: [  119.340867] usb 1-1: GSM modem (1-port) converter now attached to ttyUSB0
Wed Sep  3 00:20:32 2025 kern.info kernel: [  119.447693] option 1-1:1.2: GSM modem (1-port) converter detected
Wed Sep  3 00:20:32 2025 kern.info kernel: [  119.460261] usb 1-1: GSM modem (1-port) converter now attached to ttyUSB1
Wed Sep  3 00:20:32 2025 kern.info kernel: [  119.474960] option 1-1:1.3: GSM modem (1-port) converter detected
Wed Sep  3 00:20:32 2025 kern.info kernel: [  119.487533] usb 1-1: GSM modem (1-port) converter now attached to ttyUSB2
Wed Sep  3 00:20:32 2025 kern.info kernel: [  119.607243] qmi_wwan 1-1:1.4: cdc-wdm0: USB WDM device
Wed Sep  3 00:20:32 2025 kern.info kernel: [  119.683067] qmi_wwan 1-1:1.4 wwan0: register 'qmi_wwan' at usb-101c0000.ehci-1, WWAN/QMI device, fe:39:5f:43:75:71

Rozumiem, że w przypadku aktualizacji (przy zachowaniu konfiguracji) tę zmianę trzeba i tak nanieść ręcznie (bo nie ma żadnego mechanizmu migracji dla tej specyficznej opcji), natomiast problem i tak będzie występował dla konfiguracji domyślnej/factory i właściwa poprawka powinna być wrzucona do źródeł OpenWRT?

16

Odp: D-Link DWR 961_A1 - modem niewidoczny w OpenWRT 24.10

W 24.10 jest 512: https://github.com/openwrt/openwrt/blob … itches#L18

Więc co zrobiłeś, aktualizację z zachowaniem konfiguracji i dlatego nie działało?

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

17

Odp: D-Link DWR 961_A1 - modem niewidoczny w OpenWRT 24.10

Tak, dokładnie tak zrobiłem - aktualizację z zachowaniem ustawień. Czyli problem jest z brakiem migracji - choć nie oczekuję, że wszystko będzie poprawnie zmigrowane, podejrzewam, że może trochę takich niekompatybilnych zmian pomiędzy wersjami występować, zwłaszcza, że w troubleshooting dla OpenWRT jest wprost napisane, że jeśli coś nie działa, to warto spróbować zrobić świeżą konfigurację.

Nie chciałem robić nowej, bo sporo ustawień musiałbym przywracać i przez to aktualizuję mniej więcej po pół roku dopiero...

Widzę też, że w 24.10 jest OK podczas tworzenia domyślnej konfiguracji, wydawało mi się, że to nie zostało poprawione dla 24.10 - ale jest OK.


Bardzo, bardzo dziękuję za pomoc, działa teraz bardzo dobrze na nowszej wersji, chyba stabilniej działa też modem LTE (odpukać :-D)

18

Odp: D-Link DWR 961_A1 - modem niewidoczny w OpenWRT 24.10

Tak, niewiele jest modułów migrujących w openwrt. Dlatego często jest właśnie żeby nie zachowywać konfiguracji

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