(Added datasheet) |
(Added details of error) |
||
Line 3: | Line 3: | ||
The Seagate GoFlex Home is fitted with a [http://www.semicon.toshiba.co.jp/openb2b/websearch/productDetails.jsp?partKey=TC58NVG1S3ETA00 Toshiba TC58NVG1S3ETA00] 256Mbyte NAND flash. | The Seagate GoFlex Home is fitted with a [http://www.semicon.toshiba.co.jp/openb2b/websearch/productDetails.jsp?partKey=TC58NVG1S3ETA00 Toshiba TC58NVG1S3ETA00] 256Mbyte NAND flash. | ||
+ | |||
+ | During boot the NAND driver detects it as: | ||
<PRE> | <PRE> | ||
− | |||
NAND device: Manufacturer ID: 0x98, Chip ID: 0xda (Toshiba NAND 256MiB 3,3V 8-bit) | NAND device: Manufacturer ID: 0x98, Chip ID: 0xda (Toshiba NAND 256MiB 3,3V 8-bit) | ||
+ | </PRE> | ||
+ | |||
+ | When loading a new kernel or a new UBI image we get the following error which suggests either a buggy NAND driver, a problem with ECC or a subpage problem. | ||
+ | |||
+ | <PRE> | ||
+ | uncorrectable error : | ||
+ | uncorrectable error : | ||
+ | uncorrectable error : | ||
+ | uncorrectable error : | ||
+ | UBI error: ubi_io_read: error -74 (ECC error) while reading 64 bytes from PEB 0:0, read 64 bytes | ||
</PRE> | </PRE> | ||
The Seagate GoFlex Home is fitted with a Toshiba TC58NVG1S3ETA00 256Mbyte NAND flash.
During boot the NAND driver detects it as:
NAND device: Manufacturer ID: 0x98, Chip ID: 0xda (Toshiba NAND 256MiB 3,3V 8-bit)
When loading a new kernel or a new UBI image we get the following error which suggests either a buggy NAND driver, a problem with ECC or a subpage problem.
uncorrectable error : uncorrectable error : uncorrectable error : uncorrectable error : UBI error: ubi_io_read: error -74 (ECC error) while reading 64 bytes from PEB 0:0, read 64 bytes
Below are the results of various MTD Tests.
[root@fedora-arm tests]# insmod mtd_nandecctest.ko mtd_nandecctest: ok - nand-ecc-256 mtd_nandecctest: ok - nand-ecc-512
[root@fedora-arm tests]# insmod mtd_pagetest.ko dev=2 ================================================= mtd_pagetest: MTD device: 2 mtd_pagetest: MTD device size 261095424, eraseblock size 131072, page size 2048, count of eraseblocks 1992, pages per eraseblock 64, OOB size 64 mtd_pagetest: scanning for bad eraseblocks mtd_pagetest: scanned 1992 eraseblocks, 0 are bad mtd_pagetest: erasing whole device mtd_pagetest: erased 1992 eraseblocks mtd_pagetest: writing whole device mtd_pagetest: written up to eraseblock 0 mtd_pagetest: written up to eraseblock 256 mtd_pagetest: written up to eraseblock 512 mtd_pagetest: written up to eraseblock 768 mtd_pagetest: written up to eraseblock 1024 mtd_pagetest: written up to eraseblock 1280 mtd_pagetest: written up to eraseblock 1536 mtd_pagetest: written up to eraseblock 1792 mtd_pagetest: written 1992 eraseblocks mtd_pagetest: verifying all eraseblocks mtd_pagetest: verified up to eraseblock 0 mtd_pagetest: verified up to eraseblock 256 mtd_pagetest: verified up to eraseblock 512 mtd_pagetest: verified up to eraseblock 768 mtd_pagetest: verified up to eraseblock 1024 mtd_pagetest: verified up to eraseblock 1280 mtd_pagetest: verified up to eraseblock 1536 mtd_pagetest: verified up to eraseblock 1792 mtd_pagetest: verified 1992 eraseblocks mtd_pagetest: crosstest mtd_pagetest: reading page at 0x0 mtd_pagetest: reading page at 0xf8ff800 mtd_pagetest: reading page at 0x0 mtd_pagetest: verifying pages read at 0x0 match mtd_pagetest: crosstest ok mtd_pagetest: erasecrosstest mtd_pagetest: erasing block 0 mtd_pagetest: writing 1st page of block 0 mtd_pagetest: reading 1st page of block 0 mtd_pagetest: verifying 1st page of block 0 mtd_pagetest: erasing block 0 mtd_pagetest: writing 1st page of block 0 mtd_pagetest: erasing block 1991 mtd_pagetest: reading 1st page of block 0 mtd_pagetest: verifying 1st page of block 0 mtd_pagetest: erasecrosstest ok mtd_pagetest: erasetest mtd_pagetest: erasing block 0 mtd_pagetest: writing 1st page of block 0 mtd_pagetest: erasing block 0 mtd_pagetest: reading 1st page of block 0 mtd_pagetest: verifying 1st page of block 0 is all 0xff mtd_pagetest: erasetest ok mtd_pagetest: finished with 0 errors =================================================
[root@fedora-arm tests]# insmod mtd_subpagetest.ko dev=2 ================================================= mtd_subpagetest: MTD device: 2 mtd_subpagetest: MTD device size 261095424, eraseblock size 131072, page size 2048, subpage size 512, count of eraseblocks 1992, pages per eraseblock 64, OOB size 64 mtd_subpagetest: scanning for bad eraseblocks mtd_subpagetest: scanned 1992 eraseblocks, 0 are bad mtd_subpagetest: erasing whole device mtd_subpagetest: erased 1992 eraseblocks mtd_subpagetest: writing whole device mtd_subpagetest: written up to eraseblock 0 mtd_subpagetest: written up to eraseblock 256 mtd_subpagetest: written up to eraseblock 512 mtd_subpagetest: written up to eraseblock 768 mtd_subpagetest: written up to eraseblock 1024 mtd_subpagetest: written up to eraseblock 1280 mtd_subpagetest: written up to eraseblock 1536 mtd_subpagetest: written up to eraseblock 1792 mtd_subpagetest: written 1992 eraseblocks mtd_subpagetest: verifying all eraseblocks uncorrectable error : mtd_subpagetest: error: read failed at 0x200 mtd_subpagetest: error -74 occurred ================================================= insmod: error inserting 'mtd_subpagetest.ko': -1 Bad message
[root@fedora-arm tests]# insmod mtd_readtest.ko dev=2 ================================================= mtd_readtest: MTD device: 2 mtd_readtest: MTD device size 261095424, eraseblock size 131072, page size 2048, count of eraseblocks 1992, pages per eraseblock 64, OOB size 64 mtd_readtest: scanning for bad eraseblocks mtd_readtest: scanned 1992 eraseblocks, 0 are bad mtd_readtest: testing page read mtd_readtest: finished =================================================