From mboxrd@z Thu Jan 1 00:00:00 1970 From: Olliver Schinagl Date: Wed, 12 Aug 2015 15:31:15 +0200 Subject: [U-Boot] [linux-sunxi] ARM: sunxi: Experiences NAND flash In-Reply-To: <55C9E7B4.9090906@schinagl.nl> References: <55C9E7B4.9090906@schinagl.nl> Message-ID: <55CB4AA3.9050809@schinagl.nl> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de Hey Yassin, I'm affraid. The strange thing that seems very related here is that when writing a file onto the flash, it fails and succeeds alternating. It never fails or succeeds twice in a row! And this on any board and any partition. root at system-020502824168:/boot# nandwrite -p /dev/mtd0 u-boot-sunxi-with-spl.bin Writing data to block 0 at offset 0x0 libmtd: error!: cannot write 8192 bytes to mtd0 (eraseblock 0, offset 32768) error 5 (Input/output error) Erasing failed write from 00000000 to 0x1fffff nandwrite: error!: Data was only partially written due to error error 5 (Input/output error) root at system-020502824168:/boot# nandwrite -p /dev/mtd0 u-boot-sunxi-with-spl.bin Writing data to block 0 at offset 0x0 root at system-020502824168:/boot# nandwrite -p /dev/mtd0 u-boot-sunxi-with-spl.bin Writing data to block 0 at offset 0x0 libmtd: error!: cannot write 8192 bytes to mtd0 (eraseblock 0, offset 32768) error 5 (Input/output error) Erasing failed write from 00000000 to 0x1fffff nandwrite: error!: Data was only partially written due to error error 5 (Input/output error) root at system-020502824168:/boot# nandwrite -p /dev/mtd0 u-boot-sunxi-with-spl.bin Writing data to block 0 at offset 0x0 root at system-020502824168:/boot# nandwrite -p /dev/mtd2 u-boot-sunxi-with-spl.bin Writing data to block 0 at offset 0x0 root at system-020502824168:/boot# nandwrite -p /dev/mtd2 u-boot-sunxi-with-spl.bin Writing data to block 0 at offset 0x0 libmtd: error!: cannot write 8192 bytes to mtd2 (eraseblock 0, offset 32768) error 5 (Input/output error) Erasing failed write from 00000000 to 0x1fffff Writing data to block 1 at offset 0x200000 root at system-020502824168:/boot# nandwrite -p /dev/mtd2 u-boot-sunxi-with-spl.bin Writing data to block 0 at offset 0x0 root at system-020502824168:/boot# nandwrite -p /dev/mtd2 u-boot-sunxi-with-spl.bin Writing data to block 0 at offset 0x0 libmtd: error!: cannot write 8192 bytes to mtd2 (eraseblock 0, offset 32768) error 5 (Input/output error) Erasing failed write from 00000000 to 0x1fffff Writing data to block 1 at offset 0x200000 libmtd: error!: cannot write 8192 bytes to mtd2 (eraseblock 1, offset 32768) error 5 (Input/output error) Erasing failed write from 0x200000 to 0x3fffff Writing data to block 2 at offset 0x400000 root at system-020502824168:/boot# nandwrite -p /dev/mtd2 u-boot-sunxi-with-spl.bin Writing data to block 0 at offset 0x0 root at system-020502824168:/boot# nandwrite -p /dev/mtd2 u-boot-sunxi-with-spl.bin Writing data to block 0 at offset 0x0 libmtd: error!: cannot write 8192 bytes to mtd2 (eraseblock 0, offset 32768) error 5 (Input/output error) Erasing failed write from 00000000 to 0x1fffff Writing data to block 1 at offset 0x200000 root at system-020502824168:/boot# nandwrite -p /dev/mtd2 u-boot-sunxi-with-spl.bin Writing data to block 0 at offset 0x0 root at system-020502824168:/boot# nandwrite -p /dev/mtd2 u-boot-sunxi-with-spl.bin Writing data to block 0 at offset 0x0 libmtd: error!: cannot write 8192 bytes to mtd2 (eraseblock 0, offset 32768) error 5 (Input/output error) Erasing failed write from 00000000 to 0x1fffff Writing data to block 1 at offset 0x200000 libmtd: error!: cannot write 8192 bytes to mtd2 (eraseblock 1, offset 32768) error 5 (Input/output error) Erasing failed write from 0x200000 to 0x3fffff Writing data to block 2 at offset 0x400000 libmtd: error!: cannot write 8192 bytes to mtd2 (eraseblock 2, offset 32768) error 5 (Input/output error) Erasing failed write from 0x400000 to 0x5fffff Writing data to block 3 at offset 0x600000 On 12-08-15 03:19, Yassin Jaffer wrote: > Hi Oliver > Did you try without fastmap enabled? > > On Tue, Aug 11, 2015 at 10:16 PM, Olliver Schinagl > > wrote: > > Hello everybody, > > We are working with Boris and Roy's patch series on getting the > NAND flash chip working on Olimex OLinuXino Lime2 boards. > Initially, everything looks fine, but we noticed that occasionally > (after power/cycle or power cut) ubi fails to mount the partition. > It is not something easily enough to reproduce, but it has failed > on 5 boards out of 30 we have. > > U-boot reports the following: > UBI: default fastmap pool size: 100 > UBI: default fastmap WL pool size: 25 > UBI: attaching mtd1 to ubi0 > UBI: scanning is finished > UBI init error 22 > Error reading superblock on volume 'ubi:boot' errno=-19! > ubifsmount - mount UBIFS volume > > whereas the linux kernel booted from sd card gives: > ubiattach /dev/ubi_ctrl -m 0 > [ 100.560704] ubi0: default fastmap pool size: 8 > [ 100.565186] ubi0: default fastmap WL pool size: 4 > [ 100.570100] ubi0: attaching mtd0 > [ 100.590469] ubi0: scanning is finished > [ 100.594732] ubi0 error: ubi_read_volume_table: the layout > volume was not found > [ 100.602675] ubi0 error: ubi_attach_mtd_dev: failed to attach > mtd0, error -22 > ubiattach: error!: cannot attach mtd0 > error 22 (Invalid argument) > > The u-boot version we are using is a few months out of date > U-Boot 2015.07-rc2-g2540c39 (Aug 04 2015 - 16:09:02 +0200) > Allwinner Technology > arm-none-eabi-gcc (4.8.4-1+11-1) 4.8.4 20141219 (release) > GNU ld (2.25-5+5+b1) 2.25 > > but the kernel is fairly up to date: > 4.2.0-rc4-opinicus-g8ec3671 > > > Now I know that the mtd stuff is all very new and all very > untested, what I am curious about is a) have other people actually > tried the mtd stuff on Allwinner hardware, and b) has anybody > encountered this issue as well? > > It's not something very easily reproducible (toggling a machine > on/off repeatedly did not trigger it yet) but it does happen. > > Olliver > > -- > You received this message because you are subscribed to the Google > Groups "linux-sunxi" group. > To unsubscribe from this group and stop receiving emails from it, > send an email to linux-sunxi+unsubscribe at googlegroups.com > . > For more options, visit https://groups.google.com/d/optout. > >