Electronics > Repair
Agilent 34461A corrupted flash
<< < (13/41) > >>
analogRF:
FWIW when I get the pboot prompt to choose how to boot and I choose option "d" (download from platform builder) here is the boot log until the unit is fully booted and the meter works perfectly after that for hours until I turn it off


--- Code: ---......

FMD_DirectRead: Invalid block at sector 0xffc0 bumping by 0x40 sectors
CRC does not match for NAND AF7F475B 3665EF2
ERROR : Bootloader setting load failed
INFO : Loading default bootloader settings

Press [ENTER] to launch image stored in flash or [SPACE] to cancel.
Initiating image launch in   5 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)

l) Load memory resident image Load image 3 now
1) Load memory resident image 1 now
2) Load memory resident image 2 now
3) Load memory resident image 3 now
d) Download from platform builder now
u) Start u-boot by resetting
v) Verify Images
>System ready!
Preparing for download...
No RTC on 320
 Downloading image from platform builder
Setting MAC address GMAC_MAC_ADDR_HI_LO[0] = 0x80000202, GMAC_MAC_ADDR_HI_LO[1] = 0x20020204
Auto Negotiation complete in 120192 iterations
Link up
AutoNegotiate Full Duplex
AutoNegotiate 100 Base T
Reading MAC address 0x402 0x220 0x202
Setting MAC address GMAC_MAC_ADDR_HI_LO[0] = 0x80000202, GMAC_MAC_ADDR_HI_LO[1] = 0x20020204
INFO: GMAC Ethernet controller initialized.
InitDHCP():: Calling ProcessDHCP()
ProcessDHCP()::DHCP_INIT
Got Response from DHCP server, IP address: 10.0.0.13

ProcessDHCP()::DHCP IP Address Resolved as 10.0.0.13, netmask: 255.255.255.0
Lease time: 172800 seconds
Got Response from DHCP server, IP address: 10.0.0.13
No ARP response in 2 seconds, assuming ownership of 10.0.0.13
+EbootSendBootmeAndWaitForTftp
Sent BOOTME to 255.255.255.255
Packet has the following data:
  boot.bin[NULL]octet[NULL]
TFTP packet could have 1 name/value pairs
Locked Down Link 1
Src IP 10.0.0.13 Port 03D4   Dest IP 10.0.0.223 Port 0499
Default TFTP block size set to: 512 bytes
There were no options detected in the TFTP
EthDown::TFTPD_OPEN::boot.bin
-EbootSendBootmeAndWaitForTftp

BL_IMAGE_TYPE_BIN

X
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXrom_offset=0x0.
XXImageStart = 0x80361000, ImageLength = 0x185E320, LaunchAddr = 0x80362000

Completed file(s):
-------------------------------------------------------------------------------
[0]: Address=0x80361000  Length=0x185E320  Name="" Target=RAM
 Loading image 3 succeeded.
ROMHDR at Address 80361044h
Preparing launch...
No RTC on 320
Got EDBG_CMD_JUMPIMG
Got EDBG_CMD_CONFIG, flags:0x00000000
Launching windows CE image by jumping at address 0x  362000

Windows CE Kernel for ARM (Thumb Enabled) Built on Mar  8 2013 at 17:05:33
Setting up for a Cold Reboot
Done Setting up for a Cold Reboot
Windows CE Firmware Init
BSP 1.0.0 for the SPEARHEAD600AB board (built Jul  2 2021)
Adaptation performed by ADENEO (c) 2005
+OALIntrInit
-OALIntrInit(rc = 1)
Initialize driver globals Zeros area...
pDrvGlobalArea 0xa0060000  size 0x800 (0xa0060800 -0xa0060000)
Initialize driver globals Zeros area...done
 OALKitlStart
Firmware Init Done.
OALIoctlHalEnterI2cCriticalSection init i2c cs
ERROR: C:\WINCE600\PLATFORM\COMMON\SRC\SOC\STM\SPEARHEAD600\DRIVERS\NandFlash\.\sh600_NandFlash.c line 57: ConfigTimming - Unable to opey
ERROR: C:\WINCE600\PLATFORM\COMMON\SRC\SOC\STM\COMMON\DRIVERS\NandFlash\.\stm_NandFlash.c line 1043: LLD_GetInfo - Unable to open devicey
++SER_Init: context Drivers\Active\10
SER_Init, dwIndex:2
GPIO_Select0 Register 0xB300_0024: 0x80000000
Control Register 0xB300_0010 : 0x00000040
RAS Select Register 0xB300_000C: 0xffffacf4
CORE_CLK_CFG 0xB300_0024: 0x80000000
SER2 got sysintr:0x00000013
SER2 Serial Port, new baud rate:0x1c200  (UARTCLK:83250000 IBRD:0x2d FBRD:0xa)
++SER_Init: context Drivers\Active\11
SER_Init, dwIndex:3
GPIO_Select0 Register 0xB300_0024: 0x80000000
Control Register 0xB300_0010 : 0x00000040
RAS Select Register 0xB300_000C: 0xffffacf4
CORE_CLK_CFG 0xB300_0024: 0x80000000
+OALIntrRequestSysIntr IRQ (1) already used by SYSINTR (19)
SER3 got sysintr:0x00000014
SER3 Serial Port, new baud rate:0x1c200  (UARTCLK:83250000 IBRD:0x2d FBRD:0xa)
OHCI\system.c, GCFG_USBH1_SW_RST
OHCI\system.c, GCFG_USBH2_SW_RST
-EDeviceLoadEeprom 80:09:02:0E:7A:4F
Phy found addr 7 (ticks=5100)
WaitForLink Start (ticks=5101)
Link Detected (ticks=5104)

 GMAC Init : 100 Mbit/s FULL DUPLEX (MII)
Flushed Transmit Buffer
phyCfg->dwSpeed 0x64
<--EDeviceInitialize

GMAC DMA status register = 0x600004
GMAC Device enable interrupt
DriverStart
GMAC Device enable interrupt
LIN: Data Valid
Resetting the USB-device silicon
sh600_pdd, IOCTL_BUS_POSTINIT
ERROR: C:\WINCE600\3RDPARTY\Agilent\HPP\Common\Drivers\stm320_UsbFnBusDriver\.\ufnbus.cpp line 1137: failed opening \Agilent Flash\SPD\ue
                                                                                                                                        6
Autonegociation Start (ticks=7141)
+StartAutoNegotiation: pDeviceContext 0xd0506be0
Autonegociation End (ticks=9651)
WaitForLink Start (ticks=9652)
Link Detected (ticks=9655)

 GMAC Init : 100 Mbit/s FULL DUPLEX (MII)
cable attached
SHIM DLL, LoadRealDll [PalSysManagement.dll] for [AgilentPalSysManagement.dll]
SHIM [AgilentPalSysManagement.dll] Get Process Addresses
SHIM DLL, LoadRealDll [PalIO.dll] for [AgilentPalIO.dll]
SHIM [AgilentPalIO.dll] Get Process Addresses


#################### dllEntry ###########################

FP:Platform identified as MSP430-type based on 1182 mV
FP:IdEprom File [\Windows\AgtFrontPanelIdEpromData.34460-66502.xml] does not exist
FP:Platform identified as MSP430-type based on 1184 mV
FP:IdEprom File [\Windows\AgtFrontPanelIdEpromData.34460-66502.xml] does not exist
SER3 Serial Port, new baud rate:0x2faf08  (UARTCLK:83250000 IBRD:0x1 FBRD:0x2a)
Inguard Bootup Complete -- OK
InguardBootup Buffered Test Signal detected
FP:INVALID CID read, 0x01
FP:INVALID CID read, 0xff
FP:INVALID CID read, 0xff
FP:INVALID CID read, 0x33
FP:INVALID CID read, 0x16
FP:INVALID CID read, 0x88
FP:INVALID CID read, 0x6b
FP:INVALID CID read, 0x40
FP:DoCommand [2] FAILED 0x[80040302]
FP:DoCommand [2] Retry [1] Error was 0x[80040302]
FP:DoCommand [2] Final call Error 0x[0]
SHIM DLL, LoadRealDll [PalCaps.dll] for [AgilentPalCaps.dll]
SHIM [AgilentPalCaps.dll] Get Process Addresses
SHIM DLL, LoadRealDll [PalSStorage.dll] for [AgilentPalSStorage.dll]
SHIM [AgilentPalSStorage.dll] Get Process Addresses
SHIM DLL, LoadRealDll [PalWin32.dll] for [AgilentPalWin32.dll]
SHIM [AgilentPalWin32.dll] Get Process Addresses
SHIM DLL, LoadRealDll [PalWin32.dll] for [AgilentPalWin32.dll]
SHIM [AgilentPalWin32.dll] Get Process Addresses
SHIM DLL, LoadRealDll [PalSStorage.dll] for [AgilentPalSStorage.dll]
SHIM [AgilentPalSStorage.dll] Get Process Addresses
SHIM DLL, LoadRealDll [PalSysManagement.dll] for [AgilentPalSysManagement.dll]
SHIM [AgilentPalSysManagement.dll] Get Process Addresses
SHIM DLL, LoadRealDll [PalCaps.dll] for [AgilentPalCaps.dll]
SHIM [AgilentPalCaps.dll] Get Process Addresses
AgilentLxiWebStartUp successfully started LXI web service.]FMD_DirectRead: Invalid block at sector 0xfec0 bumping by 0x40 sectors
FMD_DirectRead: Invalid block at sector 0xff00 bumping by 0x40 sectors
FMD_DirectRead: Invalid block at sector 0xff40 bumping by 0x40 sectors
FMD_DirectRead: Invalid block at sector 0xff80 bumping by 0x40 sectors
FMD_DirectRead: Invalid block at sector 0xffc0 bumping by 0x40 sectors
CRC does not match for NAND AF7F475B 3665EF2
ERROR : Bootloader setting load failed
INFO : Loading default bootloader settings

Press [ENTER] to launch image stored in flash or [SPACE] to cancel.
Initiating image launch in   5 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)

l) Load memory resident image Load image 3 now
1) Load memory resident image 1 now
2) Load memory resident image 2 now
3) Load memory resident image 3 now
d) Download from platform builder now
u) Start u-boot by resetting
v) Verify Images
>System ready!
Preparing for download...
No RTC on 320
 Downloading image from platform builder
Setting MAC address GMAC_MAC_ADDR_HI_LO[0] = 0x80000202, GMAC_MAC_ADDR_HI_LO[1] = 0x20020204
Auto Negotiation complete in 120192 iterations
Link up
AutoNegotiate Full Duplex
AutoNegotiate 100 Base T
Reading MAC address 0x402 0x220 0x202
Setting MAC address GMAC_MAC_ADDR_HI_LO[0] = 0x80000202, GMAC_MAC_ADDR_HI_LO[1] = 0x20020204
INFO: GMAC Ethernet controller initialized.
InitDHCP():: Calling ProcessDHCP()
ProcessDHCP()::DHCP_INIT
Got Response from DHCP server, IP address: 10.0.0.13

ProcessDHCP()::DHCP IP Address Resolved as 10.0.0.13, netmask: 255.255.255.0
Lease time: 172800 seconds
Got Response from DHCP server, IP address: 10.0.0.13
No ARP response in 2 seconds, assuming ownership of 10.0.0.13
+EbootSendBootmeAndWaitForTftp
Sent BOOTME to 255.255.255.255
Packet has the following data:
  boot.bin[NULL]octet[NULL]
TFTP packet could have 1 name/value pairs
Locked Down Link 1
Src IP 10.0.0.13 Port 03D4   Dest IP 10.0.0.223 Port 0499
Default TFTP block size set to: 512 bytes
There were no options detected in the TFTP
EthDown::TFTPD_OPEN::boot.bin
-EbootSendBootmeAndWaitForTftp

BL_IMAGE_TYPE_BIN

X
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXrom_offset=0x0.
XXImageStart = 0x80361000, ImageLength = 0x185E320, LaunchAddr = 0x80362000

Completed file(s):
-------------------------------------------------------------------------------
[0]: Address=0x80361000  Length=0x185E320  Name="" Target=RAM
 Loading image 3 succeeded.
ROMHDR at Address 80361044h
Preparing launch...
No RTC on 320
Got EDBG_CMD_JUMPIMG
Got EDBG_CMD_CONFIG, flags:0x00000000
Launching windows CE image by jumping at address 0x  362000

Windows CE Kernel for ARM (Thumb Enabled) Built on Mar  8 2013 at 17:05:33
Setting up for a Cold Reboot
Done Setting up for a Cold Reboot
Windows CE Firmware Init
BSP 1.0.0 for the SPEARHEAD600AB board (built Jul  2 2021)
Adaptation performed by ADENEO (c) 2005
+OALIntrInit
-OALIntrInit(rc = 1)
Initialize driver globals Zeros area...
pDrvGlobalArea 0xa0060000  size 0x800 (0xa0060800 -0xa0060000)
Initialize driver globals Zeros area...done
 OALKitlStart
Firmware Init Done.
OALIoctlHalEnterI2cCriticalSection init i2c cs
ERROR: C:\WINCE600\PLATFORM\COMMON\SRC\SOC\STM\SPEARHEAD600\DRIVERS\NandFlash\.\sh600_NandFlash.c line 57: ConfigTimming - Unable to opey
ERROR: C:\WINCE600\PLATFORM\COMMON\SRC\SOC\STM\COMMON\DRIVERS\NandFlash\.\stm_NandFlash.c line 1043: LLD_GetInfo - Unable to open devicey
++SER_Init: context Drivers\Active\10
SER_Init, dwIndex:2
GPIO_Select0 Register 0xB300_0024: 0x80000000
Control Register 0xB300_0010 : 0x00000040
RAS Select Register 0xB300_000C: 0xffffacf4
CORE_CLK_CFG 0xB300_0024: 0x80000000
SER2 got sysintr:0x00000013
SER2 Serial Port, new baud rate:0x1c200  (UARTCLK:83250000 IBRD:0x2d FBRD:0xa)
++SER_Init: context Drivers\Active\11
SER_Init, dwIndex:3
GPIO_Select0 Register 0xB300_0024: 0x80000000
Control Register 0xB300_0010 : 0x00000040
RAS Select Register 0xB300_000C: 0xffffacf4
CORE_CLK_CFG 0xB300_0024: 0x80000000
+OALIntrRequestSysIntr IRQ (1) already used by SYSINTR (19)
SER3 got sysintr:0x00000014
SER3 Serial Port, new baud rate:0x1c200  (UARTCLK:83250000 IBRD:0x2d FBRD:0xa)
OHCI\system.c, GCFG_USBH1_SW_RST
OHCI\system.c, GCFG_USBH2_SW_RST
-EDeviceLoadEeprom 80:09:02:0E:7A:4F
Phy found addr 7 (ticks=5100)
WaitForLink Start (ticks=5101)
Link Detected (ticks=5104)

 GMAC Init : 100 Mbit/s FULL DUPLEX (MII)
Flushed Transmit Buffer
phyCfg->dwSpeed 0x64
<--EDeviceInitialize

GMAC DMA status register = 0x600004
GMAC Device enable interrupt
DriverStart
GMAC Device enable interrupt
LIN: Data Valid
Resetting the USB-device silicon
sh600_pdd, IOCTL_BUS_POSTINIT
ERROR: C:\WINCE600\3RDPARTY\Agilent\HPP\Common\Drivers\stm320_UsbFnBusDriver\.\ufnbus.cpp line 1137: failed opening \Agilent Flash\SPD\ue
                                                                                                                                        6
Autonegociation Start (ticks=7141)
+StartAutoNegotiation: pDeviceContext 0xd0506be0
Autonegociation End (ticks=9651)
WaitForLink Start (ticks=9652)
Link Detected (ticks=9655)

 GMAC Init : 100 Mbit/s FULL DUPLEX (MII)
cable attached
SHIM DLL, LoadRealDll [PalSysManagement.dll] for [AgilentPalSysManagement.dll]
SHIM [AgilentPalSysManagement.dll] Get Process Addresses
SHIM DLL, LoadRealDll [PalIO.dll] for [AgilentPalIO.dll]
SHIM [AgilentPalIO.dll] Get Process Addresses


#################### dllEntry ###########################

FP:Platform identified as MSP430-type based on 1182 mV
FP:IdEprom File [\Windows\AgtFrontPanelIdEpromData.34460-66502.xml] does not exist
FP:Platform identified as MSP430-type based on 1184 mV
FP:IdEprom File [\Windows\AgtFrontPanelIdEpromData.34460-66502.xml] does not exist
SER3 Serial Port, new baud rate:0x2faf08  (UARTCLK:83250000 IBRD:0x1 FBRD:0x2a)
Inguard Bootup Complete -- OK
InguardBootup Buffered Test Signal detected
FP:INVALID CID read, 0x01
FP:INVALID CID read, 0xff
FP:INVALID CID read, 0xff
FP:INVALID CID read, 0x33
FP:INVALID CID read, 0x16
FP:INVALID CID read, 0x88
FP:INVALID CID read, 0x6b
FP:INVALID CID read, 0x40
FP:DoCommand [2] FAILED 0x[80040302]
FP:DoCommand [2] Retry [1] Error was 0x[80040302]
FP:DoCommand [2] Final call Error 0x[0]
SHIM DLL, LoadRealDll [PalCaps.dll] for [AgilentPalCaps.dll]
SHIM [AgilentPalCaps.dll] Get Process Addresses
SHIM DLL, LoadRealDll [PalSStorage.dll] for [AgilentPalSStorage.dll]
SHIM [AgilentPalSStorage.dll] Get Process Addresses
SHIM DLL, LoadRealDll [PalWin32.dll] for [AgilentPalWin32.dll]
SHIM [AgilentPalWin32.dll] Get Process Addresses
SHIM DLL, LoadRealDll [PalWin32.dll] for [AgilentPalWin32.dll]
SHIM [AgilentPalWin32.dll] Get Process Addresses
SHIM DLL, LoadRealDll [PalSStorage.dll] for [AgilentPalSStorage.dll]
SHIM [AgilentPalSStorage.dll] Get Process Addresses
SHIM DLL, LoadRealDll [PalSysManagement.dll] for [AgilentPalSysManagement.dll]
SHIM [AgilentPalSysManagement.dll] Get Process Addresses
SHIM DLL, LoadRealDll [PalCaps.dll] for [AgilentPalCaps.dll]
SHIM [AgilentPalCaps.dll] Get Process Addresses
AgilentLxiWebStartUp successfully started LXI web service.

--- End code ---


the MAC address is wrong at this point but when the meter boots it has the correct MAC address and its IP becomes 10.0.0.7
instead of 10.0.0.13
ElectronMan:

--- Quote from: analogRF on July 29, 2023, 10:14:17 pm ---so far at least I managed to get rid of the stupid YMODEM and used CEloader.exe to upload the uncompressed nk.bin file
to the meter after it fails to boot and I have the option to boot from platform builder. thats 1000 times faster than YMODEM
but still the problem remains. after successfully booting the meter and re -flashing firmware, it reboots into the exact same condition

I am now fairly convinced that the unit tries to load image #1 at d0400000 which is the wrong address. It must be d0620000
and I know for fact that there lies a good FW image at d0620000. I have checked it.

I just do not know where the unit is getting those wrong addresses from. Even the RAM address 84000000 (image #3) is wrong and it must be 80361000

any idea?

--- End quote ---

The PBOOT loader is trying to read the config from sector 0x180 in flash. It appears to be using flash page-sized sectors of 2048 bytes, so that puts it at the beginning of the 7th flash block at byte 0xC0000. In my flash, that contains this config, with a CRC32 in the first 4 bytes. It looks similar to the UBOOT config, but is null-separated (I've attached a copy). If you can read that flash location and see what is there, it may illuminate things.

With any luck, that block just needs rewritten.
analogRF:

--- Quote from: ElectronMan on July 30, 2023, 05:36:20 pm ---
The PBOOT loader is trying to read the config from sector 0x180 in flash. It appears to be using flash page-sized sectors of 2048 bytes, so that puts it at the beginning of the 7th flash block at byte 0xC0000. In my flash, that contains this config, with a CRC32 in the first 4 bytes. It looks similar to the UBOOT config, but is null-separated (I've attached a copy). If you can read that flash location and see what is there, it may illuminate things.

With any luck, that block just needs rewritten.

--- End quote ---

yes it seems a duplicate of the environment variables that I see in uboot and everything looks normal exactly like what I see in the uboot variables
the image addresses and MAC are correct.
note that I had changed my ipaddr variable to 10.0.0.242 (my tftp server) the default value is 000.000.000.000
but it is not related to the problem

is it possible that this is the place that uboot environment variables are stored? which we can see by printenv command. Because it is exactly those information
ElectronMan:

--- Quote from: analogRF on July 30, 2023, 06:01:05 pm ---
--- Quote from: ElectronMan on July 30, 2023, 05:36:20 pm ---
The PBOOT loader is trying to read the config from sector 0x180 in flash. It appears to be using flash page-sized sectors of 2048 bytes, so that puts it at the beginning of the 7th flash block at byte 0xC0000. In my flash, that contains this config, with a CRC32 in the first 4 bytes. It looks similar to the UBOOT config, but is null-separated (I've attached a copy). If you can read that flash location and see what is there, it may illuminate things.

With any luck, that block just needs rewritten.

--- End quote ---

yes it seems a duplicate of the environment variables that I see in uboot and everything looks normal exactly like what I see in the uboot variables
the image addresses and MAC are correct.
note that I had changed my ipaddr variable to 10.0.0.242 (my tftp server) the default value is 000.000.000.000
but it is not related to the problem

is it possible that this is the place that uboot environment variables are stored? which we can see by printenv command. Because it is exactly those information

--- End quote ---

It is likely, if they are sharing the config. If you change a variable in uboot, does it change at that flash location?

On a related note, have you tried changing the uboot config since the problem started? The reason I ask, is because page ECC data is re-written with the data. So if for some reason PBOOT is seeing bad ECC on that page, re-writing it by a config change may fix it.
analogRF:
but wait a second, I only changed "serverip" variable to 10.0.0.242 and never touched "ipaddr" variable. Also in my uboot variable I see that ipaddr variable still has its factory value like yours. However it shows different in this dump

Also I notice that at the end of the dump it looks weird.... like " ..} ..c}..." looks out of place, no?

Navigation
Message Index
Next page
Previous page
There was an error while thanking
Thanking...

Go to full version
Powered by SMFPacks Advanced Attachments Uploader Mod