When mounting yaffs dmesg outputs:
yaffs: NAND geometry problems: chunk size 512, type is yaffs, inband_tags 1
Reading I found some useful clues:
This is caused by yaffs1 can not work with inband_tags flags.
Yaffs will select Yaffs1 for deives with 512 byte writing size. Moreover, it will enable inband_tags automatically for devices with small oob.
However, Yaffs1 can not work with inband_tags. So move the oob size checking before auto selecting Yaffs1.
Yaffs is autoselecting yaffs1 because it thinks the devicen page size is too small and that you are not using inband tags.
I believe I should look for where mtd_info is being set in the nand driver and change the oob; but, I'm not sure.
here is my terminal output:
/etc/rc.d # mount -t yaffs /dev/mtdblock4 /usr/local/ yaffs: dev is 32505860 name is "mtdblock4" rw yaffs: passed flags "" mount: Mounting /dev/mtdblock4 on /usr/local/ failed: Invalid argument /etc/rc.d # /etc/rc.d # dmesg -c yaffs: dev is 32505860 name is "mtdblock4" rw yaffs: passed flags "" yaffs: yaffs: Attempting MTD mount of 31.4,"mtdblock4" yaffs: NAND geometry problems: chunk size 512, type is yaffs, inband_tags 1