Builds for Linksys WHW03 V2 + V1

Thanks, I'm using the original firmware until you find a solution to the performance problems.

However, this command :
dd if=/tmp/FW_WHW03_2.1.13.200506_prod.img of=/dev/mmcblk0p14 bs=4M count=1
return

dd: error writing '/dev/mmcblk0p14': No space left on device
1+0 records in
0+0 records out

Looks like I made a mistake in my previous post.

Was that run from an installed OpenWRT partition or from an initramfs?

If the former, try to write to mmcblk0p16 and mmcblk0p17, which correspond to the boot_part 2 firmware location.

Same problems with mmcblk0p16 and mmcblk0p17.
I try from an installed OpenWRT boot_part 1.
I don't really see how I can be more useful, because when I make an ls -la /dev or with df, I don't see anything starting with mmc*, which is normal I guess.

I'm connected in serial on it, so if you have a more radical way requiring it, it's possible.

Is your model a V1?

The label clearly indicates version 2 :thinking:

On boot :

U-Boot 2012.07 [Chaos Calmer 15.05.1,r35193] WNC_VELOP_V2_20180718_V1.4 (Jul 18 2018 - 11:26:52)

smem ram ptable found: ver: 1 len: 3
DRAM:  512 MiB
machid : 0x8010006
NAND:  ID = 9590dcc2
Vendor = c2
Device = dc
ONFI device found
SF NAND unsupported id:ff:ff:ff:ffSF: Unsupported manufacturer ff
ipq_spi: SPI Flash not found (bus/cs/speed/mode) = (0/0/48000000/0)
512 MiB
MMC:   qca_mmc: 0
[devinfo_relocate] devinfo_relocate[146] malloced DEVINFO at 86ff11c0
[devinfo_relocate_spec] ret: 0 , total: 262144 , CONFIG_DEVINFO_SIZE: 262144
PCI0 Link Intialized
In:    serial
Out:   serial
Err:   serial
machid: 8010006
flash_type: 2
#### auto_recovery ####
enabled:1, boot_part:1, maxpartialboots:3
boot_count_buffer_size = 2048, total number = 128
i=116, offset = 0x6ba000, last_offset = 0x6b9800
Updating boot_count...
boot->Count:1 ,boot->CheckSum:20110812, offset:0x6ba000
#### ~~~~~~~~~~~~~ ####
#### auto_recovery check ####
Hit any key to stop autoboot:  0

NAND read: device 0 offset 0x700000, size 0xd00000
 13631488 bytes read: OK
## Booting kernel from FIT Image at 81000000 ...
   Using 'config@1' configuration
   Trying 'kernel@1' kernel subimage
     Description:  ARM OpenWrt Linux-5.4.52
     Type:         Kernel Image
     Compression:  uncompressed
     Data Start:   0x810000e4
     Data Size:    2644728 Bytes = 2.5 MiB
     Architecture: ARM
     OS:           Linux
     Load Address: 0x80208000
     Entry Point:  0x80208000
     Hash algo:    crc32
     Hash value:   efdd3143
     Hash algo:    sha1
     Hash value:   1af6fa635f424728ac73a9d94263be164d256fef
   Verifying Hash Integrity ... crc32+ sha1+ OK
## Flattened Device Tree from FIT Image at 81000000
   Using 'config@1' configuration
   Trying 'fdt@1' FDT blob subimage
     Description:  ARM OpenWrt linksys_whw03v2 device tree blob
     Type:         Flat Device Tree
     Compression:  uncompressed
     Data Start:   0x81285d18
     Data Size:    19337 Bytes = 18.9 KiB
     Architecture: ARM
     Hash algo:    crc32
     Hash value:   fdc516c8
     Hash algo:    sha1
     Hash value:   b72434432cf99a28f8a06b90766f6bf2a164827b
   Verifying Hash Integrity ... crc32+ sha1+ OK
   Booting using the fdt blob at 0x81285d18
   Loading Kernel Image ... OK
OK
   Loading Device Tree to 86fe7000, end 86feeb88 ... OK
Andrew: mtdparts="mtdparts=nand0:1024K@0x0(0:SBL1),1024K@0x100000(0:MIBIB),1024K@0x200000(0:QSEE),512K@0x300000(0:CDT),2M@0x380000(0:APPSBL),512K@0x580000(0:ART),512K@0x600000(u_env),256K@0x680000(s_env),256K@0x6c0000(devinfo),161M@0x700000(kernel),155M@0xd00000(rootfs),161M@0xa800000(alt_kernel),155M@0xae00000(alt_rootfs),2M@0x14900000(sysdiag),181M@0x14b00000(syscfg),"
Device nand2 not found!
Using machid 0x8010006 from environment

