Hey everyone,
It's been a long time, but I've found the need to fire up my old Netgear DGND3700 v1. I was happy to see it's still supported in the latest 24.10.0, so given it was sat on version 18 it was time for an update.
Decided to make a clean start given all the funky settings I'd tinkered with in the past, and everything went fine - except for the wireless. It's the original BCM43222 card in there, with the foibles the b43 driver brings, but basic 2.4 GHz wireless is all I ever need this thing to do and it was working fine.
But not in 24.10. I can't for the life of me get the wifi to fire up. Out of "the box" the b43 driver is there according to lsmod
.
b43 356352 0
cfg80211 335872 2 b43,mac80211
cmac 12288 0
compat 12288 3 b43,mac80211,cfg80211
cordic 12288 1 b43
crc_ccitt 12288 1 ppp_async
crc32c_generic 12288 1
drbg 24576 0
ehci_fsl 12288 0
ehci_hcd 61440 2 ehci_platform,ehci_fsl
ehci_platform 12288 0
fsl_mph_dr_of 12288 0
geniv 12288 1 seqiv
gpio_button_hotplug 12288 0
hmac 12288 0
jitterentropy_rng 16384 0
leds_gpio 12288 0
ledtrig_usbport 12288 0
libcrc32c 12288 1 nf_tables
mac80211 659456 1 b43
nf_conntrack 90112 7 nft_redir,nft_nat,nft_masq,nft_flow_offload,nft_ct,nf_nat,nf_flow_table
nf_defrag_ipv4 12288 1 nf_conntrack
nf_defrag_ipv6 16384 1 nf_conntrack
nf_flow_table 32768 2 nf_flow_table_inet,nft_flow_offload
nf_flow_table_inet 12288 0
nf_log_syslog 20480 0
nf_nat 36864 4 nft_redir,nft_nat,nft_masq,nft_chain_nat
nf_reject_ipv4 12288 2 nft_reject_ipv4,nft_reject_inet
nf_reject_ipv6 12288 2 nft_reject_ipv6,nft_reject_inet
nf_tables 204800208 nft_fib_inet,nf_flow_table_inet,nft_reject_ipv6,nft_reject_ipv4,nft_reject_inet,nft_reject,nft_redir,nft_quota,nft_numgen,nft_nat,nft_masq,nft_log,nft_limit,nft_hash,nft_flow_offload,nft_fib_ipv6,nft_fib_ipv4,nft_fib,nft_ct,nft_chain_nat
nfnetlink 16384 1 nf_tables
nft_chain_nat 12288 2
nft_ct 20480 4
nft_fib 12288 3 nft_fib_inet,nft_fib_ipv6,nft_fib_ipv4
nft_fib_inet 12288 0
nft_fib_ipv4 12288 1 nft_fib_inet
nft_fib_ipv6 12288 1 nft_fib_inet
nft_flow_offload 12288 0
nft_hash 12288 0
nft_limit 12288 5
nft_log 12288 0
nft_masq 12288 1
nft_nat 12288 0
nft_numgen 12288 0
nft_quota 12288 0
nft_redir 12288 0
nft_reject 12288 3 nft_reject_ipv6,nft_reject_ipv4,nft_reject_inet
nft_reject_inet 12288 2
nft_reject_ipv4 12288 0
nft_reject_ipv6 12288 0
nls_base 12288 1 usbcore
ohci_hcd 45056 1 ohci_platform
ohci_platform 12288 0
ppp_async 16384 0
ppp_generic 32768 3 pppoe,ppp_async,pppox
pppoe 20480 0
pppox 12288 1 pppoe
rng 12288 3 jitterentropy_rng,drbg,geniv
seqiv 12288 0
sha3_generic 16384 0
sha512_generic 16384 0
slhc 16384 1 ppp_generic
ssb 53248 1 b43
usb_common 12288 4 ohci_platform,ohci_hcd,ehci_platform,usbcore
usbcore 188416 6 ledtrig_usbport,ohci_platform,ohci_hcd,ehci_platform,ehci_fsl,ehci_hcd
I copied over my /etc/config/wireless
and LuCI tweaked it a little for me:
config wifi-device 'radio0'
option type 'mac80211'
option channel '11'
option hwmode '11g'
option path 'pci0000:00/0000:00:01.0'
option txpower '20'
option country 'GB'
option legacy_rates '1'
config wifi-iface
option device 'radio0'
option network 'wlan'
option mode 'ap'
option ssid 'Snazzy SSID'
option encryption 'psk2+ccmp'
option key 'supersecret'
option wpa_disable_eapol_key_retries '1'
This gives me:
No amount of wifi down; wifi up
or rebooting improves matters. Checking dmesg
gives me this:
[ 0.000000] Linux version 6.6.73 (builder@buildhost) (mips-openwrt-linux-musl-gcc (OpenWrt GCC 13.3.0 r28427-6df0e3d02a) 13.3.0, GNU ld (GNU Binutils) 2.42) #0 SMP Mon Feb 3 23:09:37 2025
[ 0.000000] CPU0 revision is: 0002a031 (Broadcom BMIPS4350)
[ 0.000000] MIPS: machine is Netgear DGND3700 v1
[ 0.000000] 128MB of RAM installed
[ 0.000000] earlycon: bcm63xx_uart0 at MMIO 0x10000100 (options '115200n8')
[ 0.000000] printk: bootconsole [bcm63xx_uart0] enabled
[ 0.000000] Initrd not found or empty - disabling initrd
[ 0.000000] Reserving 0KB of memory at 4194303KB for kdump
[ 0.000000] Primary instruction cache 64kB, VIPT, 4-way, linesize 16 bytes.
[ 0.000000] Primary data cache 32kB, 2-way, VIPT, cache aliases, linesize 16 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] percpu: Embedded 12 pages/cpu s18464 r8192 d22496 u49152
[ 0.000000] pcpu-alloc: s18464 r8192 d22496 u49152 alloc=12*4096
[ 0.000000] pcpu-alloc: [0] 0 [0] 1
[ 0.000000] Kernel command line: earlycon
[ 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] 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: 118304K/131072K available (8251K kernel code, 651K rwdata, 992K rodata, 1232K init, 222K bss, 12768K reserved, 0K cma-reserved)
[ 0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=2, Nodes=1
[ 0.000000] rcu: Hierarchical RCU implementation.
[ 0.000000] Tracing variant of Tasks RCU enabled.
[ 0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 10 jiffies.
[ 0.000000] NR_IRQS: 256
[ 0.000000] irq_bcm6345_l1: registered BCM6345 L1 intc (IRQs: 64)
[ 0.000000] irq_bcm6345_l1: CPU0 (irq = 2)
[ 0.000000] irq_bcm6345_l1: CPU1 (irq = 3)
[ 0.000000] rcu: srcu_init: Setting srcu_struct sizes based on contention.
[ 0.000000] brcm,bcm6368 detected @ 400 MHz
[ 0.000000] clocksource: MIPS: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 9556302233 ns
[ 0.000002] sched_clock: 32 bits at 200MHz, resolution 5ns, wraps every 10737418237ns
[ 0.008256] Calibrating delay loop... 398.13 BogoMIPS (lpj=1990656)
[ 0.074649] pid_max: default: 32768 minimum: 301
[ 0.107961] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
[ 0.115508] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
[ 0.148934] RCU Tasks Trace: Setting shift to 1 and lim to 1 rcu_task_cb_adjust=1 rcu_task_cpu_ids=2.
[ 0.159305] rcu: Hierarchical SRCU implementation.
[ 0.164196] rcu: Max phase no-delay instances is 1000.
[ 0.171032] smp: Bringing up secondary CPUs ...
[ 0.177430] SMP: Booting CPU1...
[ 17.615585] Primary instruction cache 64kB, VIPT, 4-way, linesize 16 bytes.
[ 17.615624] Primary data cache 32kB, 2-way, VIPT, cache aliases, linesize 16 bytes
[ 17.615887] CPU1 revision is: 0002a031 (Broadcom BMIPS4350)
[ 0.240906] Synchronize counters for CPU 1:
[ 0.261590] SMP: CPU1 is running
[ 0.261608] done.
[ 0.271513] smp: Brought up 1 node, 2 CPUs
[ 0.291143] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[ 0.301371] futex hash table entries: 512 (order: 3, 32768 bytes, linear)
[ 0.321593] pinctrl core: initialized pinctrl subsystem
[ 0.333705] NET: Registered PF_NETLINK/PF_ROUTE protocol family
[ 0.340712] thermal_sys: Registered thermal governor 'step_wise'
[ 0.377098] clocksource: Switched to clocksource MIPS
[ 0.419271] NET: Registered PF_INET protocol family
[ 0.424796] IP idents hash table entries: 2048 (order: 2, 16384 bytes, linear)
[ 0.435187] tcp_listen_portaddr_hash hash table entries: 512 (order: 0, 4096 bytes, linear)
[ 0.443908] Table-perturb hash table entries: 65536 (order: 6, 262144 bytes, linear)
[ 0.451906] TCP established hash table entries: 1024 (order: 0, 4096 bytes, linear)
[ 0.459816] TCP bind hash table entries: 1024 (order: 2, 16384 bytes, linear)
[ 0.467261] TCP: Hash tables configured (established 1024 bind 1024)
[ 0.475579] MPTCP token hash table entries: 256 (order: 0, 4096 bytes, linear)
[ 0.484094] UDP hash table entries: 256 (order: 1, 8192 bytes, linear)
[ 0.490914] UDP-Lite hash table entries: 256 (order: 1, 8192 bytes, linear)
[ 0.499989] NET: Registered PF_UNIX/PF_LOCAL protocol family
[ 0.505864] PCI: CLS 0 bytes, default 16
[ 0.518310] workingset: timestamp_bits=14 max_order=15 bucket_order=1
[ 0.526842] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[ 0.532907] jffs2: version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc.
[ 0.561777] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 252)
[ 0.578703] 10000100.serial: ttyS0 at MMIO 0x10000100 (irq = 8, base_baud = 1562500) is a bcm63xx_uart
[ 0.588586] printk: console [ttyS0] enabled
[ 0.597272] printk: bootconsole [bcm63xx_uart0] disabled
[ 0.647634] bcm2835-rng 10004180.rng: hwrng registered
[ 0.659996] physmap-flash 18000000.nor: physmap platform flash device: [mem 0x18000000-0x19ffffff]
[ 0.669554] 18000000.nor: Found 1 x16 devices at 0x0 in 16-bit bank. Manufacturer ID 0x000001 Chip ID 0x002201
[ 0.680140] Amd/Fujitsu Extended Query Table at 0x0040
[ 0.685430] Amd/Fujitsu Extended Query version 1.3.
[ 0.690668] number of CFI chips: 1
[ 0.696425] 4 fixed-partitions partitions found on MTD device 18000000.nor
[ 0.704087] Creating 4 MTD partitions on "18000000.nor":
[ 0.709611] 0x000000000000-0x000000020000 : "CFE"
[ 0.719453] 0x000000020000-0x000001e40000 : "firmware"
[ 0.726295] mtdsplit_bcm63xx: CFE image tag found at 0x0 with version 6, board type 96368MVWG
[ 0.735216] 2 bcm63xx-fw partitions found on MTD device firmware
[ 0.741386] Creating 2 MTD partitions on "firmware":
[ 0.746471] 0x000000000100-0x0000002edb8c : "kernel"
[ 0.751587] mtd: partition "kernel" doesn't start on an erase/write block boundary -- force read-only
[ 0.764182] 0x0000002edb8c-0x000001e20000 : "rootfs"
[ 0.769410] mtd: partition "rootfs" doesn't start on an erase/write block boundary -- force read-only
[ 0.782713] mtd: setting mtd3 (rootfs) as root device
[ 0.788089] 1 squashfs-split partitions found on MTD device rootfs
[ 0.794418] 0x000000700000-0x000001e20000 : "rootfs_data"
[ 0.797437] random: crng init done
[ 0.802665] 0x000001e40000-0x000001fe0000 : "board_data"
[ 0.810326] 0x000001fe0000-0x000002000000 : "nvram"
[ 0.869546] bcm63xx-spi 10000800.spi: at [mem 0x10000800-0x10000f0b flags 0x200] (irq 9, FIFOs size 542)
[ 0.955448] bcm6368-mdio-mux 10f000b0.mdio: Broadcom BCM6368 MDIO mux bus
[ 0.966844] b53-switch spi0.1: found switch: BCM53115, rev 8
[ 0.973817] b53-switch 10f00000.switch: found switch: BCM63xx, rev 0
[ 0.981488] bcm6368-enetsw 10006800.ethernet: mtd mac a0:21:b7:68:c9:68
[ 1.068312] bcm6368-enetsw 10006800.ethernet: eth0 at 0xb0006800, IRQ 0
[ 1.076909] bcm7038-wdt 1000005c.watchdog: Registered BCM7038 Watchdog
[ 1.086269] NET: Registered PF_INET6 protocol family
[ 1.099139] Segment Routing with IPv6
[ 1.102930] In-situ OAM (IOAM) with IPv6
[ 1.107293] NET: Registered PF_PACKET protocol family
[ 1.112540] bridge: filtering via arp/ip/ip6tables is no longer available by default. Update your scripts to load br_netfilter if you need this.
[ 1.126779] 8021q: 802.1Q VLAN Support v1.8
[ 1.277905] PCI host bridge to bus 0000:00
[ 1.282086] pci_bus 0000:00: root bus resource [mem 0x30000000-0x37ffffff]
[ 1.289272] pci_bus 0000:00: root bus resource [io 0x8000000-0x800ffff]
[ 1.296133] pci_bus 0000:00: No busn resource found for root bus, will use [bus 00-ff]
[ 1.304628] pci 0000:00:01.0: [168c:001b] type 00 class 0x020000
[ 1.312903] pci 0000:00:01.0: reg 0x10: [mem 0x00000000-0x0000ffff]
[ 1.328995] pci_bus 0000:00: busn_res: [bus 00-ff] end is updated to 00
[ 1.335803] pci 0000:00:01.0: BAR 0: assigned [mem 0x30000000-0x3000ffff]
[ 1.348524] b53-switch spi0.1: found switch: BCM53115, rev 8
[ 1.354959] b53-switch 10f00000.switch: found switch: BCM63xx, rev 0
[ 1.498371] b53-switch 10f00000.switch: Using legacy PHYLIB callbacks. Please migrate to PHYLINK!
[ 1.511970] bcm6368-enetsw 10006800.ethernet eth0: entered promiscuous mode
[ 1.519572] DSA: tree 0 setup
[ 1.525462] b53-switch spi0.1: found switch: BCM53115, rev 8
[ 1.651355] b53-switch spi0.1: Using legacy PHYLIB callbacks. Please migrate to PHYLINK!
[ 1.664274] b53-switch spi0.1: Configured port 8 for rgmii
[ 1.674652] b53-switch spi0.1 wan (uninitialized): PHY [dsa-1.0:00] driver [Generic PHY] (irq=POLL)
[ 1.693047] b53-switch spi0.1 lan4 (uninitialized): PHY [dsa-1.0:01] driver [Generic PHY] (irq=POLL)
[ 1.710031] b53-switch spi0.1 lan3 (uninitialized): PHY [dsa-1.0:02] driver [Generic PHY] (irq=POLL)
[ 1.727000] b53-switch spi0.1 lan2 (uninitialized): PHY [dsa-1.0:03] driver [Generic PHY] (irq=POLL)
[ 1.744107] b53-switch spi0.1 lan1 (uninitialized): PHY [dsa-1.0:04] driver [Generic PHY] (irq=POLL)
[ 1.762379] b53-switch 10f00000.switch extsw: entered promiscuous mode
[ 1.769480] DSA: tree 1 setup
[ 1.774191] clk: Disabling unused clocks
[ 1.785882] VFS: Mounted root (squashfs filesystem) readonly on device 31:3.
[ 1.800577] Freeing unused kernel image (initmem) memory: 1232K
[ 1.806634] This architecture does not have kernel memory protection.
[ 1.813531] Run /sbin/init as init process
[ 1.817760] with arguments:
[ 1.817774] /sbin/init
[ 1.817786] with environment:
[ 1.817796] HOME=/
[ 1.817808] TERM=linux
[ 2.724727] init: Console is alive
[ 2.728874] init: - watchdog -
[ 4.425068] kmodloader: loading kernel modules from /etc/modules-boot.d/*
[ 4.547385] usbcore: registered new interface driver usbfs
[ 4.553310] usbcore: registered new interface driver hub
[ 4.558975] usbcore: registered new device driver usb
[ 4.568042] gpio_button_hotplug: loading out-of-tree module taints kernel.
[ 4.627172] ehci-platform 10001500.usb: EHCI Host Controller
[ 4.633035] ehci-platform 10001500.usb: new USB bus registered, assigned bus number 1
[ 4.641517] ehci-platform 10001500.usb: irq 10, io mem 0x10001500
[ 4.687164] ehci-platform 10001500.usb: USB 2.0 started, EHCI 1.00, overcurrent ignored
[ 4.697900] hub 1-0:1.0: USB hub found
[ 4.701905] hub 1-0:1.0: 2 ports detected
[ 4.723599] ohci-platform 10001600.usb: Generic Platform OHCI controller
[ 4.730692] ohci-platform 10001600.usb: new USB bus registered, assigned bus number 2
[ 4.739020] ohci-platform 10001600.usb: irq 11, io mem 0x10001600
[ 4.813490] hub 2-0:1.0: USB hub found
[ 4.817546] hub 2-0:1.0: 2 ports detected
[ 4.834954] kmodloader: done loading kernel modules from /etc/modules-boot.d/*
[ 4.848909] init: - preinit -
[ 7.330077] b53-switch 10f00000.switch extsw: configuring for fixed/rgmii link mode
[ 7.338411] b53-switch 10f00000.switch extsw: Link is Up - 1Gbps/Full - flow control off
[ 7.356853] b53-switch spi0.1 lan1: configuring for phy/gmii link mode
[ 7.373073] b53-switch spi0.1 lan1: Link is Up - 1Gbps/Full - flow control rx/tx
[ 11.997270] jffs2: notice: (553) jffs2_build_xattr_subsystem: complete building xattr subsystem, 18 of xdatum (15 unchecked, 1 orphan) and 22 of xref (1 dead, 0 orphan) found.
[ 12.016046] mount_root: switching to jffs2 overlay
[ 12.074236] overlayfs: upper fs does not support tmpfile.
[ 12.112657] urandom-seed: Seeding with /etc/urandom.seed
[ 12.315805] b53-switch spi0.1 lan1: Link is Down
[ 12.347309] procd: - early -
[ 12.350762] procd: - watchdog -
[ 13.061206] procd: - watchdog -
[ 13.066064] procd: - ubus -
[ 13.238815] procd: - init -
[ 14.730660] kmodloader: loading kernel modules from /etc/modules.d/*
[ 16.124816] Loading modules backported from Linux version v6.12.6-0-ge9d65b48ce1a
[ 16.132572] Backport generated by backports.git v6.1.110-1-35-g410656ef04d2
[ 16.630693] PPP generic driver version 2.4.2
[ 16.639431] NET: Registered PF_PPPOX protocol family
[ 16.671876] Broadcom 43xx driver loaded [ Features: PNL ]
[ 16.747995] kmodloader: done loading kernel modules from /etc/modules.d/*
[ 17.006842] urngd: v1.0.2 started.
[ 38.323998] b53-switch 10f00000.switch extsw: Link is Down
[ 38.450625] b53-switch 10f00000.switch extsw: configuring for fixed/rgmii link mode
[ 38.459336] b53-switch 10f00000.switch extsw: Link is Up - 1Gbps/Full - flow control off
[ 38.735897] b53-switch spi0.1 lan1: configuring for phy/gmii link mode
[ 38.751585] switch: port 1(lan1) entered blocking state
[ 38.756985] switch: port 1(lan1) entered disabled state
[ 38.762708] b53-switch spi0.1 lan1: entered allmulticast mode
[ 38.768870] b53-switch 10f00000.switch extsw: entered allmulticast mode
[ 38.775669] bcm6368-enetsw 10006800.ethernet eth0: entered allmulticast mode
[ 38.852154] b53-switch spi0.1 lan1: entered promiscuous mode
[ 40.170868] b53-switch spi0.1 lan2: configuring for phy/gmii link mode
[ 40.179194] 8021q: adding VLAN 0 to HW filter on device lan2
[ 40.238944] switch: port 2(lan2) entered blocking state
[ 40.244348] switch: port 2(lan2) entered disabled state
[ 40.250002] b53-switch spi0.1 lan2: entered allmulticast mode
[ 40.361971] b53-switch spi0.1 lan2: entered promiscuous mode
[ 40.826695] b53-switch spi0.1 lan3: configuring for phy/gmii link mode
[ 40.835176] 8021q: adding VLAN 0 to HW filter on device lan3
[ 40.880961] switch: port 3(lan3) entered blocking state
[ 40.886376] switch: port 3(lan3) entered disabled state
[ 40.892157] b53-switch spi0.1 lan3: entered allmulticast mode
[ 40.925661] b53-switch spi0.1 lan3: entered promiscuous mode
[ 41.744941] b53-switch spi0.1 lan4: configuring for phy/gmii link mode
[ 41.753008] 8021q: adding VLAN 0 to HW filter on device lan4
[ 41.779154] switch: port 4(lan4) entered blocking state
[ 41.784546] switch: port 4(lan4) entered disabled state
[ 41.790223] b53-switch spi0.1 lan4: entered allmulticast mode
[ 41.823006] b53-switch spi0.1 lan4: entered promiscuous mode
[ 41.946199] b53-switch spi0.1 wan: configuring for phy/gmii link mode
[ 41.954295] 8021q: adding VLAN 0 to HW filter on device wan
[ 41.983458] switch: port 5(wan) entered blocking state
[ 41.989019] switch: port 5(wan) entered disabled state
[ 41.994384] b53-switch spi0.1 wan: entered allmulticast mode
[ 42.015557] b53-switch spi0.1 wan: entered promiscuous mode
[ 42.396914] b53-switch spi0.1 lan1: Link is Up - 1Gbps/Full - flow control rx/tx
[ 42.407730] switch: port 1(lan1) entered blocking state
[ 42.413127] switch: port 1(lan1) entered forwarding state
[ 46.057521] b53-switch spi0.1 wan: Link is Up - 1Gbps/Full - flow control rx/tx
[ 46.065197] switch: port 5(wan) entered blocking state
[ 46.070572] switch: port 5(wan) entered forwarding state
I'm a bit stuck and would appreciate any pointers to get my wifi back!