OpenWrt/LEDE Project

  • Status Closed
  • Percent Complete
    100%
  • Task Type Bug Report
  • Category Kernel
  • Assigned To No-one
  • Operating System All
  • Severity Critical
  • Priority Very Low
  • Reported Version Trunk
  • Due in Version Undecided
  • Due Date Undecided
  • Private
Attached to Project: OpenWrt/LEDE Project
Opened by Vivek - 24.09.2021
Last edited by Rafał Miłecki - 07.10.2021

FS#4055 - [bcm53xx] EA9500 - OpenWrt fails to boot with Latest snapshot builds

- EA9500 - bcm47094-linksys-panamera.dts
- OpenWrt trunk - kernel v5.10.64
- Fails to boot

[    1.207600] random: crng init done
[    1.241185] 6 fixed-partitions partitions found on MTD device brcmnand.0
[    1.247905] Creating 6 MTD partitions on "brcmnand.0":
[    1.253092] 0x000000000000-0x000000080000 : "boot"
[    1.258458] 0x000000080000-0x000000180000 : "nvram"
[    1.263931] 0x000000180000-0x000000200000 : "devinfo"
[    1.269589] 0x000000200000-0x000001f00000 : "backup"
[    1.275477] 0x000001f00000-0x000003c00000 : "firmware"
[    1.282032] 2 trx partitions found on MTD device firmware
[    1.287449] Creating 2 MTD partitions on "firmware":
[    1.292455] 0x00000000001c-0x000000400000 : "linux"
[    1.297345] mtd: partition "linux" doesn't start on an erase/write block boundary -- force read-only
[    1.307044] 0x000000400000-0x000001d00000 : "ubi"
[    1.312365] 0x000005200000-0x000008000000 : "system"
[    1.319876] bcm_iproc 18029200.spi: using bspi-mspi mode
[    1.326915] libphy: Fixed MDIO Bus: probed
[    1.331447] libphy: iProc MDIO bus: probed
[    1.335571] iproc-mdio 18003000.mdio: Broadcom iProc MDIO bus registered
[    1.342989] libphy: mdio_mux: probed
[    1.347357] libphy: mdio_mux: probed
[   22.359696] rcu: INFO: rcu_sched self-detected stall on CPU
[   22.365292] rcu:     0-....: (2099 ticks this GP) idle=3fe/1/0x40000002 softirq=81/81 fqs=1050
[   22.373748]  (t=2100 jiffies g=-1139 q=133)
[   22.377935] NMI backtrace for cpu 0
[   22.381426] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 5.10.64 #0
[   22.387446] Hardware name: BCM5301X
[   22.390960] [<c0108410>] (unwind_backtrace) from [<c0104bc4>] (show_stack+0x10/0x14)
[   22.398732] [<c0104bc4>] (show_stack) from [<c03dd268>] (dump_stack+0x94/0xa8)
[   22.405979] [<c03dd268>] (dump_stack) from [<c03e4b30>] (nmi_cpu_backtrace+0xc8/0xf4)
[   22.413824] [<c03e4b30>] (nmi_cpu_backtrace) from [<c03e4c60>] (nmi_trigger_cpumask_backtrace+0x104/0x13c)
[   22.423503] [<c03e4c60>] (nmi_trigger_cpumask_backtrace) from [<c01700a0>] (rcu_dump_cpu_stacks+0xe4/0x10c)
[   22.433272] [<c01700a0>] (rcu_dump_cpu_stacks) from [<c0175444>] (rcu_sched_clock_irq+0x6e4/0x8ac)
[   22.442259] [<c0175444>] (rcu_sched_clock_irq) from [<c017b47c>] (update_process_times+0x88/0xbc)
[   22.451162] [<c017b47c>] (update_process_times) from [<c018ac8c>] (tick_sched_timer+0x78/0x274)
[   22.459877] [<c018ac8c>] (tick_sched_timer) from [<c017b9e8>] (__hrtimer_run_queues+0x15c/0x218)
[   22.468684] [<c017b9e8>] (__hrtimer_run_queues) from [<c017c5c8>] (hrtimer_interrupt+0x11c/0x298)
[   22.477585] [<c017c5c8>] (hrtimer_interrupt) from [<c0107a30>] (twd_handler+0x34/0x3c)
[   22.485522] [<c0107a30>] (twd_handler) from [<c0167c68>] (handle_percpu_devid_irq+0x78/0x148)
[   22.494074] [<c0167c68>] (handle_percpu_devid_irq) from [<c0162470>] (__handle_domain_irq+0x84/0xd8)
[   22.503235] [<c0162470>] (__handle_domain_irq) from [<c03f5b88>] (gic_handle_irq+0x80/0x94)
[   22.511603] [<c03f5b88>] (gic_handle_irq) from [<c0100aec>] (__irq_svc+0x6c/0x90)
[   22.519103] Exception stack(0xc0c35c28 to 0xc0c35c70)
[   22.524162] 5c20:                   c0d2bc8c 00000000 0000c0d2 0000bc88 c0d2bc88 ffffe000
[   22.532354] 5c40: 00000000 c0c34000 00000002 c0982c40 c0d2bc8c c074ed6c 00000000 c0c35c78
[   22.540550] 5c60: c065bfb0 c065efbc 80000013 ffffffff
[   22.545617] [<c0100aec>] (__irq_svc) from [<c065efbc>] (_raw_spin_lock+0x2c/0x40)
[   22.553114] [<c065efbc>] (_raw_spin_lock) from [<c065bfb0>] (__mutex_lock.constprop.0+0x1b8/0x520)
[   22.562103] [<c065bfb0>] (__mutex_lock.constprop.0) from [<c04b9cd8>] (phy_probe+0x48/0x198)
[   22.570565] [<c04b9cd8>] (phy_probe) from [<c0457c98>] (really_probe+0xfc/0x4e0)
[   22.577980] [<c0457c98>] (really_probe) from [<c0455ef0>] (bus_for_each_drv+0x74/0x98)
[   22.585919] [<c0455ef0>] (bus_for_each_drv) from [<c0458230>] (__device_attach+0xcc/0x120)
[   22.594204] [<c0458230>] (__device_attach) from [<c0456e78>] (bus_probe_device+0x84/0x8c)
[   22.602403] [<c0456e78>] (bus_probe_device) from [<c0453524>] (device_add+0x300/0x77c)
[   22.610343] [<c0453524>] (device_add) from [<c04bb314>] (mdio_device_register+0x24/0x48)
[   22.618458] [<c04bb314>] (mdio_device_register) from [<c04c2a30>] (of_mdiobus_register+0x194/0x2f8)
[   22.627524] [<c04c2a30>] (of_mdiobus_register) from [<c04c32b4>] (mdio_mux_init+0x178/0x2c0)
[   22.635983] [<c04c32b4>] (mdio_mux_init) from [<c04c3590>] (mdio_mux_mmioreg_probe+0x138/0x1fc)
[   22.644709] [<c04c3590>] (mdio_mux_mmioreg_probe) from [<c0459a5c>] (platform_drv_probe+0x34/0x70)
[   22.653688] [<c0459a5c>] (platform_drv_probe) from [<c0457c98>] (really_probe+0xfc/0x4e0)
[   22.661887] [<c0457c98>] (really_probe) from [<c045867c>] (device_driver_attach+0xe4/0xf4)
[   22.670173] [<c045867c>] (device_driver_attach) from [<c0458708>] (__driver_attach+0x7c/0x110)
[   22.678806] [<c0458708>] (__driver_attach) from [<c0455e50>] (bus_for_each_dev+0x64/0x90)
[   22.686997] [<c0455e50>] (bus_for_each_dev) from [<c0457070>] (bus_add_driver+0xf8/0x1e0)
[   22.695187] [<c0457070>] (bus_add_driver) from [<c0458d14>] (driver_register+0x88/0x118)
[   22.703292] [<c0458d14>] (driver_register) from [<c01017e4>] (do_one_initcall+0x54/0x1e8)
[   22.711494] [<c01017e4>] (do_one_initcall) from [<c0801118>] (kernel_init_freeable+0x23c/0x290)
[   22.720227] [<c0801118>] (kernel_init_freeable) from [<c06596a8>] (kernel_init+0x8/0x118)
[   22.728421] [<c06596a8>] (kernel_init) from [<c0100128>] (ret_from_fork+0x14/0x2c)
[   22.736007] Exception stack(0xc0c35fb0 to 0xc0c35ff8)
[   22.741065] 5fa0:                                     00000000 00000000 00000000 00000000
[   22.749256] 5fc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[   22.757447] 5fe0: 00000000 00000000 00000000 00000000 00000013 00000000
 


