DFRobot router CM4 no r8169

Hello!
I installed OpenWRT 21.02.1, r16325-88151b8303.
Added kmod-r8169 and pciutils.
CM4 eth is working.
Wifi is working .
I can not see the r8169 nic.
When executing lspci the output is empty.

Has anybody ideas???

Is there anything in output of dmesg to indicate an issue?

Or try using Raspberry Pi OS to check

Here is the output!
I will try Pi OS tomorrow...

root@OpenWrt:~# dmesg 
[    0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd083]
[    0.000000] Linux version 5.4.154 (builder@buildhost) (gcc version 8.4.0 (OpenWrt GCC 8.4.0 r16325-88151b8303)) #0 SMP Sun Oct 24 09:01:35 2021
[    0.000000] Machine model: Raspberry Pi Compute Module 4 Rev 1.0
[    0.000000] Reserved memory: created CMA memory pool at 0x000000002ac00000, size 64 MiB
[    0.000000] OF: reserved mem: initialized node linux,cma, compatible id shared-dma-pool
[    0.000000] On node 0 totalpages: 1012736
[    0.000000]   DMA zone: 3792 pages used for memmap
[    0.000000]   DMA zone: 0 pages reserved
[    0.000000]   DMA zone: 242688 pages, LIFO batch:63
[    0.000000]   DMA32 zone: 12032 pages used for memmap
[    0.000000]   DMA32 zone: 770048 pages, LIFO batch:63
[    0.000000] percpu: Embedded 21 pages/cpu s45336 r8192 d32488 u86016
[    0.000000] pcpu-alloc: s45336 r8192 d32488 u86016 alloc=21*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: EL2 vector hardening
[    0.000000] ARM_SMCCC_ARCH_WORKAROUND_1 missing from firmware
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 996912
[    0.000000] Kernel command line: coherent_pool=1M 8250.nr_uarts=1 snd_bcm2835.enable_compat_alsa=0 snd_bcm2835.enable_hdmi=1 bcm2708_fb.fbwidth=0 bcm2708_fb.fbheight=0 bcm2708_fb.fbswap=1 smsc95xx.macaddr=E4:5F:01:50:E7:15 vc_mem.mem_base=0x3ec00000 vc_mem.mem_size=0x40000000  console=ttyAMA0,115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=squashfs,ext4 rootwait
[    0.000000] Dentry cache hash table entries: 524288 (order: 10, 4194304 bytes, linear)
[    0.000000] Inode-cache hash table entries: 262144 (order: 9, 2097152 bytes, linear)
[    0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
[    0.000000] software IO TLB: mapped [mem 0x37400000-0x3b400000] (64MB)
[    0.000000] Memory: 3829424K/4050944K available (7102K kernel code, 432K rwdata, 1144K rodata, 512K init, 541K bss, 155984K reserved, 65536K cma-reserved)
[    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1
[    0.000000] rcu: Hierarchical RCU implementation.
[    0.000000] rcu: 	CONFIG_RCU_FANOUT set to non-default value of 32.
[    0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 25 jiffies.
[    0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0
[    0.000000] GIC: Using split EOI/Deactivate mode
[    0.000000] random: get_random_bytes called from 0xffffffc0108a0b98 with crng_init=0
[    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.000005] sched_clock: 56 bits at 54MHz, resolution 18ns, wraps every 4398046511102ns
[    0.000157] Console: colour dummy device 80x25
[    0.000389] printk: console [tty1] enabled
[    0.000423] Calibrating delay loop (skipped), value calculated using timer frequency.. 108.00 BogoMIPS (lpj=216000)
[    0.000444] pid_max: default: 32768 minimum: 301
[    0.000641] Mount-cache hash table entries: 8192 (order: 4, 65536 bytes, linear)
[    0.000726] Mountpoint-cache hash table entries: 8192 (order: 4, 65536 bytes, linear)
[    0.001325] cgroup: Disabling memory control group subsystem
[    0.002108] ASID allocator initialised with 32768 entries
[    0.002200] rcu: Hierarchical SRCU implementation.
[    0.002824] smp: Bringing up secondary CPUs ...
[    0.003224] Detected PIPT I-cache on CPU1
[    0.003277] CPU1: Booted secondary processor 0x0000000001 [0x410fd083]
[    0.003725] Detected PIPT I-cache on CPU2
[    0.003759] CPU2: Booted secondary processor 0x0000000002 [0x410fd083]
[    0.004263] Detected PIPT I-cache on CPU3
[    0.004297] CPU3: Booted secondary processor 0x0000000003 [0x410fd083]
[    0.004368] smp: Brought up 1 node, 4 CPUs
[    0.004395] SMP: Total of 4 processors activated.
[    0.004408] CPU features: detected: 32-bit EL0 Support
[    0.004422] CPU features: detected: CRC32 instructions
[    0.004476] CPU features: emulated: Privileged Access Never (PAN) using TTBR0_EL1 switching
[    0.004494] CPU: All CPU(s) started at EL2
[    0.004522] alternatives: patching kernel code
[    0.012360] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns
[    0.012399] futex hash table entries: 1024 (order: 4, 65536 bytes, linear)
[    0.014162] pinctrl core: initialized pinctrl subsystem
[    0.015001] NET: Registered protocol family 16
[    0.016427] DMA: preallocated 1024 KiB pool for atomic allocations
[    0.016973] cpuidle: using governor ladder
[    0.017002] cpuidle: using governor menu
[    0.017257] Serial: AMBA PL011 UART driver
[    0.018713] bcm2835-mbox fe00b880.mailbox: mailbox enabled
[    0.028042] raspberrypi-firmware soc:firmware: Attached to firmware from 2021-02-16 14:17, variant start
[    0.032048] raspberrypi-firmware soc:firmware: Firmware hash is d6d82cf99bcb3e9a166a34cfde53130957a36bd3
[    0.056656] bcm2835-dma fe007000.dma: DMA legacy API manager, dmachans=0x1
[    0.058449] SCSI subsystem initialized
[    0.058594] usbcore: registered new interface driver usbfs
[    0.058635] usbcore: registered new interface driver hub
[    0.058673] usbcore: registered new device driver usb
[    0.058801] usb_phy_generic phy: phy supply vcc not found, using dummy regulator
[    0.059075] workqueue: max_active 576 requested for napi_workq is out of range, clamping between 1 and 512
[    0.059901] clocksource: Switched to clocksource arch_sys_counter
[    0.063125] thermal_sys: Registered thermal governor 'step_wise'
[    0.063363] NET: Registered protocol family 2
[    0.063952] IP idents hash table entries: 65536 (order: 7, 524288 bytes, linear)
[    0.066659] tcp_listen_portaddr_hash hash table entries: 2048 (order: 3, 32768 bytes, linear)
[    0.066713] TCP established hash table entries: 32768 (order: 6, 262144 bytes, linear)
[    0.066938] TCP bind hash table entries: 32768 (order: 7, 524288 bytes, linear)
[    0.067463] TCP: Hash tables configured (established 32768 bind 32768)
[    0.067676] UDP hash table entries: 2048 (order: 4, 65536 bytes, linear)
[    0.067744] UDP-Lite hash table entries: 2048 (order: 4, 65536 bytes, linear)
[    0.068025] NET: Registered protocol family 1
[    0.068063] PCI: CLS 0 bytes, default 64
[    0.069188] workingset: timestamp_bits=46 max_order=20 bucket_order=0
[    0.073646] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    0.098647] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 251)
[    0.101257] GPIO line 507 (ant1) hogged as output/high
[    0.102605] GPIO line 511 (ant2) hogged as output/low
[    0.103284] brcm-pcie fd500000.pcie: host bridge /scb/pcie@7d500000 ranges:
[    0.103308] brcm-pcie fd500000.pcie:   No bus range found for /scb/pcie@7d500000, using [bus 00-ff]
[    0.103345] brcm-pcie fd500000.pcie:      MEM 0x0600000000..0x0603ffffff -> 0x00f8000000
[    0.103379] brcm-pcie fd500000.pcie:   IB MEM 0x0000000000..0x00ffffffff -> 0x0400000000
[    0.419903] brcm-pcie fd500000.pcie: link down
[    0.420093] bcm2708_fb soc:fb: Unable to determine number of FBs. Disabling driver.
[    0.420118] bcm2708_fb: probe of soc:fb failed with error -2
[    0.421855] Serial: 8250/16550 driver, 1 ports, IRQ sharing enabled
[    0.422635] iproc-rng200 fe104000.rng: hwrng registered
[    0.422764] vc-mem: phys_addr:0x00000000 mem_base=0x3ec00000 mem_size:0x40000000(1024 MiB)
[    0.423140] gpiomem-bcm2835 fe200000.gpiomem: Initialised: Registers at 0xfe200000
[    0.423345] cacheinfo: Unable to detect cache hierarchy for CPU 0
[    0.423429] random: fast init done
[    0.423801] random: crng init done
[    0.429575] brd: module loaded
[    0.432698] loop: module loaded
[    0.433344] Loading iSCSI transport class v2.0-870.
[    0.434463] libphy: Fixed MDIO Bus: probed
[    0.434719] bcmgenet fd580000.ethernet: failed to get enet clock
[    0.434740] bcmgenet fd580000.ethernet: GENET 5.0 EPHY: 0x0000
[    0.434757] bcmgenet fd580000.ethernet: failed to get enet-wol clock
[    0.434773] bcmgenet fd580000.ethernet: failed to get enet-eee clock
[    0.434797] bcmgenet: Skipping UMAC reset
[    0.443904] libphy: bcmgenet MII bus: probed
[    0.491941] unimac-mdio unimac-mdio.-19: Broadcom UniMAC MDIO bus
[    0.492762] dwc_otg: version 3.00a 10-AUG-2012 (platform bus)
[    0.492852] dwc_otg: FIQ enabled
[    0.492856] dwc_otg: NAK holdoff enabled
[    0.492860] dwc_otg: FIQ split-transaction FSM enabled
[    0.492865] Module dwc_common_port init
[    0.493081] usbcore: registered new interface driver uas
[    0.493129] usbcore: registered new interface driver usb-storage
[    0.493200] mousedev: PS/2 mouse device common for all mice
[    0.493614] bcm2835-wdt bcm2835-wdt: Broadcom BCM2835 watchdog timer
[    0.495054] sdhci: Secure Digital Host Controller Interface driver
[    0.495069] sdhci: Copyright(c) Pierre Ossman
[    0.495348] mmc-bcm2835 fe300000.mmcnr: could not get clk, deferring probe
[    0.495544] Error: Driver 'sdhost-bcm2835' is already registered, aborting...
[    0.495558] sdhci-pltfm: SDHCI platform and OF driver helper
[    0.503513] vchiq: vchiq_init_state: slot_zero = 000000001d19566b
[    0.506052] NET: Registered protocol family 10
[    0.506783] Segment Routing with IPv6
[    0.506857] NET: Registered protocol family 17
[    0.506897] bridge: filtering via arp/ip/ip6tables is no longer available by default. Update your scripts to load br_netfilter if you need this.
[    0.506914] 8021q: 802.1Q VLAN Support v1.8
[    0.507226] Key type ._fscrypt registered
[    0.507238] Key type .fscrypt registered
[    0.511487] uart-pl011 fe201000.serial: cts_event_workaround enabled
[    0.511583] fe201000.serial: ttyAMA0 at MMIO 0xfe201000 (irq = 14, base_baud = 0) is a PL011 rev2
[    1.329875] printk: console [ttyAMA0] enabled
[    1.339304] bcm2835-power bcm2835-power: Broadcom BCM2835 power domains driver
[    1.346742] mmc-bcm2835 fe300000.mmcnr: mmc_debug:0 mmc_debug2:0
[    1.352749] mmc-bcm2835 fe300000.mmcnr: DMA channel allocated
[    1.403857] mmc1: queuing unknown CIS tuple 0x80 (2 bytes)
[    1.410841] mmc1: queuing unknown CIS tuple 0x80 (3 bytes)
[    1.417823] mmc1: queuing unknown CIS tuple 0x80 (3 bytes)
[    1.423335] mmc0: SDHCI controller on fe340000.emmc2 [fe340000.emmc2] using ADMA
[    1.431542] of_cfs_init
[    1.434052] of_cfs_init: OK
[    1.437640] Waiting for root device /dev/mmcblk0p2...
[    1.445129] mmc1: queuing unknown CIS tuple 0x80 (7 bytes)
[    1.452095] mmc1: queuing unknown CIS tuple 0x80 (3 bytes)
[    1.512763] mmc1: new high speed SDIO card at address 0001
[    1.521159] mmc0: new DDR MMC card at address 0001
[    1.526388] mmcblk0: mmc0:0001 8GTF4R 7.28 GiB
[    1.531131] mmcblk0boot0: mmc0:0001 8GTF4R partition 1 4.00 MiB
[    1.537378] mmcblk0boot1: mmc0:0001 8GTF4R partition 2 4.00 MiB
[    1.543356] mmcblk0rpmb: mmc0:0001 8GTF4R partition 3 512 KiB, chardev (247:0)
[    1.551175]  mmcblk0: p1 p2
[    1.570959] EXT4-fs (mmcblk0p2): mounted filesystem without journal. Opts: (null)
[    1.578533] VFS: Mounted root (ext4 filesystem) readonly on device 179:2.
[    1.585836] Freeing unused kernel memory: 512K
[    1.599993] Run /sbin/init as init process
[    1.635646] init: Console is alive
[    1.639209] init: - watchdog -
[    1.714193] kmodloader: loading kernel modules from /etc/modules-boot.d/*
[    1.725343] pps_core: LinuxPPS API ver. 1 registered
[    1.730328] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[    1.740993] PTP clock support registered
[    1.748382] kmodloader: done loading kernel modules from /etc/modules-boot.d/*
[    1.763493] init: - preinit -
[    1.845222] bcmgenet: Skipping UMAC reset
[    1.850461] bcmgenet fd580000.ethernet: configuring instance for external RGMII
[    1.857962] bcmgenet fd580000.ethernet eth0: Link is Down
[    5.907906] mount_root: mounting /dev/root
[    5.915620] EXT4-fs (mmcblk0p2): re-mounted. Opts: (null)
[    5.936667] urandom-seed: Seeding with /etc/urandom.seed
[    5.956011] bcmgenet fd580000.ethernet eth0: Link is Up - 1Gbps/Full - flow control off
[    5.973916] bcmgenet fd580000.ethernet eth0: Link is Down
[    5.982316] procd: - early -
[    5.985418] procd: - watchdog -
[    6.509176] procd: - watchdog -
[    6.513014] procd: - ubus -
[    6.567652] procd: - init -
[    6.571368] uart-pl011 fe201000.serial: no DMA platform data
[    6.631372] kmodloader: loading kernel modules from /etc/modules.d/*
[    6.653237] hidraw: raw HID events driver (C) Jiri Kosina
[    6.659359] snd_bcm2835: module is from the staging directory, the quality is unknown, you have been warned.
[    6.673896] Loading modules backported from Linux version v5.10.68-0-g4d8524048a35
[    6.681488] Backport generated by backports.git v5.10.68-1-0-ga4f9ba32
[    6.692864] usbcore: registered new interface driver usbhid
[    6.698461] usbhid: USB HID core driver
[    6.703697] xt_time: kernel timezone is -0000
[    6.727756] bnx2x: QLogic 5771x/578xx 10/20-Gigabit Ethernet Driver bnx2x 1.713.36-0 (2014/02/10)
[    6.768855] PPP generic driver version 2.4.2
[    6.773570] NET: Registered protocol family 24
[    6.779706] usbcore: registered new interface driver rtl8xxxu
[    6.797160] brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac43455-sdio for chip BCM4345/6
[    6.956402] brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac43455-sdio for chip BCM4345/6
[    6.974091] brcmfmac: brcmf_c_preinit_dcmds: Firmware: BCM4345/6 wl0: Mar 23 2020 02:20:01 version 7.45.206 (r725000 CY) FWID 01-febaba43
[    7.014242] usbcore: registered new interface driver brcmfmac
[    7.021816] kmodloader: done loading kernel modules from /etc/modules.d/*
[    7.972116] bcmgenet: Skipping UMAC reset
[    7.977329] bcmgenet fd580000.ethernet: configuring instance for external RGMII
[    7.984977] br-lan: port 1(eth0) entered blocking state
[    7.990220] br-lan: port 1(eth0) entered disabled state
[    7.995581] device eth0 entered promiscuous mode
[    8.000373] bcmgenet fd580000.ethernet eth0: Link is Up - 1Gbps/Full - flow control off
[    8.008426] br-lan: port 1(eth0) entered blocking state
[    8.013663] br-lan: port 1(eth0) entered forwarding state
[    8.019335] IPv6: ADDRCONF(NETDEV_CHANGE): br-lan: link becomes ready

Why do you have bnx2x driver installed?

I just tried a lot to get it running...
Do you see any problems why the r8169 is not there...???

Odd thing to do to start loading random unrelated modules!!

lspci shows absolutely nothing?

Does dfrobot have their own openwrt image? I'm sure a review of that board suggested that they do -

edit: found one linked in their product wiki

are ALL the required modules loaded in /etc/modules-boot.d

Hey!
Yes they have their own image!
This did not work either. I even had to change eth0 to eth1 and other way round to get a connection.
--> In that image the rtl8169 is the LAN device!
This is the folder /etc/modules-boot.d/

root@OpenWrt:/etc/modules-boot.d# ls
02-crypto-hash 15-mii 18-phy-realtek 21-usb-gadget
04-crypto-crc32c 17-pps 18-ptp 54-usb-dwc2
15-libphy 18-phy-broadcom 20-usb-core mmc

And "lspci" stays empty! :frowning:

Is there anything missing in that folder?

if lspci is empty, then you've got real issues (I think)

I mean, there should be

00:00.0 PCI bridge: Broadcom Inc. and subsidiaries BCM2711 PCIe Bridge (rev 20)

As I believe this controller is on the Raspberry Compute Module 4 board itself - I could be wrong though

Does not sound good...and not cheap...
I contacted DFRobot for a suggestion!
And i will contact the distributor of my CM4 module...
Thanks so far...

I don't have a DFRobot Carrier board - so, I may be wrong about that PCI Bridge

I have a SeeedStudios carrier board - it's different and does have that PCI Bridge (as do all my Pi 4's - which the CM4 is based on) - I'm only assuming the PCI bridge is part of the CM4 board and not on the carrier board

Perhaps someone with a DFRobot carrier board would be able to confirm

I asked the distributor of my CM4 module.
They told me to load nvme-core???

modprobe nvme-core

root@OpenWrt:~# modprobe nvme-core
failed to find a module named nvme-core

This module is not available!
Can somebody tell me what this module might have to do with my problem???

nothing at all

This is your problem. Don't know why, but either hardware failure or bad connection between CM4 and carrier board I guess.

Actually it looks like the carrier board is not working properly.
Can somebody help me editing the devicetree...

--- a/arch/arm/boot/dts/bcm2711-rpi-cm4.dts
+++ b/arch/arm/boot/dts/bcm2711-rpi-cm4.dts
@@ -544,6 +544,7 @@ overrides {

&pcie0 {
brcm,enable-l1ss;

  • max-link-speed = <1>;
    };

Some other post look like this could be a problem!?!?

why? The DFRobot router board doesn't support nvme storage media

Thats what the distributor wanted from me...stupid guys....

I contacted DFRobot to send me a new Board. I think the CM4 is ok...so that all i can do...

why? do you have a different carrier board?

Hey guys!
I got a new board from dfrobot...now everything is ok...

1 Like

This topic was automatically closed 10 days after the last reply. New replies are no longer allowed.