[bcm63xx] help in adding Netgear D6400 support
Enrico Mioso
mrkiko.rs at gmail.com
Tue Jan 5 18:46:02 EST 2021
Hello all!
I am trying this time around to port OpenWRt to a Netgear D6400 router. It seems to be pretty similar to the SKY SR102, even tough some important differences should be kept into account, like the fact it has NAND flash.
What I did so far:
1 - I took a backup of my whole flash, and the MTD regions layout, and dmesg:
http://www.gstorm.eu/bcm_stuff.zip
2 - Extracted the CFERAM file from my device: to read the dumped JFFS2 partition, I had to modify linux-5.10.1/fs/jffs2/nodelist.h around line 30, changing it to look like
#define JFFS2_BIG_ENDIAN
3 - Trying to add some entries to the build system:
define Device/netgear_d6400
$(Device/bcm63xx-nand)
DEVICE_VENDOR := NETGEAR
DEVICE_MODEL := D6400
CHIP_ID := 63268
SOC := bcm63168
CFE_RAM_FILE := netgear,d6400/cferam.001
CFE_RAM_JFFS2_NAME := cferam.001
BLOCKSIZE := 128k
PAGESIZE := 2048
SUBPAGESIZE := 512
VID_HDR_OFFSET := 2048
DEVICE_PACKAGES += $(USB2_PACKAGES)
CFE_WFI_VERSION := 0x5732
CFE_WFI_FLASH_TYPE := 3
KERNEL_SIZE := 5120k
endef
TARGET_DEVICES += netgear_d6400
Note: CFE says something like this during boot ...
NAND ECC BCH-8, page size 0x800 bytes, spare size used 64 bytes
NAND flash device: Spansion S34ML01G1, id 0x01f1 block 128KB size 131072KB
I actually do not understand the exact meaning of the CFE_WFI_FLASH_TYPE, I guessed WFI values have something to do with Web Factory Image.
The device currently accepts images created with this entry, still producing errors like those during boot:
Attempt to read block number(1024) beyond the nand max blk(1023)
Attempt to read block number(1025) beyond the nand max blk(1023)
Attempt to read block number(1026) beyond the nand max blk(1023)
Attempt to read block number(1027) beyond the nand max blk(1023)
Attempt to read block number(1028) beyond the nand max blk(1023)
Attempt to read block number(1029) beyond the nand max blk(1023)
Attempt to read block number(1030) beyond the nand max blk(1023)
Attempt to read block number(1031) beyond the nand max blk(1023)
Attempt to read block number(1032) beyond the nand max blk(1023)
Attempt to read block number(1033) beyond the nand max blk(1023)
... hence failing boot.
How may I proceed?
It should be noted, that the device has a dual image layout, as follows:
0-131072: nvram, (and CFE)
131072-58195968: "rootfs" and "image" are mapped here
58195968-116260864: "rootfs_update" and "image_update" are mapped here
116391936-124780544: data
124780544-128974848: storage1
128974848-133169152: storage2
Thanks!!
Enrico
More information about the openwrt-devel
mailing list