Closed by  Rafał Miłecki
07.10.2021 10:07
Reason for closing:  Fixed
Project Manager
Rafał Miłecki commented on 07.10.2021 10:07

This should be fixed by the commit b2cfed48f62622efa8577372942bbc268afe4677 ("Revert "swconfig: fix Broadcom b53 support"").

Vivek commented on 08.10.2021 00:33

Thanks Rafal for fixing the bug. The router now boots, but it doesn't detect the second switch. Should I worry about this?

[    4.156515] hub 4-0:1.0: USB hub found
[    4.160335] hub 4-0:1.0: 1 port detected
[    4.167447] kmodloader: done loading kernel modules from /etc/modules-boot.d/*
[    4.186009] init: - preinit -
Failed to connect to the switch. Use the "list" command to see which switches are available.
Failed to connect to the switch. Use the "list" command to see which switches are available.
Failed to connect to the switch. Use the "list" command to see which switches are available.
Failed to connect to the switch. Use the "list" command to see which swit[    5.535880] bgmac_bcma bcma0:3 eth0: Link is Up - 1Gbps/Full - flow control off
ches[    5.543641] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
 are av[    5.550639] IPv6: ADDRCONF(NETDEV_CHANGE): eth0.1: link becomes ready
ailable.
Press the [f] key and hit [enter] to enter failsafe mode
.
.
.
.
.
root@OpenWrt:/# swconfig list
Found: switch0 - bcm53011
root@OpenWrt:/#
Vivek commented on 08.10.2021 00:50

Also, do we need to change this to switch0 since now there is only one switch detected?

	
	linksys,panamera)
		ucidef_add_switch "switch1" \
			"0:lan" "1:lan:7" "2:lan:4" "3:lan:8" "4:wan" "5t@eth0"
		;;
Project Manager
Rafał Miłecki commented on 08.10.2021 06:42

Northstar's MDIO at 0x18003000 is DT-defined and its external MDIO at 0x200 is DT-defined as well. The only sane way is to describe BCM53125 in DT (as it's done right now in the bcm47094-linksys-panamera.dts).

To support DT-defined MDIO device (and BCM53125 is an MDIO device - not a PHY device) we need MDIO driver.

OpenWrt's downstream swconfig-based b53 doesn't behave as MDIO driver. It registers as PHY driver. It can't be used in its current from to support EA9500's BCM53125.

We have two options:
1. Refactor downstream swconfig-based b53 to act as MDIO driver
2. Switch to the upstream DSA-based b53

I'm planning to switch whole bcm53xx to DSA so I think that working on downstream swconfig-based b53 is waste of time.

Give me few more weeks to sort out remaining bcm53xx issues and we'll get BCM53125 support for "free" soon.

Vivek commented on 08.10.2021 09:16

More than happy to wait for DSA.

Thanks!

Loading...

Available keyboard shortcuts

Tasklist

Task Details

Task Editing