raspberrypi / linux

Kernel source tree for Raspberry Pi-provided kernel builds. Issues unrelated to the linux kernel should be posted on the community forum at https://forums.raspberrypi.com/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Compute Module 4 on Waveshare Mini Base Board A: Weak and Volatile WiFi Signal

user13571113 opened this issue · comments

Describe the bug

I am running a 32GB eMMC / 8G RAM / WiFi+Bluetooth Compute Module 4 on a Waveshare Mini Base Board A. After flashing the latest RPi OS image onto the eMMC and booting up the system, I cannot establish a reliable connection to my WiFi network. The network is barely recognized and the connection drops constantly; visiting any website results in an endlessly spinning loading wheel. The only command that works - for the short time the connection sometimes lasts - is ping.

My phone and laptop connect to the WiFi network effortlessly. And so does my Raspberry Pi 4!

When I create a wireless access point with my phone and place it next to the CM, I can connect to the AP but the download speeds vary erratically between 2MB/sec and 50KB/sec.

Appendum: It is a 2.4GHz network (WiFi 4 standard) with WPA/WPA2-Personal security.

Steps to reproduce the behaviour

See bug description.

Device (s)

Raspberry Pi CM4

System

System Information

Raspberry Pi Compute Module 4 Rev 1.1
PRETTY_NAME="Debian GNU/Linux 11 (bullseye)"
NAME="Debian GNU/Linux"
VERSION_ID="11"
VERSION="11 (bullseye)"

Raspberry Pi reference 2022-09-22
Generated using pi-gen, https://github.com/RPi-Distro/pi-gen, 005a8c73b05a2cab394073150208bf4f069e861a, stage4

Linux raspberrypi 5.15.61-v8+ #1579 SMP PREEMPT Fri Aug 26 11:16:44 BST 2022 aarch64 GNU/Linux
Revision : d03141
Serial : 100000001eee24d2
Model : Raspberry Pi Compute Module 4 Rev 1.1
Throttled flag : throttled=0x0
Camera : supported=0 detected=0, libcamera interfaces=0

Videocore information

Aug 26 2022 14:03:16
Copyright (c) 2012 Broadcom
version 102f1e848393c2112206fadffaaf86db04e98326 (clean) (release) (start)

alloc failures: 0
compactions: 0
legacy block fails: 0

Filesystem information

Filesystem 1K-blocks Used Available Use% Mounted on
/dev/root 29722148 3380740 25076592 12% /
devtmpfs 3834160 0 3834160 0% /dev
tmpfs 3999920 9980 3989940 1% /dev/shm
tmpfs 1599968 1116 1598852 1% /run
tmpfs 5120 0 5120 0% /run/lock
/dev/mmcblk0p1 261108 31222 229886 12% /boot
tmpfs 799984 32 799952 1% /run/user/1000

Filename Type Size Used Priority
/var/swap file 102396 0 -2

Package version information

raspberrypi-ui-mods:
Installed: 1.20220810
raspberrypi-sys-mods:
Installed: 20220915
openbox:
Installed: 3.6.1-9+rpt1+deb11u1
lxpanel:
Installed: 0.10.1-2+rpt19
pcmanfm:
Installed: 1.3.2-1+rpt9
rpd-plym-splash:
Installed: 0.32

Networking Information

