Hello guys,
I have a Linksys WHW03 and I'm trying to make OpenWrt run. Most of the porting job has already been done and it works. Unfortunately for me, Linksys made 2 variants of WHW03; One with Macronix nand and Hynix nand. I have the hynix variant which doesn't boot with the nand driver. I've run tests and removed nand from Device tree, which enables it to boot from memory. From what I can understand, there's a bug perhaps in the upstream kernel but I have no experience with this.
Here's the relevant logs:
Code:
[ 1.207777] nand: device found, Manufacturer ID: 0xad, Chip ID: 0xdc
[ 1.208628] nand: Hynix H27U4G8F2EDA-BC
[ 1.215274] nand: 512 MiB, SLC, erase size: 128 KiB, page size: 2048, OOB size: 128
[ 1.218859] ------------[ cut here ]------------
[ 1.226461] WARNING: CPU: 0 PID: 1 at drivers/mtd/nand/raw/nand_base.c:5579 nand_scan_with_ids+0x1790/0x1794
[ 1.231318] No oob scheme defined for oobsize 0
[ 1.241102] Modules linked in:
[ 1.245345] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 5.4.158 #0
[ 1.248469] Hardware name: Generic DT based system
[ 1.254652] [<c030e524>] (unwind_backtrace) from [<c030afa8>] (show_stack+0x10/0x14)
[ 1.259249] [<c030afa8>] (show_stack) from [<c08559e4>] (dump_stack+0x94/0xa8)
[ 1.267145] [<c08559e4>] (dump_stack) from [<c032142c>] (__warn+0xbc/0xd8)
[ 1.274172] [<c032142c>] (__warn) from [<c03214cc>] (warn_slowpath_fmt+0x84/0x94)
[ 1.281034] [<c03214cc>] (warn_slowpath_fmt) from [<c065b74c>] (nand_scan_with_ids+0x1790/0x1794)
[ 1.288590] [<c065b74c>] (nand_scan_with_ids) from [<c06620f0>] (qcom_nandc_probe+0x518/0x93c)
[ 1.297443] [<c06620f0>] (qcom_nandc_probe) from [<c0629684>] (platform_drv_probe+0x34/0x70)
[ 1.305949] [<c0629684>] (platform_drv_probe) from [<c0627d00>] (really_probe+0x1f0/0x358)
[ 1.314541] [<c0627d00>] (really_probe) from [<c0628250>] (device_driver_attach+0x58/0x60)
[ 1.322610] [<c0628250>] (device_driver_attach) from [<c06282b0>] (__driver_attach+0x58/0xcc)
[ 1.330860] [<c06282b0>] (__driver_attach) from [<c0626244>] (bus_for_each_dev+0x68/0x8c)
[ 1.339453] [<c0626244>] (bus_for_each_dev) from [<c06271c8>] (bus_add_driver+0x1c8/0x1d8)
[ 1.347612] [<c06271c8>] (bus_add_driver) from [<c0628838>] (driver_register+0x74/0x108)
[ 1.355775] [<c0628838>] (driver_register) from [<c0302764>] (do_one_initcall+0x84/0x1d8)
[ 1.364023] [<c0302764>] (do_one_initcall) from [<c0b00fdc>] (kernel_init_freeable+0x1d4/0x27c)
[ 1.372095] [<c0b00fdc>] (kernel_init_freeable) from [<c086b824>] (kernel_init+0x8/0x114)
[ 1.380600] [<c086b824>] (kernel_init) from [<c03010e8>] (ret_from_fork+0x14/0x2c)
[ 1.388926] Exception stack(0xdf43bfb0 to 0xdf43bff8)
[ 1.396389] bfa0: 00000000 00000000 00000000 00000000
[ 1.401517] bfc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 1.409674] bfe0: 00000000 00000000 00000000 00000000 00000013 00000000
[ 1.417870] ---[ end trace cabfcaf5b12c40f2 ]---
[ 1.424276] 8<--- cut here ---
I've attempted to specify the nand in nand_ids to no avail. I have no expierence with kernel hacking and dont know C so this is as much as i can do.