Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Closed
openwrt-bot opened this issue Sep 24, 2021 · 5 comments
Labels

Comments

@openwrt-bot
Copy link

openwrt-bot commented Sep 24, 2021

npcomplete:

  • 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] [] (unwind_backtrace) from [] (show_stack+0x10/0x14) [ 22.398732] [] (show_stack) from [] (dump_stack+0x94/0xa8) [ 22.405979] [] (dump_stack) from [] (nmi_cpu_backtrace+0xc8/0xf4) [ 22.413824] [] (nmi_cpu_backtrace) from [] (nmi_trigger_cpumask_backtrace+0x104/0x13c) [ 22.423503] [] (nmi_trigger_cpumask_backtrace) from [] (rcu_dump_cpu_stacks+0xe4/0x10c) [ 22.433272] [] (rcu_dump_cpu_stacks) from [] (rcu_sched_clock_irq+0x6e4/0x8ac) [ 22.442259] [] (rcu_sched_clock_irq) from [] (update_process_times+0x88/0xbc) [ 22.451162] [] (update_process_times) from [] (tick_sched_timer+0x78/0x274) [ 22.459877] [] (tick_sched_timer) from [] (__hrtimer_run_queues+0x15c/0x218) [ 22.468684] [] (__hrtimer_run_queues) from [] (hrtimer_interrupt+0x11c/0x298) [ 22.477585] [] (hrtimer_interrupt) from [] (twd_handler+0x34/0x3c) [ 22.485522] [] (twd_handler) from [] (handle_percpu_devid_irq+0x78/0x148) [ 22.494074] [] (handle_percpu_devid_irq) from [] (__handle_domain_irq+0x84/0xd8) [ 22.503235] [] (__handle_domain_irq) from [] (gic_handle_irq+0x80/0x94) [ 22.511603] [] (gic_handle_irq) from [] (__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] [] (__irq_svc) from [] (_raw_spin_lock+0x2c/0x40) [ 22.553114] [] (_raw_spin_lock) from [] (__mutex_lock.constprop.0+0x1b8/0x520) [ 22.562103] [] (__mutex_lock.constprop.0) from [] (phy_probe+0x48/0x198) [ 22.570565] [] (phy_probe) from [] (really_probe+0xfc/0x4e0) [ 22.577980] [] (really_probe) from [] (bus_for_each_drv+0x74/0x98) [ 22.585919] [] (bus_for_each_drv) from [] (__device_attach+0xcc/0x120) [ 22.594204] [] (__device_attach) from [] (bus_probe_device+0x84/0x8c) [ 22.602403] [] (bus_probe_device) from [] (device_add+0x300/0x77c) [ 22.610343] [] (device_add) from [] (mdio_device_register+0x24/0x48) [ 22.618458] [] (mdio_device_register) from [] (of_mdiobus_register+0x194/0x2f8) [ 22.627524] [] (of_mdiobus_register) from [] (mdio_mux_init+0x178/0x2c0) [ 22.635983] [] (mdio_mux_init) from [] (mdio_mux_mmioreg_probe+0x138/0x1fc) [ 22.644709] [] (mdio_mux_mmioreg_probe) from [] (platform_drv_probe+0x34/0x70) [ 22.653688] [] (platform_drv_probe) from [] (really_probe+0xfc/0x4e0) [ 22.661887] [] (really_probe) from [] (device_driver_attach+0xe4/0xf4) [ 22.670173] [] (device_driver_attach) from [] (__driver_attach+0x7c/0x110) [ 22.678806] [] (__driver_attach) from [] (bus_for_each_dev+0x64/0x90) [ 22.686997] [] (bus_for_each_dev) from [] (bus_add_driver+0xf8/0x1e0) [ 22.695187] [] (bus_add_driver) from [] (driver_register+0x88/0x118) [ 22.703292] [] (driver_register) from [] (do_one_initcall+0x54/0x1e8) [ 22.711494] [] (do_one_initcall) from [] (kernel_init_freeable+0x23c/0x290) [ 22.720227] [] (kernel_init_freeable) from [] (kernel_init+0x8/0x118) [ 22.728421] [] (kernel_init) from [] (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
@openwrt-bot
Copy link
Author

openwrt-bot commented Oct 7, 2021

rmilecki:

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

@openwrt-bot
Copy link
Author

openwrt-bot commented Oct 8, 2021

npcomplete:

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:/#

@openwrt-bot
Copy link
Author

openwrt-bot commented Oct 8, 2021

npcomplete:

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" ;;

@openwrt-bot
Copy link
Author

openwrt-bot commented Oct 8, 2021

rmilecki:

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.

@openwrt-bot
Copy link
Author

openwrt-bot commented Oct 8, 2021

npcomplete:

More than happy to wait for DSA.

Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant