Hi all,
I'm having problems with the flashrom on my system. I'm trying to read out the rom content from my machine which is a hp machine with ich9 controller and Amtel AT26DF321 flash chip. However, the reading only halfway through and error occur. Anyone encountered this? Can provide some advice on this?
Thanks.
Attached is the error output:
...sanity check ...outside the Asylum at 0/00/0 ...OK Decided to use Intel-conf1 Scanning bus 00 for devices... Scanning bus 01 for devices... Scanning bus 20 for devices... Scanning bus 30 for devices... Scanning bus 07 for devices... Calibrating delay loop... 648M loops per second. ok No coreboot table found. Found chipset "Intel ICH9DO", enabling flash write... BIOS Lock Enable: enabled, BIOS Write Enable: disabled, BIOS_CNTL is 0x2 tried to set 0xdc to 0x3 (0x2) on Intel ICH9DO failed (WARNING ONLY) Root Complex Register Block address = 0xfed1c000 GCS = 0xb60464: BIOS Interface Lock-Down: disabled, BOOT BIOS Straps: 0x1 (SPI) Top Swap : not enabled SPIBAR = 0xfed1c000 + 0x3800 0x04: 0xe008 (HSFS) FLOCKDN 1, FDV 1, FDOPSS 1, SCIP 0, BERASE 1, AEL 0, FCERR 0, FDONE 0 0x50: 0x00001a1b (FRAP) BMWAG 0, BMRAG 0, BRWA 26, BRRA 27 0x54: 0x00000000 (FREG0) 0x58: 0x03ff0240 (FREG1) 0x5C: 0x023f000b (FREG2) 0x60: 0x00020001 (FREG3) 0x64: 0x000a0003 (FREG4) 0x74: 0x83ff03f0 (PR0) 0x78: 0x00000000 (PR1) 0x7C: 0x00000000 (PR2) 0x80: 0x00000000 (PR3) 0x84: 0x00000000 (PR4) 0x90: 0x007f400c (SSFS, SSFC) 0x94: 0x0606 (PREOP) 0x96: 0xb6f0 (OPTYPE) 0x98: 0x0220059f (OPMENU) 0x9C: 0x03020103 (OPMENU+4) 0xA0: 0x00000000 (BBAR) 0xB0: 0x00000000 (FDOC) WARNING: SPI Configuration Lockdown activated. Generating OPCODES... generate_opcodes: Opcode = 9f generate_opcodes: Opcode = 5 generate_opcodes: Opcode = 20 generate_opcodes: Opcode = 2 generate_opcodes: Opcode = 3 generate_opcodes: Opcode = 1 generate_opcodes: Opcode = 2 generate_opcodes: Opcode = 3 done SPI Read Configuration: prefetching disabled, caching enabled, FAILED! Probing for Atmel AT26DF321, 4096 KB: base = ffc00000, sys_pasgesize = 4096, pagesize = 4194304 BBAR: 0x0 RDID returned 1f 47 00. probe_spi_rdid_generic: id1 0x1f, id2 0x4700 BBAR: 0x0 Chip status register is 10 Found chip "Atmel AT26DF321" (4096 KB) at physical address 0xffc00000. === This flash part has status UNTESTED for operations: PROBE READ ERASE WRITE Please email a report to flashrom@coreboot.org if any of the above operations work correctly for you with this flash part. Please include the full output from the program, including chipset found. Thank you for your help! === Reading flash... ich_spi_read_page: offset=0, number=256, buf=01630020 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 ich_spi_read_page: offset=256, number=256, buf=01630120 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 ich_spi_read_page: offset=512, number=256, buf=01630220 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 ich_spi_read_page: offset=768, number=256, buf=01630320 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 ich_spi_read_page: offset=1024, number=256, buf=01630420 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 ich_spi_read_page: offset=1280, number=256, buf=01630520 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 ich_spi_read_page: offset=1536, number=256, buf=01630620 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 ich_spi_read_page: offset=1792, number=256, buf=01630720 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 ich_spi_read_page: offset=2048, number=256, buf=01630820 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 ich_spi_read_page: offset=2304, number=256, buf=01630920 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 ich_spi_read_page: offset=2560, number=256, buf=01630A20 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 ich_spi_read_page: offset=2816, number=256, buf=01630B20 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 ich_spi_read_page: offset=3072, number=256, buf=01630C20 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 ich_spi_read_page: offset=3328, number=256, buf=01630D20 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 ich_spi_read_page: offset=3584, number=256, buf=01630E20 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 ich_spi_read_page: offset=3840, number=256, buf=01630F20 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 ich_spi_read_page: offset=4096, number=256, buf=01631020 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 ich_spi_read_page: offset=4352, number=256, buf=01631120 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 ich_spi_read_page: offset=4608, number=256, buf=01631220 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 ich_spi_read_page: offset=4864, number=256, buf=01631320 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 ich_spi_read_page: offset=5120, number=256, buf=01631420 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 ich_spi_read_page: offset=5376, number=256, buf=01631520 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 ich_spi_read_page: offset=5632, number=256, buf=01631620 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 ich_spi_read_page: offset=5888, number=256, buf=01631720 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 ich_spi_read_page: offset=6144, number=256, buf=01631820 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 ich_spi_read_page: offset=6400, number=256, buf=01631920 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 ich_spi_read_page: offset=6656, number=256, buf=01631A20 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 ich_spi_read_page: offset=6912, number=256, buf=01631B20 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 ich_spi_read_page: offset=7168, number=256, buf=01631C20 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 ich_spi_read_page: offset=7424, number=256, buf=01631D20 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 ich_spi_read_page: offset=7680, number=256, buf=01631E20 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 ich_spi_read_page: offset=7936, number=256, buf=01631F20 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 ich_spi_read_page: offset=8192, number=256, buf=01632020 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 ich_spi_read_page: offset=8448, number=256, buf=01632120 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 ich_spi_read_page: offset=8704, number=256, buf=01632220 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 ich_spi_read_page: offset=8960, number=256, buf=01632320 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 ich_spi_read_page: offset=9216, number=256, buf=01632420 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 ich_spi_read_page: offset=9472, number=256, buf=01632520 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 ich_spi_read_page: offset=9728, number=256, buf=01632620 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 ich_spi_read_page: offset=9984, number=256, buf=01632720 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 ich_spi_read_page: offset=10240, number=256, buf=01632820 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 ich_spi_read_page: offset=10496, number=256, buf=01632920 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 ich_spi_read_page: offset=10752, number=256, buf=01632A20 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 ich_spi_read_page: offset=11008, number=256, buf=01632B20 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 ich_spi_read_page: offset=11264, number=256, buf=01632C20 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 ich_spi_read_page: offset=11520, number=256, buf=01632D20 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 ich_spi_read_page: offset=11776, number=256, buf=01632E20 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 ich_spi_read_page: offset=12032, number=256, buf=01632F20 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 ich_spi_read_page: offset=12288, number=256, buf=01633020 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 ich_spi_read_page: offset=12544, number=256, buf=01633120 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 ich_spi_read_page: offset=12800, number=256, buf=01633220 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 ich_spi_read_page: offset=13056, number=256, buf=01633320 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 ich_spi_read_page: offset=13312, number=256, buf=01633420 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 ich_spi_read_page: offset=13568, number=256, buf=01633520 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 ich_spi_read_page: offset=13824, number=256, buf=01633620 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 ich_spi_read_page: offset=14080, number=256, buf=01633720 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 ich_spi_read_page: offset=14336, number=256, buf=01633820 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 ich_spi_read_page: offset=14592, number=256, buf=01633920 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 ich_spi_read_page: offset=14848, number=256, buf=01633A20 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 ich_spi_read_page: offset=15104, number=256, buf=01633B20 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 ich_spi_read_page: offset=15360, number=256, buf=01633C20 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 ich_spi_read_page: offset=15616, number=256, buf=01633D20 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 ich_spi_read_page: offset=15872, number=256, buf=01633E20 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 ich_spi_read_page: offset=16128, number=256, buf=01633F20 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 ich_spi_read_page: offset=16384, number=256, buf=01634020 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 ich_spi_read_page: offset=16640, number=256, buf=01634120 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 ich_spi_read_page: offset=16896, number=256, buf=01634220 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 ich_spi_read_page: offset=17152, number=256, buf=01634320 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 ich_spi_read_page: offset=17408, number=256, buf=01634420 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 ich_spi_read_page: offset=17664, number=256, buf=01634520 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 ich_spi_read_page: offset=17920, number=256, buf=01634620 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 ich_spi_read_page: offset=18176, number=256, buf=01634720 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 ich_spi_read_page: offset=18432, number=256, buf=01634820 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 ich_spi_read_page: offset=18688, number=256, buf=01634920 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 ich_spi_read_page: offset=18944, number=256, buf=01634A20 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 ich_spi_read_page: offset=19200, number=256, buf=01634B20 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 ich_spi_read_page: offset=19456, number=256, buf=01634C20 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 ich_spi_read_page: offset=19712, number=256, buf=01634D20 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 ich_spi_read_page: offset=19968, number=256, buf=01634E20 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 ich_spi_read_page: offset=20224, number=256, buf=01634F20 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 ich_spi_read_page: offset=20480, number=256, buf=01635020 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 ich_spi_read_page: offset=20736, number=256, buf=01635120 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 ich_spi_read_page: offset=20992, number=256, buf=01635220 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 ich_spi_read_page: offset=21248, number=256, buf=01635320 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 ich_spi_read_page: offset=21504, number=256, buf=01635420 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 ich_spi_read_page: offset=21760, number=256, buf=01635520 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 ich_spi_read_page: offset=22016, number=256, buf=01635620 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 ich_spi_read_page: offset=22272, number=256, buf=01635720 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 ich_spi_read_page: offset=22528, number=256, buf=01635820 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 ich_spi_read_page: offset=22784, number=256, buf=01635920 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 ich_spi_read_page: offset=23040, number=256, buf=01635A20 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 ich_spi_read_page: offset=23296, number=256, buf=01635B20 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 ich_spi_read_page: offset=23552, number=256, buf=01635C20 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 ich_spi_read_page: offset=23808, number=256, buf=01635D20 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 ich_spi_read_page: offset=24064, number=256, buf=01635E20 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 ich_spi_read_page: offset=24320, number=256, buf=01635F20 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 ich_spi_read_page: offset=24576, number=256, buf=01636020 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 ich_spi_read_page: offset=24832, number=256, buf=01636120 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 ich_spi_read_page: offset=25088, number=256, buf=01636220 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 ich_spi_read_page: offset=25344, number=256, buf=01636320 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 ich_spi_read_page: offset=25600, number=256, buf=01636420 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 ich_spi_read_page: offset=25856, number=256, buf=01636520 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 ich_spi_read_page: offset=26112, number=256, buf=01636620 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 ich_spi_read_page: offset=26368, number=256, buf=01636720 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 ich_spi_read_page: offset=26624, number=256, buf=01636820 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 ich_spi_read_page: offset=26880, number=256, buf=01636920 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 ich_spi_read_page: offset=27136, number=256, buf=01636A20 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 ich_spi_read_page: offset=27392, number=256, buf=01636B20 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 ich_spi_read_page: offset=27648, number=256, buf=01636C20 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 ich_spi_read_page: offset=27904, number=256, buf=01636D20 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 ich_spi_read_page: offset=28160, number=256, buf=01636E20 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 ich_spi_read_page: offset=28416, number=256, buf=01636F20 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 ich_spi_read_page: offset=28672, number=256, buf=01637020 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 ich_spi_read_page: offset=28928, number=256, buf=01637120 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 ich_spi_read_page: offset=29184, number=256, buf=01637220 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 ich_spi_read_page: offset=29440, number=256, buf=01637320 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 ich_spi_read_page: offset=29696, number=256, buf=01637420 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 ich_spi_read_page: offset=29952, number=256, buf=01637520 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 ich_spi_read_page: offset=30208, number=256, buf=01637620 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 ich_spi_read_page: offset=30464, number=256, buf=01637720 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 ich_spi_read_page: offset=30720, number=256, buf=01637820 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 ich_spi_read_page: offset=30976, number=256, buf=01637920 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 ich_spi_read_page: offset=31232, number=256, buf=01637A20 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 ich_spi_read_page: offset=31488, number=256, buf=01637B20 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 ich_spi_read_page: offset=31744, number=256, buf=01637C20 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 ich_spi_read_page: offset=32000, number=256, buf=01637D20 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 ich_spi_read_page: offset=32256, number=256, buf=01637E20 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 ich_spi_read_page: offset=32512, number=256, buf=01637F20 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 ich_spi_read_page: offset=32768, number=256, buf=01638020 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 ich_spi_read_page: offset=33024, number=256, buf=01638120 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 ich_spi_read_page: offset=33280, number=256, buf=01638220 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 ich_spi_read_page: offset=33536, number=256, buf=01638320 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 ich_spi_read_page: offset=33792, number=256, buf=01638420 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 ich_spi_read_page: offset=34048, number=256, buf=01638520 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 ich_spi_read_page: offset=34304, number=256, buf=01638620 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 ich_spi_read_page: offset=34560, number=256, buf=01638720 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 ich_spi_read_page: offset=34816, number=256, buf=01638820 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 ich_spi_read_page: offset=35072, number=256, buf=01638920 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 ich_spi_read_page: offset=35328, number=256, buf=01638A20 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 ich_spi_read_page: offset=35584, number=256, buf=01638B20 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 ich_spi_read_page: offset=35840, number=256, buf=01638C20 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 ich_spi_read_page: offset=36096, number=256, buf=01638D20 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 ich_spi_read_page: offset=36352, number=256, buf=01638E20 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 ich_spi_read_page: offset=36608, number=256, buf=01638F20 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 ich_spi_read_page: offset=36864, number=256, buf=01639020 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 ich_spi_read_page: offset=37120, number=256, buf=01639120 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 ich_spi_read_page: offset=37376, number=256, buf=01639220 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 ich_spi_read_page: offset=37632, number=256, buf=01639320 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 ich_spi_read_page: offset=37888, number=256, buf=01639420 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 ich_spi_read_page: offset=38144, number=256, buf=01639520 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 ich_spi_read_page: offset=38400, number=256, buf=01639620 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 ich_spi_read_page: offset=38656, number=256, buf=01639720 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 ich_spi_read_page: offset=38912, number=256, buf=01639820 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 ich_spi_read_page: offset=39168, number=256, buf=01639920 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 ich_spi_read_page: offset=39424, number=256, buf=01639A20 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 ich_spi_read_page: offset=39680, number=256, buf=01639B20 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 ich_spi_read_page: offset=39936, number=256, buf=01639C20 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 ich_spi_read_page: offset=40192, number=256, buf=01639D20 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 ich_spi_read_page: offset=40448, number=256, buf=01639E20 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 ich_spi_read_page: offset=40704, number=256, buf=01639F20 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 ich_spi_read_page: offset=40960, number=256, buf=0163A020 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 ich_spi_read_page: offset=41216, number=256, buf=0163A120 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 ich_spi_read_page: offset=41472, number=256, buf=0163A220 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 ich_spi_read_page: offset=41728, number=256, buf=0163A320 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 ich_spi_read_page: offset=41984, number=256, buf=0163A420 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 ich_spi_read_page: offset=42240, number=256, buf=0163A520 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 ich_spi_read_page: offset=42496, number=256, buf=0163A620 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 ich_spi_read_page: offset=42752, number=256, buf=0163A720 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 ich_spi_read_page: offset=43008, number=256, buf=0163A820 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 ich_spi_read_page: offset=43264, number=256, buf=0163A920 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 ich_spi_read_page: offset=43520, number=256, buf=0163AA20 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 ich_spi_read_page: offset=43776, number=256, buf=0163AB20 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 ich_spi_read_page: offset=44032, number=256, buf=0163AC20 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 ich_spi_read_page: offset=44288, number=256, buf=0163AD20 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 ich_spi_read_page: offset=44544, number=256, buf=0163AE20 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 ich_spi_read_page: offset=44800, number=256, buf=0163AF20 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 BBAR: 0x0 ich_spi_read_page: offset=45056, number=256, buf=0163B020 BBAR: 0x0 Transaction error! run OPCODE 0x03 failed Error readingdone.
Stan Yong wrote:
I'm having problems with the flashrom on my system. ... Can provide some advice on this?
I can only tell the reason. Your current BIOS prevents flashrom from reading certain part of the flash chip. I don't know if there is any way to bypass that setting.
If you are interested in further explanation on the flashrom output, please read on.
ich_spi_read_page: offset=45056, number=256, buf=0163B020 BBAR: 0x0 Transaction error! run OPCODE 0x03 failed Error readingdone.
Error occurs here, when flashrom tries to read data at offset 45056 from the flash chip. 45056(dec) = b000(hex).
Look at FREG2.
0x5C: 0x023f000b (FREG2)
The value 0x0(23f)0(00b) means, the area in the flash chip from 0x00(00b)000 to 0x00(23f)fff belongs to (F)lash (REG)ion (2), which stores data for the "Management Engine". That is, flashrom runs into error when it is trying to read FREG2.
Now look at FRAP.
0x50: 0x00001a1b (FRAP)
The least significant byte '1b' indicates which regions software can read. Expand it to binary, 00011011. That means the software can read FREG0, FREG1, FREG3 and FREG4 but not FREG2. That is why flashrom runs into error at offset 45056.
yu ning
FENG Yu Ning wrote:
Look at FREG2. Now look at FRAP.
Thanks a lot for those great explanations!
It might be nice to check this in the code as well.
//Peter
on 06/05/2009 18:41 FENG Yu Ning said the following:
Look at FREG2.
0x5C: 0x023f000b (FREG2)
The value 0x0(23f)0(00b) means, the area in the flash chip from 0x00(00b)000 to 0x00(23f)fff belongs to (F)lash (REG)ion (2), which stores data for the "Management Engine". That is, flashrom runs into error when it is trying to read FREG2.
Now look at FRAP.
0x50: 0x00001a1b (FRAP)
The least significant byte '1b' indicates which regions software can read. Expand it to binary, 00011011. That means the software can read FREG0, FREG1, FREG3 and FREG4 but not FREG2. That is why flashrom runs into error at offset 45056.
Yu Ning, thank you for the very enlightening explanation! I wonder what the following means (on my machine): 0x54: 0x00000000 (FREG0)
Flash region of size 0? BTW: 0x50: 0x00000a0b (FRAP)
Andriy Gapon wrote:
I wonder what the following means (on my machine): 0x54: 0x00000000 (FREG0)
All 0s value is confusing at the first sight. However, if you would like to read the explanation once more and pay attention to the detail, I believe you will get a different conclusion.
The value 0x0(23f)0(00b) means, ... ... to 0x00(23f)fff ...
You probably have got it.
The explanation contains minor error, though. To be exact, bits 28 .. 16 of FREGn represent bits 24 .. 12 of the region's limit. That is one bit more than my parentheses show. Bits 11 .. 0 of the region's limit, I believe, is 0xfff, which is not clearly stated in the datasheet. Bits 12 .. 0 of FREGn represent bits 24 .. 12 of the region's base. The other (lower) bits of the region's base should be 0.
Therefore, 0x00000000 should mean a region from 0x0000000 to 0x0000fff.
BTW: 0x50: 0x00000a0b (FRAP)
According to the datasheet, the bit n in bits 7 .. 0 indicates software read access to FREGn (n is in [0, 4]). Similarly, the bit n in bits 15 .. 8 indicates software write access to FREG(n-8) ((n-8) is in [0, 4]). So the value means software can write to FREG1 and FREG3, while it can read FREG0, 1 and 3. However, iirc, there is other protection mechanism, so software may still be banned to write on part of FREG1 or FREG3.
If you would like to get information from the source, dig into Chap 22 of the ICH9 datasheet. You may need multiple parses to find out what you need. Besides, there are some mistakes in the datasheet, but that should not affect if you are not reading it very carefully.
yu ning
Yu Ning, thank you very much again. BTW, an unrelated question:
Generating OPCODES... done
does this line mean that no opcodes at all were generated? I wonder why that could be.
Andriy Gapon wrote:
Yu Ning, thank you very much again.
You are welcome.
Generating OPCODES... done
does this line mean that no opcodes at all were generated? I wonder why that could be.
I think it means opcodes have been successfully generated. The difference you saw may be caused by changed printing code in different versions/revisions. I am not following the recent commit (v0.9) closely, so not sure of that. However, I think you can find it out easily. Just look at the gen_opcodes (maybe not exactly that name) function in ichspi.c
yu ning
Hi,
Thanks for the explanation. After looking at the ICH9 specification, i'm thinking of modifying the FRAP register value in order to enable write and read permission to all the region. However, i have a question:
How to exactly use flashrom to bring the SPI into descriptor mode so that i can do a read and write to FRAP? Or is that even possible?
Thanks.
On Wed, May 6, 2009 at 11:41 PM, FENG Yu Ning fengyuning1984@gmail.comwrote:
Stan Yong wrote:
I'm having problems with the flashrom on my system. ... Can provide some advice on this?
I can only tell the reason. Your current BIOS prevents flashrom from reading certain part of the flash chip. I don't know if there is any way to bypass that setting.
If you are interested in further explanation on the flashrom output, please read on.
ich_spi_read_page: offset=45056, number=256, buf=0163B020 BBAR: 0x0 Transaction error! run OPCODE 0x03 failed Error readingdone.
Error occurs here, when flashrom tries to read data at offset 45056 from the flash chip. 45056(dec) = b000(hex).
Look at FREG2.
0x5C: 0x023f000b (FREG2)
The value 0x0(23f)0(00b) means, the area in the flash chip from 0x00(00b)000 to 0x00(23f)fff belongs to (F)lash (REG)ion (2), which stores data for the "Management Engine". That is, flashrom runs into error when it is trying to read FREG2.
Now look at FRAP.
0x50: 0x00001a1b (FRAP)
The least significant byte '1b' indicates which regions software can read. Expand it to binary, 00011011. That means the software can read FREG0, FREG1, FREG3 and FREG4 but not FREG2. That is why flashrom runs into error at offset 45056.
yu ning
Stan Yong wrote:
i'm thinking of modifying the FRAP register value in order to enable write and read permission to all the region.
(I don't like giving discouraging information. I have given much.)
I am afraid that it could not be done if datasheet is correct.
As you may have read in the datasheet, FRAP in the chipset is a shadowing register, it is read-only. The original data is in region 0(flash descriptor) of the flash chip, being read during chipset initialization. Since region 0 is also write-protected, flashrom cannot change it. That is a cycle.
How to exactly use flashrom to bring the SPI into descriptor mode so that i can do a read and write to FRAP?
I have some words here because I think you might misunderstand something.
The SPI controller sets itself in descriptor mode when it sees some mark in the flash chip during initialization. It does not need flashrom to bring it into d-mode. And as a memory-mapped register, FRAP can be read regardless of the mode it is in.
yu ning
Hi,
Thanks for the guidance.
Not sure if Is there any more useful documentation beside the datasheet of the ICH9 that i can refer to to read more about SPI chip programming?
Thanks.
On Fri, May 8, 2009 at 12:03 AM, FENG Yu Ning fengyuning1984@gmail.comwrote:
Stan Yong wrote:
i'm thinking of modifying the FRAP register value in order to enable
write
and read permission to all the region.
(I don't like giving discouraging information. I have given much.)
I am afraid that it could not be done if datasheet is correct.
As you may have read in the datasheet, FRAP in the chipset is a shadowing register, it is read-only. The original data is in region 0(flash descriptor) of the flash chip, being read during chipset initialization. Since region 0 is also write-protected, flashrom cannot change it. That is a cycle.
How to exactly use flashrom to bring the SPI into descriptor mode so that
i
can do a read and write to FRAP?
I have some words here because I think you might misunderstand something.
The SPI controller sets itself in descriptor mode when it sees some mark in the flash chip during initialization. It does not need flashrom to bring it into d-mode. And as a memory-mapped register, FRAP can be read regardless of the mode it is in.
yu ning
Stan Yong wrote:
Not sure if Is there any more useful documentation beside the datasheet of the ICH9 that i can refer to to read more about SPI chip programming?
Don't think there is a short cut. Just keep reading datasheet of the chipsets and flash chips you are interested in or run into trouble with. Keep reading the list (as you are already doing). You can often learn something at the IRC channel.
Maybe you will be familier with SPI programming some day then you can write something for the followers :-)
yu ning