Starting kernel ...

[    0.000000] Booting Linux on physical CPU 0x0
[    0.000000] Linux version 5.4.52 (user@user-virtual-machine) (gcc version 8.4.0 (OpenWrt GCC 8.4.0 r13943-fbb6ec1)) #0 SMP Tue Jul 21 15:29:34 2020
[    0.000000] CPU: ARMv7 Processor [410fc075] revision 5 (ARMv7), cr=10c5387d
[    0.000000] CPU: div instructions available: patching division code
[    0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
[    0.000000] OF: fdt: Machine model: Linksys WHW03 V2 (Velop)
[    0.000000] Memory policy: Data cache writealloc
[    0.000000] percpu: Embedded 15 pages/cpu s30028 r8192 d23220 u61440
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 129408
[    0.000000] Kernel command line: init=/sbin/init rootfstype=ubifs ubi.mtd=rootfs root=ubi0:ubifs rootwait rw root=/dev/ubiblock0_0 rootfstype=squashfs ro

Here is a list of steps to flash a factory image into a V2 model:

  1. Check from which partition you have booted.
    You could either check which boot_part variable was used to boot
    fw_printenv boot_part.
    or get the current partition in use
    cat /sys/class/ubi/ubi0_0/device/mtd_num
  2. Let's save the partition of the kernel and image into a variable.
    If you booted from the primary partition or boot_part is 1, we'll write to the alternate partition.
    FIRMWARE_BLKDEV=`cat /proc/mtd | grep "alt_rootfs" | cut -d':' -f1`
    KERNEL_BLKDEV=`cat /proc/mtd | grep "alt_kernel" | cut -d':' -f1`
    If you booted from the alternate or boot_part is 2, let's write to the primary partition.
    FIRMWARE_BLKDEV=`cat /proc/mtd | grep "rootfs" | grep -v "alt_" | cut -d':' -f1`
    KERNEL_BLKDEV=`cat /proc/mtd | grep "kernel" | grep -v "alt_" | cut -d':' -f1`
  3. Let's download or copy to the device the factory image.
    At the time of writing the latest factory image is 2.1.13 and can be found here.
    We will save the path of the factory image into a variable
    FIRMWARE_IMAGE=/tmp/FW_WHW03_2.1.13.200506_prod.img
  4. We will erase the partitions and flash the new firmware image.
    mtd erase $FIRMWARE_BLKDEV
    mtd write $FIRMWARE_IMAGE $FIRMWARE_BLKDEV
    mtd erase $KERNEL_BLKDEV
    mtd write $FIRMWARE_IMAGE $KERNEL_BLKDEV

I have tested that this steps successfully work but I have not tested booting from the factory image due to not having spare devices to do so.

I do apologize if my lack of availability has impacted you.

UPDATE: To manually flash a firmware you should load the CA Support page of the Linksys Factory Firmware: http:///ui/1.0.99.192419/dynamic/home.html#casupport

2 Likes

Thanks @flipy, this procedure worked for me.

I do apologize if my lack of availability has impacted you.

No problem, don't worry.
If you need someone to test future builds when you will have a little more time, do not hesitate

@flipy I'd also be interested in testing the your image build when it is available.

I'm really interested in getting this firmware working. I've cloned @flipy git repo and built an image, but it will not boot on my WHW03v2.

The binary firmwares that @flipy posted here are no longer available to download. The links have expired. If anyone (@Pro_info ?) has a copy of the firmware and can repost it, this would really help.

Thanks

No, I didn't keep the compiled binaries.
Did you clone the whw03v2 branch and not the master branch?

I will make a new build for both versions with an updated upstream tree.

I'll keep you posted.

BTW, is there any package you'll like to see included, besides LuCi?

I did clone the v2 branch, and I tried the 19.07 variant too. I guess there could be a problem with my build system, but the same system produces viable firmwares for the EA/MR8300.

Luci is all I really need thanks. I'm very keen to get this working, and I'm happy to work through the performance issues.

Thanks a lot for your help, and for the effort you've put into this.

I have added a new build for WHW03 v2: https://github.com/flipy/openwrt/releases/tag/v0.0.1

I will be able to test it during the weekend, and expect a new release for WHW03 v1 as well.

Thanks for your quick work.

I've given this a try, but just like the firmware I build myself from your sources, it wouldn't boot.

I'm running the official firmware version 2.1.8.192419, and the web interface confirms my model number as WHW03v2.

I'm using the /fwupdate.html page to install your firmware (openwrt-ipq40xx-generic-linksys_whw03v2-squashfs-factory.bin). After I get the "OK" response, the LED remains purple, and after 5 minutes of no ping responses, I then power-cycled it. The LED then goes to solid blue and stays that way. I left it for over 5 minutes, but there was no change.

I'm wondering if the problem I'm experiencing exists only in the ".factory" version of the firmware. That could explain how these firmware work for you, assuming you install the ".sysupgrade" variants when testing.

I don't have a serial cable attached, so I'm afraid I can't give any more information at this time.

Here is the console output. Seems to die very early on.

U-Boot 2012.07 [Chaos Calmer 15.05.1,r35193] WNC_VELOP_V2_20180718_V1.4 (Jul 18 2018 - 11:26:52)

smem ram ptable found: ver: 1 len: 3
DRAM:  512 MiB
machid : 0x8010006
NAND:  ID = 9590dcad
Vendor = ad
Device = dc
ONFI device found
SF NAND unsupported id:ff:ff:ff:ffSF: Unsupported manufacturer ff
ipq_spi: SPI Flash not found (bus/cs/speed/mode) = (0/0/48000000/0)
512 MiB
MMC:   qca_mmc: 0
[devinfo_relocate] devinfo_relocate[146] malloced DEVINFO at 86ff1240
[devinfo_relocate_spec] ret: 0 , total: 262144 , CONFIG_DEVINFO_SIZE: 262144
PCI0 Link Intialized
In:    serial
Out:   serial
Err:   serial
machid: 8010006
flash_type: 2
#### auto_recovery ####
enabled:1, boot_part:2, maxpartialboots:3
boot_count_buffer_size = 2048, total number = 128
i=43, offset = 0x695800, last_offset = 0x695000
Updating boot_count...
boot->Count:1 ,boot->CheckSum:20110812, offset:0x695800
#### ~~~~~~~~~~~~~ ####
#### auto_recovery check ####
Hit any key to stop autoboot:  0

NAND read: device 0 offset 0xa800000, size 0xd00000
 13631488 bytes read: OK
## Booting kernel from FIT Image at 81000000 ...
   Using 'config@1' configuration
   Trying 'kernel@1' kernel subimage
     Description:  ARM OpenWrt Linux-5.4.74
     Type:         Kernel Image
     Compression:  uncompressed
     Data Start:   0x810000e4
     Data Size:    2644904 Bytes = 2.5 MiB
     Architecture: ARM
     OS:           Linux
     Load Address: 0x80208000
     Entry Point:  0x80208000
     Hash algo:    crc32
     Hash value:   a7171922
     Hash algo:    sha1
     Hash value:   035480e8436e49d0e758ce85e12b043f7ffeb52e
   Verifying Hash Integrity ... crc32+ sha1+ OK
## Flattened Device Tree from FIT Image at 81000000
   Using 'config@1' configuration
   Trying 'fdt@1' FDT blob subimage
     Description:  ARM OpenWrt linksys_whw03v2 device tree blob
     Type:         Flat Device Tree
     Compression:  uncompressed
     Data Start:   0x81285dc8
     Data Size:    19337 Bytes = 18.9 KiB
     Architecture: ARM
     Hash algo:    crc32
     Hash value:   fdc516c8
     Hash algo:    sha1
     Hash value:   b72434432cf99a28f8a06b90766f6bf2a164827b
   Verifying Hash Integrity ... crc32+ sha1+ OK
   Booting using the fdt blob at 0x81285dc8
   Loading Kernel Image ... OK
OK
   Loading Device Tree to 86fe7000, end 86feeb88 ... OK
Andrew: mtdparts="mtdparts=nand0:1024K@0x0(0:SBL1),1024K@0x100000(0:MIBIB),1024K@0x200000(0:QSEE),512K@0x300000(0:CDT),2M@0x380000(0:APPSBL),512K@0x580000(0:ART),512K@0x600000(u_env),256K@0x680000(s_env),256K@0x6c0000(devinfo),161M@0x700000(kernel),155M@0xd00000(rootfs),161M@0xa800000(alt_kernel),155M@0xae00000(alt_rootfs),2M@0x14900000(sysdiag),181M@0x14b00000(syscfg),"
Device nand2 not found!
Using machid 0x8010006 from environment

Starting kernel ...

[    0.000000] Booting Linux on physical CPU 0x0
[    0.000000] Linux version 5.4.74 (acalvo@runtoo) (gcc version 8.4.0 (OpenWrt GCC 8.4.0 r14130-346f322956)) #0 SMP Wed Nov 4 20:27:28 2020
[    0.000000] CPU: ARMv7 Processor [410fc075] revision 5 (ARMv7), cr=10c5387d
[    0.000000] CPU: div instructions available: patching division code
[    0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
[    0.000000] OF: fdt: Machine model: Linksys WHW03 V2 (Velop)
[    0.000000] Memory policy: Data cache writealloc
[    0.000000] percpu: Embedded 15 pages/cpu s30028 r8192 d23220 u61440
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 129408
[    0.000000] Kernel command line: init=/sbin/init rootfstype=ubifs ubi.mtd=alt_rootfs root=ubi0:ubifs rootwait rw root=/dev/ubiblock0_0 rootfstype=squashfs ro
[    0.000000] Dentry cache hash table entries: 65536 (order: 6, 262144 bytes, linear)
[    0.000000] Inode-cache hash table entries: 32768 (order: 5, 131072 bytes, linear)
[    0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
[    0.000000] Memory: 508276K/522240K available (5429K kernel code, 181K rwdata, 1436K rodata, 1024K init, 232K bss, 13964K reserved, 0K cma-reserved, 0K highmem)
[    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1
[    0.000000] rcu: Hierarchical RCU implementation.
[    0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 10 jiffies.
[    0.000000] NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16
[    0.000000] random: get_random_bytes called from start_kernel+0x2f0/0x498 with crng_init=0
[    0.000000] arch_timer: cp15 timer(s) running at 48.00MHz (virt).
[    0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0xb11fd3bfb, max_idle_ns: 440795203732 ns
[    0.000007] sched_clock: 56 bits at 48MHz, resolution 20ns, wraps every 4398046511096ns
[    0.000020] Switching to timer-based delay loop, resolution 20ns
[    0.000256] Calibrating delay loop (skipped), value calculated using timer frequency.. 96.00 BogoMIPS (lpj=480000)
[    0.000273] pid_max: default: 32768 minimum: 301
[    0.000473] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    0.000491] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    0.001457] CPU: Testing write buffer coherency: ok
[    0.002459] Setting up static identity map for 0x80300000 - 0x80300060
[    0.002589] rcu: Hierarchical SRCU implementation.
[    0.003008] smp: Bringing up secondary CPUs ...
[    0.006025] smp: Brought up 1 node, 4 CPUs
[    0.006045] SMP: Total of 4 processors activated (384.00 BogoMIPS).
[    0.006052] CPU: All CPU(s) started in SVC mode.
[    0.011284] VFP support v0.3: implementor 41 architecture 2 part 30 variant 7 rev 5
[    0.011455] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[    0.011480] futex hash table entries: 1024 (order: 4, 65536 bytes, linear)
[    0.011748] pinctrl core: initialized pinctrl subsystem
[    0.012805] NET: Registered protocol family 16
[    0.013172] DMA: preallocated 256 KiB pool for atomic coherent allocations
[    0.014400] cpuidle: using governor ladder
[    0.014446] cpuidle: using governor menu
[    0.035846] cryptd: max_cpu_qlen set to 1000
[    0.039198] usbcore: registered new interface driver usbfs
[    0.039266] usbcore: registered new interface driver hub
[    0.039353] usbcore: registered new device driver usb
[    0.039402] pps_core: LinuxPPS API ver. 1 registered
[    0.039411] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[    0.039439] PTP clock support registered
[    0.040267] workqueue: max_active 576 requested for napi_workq is out of range, clamping between 1 and 512
[    0.041363] clocksource: Switched to clocksource arch_sys_counter
[    0.042172] thermal_sys: Registered thermal governor 'step_wise'
[    0.042479] NET: Registered protocol family 2
[    0.043088] tcp_listen_portaddr_hash hash table entries: 512 (order: 0, 6144 bytes, linear)
[    0.043132] TCP established hash table entries: 4096 (order: 2, 16384 bytes, linear)
[    0.043194] TCP bind hash table entries: 4096 (order: 3, 32768 bytes, linear)
[    0.043282] TCP: Hash tables configured (established 4096 bind 4096)
[    0.043403] UDP hash table entries: 256 (order: 1, 8192 bytes, linear)
[    0.043439] UDP-Lite hash table entries: 256 (order: 1, 8192 bytes, linear)
[    0.043677] NET: Registered protocol family 1
[    0.043720] PCI: CLS 0 bytes, default 64
[    0.045644] workingset: timestamp_bits=14 max_order=17 bucket_order=3
[    0.051286] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    0.051301] jffs2: version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc.
[    0.104815] qcom-pcie 40000000.pci: host bridge /soc/pci@40000000 ranges:
[    0.104866] qcom-pcie 40000000.pci:    IO 0x40200000..0x402fffff -> 0x40200000
[    0.104894] qcom-pcie 40000000.pci:   MEM 0x40300000..0x40ffffff -> 0x40300000
[    0.382927] qcom-pcie 40000000.pci: Link up
[    0.383087] qcom-pcie 40000000.pci: PCI host bridge to bus 0000:00
[    0.383109] pci_bus 0000:00: root bus resource [bus 00-ff]
[    0.383127] pci_bus 0000:00: root bus resource [io  0x0000-0xfffff] (bus address [0x40200000-0x402fffff])
[    0.383141] pci_bus 0000:00: root bus resource [mem 0x40300000-0x40ffffff]
[    0.383183] pci 0000:00:00.0: [17cb:1001] type 01 class 0x060400
[    0.383222] pci 0000:00:00.0: reg 0x10: [mem 0x00000000-0x00000fff]
[    0.383299] pci 0000:00:00.0: PME# supported from D0 D3hot
[    0.384966] PCI: bus0: Fast back to back transfers disabled
[    0.385198] pci 0000:01:00.0: [168c:0056] type 00 class 0x028000
[    0.385419] pci 0000:01:00.0: reg 0x10: [mem 0x00000000-0x001fffff 64bit]
[    0.386135] pci 0000:01:00.0: PME# supported from D0 D3hot
[    0.387955] PCI: bus1: Fast back to back transfers disabled
[    0.388016] pci 0000:00:00.0: BAR 8: assigned [mem 0x40400000-0x405fffff]
[    0.388033] pci 0000:00:00.0: BAR 0: assigned [mem 0x40300000-0x40300fff]
[    0.388057] pci 0000:01:00.0: BAR 0: assigned [mem 0x40400000-0x405fffff 64bit]
[    0.388134] pci 0000:00:00.0: PCI bridge to [bus 01-ff]
[    0.388152] pci 0000:00:00.0:   bridge window [mem 0x40400000-0x405fffff]
[    0.390978] pcieport 0000:00:00.0: AER: enabled with IRQ 98
[    0.392843] bam-dma-engine 8e04000.dma: num-channels unspecified in dt
[    0.392860] bam-dma-engine 8e04000.dma: num-ees unspecified in dt
[    0.394179] tcsr 1949000.tcsr: setting wifi_glb_cfg = 41000000
[    0.394275] tcsr 194b000.tcsr: setting usb hs phy mode select = e700e7
[    0.394362] tcsr 1953000.ess_tcsr: setting ess interface select = 0
[    0.394445] tcsr 1957000.tcsr: setting wifi_noc_memtype_m0_m2 = 2222222
[    0.394783] Serial: 8250/16550 driver, 2 ports, IRQ sharing disabled
[    0.395346] msm_serial 78af000.serial: msm_serial: detected port #0
[    0.395390] msm_serial 78af000.serial: uartclk = 1843200
[    0.395445] 78af000.serial: ttyMSM0 at MMIO 0x78af000 (irq = 27, base_baud = 115200) is a MSM
[    0.395470] msm_serial: console setup on port #0
[    1.023182] printk: console [ttyMSM0] enabled
[    1.028168] msm_serial 78b0000.serial: msm_serial: detected port #1
[    1.032159] msm_serial 78b0000.serial: uartclk = 48000000
[    1.038210] 78b0000.serial: ttyMSM1 at MMIO 0x78b0000 (irq = 28, base_baud = 3000000) is a MSM
[    1.044008] msm_serial: driver initialized
[    1.057163] loop: module loaded
[    1.058368] nand: device found, Manufacturer ID: 0xad, Chip ID: 0xdc
[    1.059352] nand: Hynix H27U4G8F2EDA-BC
[    1.066005] nand: 512 MiB, SLC, erase size: 128 KiB, page size: 2048, OOB size: 128
[    1.069572] ------------[ cut here ]------------
[    1.077183] WARNING: CPU: 0 PID: 1 at drivers/mtd/nand/raw/nand_base.c:5579 nand_scan_with_ids+0x178c/0x1790
[    1.082025] No oob scheme defined for oobsize 0
[    1.091822] Modules linked in:
[    1.096068] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 5.4.74 #0
[    1.099190] Hardware name: Generic DT based system
[    1.105027] [<c030e544>] (unwind_backtrace) from [<c030afc0>] (show_stack+0x10/0x14)
[    1.109882] [<c030afc0>] (show_stack) from [<c0831f98>] (dump_stack+0x94/0xa8)
[    1.117778] [<c0831f98>] (dump_stack) from [<c03213a0>] (__warn+0xbc/0xd8)
[    1.124808] [<c03213a0>] (__warn) from [<c0321440>] (warn_slowpath_fmt+0x84/0x94)
[    1.131669] [<c0321440>] (warn_slowpath_fmt) from [<c0648ccc>] (nand_scan_with_ids+0x178c/0x1790)
[    1.139226] [<c0648ccc>] (nand_scan_with_ids) from [<c064f668>] (qcom_nandc_probe+0x518/0x934)
[    1.148081] [<c064f668>] (qcom_nandc_probe) from [<c0616ee8>] (platform_drv_probe+0x34/0x70)
[    1.156585] [<c0616ee8>] (platform_drv_probe) from [<c0615560>] (really_probe+0x1f0/0x358)
[    1.165176] [<c0615560>] (really_probe) from [<c0615ab0>] (device_driver_attach+0x58/0x60)
[    1.173248] [<c0615ab0>] (device_driver_attach) from [<c0615b10>] (__driver_attach+0x58/0xcc)
[    1.181495] [<c0615b10>] (__driver_attach) from [<c0613ab4>] (bus_for_each_dev+0x68/0x8c)
[    1.190088] [<c0613ab4>] (bus_for_each_dev) from [<c0614a38>] (bus_add_driver+0x1c8/0x1d8)
[    1.198248] [<c0614a38>] (bus_add_driver) from [<c0616098>] (driver_register+0x74/0x108)
[    1.206411] [<c0616098>] (driver_register) from [<c0302764>] (do_one_initcall+0x84/0x1d8)
[    1.214657] [<c0302764>] (do_one_initcall) from [<c0a00fc8>] (kernel_init_freeable+0x1c4/0x26c)
[    1.222732] [<c0a00fc8>] (kernel_init_freeable) from [<c0847cfc>] (kernel_init+0x8/0x114)
[    1.231236] [<c0847cfc>] (kernel_init) from [<c03010e8>] (ret_from_fork+0x14/0x2c)
[    1.239560] Exception stack(0xdf43bfb0 to 0xdf43bff8)
[    1.247026] bfa0:                                     00000000 00000000 00000000 00000000
[    1.252154] bfc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[    1.260311] bfe0: 00000000 00000000 00000000 00000000 00000013 00000000
[    1.268518] ---[ end trace 7d60892dd3007928 ]---
[    1.274917] 8<--- cut here ---
[    1.279745] Unable to handle kernel NULL pointer dereference at virtual address 00000008
[    1.282617] pgd = (ptrval)
[    1.290853] [00000008] *pgd=00000000
[    1.293379] Internal error: Oops: 5 [#1] SMP ARM
[    1.297105] Modules linked in:
[    1.301709] CPU: 0 PID: 1 Comm: swapper/0 Tainted: G        W         5.4.74 #0
[    1.304573] Hardware name: Generic DT based system
[    1.311783] PC is at devres_remove+0x34/0xb4
[    1.316640] LR is at devres_remove+0x78/0xb4
[    1.321065] pc : [<c0618234>]    lr : [<c0618278>]    psr: 00000093
[    1.325319] sp : df43bde8  ip : 00000000  fp : 20000013
[    1.331308] r10: df581ef0  r9 : c06182e4  r8 : c0618fb8
[    1.336517] r7 : df416840  r6 : df581ef4  r5 : df581e10  r4 : 00000000
[    1.341728] r3 : 00000000  r2 : df416840  r1 : df416840  r0 : df581e10
[    1.348328] Flags: nzcv  IRQs off  FIQs on  Mode SVC_32  ISA ARM  Segment none
[    1.354839] Control: 10c5387d  Table: 8020406a  DAC: 00000051
[    1.362039] Process swapper/0 (pid: 1, stack limit = 0x(ptrval))
[    1.367856] Stack: (0xdf43bde8 to 0xdf43c000)
[    1.373934] bde0:                   df416840 dfb75190 df6194c0 df416840 df581e00 df582c40
[    1.378194] be00: df6194d8 df581e10 c08e76e8 c0618b10 dfb75190 c0618c4c dfb75190 c064f94c
[    1.386356] be20: 00000000 00000000 df581e10 dfb74f64 c0947420 c06519bc df581e10 00000000
[    1.394513] be40: c0b2159c df581e10 c0b2159c c0b62200 00000000 00000000 c0b2159c 00000000
[    1.402677] be60: dfffcd80 c0616ee8 c0b62208 df581e10 c0b62200 c0615560 df581e10 00000000
[    1.410833] be80: c0b2159c 00000000 00000000 c0a2d834 00000007 c0615ab0 00000000 c0b2159c
[    1.418996] bea0: df581e10 c0615b10 df581e10 c0b2159c c0615ab8 c0613ab4 df409d58 df502eb4
[    1.427152] bec0: c0b2159c df612c80 c0b1f790 c0614a38 c09474e4 00000000 c0b2159c c0b2159c
[    1.435315] bee0: c0b2e014 ffffe000 c0a16f2c c0616098 c0b04e48 c0b2e014 ffffe000 c0302764
[    1.443473] bf00: dfffcdfa 00000000 c09b4a7c 00000000 dfffcdfa c033ccdc 00000000 c095ba60
[    1.451634] bf20: 00000006 00000006 c08eada0 00000000 c08f4bc4 c08eae14 dfffcdfa 00000000
[    1.459792] bf40: 00000000 00000006 c0a004a8 55736806 c0a38308 c0a004a8 c0b2e028 c0b2e010
[    1.467953] bf60: c0a2d854 c0a00fc8 00000006 00000006 00000000 c0a004a8 00000000 00000073
[    1.476110] bf80: 00000000 00000000 c0847cf4 00000000 00000000 00000000 00000000 00000000
[    1.484272] bfa0: 00000000 c0847cfc 00000000 c03010e8 00000000 00000000 00000000 00000000
[    1.492430] bfc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[    1.500591] bfe0: 00000000 00000000 00000000 00000000 00000013 00000000 00000000 00000000
[    1.508757] [<c0618234>] (devres_remove) from [<c0618b10>] (devres_destroy+0x8/0x24)
[    1.516914] [<c0618b10>] (devres_destroy) from [<c0618c4c>] (devm_kfree+0x3c/0x60)
[    1.524724] [<c0618c4c>] (devm_kfree) from [<c064f94c>] (qcom_nandc_probe+0x7fc/0x934)
[    1.532105] [<c064f94c>] (qcom_nandc_probe) from [<c0616ee8>] (platform_drv_probe+0x34/0x70)
[    1.540003] [<c0616ee8>] (platform_drv_probe) from [<c0615560>] (really_probe+0x1f0/0x358)
[    1.548593] [<c0615560>] (really_probe) from [<c0615ab0>] (device_driver_attach+0x58/0x60)
[    1.556666] [<c0615ab0>] (device_driver_attach) from [<c0615b10>] (__driver_attach+0x58/0xcc)
[    1.564912] [<c0615b10>] (__driver_attach) from [<c0613ab4>] (bus_for_each_dev+0x68/0x8c)
[    1.573508] [<c0613ab4>] (bus_for_each_dev) from [<c0614a38>] (bus_add_driver+0x1c8/0x1d8)
[    1.581669] [<c0614a38>] (bus_add_driver) from [<c0616098>] (driver_register+0x74/0x108)
[    1.589829] [<c0616098>] (driver_register) from [<c0302764>] (do_one_initcall+0x84/0x1d8)
[    1.598074] [<c0302764>] (do_one_initcall) from [<c0a00fc8>] (kernel_init_freeable+0x1c4/0x26c)
[    1.606146] [<c0a00fc8>] (kernel_init_freeable) from [<c0847cfc>] (kernel_init+0x8/0x114)
[    1.614655] [<c0847cfc>] (kernel_init) from [<c03010e8>] (ret_from_fork+0x14/0x2c)
[    1.622978] Exception stack(0xdf43bfb0 to 0xdf43bff8)
[    1.630444] bfa0:                                     00000000 00000000 00000000 00000000
[    1.635574] bfc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[    1.643731] bfe0: 00000000 00000000 00000000 00000000 00000013 00000000
[    1.651891] Code: e28560e4 e1560004 e1a0b000 0a000008 (e5943008)
[    1.658310] ---[ end trace 7d60892dd3007929 ]---
[    1.664556] Kernel panic - not syncing: Fatal exception
[    1.669255] CPU3: stopping
[    1.674192] CPU: 3 PID: 0 Comm: swapper/3 Tainted: G      D W         5.4.74 #0
[    1.676970] Hardware name: Generic DT based system
[    1.684184] [<c030e544>] (unwind_backtrace) from [<c030afc0>] (show_stack+0x10/0x14)
[    1.689044] [<c030afc0>] (show_stack) from [<c0831f98>] (dump_stack+0x94/0xa8)
[    1.696942] [<c0831f98>] (dump_stack) from [<c030d7f8>] (handle_IPI+0x164/0x19c)
[    1.703982] [<c030d7f8>] (handle_IPI) from [<c059d7a8>] (gic_handle_irq+0x8c/0x90)
[    1.711530] [<c059d7a8>] (gic_handle_irq) from [<c0301a8c>] (__irq_svc+0x6c/0x90)
[    1.718901] Exception stack(0xdf475f60 to 0xdf475fa8)
[    1.726453] 5f60: 00000000 000002dc dfb631f4 c0313c20 ffffe000 c0b04e68 c0b04ea8 00000008
[    1.731492] 5f80: 00000000 c0a3ede8 c0b0db94 00000000 00000000 df475fb0 c03083e8 c03083ec
[    1.739647] 5fa0: 60000013 ffffffff
[    1.747808] [<c0301a8c>] (__irq_svc) from [<c03083ec>] (arch_cpu_idle+0x38/0x3c)
[    1.751116] [<c03083ec>] (arch_cpu_idle) from [<c0349140>] (do_idle+0x1e4/0x21c)
[    1.758751] [<c0349140>] (do_idle) from [<c0349408>] (cpu_startup_entry+0x18/0x1c)
[    1.766130] [<c0349408>] (cpu_startup_entry) from [<803024ac>] (0x803024ac)
[    1.773504] CPU2: stopping
[    1.780353] CPU: 2 PID: 0 Comm: swapper/2 Tainted: G      D W         5.4.74 #0
[    1.783131] Hardware name: Generic DT based system
[    1.790345] [<c030e544>] (unwind_backtrace) from [<c030afc0>] (show_stack+0x10/0x14)
[    1.795207] [<c030afc0>] (show_stack) from [<c0831f98>] (dump_stack+0x94/0xa8)
[    1.803104] [<c0831f98>] (dump_stack) from [<c030d7f8>] (handle_IPI+0x164/0x19c)
[    1.810139] [<c030d7f8>] (handle_IPI) from [<c059d7a8>] (gic_handle_irq+0x8c/0x90)
[    1.817692] [<c059d7a8>] (gic_handle_irq) from [<c0301a8c>] (__irq_svc+0x6c/0x90)
[    1.825063] Exception stack(0xdf473f60 to 0xdf473fa8)
[    1.832620] 3f60: 00000000 000001b8 dfb541f4 c0313c20 ffffe000 c0b04e68 c0b04ea8 00000004
[    1.837657] 3f80: 00000000 c0a3ede8 c0b0db94 00000000 c0b04e78 df473fb0 c03083e8 c03083ec
[    1.845810] 3fa0: 60000013 ffffffff
[    1.853968] [<c0301a8c>] (__irq_svc) from [<c03083ec>] (arch_cpu_idle+0x38/0x3c)
[    1.857274] [<c03083ec>] (arch_cpu_idle) from [<c0349140>] (do_idle+0x1e4/0x21c)
[    1.864913] [<c0349140>] (do_idle) from [<c0349408>] (cpu_startup_entry+0x18/0x1c)
[    1.872291] [<c0349408>] (cpu_startup_entry) from [<803024ac>] (0x803024ac)
[    1.879665] CPU1: stopping
[    1.886517] CPU: 1 PID: 0 Comm: swapper/1 Tainted: G      D W         5.4.74 #0
[    1.889298] Hardware name: Generic DT based system
[    1.896509] [<c030e544>] (unwind_backtrace) from [<c030afc0>] (show_stack+0x10/0x14)
[    1.901369] [<c030afc0>] (show_stack) from [<c0831f98>] (dump_stack+0x94/0xa8)
[    1.909268] [<c0831f98>] (dump_stack) from [<c030d7f8>] (handle_IPI+0x164/0x19c)
[    1.916302] [<c030d7f8>] (handle_IPI) from [<c059d7a8>] (gic_handle_irq+0x8c/0x90)
[    1.923855] [<c059d7a8>] (gic_handle_irq) from [<c0301a8c>] (__irq_svc+0x6c/0x90)
[    1.931226] Exception stack(0xdf471f60 to 0xdf471fa8)
[    1.938783] 1f60: 00000000 00000124 dfb451f4 c0313c20 ffffe000 c0b04e68 c0b04ea8 00000002
[    1.943820] 1f80: 00000000 c0a3ede8 c0b0db94 00000000 c0b04f10 df471fb0 c03083e8 c03083ec
[    1.951974] 1fa0: 60000013 ffffffff
[    1.960131] [<c0301a8c>] (__irq_svc) from [<c03083ec>] (arch_cpu_idle+0x38/0x3c)
[    1.963437] [<c03083ec>] (arch_cpu_idle) from [<c0349140>] (do_idle+0x1e4/0x21c)
[    1.971075] [<c0349140>] (do_idle) from [<c0349408>] (cpu_startup_entry+0x18/0x1c)
[    1.978453] [<c0349408>] (cpu_startup_entry) from [<803024ac>] (0x803024ac)
[    1.985833] Rebooting in 1 seconds..
[    3.992841] Reboot failed -- System halted

Interesting, thanks for the output.

Looks like it is able to identify the NAND chip but it has some issues accessing it.

I'll debug and give it a go on my devices.

Hi @flipy

Did you make any progress at the weekend? I'm ready and eager to test it.

Thanks

I'm new to the build process though have built drivers and fought the Linux kernel, switches and PHYs in the past but where is the config, presumably a file called .config, used to build your v0.0.1 ?

Just uploaded version 0.0.2 for WHW03 V2, not tested yet.

Any feedback more than welcomed!