eth0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
ether m.m.m.m txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet x.x.x.x netmask x.x.x.x
inet6 ::1 prefixlen 128 scopeid 0x10
loop txqueuelen 1000 (Local Loopback)
RX packets 83 bytes 7926 (7.7 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 83 bytes 7926 (7.7 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet x.x.x.x netmask x.x.x.x broadcast x.x.x.x
inet6 y::y.y.y.y prefixlen 64 scopeid 0x20
ether m.m.m.m txqueuelen 1000 (Ethernet)
RX packets 526 bytes 174691 (170.5 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 1008 bytes 150514 (146.9 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

USB Information

/: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=dwc2/1p, 480M
|__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/4p, 480M
|__ Port 1: Dev 3, If 0, Class=Human Interface Device, Driver=usbhid, 1.5M
|__ Port 2: Dev 4, If 1, Class=Human Interface Device, Driver=usbhid, 1.5M
|__ Port 2: Dev 4, If 0, Class=Human Interface Device, Driver=usbhid, 1.5M

config.txt

arm_64bit=1
arm_boost=1
arm_freq=1500
audio_pwm_mode=514
camera_auto_detect=-1
config_hdmi_boost=5
core_freq=500
core_freq_min=200
disable_commandline_tags=2
disable_l2cache=1
disable_overscan=1
display_hdmi_rotate=-1
display_lcd_rotate=-1
dvfs=3
enable_gic=1
force_eeprom_read=1
force_pwm_open=1
framebuffer_ignore_alpha=1
framebuffer_swap=1
gpu_freq=500
gpu_freq_min=250
ignore_lcd=1
init_uart_clock=0x2dc6c00
mask_gpu_interrupt0=1024
mask_gpu_interrupt1=0x10000
max_framebuffers=2
pause_burst_frames=1
program_serial_random=1
total_mem=8192
hdmi_force_cec_address:0=65535
hdmi_force_cec_address:1=65535
hdmi_pixel_freq_limit:0=0x11e1a300
hdmi_pixel_freq_limit:1=0x11e1a300
device_tree=-
overlay_prefix=overlays/
hdmi_cvt:0=
hdmi_cvt:1=
hdmi_edid_filename:0=
hdmi_edid_filename:1=
hdmi_timings:0=
hdmi_timings:1=

cmdline.txt

coherent_pool=1M 8250.nr_uarts=0 snd_bcm2835.enable_compat_alsa=0 snd_bcm2835.enable_hdmi=1 video=HDMI-A-1:1920x1080M@60 smsc95xx.macaddr=E4:5F:01:EC:69:BF vc_mem.mem_base=0x3ec00000 vc_mem.mem_size=0x40000000 console=ttyS0,115200 console=tty1 root=PARTUUID=d3bafe01-02 rootfstype=ext4 fsck.repair=yes rootwait quiet splash plymouth.ignore-serial-consoles

raspi-gpio settings

BANK0 (GPIO 0 to 27):
GPIO 0: level=1 fsel=0 func=INPUT pull=UP
GPIO 1: level=1 fsel=0 func=INPUT pull=UP
GPIO 2: level=1 fsel=0 func=INPUT pull=UP
GPIO 3: level=1 fsel=0 func=INPUT pull=UP
GPIO 4: level=1 fsel=0 func=INPUT pull=UP
GPIO 5: level=1 fsel=0 func=INPUT pull=UP
GPIO 6: level=1 fsel=0 func=INPUT pull=UP
GPIO 7: level=1 fsel=0 func=INPUT pull=UP
GPIO 8: level=1 fsel=0 func=INPUT pull=UP
GPIO 9: level=0 fsel=0 func=INPUT pull=DOWN
GPIO 10: level=0 fsel=0 func=INPUT pull=DOWN
GPIO 11: level=0 fsel=0 func=INPUT pull=DOWN
GPIO 12: level=0 fsel=0 func=INPUT pull=DOWN
GPIO 13: level=0 fsel=0 func=INPUT pull=DOWN
GPIO 14: level=1 fsel=0 func=INPUT pull=NONE
GPIO 15: level=1 fsel=0 func=INPUT pull=UP
GPIO 16: level=0 fsel=0 func=INPUT pull=DOWN
GPIO 17: level=0 fsel=0 func=INPUT pull=DOWN
GPIO 18: level=0 fsel=0 func=INPUT pull=DOWN
GPIO 19: level=0 fsel=0 func=INPUT pull=DOWN
GPIO 20: level=0 fsel=0 func=INPUT pull=DOWN
GPIO 21: level=0 fsel=0 func=INPUT pull=DOWN
GPIO 22: level=0 fsel=0 func=INPUT pull=DOWN
GPIO 23: level=0 fsel=0 func=INPUT pull=DOWN
GPIO 24: level=0 fsel=0 func=INPUT pull=DOWN
GPIO 25: level=0 fsel=0 func=INPUT pull=DOWN
GPIO 26: level=0 fsel=0 func=INPUT pull=DOWN
GPIO 27: level=0 fsel=0 func=INPUT pull=DOWN
BANK1 (GPIO 28 to 45):
GPIO 28: level=1 fsel=2 alt=5 func=RGMII_MDIO pull=UP
GPIO 29: level=0 fsel=2 alt=5 func=RGMII_MDC pull=DOWN
GPIO 30: level=0 fsel=7 alt=3 func=CTS0 pull=UP
GPIO 31: level=0 fsel=7 alt=3 func=RTS0 pull=NONE
GPIO 32: level=1 fsel=7 alt=3 func=TXD0 pull=NONE
GPIO 33: level=1 fsel=7 alt=3 func=RXD0 pull=UP
GPIO 34: level=1 fsel=7 alt=3 func=SD1_CLK pull=NONE
GPIO 35: level=1 fsel=7 alt=3 func=SD1_CMD pull=UP
GPIO 36: level=1 fsel=7 alt=3 func=SD1_DAT0 pull=UP
GPIO 37: level=1 fsel=7 alt=3 func=SD1_DAT1 pull=UP
GPIO 38: level=1 fsel=7 alt=3 func=SD1_DAT2 pull=UP
GPIO 39: level=1 fsel=7 alt=3 func=SD1_DAT3 pull=UP
GPIO 40: level=1 fsel=0 func=INPUT pull=DOWN
GPIO 41: level=1 fsel=0 func=INPUT pull=DOWN
GPIO 42: level=0 fsel=1 func=OUTPUT pull=DOWN
GPIO 43: level=1 fsel=0 func=INPUT pull=DOWN
GPIO 44: level=1 fsel=0 func=INPUT pull=NONE
GPIO 45: level=1 fsel=0 func=INPUT pull=NONE
BANK2 (GPIO 46 to 53):
GPIO 46: level=0 fsel=0 func=INPUT pull=UP
GPIO 47: level=0 fsel=0 func=INPUT pull=UP
GPIO 48: level=0 fsel=4 alt=0 func=SD0_CLK pull=DOWN
GPIO 49: level=0 fsel=4 alt=0 func=SD0_CMD pull=DOWN
GPIO 50: level=0 fsel=4 alt=0 func=SD0_DAT0 pull=DOWN
GPIO 51: level=0 fsel=4 alt=0 func=SD0_DAT1 pull=DOWN
GPIO 52: level=0 fsel=4 alt=0 func=SD0_DAT2 pull=DOWN
GPIO 53: level=0 fsel=4 alt=0 func=SD0_DAT3 pull=DOWN

vcdbg log messages

sudo: vcdbg: command not found

dmesg log

[ 0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd083]
[ 0.000000] Linux version 5.15.61-v8+ (dom@buildbot) (aarch64-linux-gnu-gcc-8 (Ubuntu/Linaro 8.4.0-3ubuntu1) 8.4.0, GNU ld (GNU Binutils for Ubuntu) 2.34) #1579 SMP PREEMPT Fri Aug 26 11:16:44 BST 2022
[ 0.000000] random: crng init done
[ 0.000000] Machine model: Raspberry Pi Compute Module 4 Rev 1.1
[ 0.000000] efi: UEFI not found.
[ 0.000000] Reserved memory: created CMA memory pool at 0x000000001ac00000, size 320 MiB
[ 0.000000] OF: reserved mem: initialized node linux,cma, compatible id shared-dma-pool
[ 0.000000] Zone ranges:
[ 0.000000] DMA [mem 0x0000000000000000-0x000000003fffffff]
[ 0.000000] DMA32 [mem 0x0000000040000000-0x00000000ffffffff]
[ 0.000000] Normal [mem 0x0000000100000000-0x00000001ffffffff]
[ 0.000000] Movable zone start for each node
[ 0.000000] Early memory node ranges
[ 0.000000] node 0: [mem 0x0000000000000000-0x000000003b3fffff]
[ 0.000000] node 0: [mem 0x0000000040000000-0x00000000fbffffff]
[ 0.000000] node 0: [mem 0x0000000100000000-0x00000001ffffffff]
[ 0.000000] Initmem setup node 0 [mem 0x0000000000000000-0x00000001ffffffff]
[ 0.000000] On node 0, zone DMA32: 19456 pages in unavailable ranges
[ 0.000000] On node 0, zone Normal: 16384 pages in unavailable ranges
[ 0.000000] percpu: Embedded 28 pages/cpu s77272 r8192 d29224 u114688
[ 0.000000] pcpu-alloc: s77272 r8192 d29224 u114688 alloc=28*4096
[ 0.000000] pcpu-alloc: [0] 0 [0] 1 [0] 2 [0] 3
[ 0.000000] Detected PIPT I-cache on CPU0
[ 0.000000] CPU features: detected: Spectre-v2
[ 0.000000] CPU features: detected: Spectre-v3a
[ 0.000000] CPU features: detected: Spectre-v4
[ 0.000000] CPU features: detected: Spectre-BHB
[ 0.000000] CPU features: kernel page table isolation forced ON by KASLR
[ 0.000000] CPU features: detected: Kernel page table isolation (KPTI)
[ 0.000000] CPU features: detected: ARM errata 1165522, 1319367, or 1530923
[ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 2028848
[ 0.000000] Kernel command line: coherent_pool=1M 8250.nr_uarts=0 snd_bcm2835.enable_compat_alsa=0 snd_bcm2835.enable_hdmi=1 video=HDMI-A-1:1920x1080M@60 smsc95xx.macaddr=m.m.m.m vc_mem.mem_base=0x3ec00000 vc_mem.mem_size=0x40000000 console=ttyS0,115200 console=tty1 root=PARTUUID=d3bafe01-02 rootfstype=ext4 fsck.repair=yes rootwait quiet splash plymouth.ignore-serial-consoles
[ 0.000000] Unknown kernel command line parameters "splash", will be passed to user space.
[ 0.000000] Dentry cache hash table entries: 1048576 (order: 11, 8388608 bytes, linear)
[ 0.000000] Inode-cache hash table entries: 524288 (order: 10, 4194304 bytes, linear)
[ 0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
[ 0.000000] software IO TLB: mapped [mem 0x0000000037400000-0x000000003b400000] (64MB)
[ 0.000000] Memory: 7668320K/8245248K available (11520K kernel code, 1956K rwdata, 4140K rodata, 3840K init, 974K bss, 249248K reserved, 327680K cma-reserved)
[ 0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1
[ 0.000000] ftrace: allocating 38040 entries in 149 pages
[ 0.000000] ftrace: allocated 149 pages with 4 groups
[ 0.000000] trace event string verifier disabled
[ 0.000000] rcu: Preemptible hierarchical RCU implementation.
[ 0.000000] rcu: RCU event tracing is enabled.
[ 0.000000] rcu: RCU restricting CPUs from NR_CPUS=256 to nr_cpu_ids=4.
[ 0.000000] Trampoline variant of Tasks RCU enabled.
[ 0.000000] Rude variant of Tasks RCU enabled.
[ 0.000000] Tracing variant of Tasks RCU enabled.
[ 0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 25 jiffies.
[ 0.000000] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=4
[ 0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0
[ 0.000000] Root IRQ handler: gic_handle_irq
[ 0.000000] GIC: Using split EOI/Deactivate mode
[ 0.000000] arch_timer: cp15 timer(s) running at 54.00MHz (phys).
[ 0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0xc743ce346, max_idle_ns: 440795203123 ns
[ 0.000000] sched_clock: 56 bits at 54MHz, resolution 18ns, wraps every 4398046511102ns
[ 0.000326] Console: colour dummy device 80x25
[ 0.000390] printk: console [tty1] enabled
[ 0.000467] Calibrating delay loop (skipped), value calculated using timer frequency.. 108.00 BogoMIPS (lpj=216000)
[ 0.000493] pid_max: default: 32768 minimum: 301
[ 0.000630] LSM: Security Framework initializing
[ 0.000955] Mount-cache hash table entries: 16384 (order: 5, 131072 bytes, linear)
[ 0.001088] Mountpoint-cache hash table entries: 16384 (order: 5, 131072 bytes, linear)
[ 0.002402] cgroup: Disabling memory control group subsystem
[ 0.005280] rcu: Hierarchical SRCU implementation.
[ 0.006469] EFI services will not be available.
[ 0.007040] smp: Bringing up secondary CPUs ...
[ 0.008204] Detected PIPT I-cache on CPU1
[ 0.008295] CPU1: Booted secondary processor 0x0000000001 [0x410fd083]
[ 0.009515] Detected PIPT I-cache on CPU2
[ 0.009566] CPU2: Booted secondary processor 0x0000000002 [0x410fd083]
[ 0.010721] Detected PIPT I-cache on CPU3
[ 0.010772] CPU3: Booted secondary processor 0x0000000003 [0x410fd083]
[ 0.010924] smp: Brought up 1 node, 4 CPUs
[ 0.010944] SMP: Total of 4 processors activated.
[ 0.010956] CPU features: detected: 32-bit EL0 Support
[ 0.010966] CPU features: detected: 32-bit EL1 Support
[ 0.010978] CPU features: detected: CRC32 instructions
[ 0.043531] CPU: All CPU(s) started at EL2
[ 0.043611] alternatives: patching kernel code
[ 0.045520] devtmpfs: initialized
[ 0.056966] Enabled cp15_barrier support
[ 0.057007] Enabled setend support
[ 0.057027] KASLR enabled
[ 0.057214] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns
[ 0.057248] futex hash table entries: 1024 (order: 4, 65536 bytes, linear)
[ 0.067118] pinctrl core: initialized pinctrl subsystem
[ 0.067955] DMI not present or invalid.
[ 0.068777] NET: Registered PF_NETLINK/PF_ROUTE protocol family
[ 0.072555] DMA: preallocated 1024 KiB GFP_KERNEL pool for atomic allocations
[ 0.072867] DMA: preallocated 1024 KiB GFP_KERNEL|GFP_DMA pool for atomic allocations
[ 0.073777] DMA: preallocated 1024 KiB GFP_KERNEL|GFP_DMA32 pool for atomic allocations
[ 0.073877] audit: initializing netlink subsys (disabled)
[ 0.074168] audit: type=2000 audit(0.072:1): state=initialized audit_enabled=0 res=1
[ 0.074736] thermal_sys: Registered thermal governor 'step_wise'
[ 0.074972] cpuidle: using governor menu
[ 0.075332] hw-breakpoint: found 6 breakpoint and 4 watchpoint registers.
[ 0.075537] ASID allocator initialised with 32768 entries
[ 0.075699] Serial: AMBA PL011 UART driver
[ 0.086359] bcm2835-mbox fe00b880.mailbox: mailbox enabled
[ 0.104413] raspberrypi-firmware soc:firmware: Attached to firmware from 2022-08-26T14:03:16, variant start
[ 0.108421] raspberrypi-firmware soc:firmware: Firmware hash is 102f1e848393c2112206fadffaaf86db04e98326
[ 0.159856] bcm2835-dma fe007000.dma: DMA legacy API manager, dmachans=0x1
[ 0.163991] vgaarb: loaded
[ 0.164428] SCSI subsystem initialized
[ 0.164779] usbcore: registered new interface driver usbfs
[ 0.164836] usbcore: registered new interface driver hub
[ 0.164923] usbcore: registered new device driver usb
[ 0.165243] usb_phy_generic phy: supply vcc not found, using dummy regulator
[ 0.165456] usb_phy_generic phy: dummy supplies not allowed for exclusive requests
[ 0.165749] pps_core: LinuxPPS API ver. 1 registered
[ 0.165762] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti giometti@linux.it
[ 0.165785] PTP clock support registered
[ 0.167413] clocksource: Switched to clocksource arch_sys_counter
[ 0.247950] VFS: Disk quotas dquot_6.6.0
[ 0.248063] VFS: Dquot-cache hash table entries: 512 (order 0, 4096 bytes)
[ 0.248236] FS-Cache: Loaded
[ 0.248494] CacheFiles: Loaded
[ 0.249800] simple-framebuffer 3e3cf000.framebuffer: framebuffer at 0x3e3cf000, 0x7f8000 bytes
[ 0.249820] simple-framebuffer 3e3cf000.framebuffer: format=a8r8g8b8, mode=1920x1080x32, linelength=7680
[ 0.250331] Console: switching to colour frame buffer device 240x67
[ 0.261917] simple-framebuffer 3e3cf000.framebuffer: fb0: simplefb registered!
[ 0.272700] NET: Registered PF_INET protocol family
[ 0.273778] IP idents hash table entries: 131072 (order: 8, 1048576 bytes, linear)
[ 0.280004] tcp_listen_portaddr_hash hash table entries: 4096 (order: 4, 65536 bytes, linear)
[ 0.280111] Table-perturb hash table entries: 65536 (order: 6, 262144 bytes, linear)
[ 0.280145] TCP established hash table entries: 65536 (order: 7, 524288 bytes, linear)
[ 0.280674] TCP bind hash table entries: 65536 (order: 8, 1048576 bytes, linear)
[ 0.281756] TCP: Hash tables configured (established 65536 bind 65536)
[ 0.282080] UDP hash table entries: 4096 (order: 5, 131072 bytes, linear)
[ 0.282247] UDP-Lite hash table entries: 4096 (order: 5, 131072 bytes, linear)
[ 0.282688] NET: Registered PF_UNIX/PF_LOCAL protocol family
[ 0.283931] RPC: Registered named UNIX socket transport module.
[ 0.283952] RPC: Registered udp transport module.
[ 0.283963] RPC: Registered tcp transport module.
[ 0.283974] RPC: Registered tcp NFSv4.1 backchannel transport module.
[ 0.283995] PCI: CLS 0 bytes, default 64
[ 0.286790] hw perfevents: enabled with armv8_cortex_a72 PMU driver, 7 counters available
[ 0.287149] kvm [1]: IPA Size Limit: 44 bits
[ 0.288425] kvm [1]: vgic interrupt IRQ9
[ 0.288704] kvm [1]: Hyp mode initialized successfully
[ 1.087878] Initialise system trusted keyrings
[ 1.088325] workingset: timestamp_bits=46 max_order=21 bucket_order=0
[ 1.095310] zbud: loaded
[ 1.097311] FS-Cache: Netfs 'nfs' registered for caching
[ 1.098039] NFS: Registering the id_resolver key type
[ 1.098078] Key type id_resolver registered
[ 1.098089] Key type id_legacy registered
[ 1.098215] nfs4filelayout_init: NFSv4 File Layout Driver Registering...
[ 1.098229] nfs4flexfilelayout_init: NFSv4 Flexfile Layout Driver Registering...
[ 1.099560] Key type asymmetric registered
[ 1.099579] Asymmetric key parser 'x509' registered
[ 1.099673] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 247)
[ 1.099959] io scheduler mq-deadline registered
[ 1.099974] io scheduler kyber registered
[ 1.108523] gpio-507 (ant1): hogged as output/high
[ 1.109962] gpio-511 (ant2): hogged as output/low
[ 1.111494] brcm-pcie fd500000.pcie: host bridge /scb/pcie@7d500000 ranges:
[ 1.111533] brcm-pcie fd500000.pcie: No bus range found for /scb/pcie@7d500000, using [bus 00-ff]
[ 1.111619] brcm-pcie fd500000.pcie: MEM 0x0600000000..0x063fffffff -> 0x00c0000000
[ 1.111709] brcm-pcie fd500000.pcie: IB MEM 0x0000000000..0x01ffffffff -> 0x0400000000
[ 1.431431] brcm-pcie fd500000.pcie: link down
[ 1.442498] iproc-rng200 fe104000.rng: hwrng registered
[ 1.442916] vc-mem: phys_addr:0x00000000 mem_base=0x3ec00000 mem_size:0x40000000(1024 MiB)
[ 1.444285] gpiomem-bcm2835 fe200000.gpiomem: Initialised: Registers at 0xfe200000
[ 1.457434] brd: module loaded
[ 1.467519] loop: module loaded
[ 1.468286] Loading iSCSI transport class v2.0-870.
[ 1.473456] bcmgenet fd580000.ethernet: GENET 5.0 EPHY: 0x0000
[ 1.535574] unimac-mdio unimac-mdio.-19: Broadcom UniMAC MDIO bus
[ 1.536754] usbcore: registered new interface driver r8152
[ 1.536827] usbcore: registered new interface driver lan78xx
[ 1.536891] usbcore: registered new interface driver smsc95xx
[ 1.537411] dwc_otg: version 3.00a 10-AUG-2012 (platform bus)
[ 1.537673] dwc_otg: FIQ enabled
[ 1.537684] dwc_otg: NAK holdoff enabled
[ 1.537694] dwc_otg: FIQ split-transaction FSM enabled
[ 1.537708] Module dwc_common_port init
[ 1.538278] usbcore: registered new interface driver uas
[ 1.538348] usbcore: registered new interface driver usb-storage
[ 1.538583] mousedev: PS/2 mouse device common for all mice
[ 1.543618] sdhci: Secure Digital Host Controller Interface driver
[ 1.543638] sdhci: Copyright(c) Pierre Ossman
[ 1.544173] sdhci-pltfm: SDHCI platform and OF driver helper
[ 1.547638] ledtrig-cpu: registered to indicate activity on CPUs
[ 1.548259] hid: raw HID events driver (C) Jiri Kosina
[ 1.548421] usbcore: registered new interface driver usbhid
[ 1.548433] usbhid: USB HID core driver
[ 1.548764] ashmem: initialized
[ 1.557056] NET: Registered PF_PACKET protocol family
[ 1.557186] Key type dns_resolver registered
[ 1.558420] registered taskstats version 1
[ 1.558460] Loading compiled-in X.509 certificates
[ 1.559134] Key type ._fscrypt registered
[ 1.559149] Key type .fscrypt registered
[ 1.559159] Key type fscrypt-provisioning registered
[ 1.570971] uart-pl011 fe201000.serial: there is not valid maps for state default
[ 1.571283] uart-pl011 fe201000.serial: cts_event_workaround enabled
[ 1.571465] fe201000.serial: ttyAMA0 at MMIO 0xfe201000 (irq = 17, base_baud = 0) is a PL011 rev2
[ 1.580539] bcm2835-wdt bcm2835-wdt: Broadcom BCM2835 watchdog timer
[ 1.581024] bcm2835-power bcm2835-power: Broadcom BCM2835 power domains driver
[ 1.582224] mmc-bcm2835 fe300000.mmcnr: mmc_debug:0 mmc_debug2:0
[ 1.582243] mmc-bcm2835 fe300000.mmcnr: DMA channel allocated
[ 1.613249] of_cfs_init
[ 1.613406] of_cfs_init: OK
[ 1.651428] mmc0: SDHCI controller on fe340000.mmc [fe340000.mmc] using ADMA
[ 1.651838] Waiting for root device PARTUUID=d3bafe01-02...
[ 1.700118] mmc1: new high speed SDIO card at address 0001
[ 1.715536] mmc0: new DDR MMC card at address 0001
[ 1.716649] mmcblk0: mmc0:0001 BJTD4R 29.1 GiB
[ 1.719662] mmcblk0: p1 p2
[ 1.720263] mmcblk0: mmc0:0001 BJTD4R 29.1 GiB
[ 1.720925] mmcblk0boot0: mmc0:0001 BJTD4R 4.00 MiB
[ 1.723827] mmcblk0boot1: mmc0:0001 BJTD4R 4.00 MiB
[ 1.726231] mmcblk0rpmb: mmc0:0001 BJTD4R 4.00 MiB, chardev (242:0)
[ 1.740431] EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. Opts: (null). Quota mode: none.
[ 1.740540] VFS: Mounted root (ext4 filesystem) readonly on device 179:2.
[ 1.741175] devtmpfs: mounted
[ 1.750053] Freeing unused kernel memory: 3840K
[ 1.750289] Run /sbin/init as init process
[ 1.750300] with arguments:
[ 1.750309] /sbin/init
[ 1.750319] splash
[ 1.750328] with environment:
[ 1.750337] HOME=/
[ 1.750346] TERM=linux
[ 1.976837] systemd[1]: System time before build time, advancing clock.
[ 2.144012] NET: Registered PF_INET6 protocol family
[ 2.146048] Segment Routing with IPv6
[ 2.146093] In-situ OAM (IOAM) with IPv6
[ 2.207136] systemd[1]: systemd 247.3-7+deb11u1 running in system mode. (+PAM +AUDIT +SELINUX +IMA +APPARMOR +SMACK +SYSVINIT +UTMP +LIBCRYPTSETUP +GCRYPT +GNUTLS +ACL +XZ +LZ4 +ZSTD +SECCOMP +BLKID +ELFUTILS +KMOD +IDN2 -IDN +PCRE2 default-hierarchy=unified)
[ 2.208210] systemd[1]: Detected architecture arm64.
[ 2.209701] systemd[1]: Set hostname to .
[ 2.764408] systemd[1]: /lib/systemd/system/plymouth-start.service:16: Unit configured to use KillMode=none. This is unsafe, as it disables systemd's process lifecycle management for the service. Please update your service to use a safer KillMode=, such as 'mixed' or 'control-group'. Support for KillMode=none is deprecated and will eventually be removed.
[ 2.898252] systemd[1]: Queued start job for default target Graphical Interface.
[ 2.903048] systemd[1]: Created slice system-getty.slice.
[ 2.904526] systemd[1]: Created slice system-modprobe.slice.
[ 2.905494] systemd[1]: Created slice system-systemd\x2dfsck.slice.
[ 2.906319] systemd[1]: Created slice User and Session Slice.
[ 2.906843] systemd[1]: Started Forward Password Requests to Wall Directory Watch.
[ 2.908054] systemd[1]: Set up automount Arbitrary Executable File Formats File System Automount Point.
[ 2.908528] systemd[1]: Reached target Slices.
[ 2.908653] systemd[1]: Reached target Swap.
[ 2.911805] systemd[1]: Listening on Syslog Socket.
[ 2.912737] systemd[1]: Listening on fsck to fsckd communication Socket.
[ 2.913163] systemd[1]: Listening on initctl Compatibility Named Pipe.
[ 2.914405] systemd[1]: Listening on Journal Audit Socket.
[ 2.915182] systemd[1]: Listening on Journal Socket (/dev/log).
[ 2.916218] systemd[1]: Listening on Journal Socket.
[ 2.920263] systemd[1]: Listening on udev Control Socket.
[ 2.921256] systemd[1]: Listening on udev Kernel Socket.
[ 2.922288] systemd[1]: Condition check resulted in Huge Pages File System being skipped.
[ 2.926782] systemd[1]: Mounting POSIX Message Queue File System...
[ 2.931875] systemd[1]: Mounting RPC Pipe File System...
[ 2.938158] systemd[1]: Mounting Kernel Debug File System...
[ 2.944190] systemd[1]: Mounting Kernel Trace File System...
[ 2.944766] systemd[1]: Condition check resulted in Kernel Module supporting RPCSEC_GSS being skipped.
[ 2.952032] systemd[1]: Starting Restore / save the current clock...
[ 2.957747] systemd[1]: Starting Set the console keyboard layout...
[ 2.964570] systemd[1]: Starting Create list of static device nodes for the current kernel...
[ 2.971235] systemd[1]: Starting Load Kernel Module configfs...
[ 2.977560] systemd[1]: Starting Load Kernel Module drm...
[ 2.988926] systemd[1]: Starting Load Kernel Module fuse...
[ 2.992707] systemd[1]: Condition check resulted in Set Up Additional Binary Formats being skipped.
[ 2.998628] systemd[1]: Starting File System Check on Root Device...
[ 3.013686] systemd[1]: Starting Journal Service...
[ 3.023252] systemd[1]: Starting Load Kernel Modules...
[ 3.029560] systemd[1]: Starting Coldplug All udev Devices...
[ 3.062160] systemd[1]: Mounted POSIX Message Queue File System.
[ 3.063329] systemd[1]: Mounted RPC Pipe File System.
[ 3.070395] fuse: init (API version 7.34)
[ 3.071086] systemd[1]: Mounted Kernel Debug File System.
[ 3.072557] systemd[1]: Mounted Kernel Trace File System.
[ 3.075219] systemd[1]: Finished Restore / save the current clock.
[ 3.078991] systemd[1]: Finished Create list of static device nodes for the current kernel.
[ 3.083985] systemd[1]: modprobe@configfs.service: Succeeded.
[ 3.085635] systemd[1]: Finished Load Kernel Module configfs.
[ 3.093001] systemd[1]: Mounting Kernel Configuration File System...
[ 3.096952] systemd[1]: modprobe@fuse.service: Succeeded.
[ 3.101138] systemd[1]: Finished Load Kernel Module fuse.
[ 3.124275] i2c_dev: i2c /dev entries driver
[ 3.148161] systemd[1]: Mounting FUSE Control File System...
[ 3.164533] systemd[1]: Started File System Check Daemon to report status.
[ 3.217562] systemd[1]: Finished Load Kernel Modules.
[ 3.219157] systemd[1]: Mounted Kernel Configuration File System.
[ 3.220255] systemd[1]: Mounted FUSE Control File System.
[ 3.241399] systemd[1]: Starting Apply Kernel Variables...
[ 3.258886] systemd[1]: modprobe@drm.service: Succeeded.
[ 3.260440] systemd[1]: Finished Load Kernel Module drm.
[ 3.296449] systemd[1]: Finished Apply Kernel Variables.
[ 3.301153] systemd[1]: Finished File System Check on Root Device.
[ 3.306395] systemd[1]: Starting Remount Root and Kernel File Systems...
[ 3.332434] systemd[1]: Started Journal Service.
[ 3.443893] EXT4-fs (mmcblk0p2): re-mounted. Opts: (null). Quota mode: none.
[ 3.514922] systemd-journald[137]: Received client request to flush runtime journal.
[ 4.488927] vc_sm_cma: module is from the staging directory, the quality is unknown, you have been warned.
[ 4.525241] bcm2835_vc_sm_cma_probe: Videocore shared memory driver
[ 4.525283] [vc_sm_connected_init]: start
[ 4.575980] [vc_sm_connected_init]: installed successfully
[ 4.595189] mc: Linux media interface: v0.10
[ 4.732936] [drm] Initialized v3d 1.0.0 20180419 for fec00000.v3d on minor 0
[ 4.758453] videodev: Linux video capture interface: v2.00
[ 4.859192] dwc2 fe980000.usb: supply vusb_d not found, using dummy regulator
[ 4.873056] dwc2 fe980000.usb: supply vusb_a not found, using dummy regulator
[ 4.969728] bcm2835_mmal_vchiq: module is from the staging directory, the quality is unknown, you have been warned.
[ 5.033354] bcm2835_mmal_vchiq: module is from the staging directory, the quality is unknown, you have been warned.
[ 5.042501] bcm2835_mmal_vchiq: module is from the staging directory, the quality is unknown, you have been warned.
[ 5.042530] rpivid_hevc: module is from the staging directory, the quality is unknown, you have been warned.
[ 5.101652] dwc2 fe980000.usb: DWC OTG Controller
[ 5.101736] dwc2 fe980000.usb: new USB bus registered, assigned bus number 1
[ 5.101822] dwc2 fe980000.usb: irq 18, io mem 0xfe980000
[ 5.102267] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 5.15
[ 5.102293] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 5.102308] usb usb1: Product: DWC OTG Controller
[ 5.102321] usb usb1: Manufacturer: Linux 5.15.61-v8+ dwc2_hsotg
[ 5.102333] usb usb1: SerialNumber: fe980000.usb
[ 5.104231] hub 1-0:1.0: USB hub found
[ 5.104347] hub 1-0:1.0: 1 port detected
[ 5.148414] bcm2835_isp: module is from the staging directory, the quality is unknown, you have been warned.
[ 5.156114] bcm2835_codec: module is from the staging directory, the quality is unknown, you have been warned.
[ 5.160305] bcm2835_v4l2: module is from the staging directory, the quality is unknown, you have been warned.
[ 5.174697] rpivid feb10000.codec: Device registered as /dev/video19
[ 5.174805] cfg80211: Loading compiled-in X.509 certificates for regulatory database
[ 5.210392] cfg80211: Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7'
[ 5.222145] cfg80211: loaded regulatory.db is malformed or signature is missing/invalid
[ 5.222832] bcm2835-codec bcm2835-codec: Device registered as /dev/video10
[ 5.222887] bcm2835-codec bcm2835-codec: Loaded V4L2 decode
[ 5.244125] bcm2835-isp bcm2835-isp: Device node output[0] registered as /dev/video13
[ 5.244943] bcm2835-isp bcm2835-isp: Device node capture[0] registered as /dev/video14
[ 5.245589] bcm2835-isp bcm2835-isp: Device node capture[1] registered as /dev/video15
[ 5.251652] bcm2835-isp bcm2835-isp: Device node stats[2] registered as /dev/video16
[ 5.251713] bcm2835-isp bcm2835-isp: Register output node 0 with media controller
[ 5.251751] bcm2835-isp bcm2835-isp: Register capture node 1 with media controller
[ 5.251771] bcm2835-isp bcm2835-isp: Register capture node 2 with media controller
[ 5.251787] bcm2835-isp bcm2835-isp: Register capture node 3 with media controller
[ 5.257526] bcm2835-isp bcm2835-isp: Device node output[0] registered as /dev/video20
[ 5.258844] bcm2835-isp bcm2835-isp: Device node capture[0] registered as /dev/video21
[ 5.259611] bcm2835-isp bcm2835-isp: Device node capture[1] registered as /dev/video22
[ 5.265746] bcm2835-isp bcm2835-isp: Device node stats[2] registered as /dev/video23
[ 5.265806] bcm2835-isp bcm2835-isp: Register output node 0 with media controller
[ 5.265832] bcm2835-isp bcm2835-isp: Register capture node 1 with media controller
[ 5.265850] bcm2835-isp bcm2835-isp: Register capture node 2 with media controller
[ 5.265883] bcm2835-isp bcm2835-isp: Register capture node 3 with media controller
[ 5.270263] bcm2835-codec bcm2835-codec: Device registered as /dev/video11
[ 5.270352] bcm2835-codec bcm2835-codec: Loaded V4L2 encode
[ 5.287429] bcm2835-isp bcm2835-isp: Loaded V4L2 bcm2835-isp
[ 5.304511] bcm2835-codec bcm2835-codec: Device registered as /dev/video12
[ 5.304586] bcm2835-codec bcm2835-codec: Loaded V4L2 isp
[ 5.403530] usb 1-1: new high-speed USB device number 2 using dwc2
[ 5.444093] bcm2835-codec bcm2835-codec: Device registered as /dev/video18
[ 5.444211] bcm2835-codec bcm2835-codec: Loaded V4L2 image_fx
[ 5.503133] brcmfmac: F1 signature read @0x18000000=0x15264345
[ 5.528774] brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac43455-sdio for chip BCM4345/6
[ 5.530020] brcmfmac mmc1:0001:1: Direct firmware load for brcm/brcmfmac43455-sdio.raspberrypi,4-compute-module.bin failed with error -2
[ 5.535101] usbcore: registered new interface driver brcmfmac
[ 5.541097] bcm2835-codec bcm2835-codec: Device registered as /dev/video31
[ 5.541164] bcm2835-codec bcm2835-codec: Loaded V4L2 encode_image
[ 5.612389] usb 1-1: New USB device found, idVendor=1a40, idProduct=0101, bcdDevice= 1.11
[ 5.612438] usb 1-1: New USB device strings: Mfr=0, Product=1, SerialNumber=0
[ 5.612455] usb 1-1: Product: USB 2.0 Hub
[ 5.704035] hub 1-1:1.0: USB hub found
[ 5.704265] hub 1-1:1.0: 4 ports detected
[ 5.800124] brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac43455-sdio for chip BCM4345/6
[ 5.800310] brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac43455-sdio for chip BCM4345/6
[ 5.806142] brcmfmac: brcmf_c_preinit_dcmds: Firmware: BCM4345/6 wl0: Nov 1 2021 00:37:25 version 7.45.241 (1a2f2fa CY) FWID 01-703fd60
[ 5.851267] checking generic (3e3cf000 7f8000) vs hw (0 ffffffffffffffff)
[ 5.851552] fb0: switching to vc4 from simple
[ 5.941064] Console: switching to colour dummy device 80x25
[ 5.945179] vc4-drm gpu: bound fe600000.firmwarekms (ops vc4_fkms_ops [vc4])
[ 6.111466] usb 1-1.1: new low-speed USB device number 3 using dwc2
[ 6.131996] [drm] Initialized vc4 0.0.0 20140616 for gpu on minor 1
[ 6.338230] usb 1-1.1: New USB device found, idVendor=046d, idProduct=c040, bcdDevice=24.30
[ 6.338265] usb 1-1.1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 6.338281] usb 1-1.1: Product: USB-PS/2 Optical Mouse
[ 6.338295] usb 1-1.1: Manufacturer: Logitech
[ 6.352436] Console: switching to colour frame buffer device 240x67
[ 6.352516] vc4-drm gpu: [drm] fb0: vc4drmfb frame buffer device
[ 6.676940] input: Logitech USB-PS/2 Optical Mouse as /devices/platform/soc/fe980000.usb/usb1/1-1/1-1.1/1-1.1:1.0/0003:046D:C040.0001/input/input0
[ 6.744532] hid-generic 0003:046D:C040.0001: input,hidraw0: USB HID v1.10 Mouse [Logitech USB-PS/2 Optical Mouse] on usb-fe980000.usb-1.1/input0
[ 6.991538] usb 1-1.2: new low-speed USB device number 4 using dwc2
[ 7.222775] usb 1-1.2: New USB device found, idVendor=046a, idProduct=0023, bcdDevice= 2.20
[ 7.222819] usb 1-1.2: New USB device strings: Mfr=0, Product=0, SerialNumber=0
[ 7.454901] input: HID 046a:0023 as /devices/platform/soc/fe980000.usb/usb1/1-1/1-1.2/1-1.2:1.0/0003:046A:0023.0002/input/input1
[ 7.592118] cherry 0003:046A:0023.0002: input,hidraw1: USB HID v1.11 Keyboard [HID 046a:0023] on usb-fe980000.usb-1.2/input0
[ 7.595180] input: HID 046a:0023 as /devices/platform/soc/fe980000.usb/usb1/1-1/1-1.2/1-1.2:1.1/0003:046A:0023.0003/input/input2
[ 7.715829] cherry 0003:046A:0023.0003: input,hidraw2: USB HID v1.11 Device [HID 046a:0023] on usb-fe980000.usb-1.2/input1
[ 7.764125] uart-pl011 fe201000.serial: no DMA platform data
[ 7.886240] 8021q: 802.1Q VLAN Support v1.8
[ 7.975374] Adding 102396k swap on /var/swap. Priority:-2 extents:1 across:102396k SSFS
[ 8.408682] brcmfmac: brcmf_cfg80211_set_power_mgmt: power save enabled
[ 8.762146] bcmgenet fd580000.ethernet: configuring instance for external RGMII (RX delay)
[ 8.765715] bcmgenet fd580000.ethernet eth0: Link is Down
[ 14.512921] Bluetooth: Core ver 2.22
[ 14.514810] NET: Registered PF_BLUETOOTH protocol family
[ 14.514832] Bluetooth: HCI device and connection manager initialized
[ 14.514853] Bluetooth: HCI socket layer initialized
[ 14.514861] Bluetooth: L2CAP socket layer initialized
[ 14.514886] Bluetooth: SCO socket layer initialized
[ 14.529274] Bluetooth: HCI UART driver ver 2.3
[ 14.529300] Bluetooth: HCI UART protocol H4 registered
[ 14.531822] Bluetooth: HCI UART protocol Three-wire (H5) registered
[ 14.536615] Bluetooth: HCI UART protocol Broadcom registered
[ 14.741843] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[ 14.741876] Bluetooth: BNEP filters: protocol multicast
[ 14.741897] Bluetooth: BNEP socket layer initialized
[ 14.759717] NET: Registered PF_ALG protocol family
[ 14.873192] Bluetooth: RFCOMM TTY layer initialized
[ 14.873237] Bluetooth: RFCOMM socket layer initialized
[ 14.873263] Bluetooth: RFCOMM ver 1.11
[ 25.574012] IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready
[ 31.711445] cam-dummy-reg: disabling
[ 133.502749] v3d fec00000.v3d: MMU error from client CLE (4) at 0x7321000, pte invalid

Logs

No response

Additional context

For completeness, here the output of cat /boot/config.txt. I had to enable USB (dtoverlay=dwc2,dr_mode=host) and FKMS (KMS resulted in a black screen after startup.) These are the only two changes that I made to the default configuration.

$ cat /boot/config.txt 
# For more options and information see
# http://rpf.io/configtxt
# Some settings may impact device functionality. See link above for details

# uncomment if you get no picture on HDMI for a default "safe" mode
#hdmi_safe=1

# uncomment the following to adjust overscan. Use positive numbers if console
# goes off screen, and negative if there is too much border
#overscan_left=16
#overscan_right=16
#overscan_top=16
#overscan_bottom=16

# uncomment to force a console size. By default it will be display's size minus
# overscan.
#framebuffer_width=1280
#framebuffer_height=720

# uncomment if hdmi display is not detected and composite is being output
#hdmi_force_hotplug=1

# uncomment to force a specific HDMI mode (this will force VGA)
#hdmi_group=1
#hdmi_mode=1

# uncomment to force a HDMI mode rather than DVI. This can make audio work in
# DMT (computer monitor) modes
#hdmi_drive=2

# uncomment to increase signal to HDMI, if you have interference, blanking, or
# no display
config_hdmi_boost=4

# uncomment for composite PAL
#sdtv_mode=2

#uncomment to overclock the arm. 700 MHz is the default.
#arm_freq=800

# Uncomment some or all of these to enable the optional hardware interfaces
#dtparam=i2c_arm=on
#dtparam=i2s=on
#dtparam=spi=on

# Uncomment this to enable infrared communication.
#dtoverlay=gpio-ir,gpio_pin=17
#dtoverlay=gpio-ir-tx,gpio_pin=18

# Additional overlays and parameters are documented /boot/overlays/README

# Enable audio (loads snd_bcm2835)
#dtparam=audio=on

# Automatically load overlays for detected cameras
#camera_auto_detect=1

# Automatically load overlays for detected DSI displays
#display_auto_detect=1

# Enable DRM VC4 V3D driver
dtoverlay=vc4-fkms-v3d
max_framebuffers=2

# Run in 64-bit mode
arm_64bit=1

# Disable compensation for displays with overscan
disable_overscan=1

[cm4]
# Enable host mode on the 2711 built-in XHCI USB controller.
# This line should be removed if the legacy DWC2 controller is required
# (e.g. for USB device mode) or if USB support is not required.
#otg_mode=1

dtoverlay=dwc2,dr_mode=host

[all]

[pi4]
# Run as fast as firmware / board allows
arm_boost=1

[all]
  1. What makes you think this is a software problem, rather than an issue with the base board itself?
  2. This is more of an aside, but why are you choosing to use the old USB2 interface rather than the XHCI controller?
commented

If you look at the Raspberry Pi CM4IO board, you'll notice there is an area in the PCB where there are no tracks, and this corresponds to where the wifi antenna sits. This would be deliberate.
See image from https://www.raspberrypi.com/products/compute-module-4-io-board/ at https://images.prismic.io/rpf-products/47028379-4a01-4098-9454-919de1b98b72_CM4%20I_O%20CU%20MODULE%20DOCK1.jpg

It looks like Waveshare haven't done anything similar, and have therefore probably slapped a ground plane directly beneath a tuned antenna. This will compromise the antenna.
However it is an issue for Waveshare and not Raspberry Pi, so I suggest you take it up with them.

Thank you for your replies pelwell and 6by9.

I have never ruled out a hardware issue with the board. Rather, I first wanted to present all the relevant facts in case anyone would spot an obvious software issue. Needless to say, I should have stated this, and I apologize for the confusion!

For now, I can do with ethernet, but I shall have a more thorough look at the myriad of available CM4 carrier boards (including, of course, the official RPi CM4 IO Board.)

As to your second question pelwell: It says in the Waveshare wiki

USB2.0 is closed by default, if you need to open it, you need to add dtoverlay=dwc2,dr_mode=host.

which is why I added the mentioned overlay. So I suppose this information is out-of-date now? (Cf. also this 2020 blog post by Jeff Geerling.)

Many thanks again to both for your kind replies!

commented

There is always the option of adding the external wifi antenna kit to the CM4 too avoid any issues in the baseboard design - https://www.raspberrypi.com/products/compute-module-4-antenna-kit/

The otg_mode setting dates back to 2019, but perhaps it wasn't widely publicised. The onboard XHCI should be used in preference to dwc2 for host mode.

All is clear now. Thanks again to both of you for the insightful replies.
I shall close the issue now.