| Electronics > Repair |
| Agilent 34461A corrupted flash |
| << < (25/41) > >> |
| analogRF:
from the datasheet of the NAND flash chip: --- Code: ---Internal ECC and Spare Area Mapping for ECC Internal ECC enables 5-bit detection and 4-bit error correction in 512 bytes (x8) or 256 words (x16) of the main area and 4 bytes (x8) or 2 words (x16) of metadata I in the spare area. The metadata II area, which consists of two bytes (x8) and one word (x16), is not ECC protected. During the busy time for PROGRAM operations, internal ECC generates parity bits when error detection is complete. During READ operations the device executes the internal ECC engine (5-bit detection and 4-bit error correction). When the READ operaton is complete, read status bit 0 must be checked to determine whether errors larger than four bits have occurred. Following the READ STATUS command, the device must be returned to read mode by issuing the 00h command. Limitations of internal ECC include the spare area, defined in the figures below, and ECC parity areas that cannot be written to. Each ECC user area (referred to as main and spare) must be written within one partial-page program so that the NAND device can calculate the proper ECC parity. The number of partial-page programs within a page cannot exceed four --- End code --- |
| ElectronMan:
--- Quote from: analogRF on July 31, 2023, 12:29:57 am ---NAND chips on both of my meters are Micron MT29F1G08ABADAH4-ITX:D marked NQ432 both are identified in uboot as INTERNAL ECC 128 MiB --- End quote --- Okay, that is similar to what they put in their scopes. Mine is a WINBOND W29N01HV. It doesn't have internal ECC. So while I've figured out the code path and what causes that error on mine, it will likely be somewhat different for yours. What I can see, however, is that this appears to be when it is checking the "BAD BLOCK" area that it is finding something it doesn't like. Did you say that the OOB for page 0xc0000 was the same on both of your meters? Is there anything on one that is 0xFF that isn't on the broken one? |
| analogRF:
--- Quote from: ElectronMan on July 31, 2023, 12:36:08 am --- --- Quote from: analogRF on July 31, 2023, 12:29:57 am ---NAND chips on both of my meters are Micron MT29F1G08ABADAH4-ITX:D marked NQ432 both are identified in uboot as INTERNAL ECC 128 MiB --- End quote --- Okay, that is similar to what they put in their scopes. Mine is a WINBOND W29N01HV. It doesn't have internal ECC. So while I've figured out the code path and what causes that error on mine, it will likely be somewhat different for yours. What I can see, however, is that this appears to be when it is checking the "BAD BLOCK" area that it is finding something it doesn't like. Did you say that the OOB for page 0xc0000 was the same on both of your meters? Is there anything on one that is 0xFF that isn't on the broken one? --- End quote --- right at the first page at 0xc0000 although the actual numbers are different because I had changed the serverip on the bad meter and then changed it back and when you do make a change the whole set of env variables are re-written so the pattern becomes different and the OOB are not identical however the pattern of numbers is identical but after that first page (on pages that are all 0x00) the OOB are exactly identical |
| analogRF:
I am pretty sure it is not the nand having a physical problem. the pboot is doing a wrong calculation for some reason maybe it is not identifying the correct chip ID |
| analogRF:
where do you think pboot is getting those "default" boot parameters from. Look at the error here: --- Code: ---ERROR : Bootloader setting load failed [b][b]INFO : Loading default bootloader settings[/b][/b] Press [ENTER] to launch image stored in flash or [SPACE] to cancel. Initiating image launch in 4 seconds P500 Boot Loader Configuration : Mac address .......... (04:02:02:20:02:02) Ip address ........... (192.168.114.201) Subnet Mask address .. (255.255.255.0) DHCP ................. (Enabled) Boot delay (seconds).. (5) Load image 3 at startup Image addresses. (0xdxxxxxxx for NAND, 0x8xxxxxxx for RAM) 1 (0xd0400000) 2 (0xd1700000) 3 (0x84000000) --- End code --- if we can somehow change those stupid default values to 0xD0620000 and 0xD2120000 then we should be good to go :-X :-X |
| Navigation |
| Message Index |
| Next page |
| Previous page |