| Electronics > Repair |
| Agilent 34461A corrupted flash |
| << < (10/41) > >> |
| dc101:
--- Quote from: TheSteve on March 29, 2021, 05:17:23 am ---So your 34461A works, but only if you tell it where to boot the image from manually? --- End quote --- I tried the celoader and that takes care of loading fairly quick, but the firmware update still didn't go through. For now, as a quick hack to just be able to use my meter again I went ahead and flashed the uncompressed nk.bin to NAND and modified the uboot preboot variable to load the image from NAND into RAM before loading the Win CE bootloader. It works for now and keeps me from having to manually abort the startup process every time I power on my meter. Eventually I need to figure out how to re-program the kernel bootloader parameters, as those seemed messed up as well. --- Code: ---Starting kernel ... Debug serial initialized ........OK No RTC on 320 Microsoft Windows CE Bootloader Common Library Version 1.4 Built May 22 2012 09:09:57 Microsoft Windows CE 6.0 Ethernet Bootloader for the Agilent P500 board Adaptation performed by Agilent Technologies (c) 2008 Reading NAND configuration FMD_DirectRead : Offset must be sector aligned !! CRC does not match for NAND 6042A00 F69E122E 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 0 seconds System ready! Preparing for download... No RTC on 320 Loading image 3 from memory at 0x84000000 BL_IMAGE_TYPE_BIN X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX Xrom_offset=0x0. XXImageStart = 0x80361000, ImageLength = 0x1856D34, LaunchAddr = 0x80362000 --- End code --- |
| dc101:
--- Quote from: Dr. Frank on March 29, 2021, 06:48:10 am ---Well folks, you both do a great job .. Just an idea concerning the 460/461 versus the 465/470: If I remember correctly, the 460/461 came out earlier, brand still being agilent. The main board already contained the full schematic for the later 465/470 functionality, but these additional components were not yet assembled. The 465/470 were published under the new brand Keysight, they got a slightly updated PCB version, and the Memory option probably requires more DRAM or Flash space (I don't know where they store these data, in Flash, or in a battery backed up SRAM). Therefore, the front panel PCB might also have more memory space and a slightly different memory map than the 460/461.. probably the PCB itself is identical. I could check / compare this if you tell me exactly where / what to look for, also via the monitor program. Frank --- End quote --- The NAND flash appear to be the same between units. I checked the Micron FBGA codes and they both resolve to the same part number, with the exception of the 34470A NAND being a "premium lifecycle product" but as far as the rest of the part number and FLASH layout, exactly the same. 34461A Micron PN: MT29F1G08ABADAH4-IT:D 34470A Micron PN: MT29F1G08ABADAH4-ITX:D Datasheet: https://www.micron.com/-/media/client/global/documents/products/data-sheet/nand-flash/60-series/m68a_1gb_nand.pdf -Tim |
| dc101:
I believe 6thimage suggested that the model and serial number might possibly be stored in the NXP, and I think I found a hint today that he might be correct. Occasionally after loading nk.bin, sometimes I get several decrypt errors. Looking closer, I noticed a rather interesting line FP:Platform identified as NXP 8051-type based on 0 mV Looks like I'll have to look into that NXP serial port after all. --- Code: ---#################### dllEntry ########################### Decrypt(1): CryptDecrypt failed - NTE_BAD_DATA : -2146893819 Decrypt(2c): Decryption failed - NTE_BAD_DATA : -2146893819 Decrypt(1): CryptDecrypt failed - NTE_BAD_DATA : -2146893819 Decrypt(2c): Decryption failed - NTE_BAD_DATA : -2146893819 modelNumberW = 000000 rtnCode = 0 Decrypt(1): CryptDecrypt failed - NTE_BAD_DATA : -2146893819 Decrypt(2c): Decryption failed - NTE_BAD_DATA : -2146893819 modelNumberW = 000000 rtnCode = 0 Decrypt(1): CryptDecrypt failed - NTE_BAD_DATA : -2146893819 Decrypt(2c): Decryption failed - NTE_BAD_DATA : -2146893819 modelNumberW = 000000 rtnCode = 0 Decrypt(1): CryptDecrypt failed - NTE_BAD_DATA : -2146893819 Decrypt(2c): Decryption failed - NTE_BAD_DATA : -2146893819 modelNumberW = 000000 rtnCode = 0 Decrypt(1): CryptDecrypt failed - NTE_BAD_DATA : -2146893819 Decrypt(2c): Decryption failed - NTE_BAD_DATA : -2146893819 modelNumberW = 000000 rtnCode = 0 FP:Platform identified as NXP 8051-type based on 0 mV FP:Platform identified as NXP 8051-type based on 0 mV SER2 Serial Port, new baud rate:0x12c0 (UARTCLK:83250000 IBRD:0x43b FBRD:0x3e) Decrypt(1): CryptDecrypt failed - NTE_BAD_DATA : -2146893819 Decrypt(2c): Decryption failed - NTE_BAD_DATA : -2146893819 Decrypt(1): CryptDecrypt failed - NTE_BAD_DATA : -2146893819 Decrypt(2c): Decryption failed - NTE_BAD_DATA : -2146893819 serialNumberW = 0000000000 rtnCode = 0 Decrypt(1): CryptDecrypt failed - NTE_BAD_DATA : -2146893819 Decrypt(2c): Decryption failed - NTE_BAD_DATA : -2146893819 serialNumberW = 0000000000 rtnCode = 0 Decrypt(1): CryptDecrypt failed - NTE_BAD_DATA : -2146893819 Decrypt(2c): Decryption failed - NTE_BAD_DATA : -2146893819 serialNumberW = 0000000000 rtnCode = 0 Decrypt(1): CryptDecrypt failed - NTE_BAD_DATA : -2146893819 Decrypt(2c): Decryption failed - NTE_BAD_DATA : -2146893819 serialNumberW = 0000000000 rtnCode = 0 SER2 Read timeout FP:FAILED IOCTL_SER2_READ_WITH_TIMEOUT [1460][ERROR_TIMEOUT] Decrypt(1): CryptDecrypt failed - NTE_BAD_DATA : -2146893819 Decrypt(2c): Decryption failed - NTE_BAD_DATA : -2146893819 serialNumberW = 0000000000 rtnCode = 0 SER2 Read timeout --- End code --- |
| analogRF:
sorry I have to revive this old thread. One of my two 34461A which has not been used for about 4 or 5 month is not booting up anymore. The Keysight logo screen appears and then stays. Here is the boot log: --- Code: ---U-Boot 2010.03 (Dec 04 2017 - 01:41:53)Agilent P510 CPU: SPEAr320 DRAM: 128 MiB Unknown id: 0xffffff. Using ST_M23P40 Flash: 64 KiB NAND: INTERNAL ECC 128 MiB In: serial Out: serial Err: serial SerNum:MY99999999 Chip: AA Board Rev: 4 init RTC: 2023-07-28 15:47:59.57 Net: No ethernet found. splash RTC: 2023-07-28 15:48:00.60 Press space to stop autoboot: 0 NAND read: device 0 offset 0x320000, size 0x10000 65536 bytes read: OK ## Booting kernel from Legacy Image at 00600000 ... Image Name: PBOOT Created: 2012-05-22 16:06:43 UTC Image Type: ARM Linux Kernel Image (gzip compressed) Data Size: 38780 Bytes = 37.9 KiB Load Address: 00000000 Entry Point: 00000000 Uncompressing Kernel Image ... OK Starting kernel ... Debug serial initialized ........OK No RTC on 320 Microsoft Windows CE Bootloader Common Library Version 1.4 Built May 22 2012 09:09:57 Microsoft Windows CE 6.0 Ethernet Bootloader for the Agilent P500 board Adaptation performed by Agilent Technologies (c) 2008 Reading NAND configuration FMD_DirectRead: Invalid block at sector 0x180 bumping by 0x40 sectors FMD_DirectRead: Invalid block at sector 0x1c0 bumping by 0x40 sectors FMD_DirectRead: Invalid block at sector 0x200 bumping by 0x40 sectors FMD_DirectRead: Invalid block at sector 0x240 bumping by 0x40 sectors FMD_DirectRead: Invalid block at sector 0x280 bumping by 0x40 sectors FMD_DirectRead: Invalid block at sector 0x2c0 bumping by 0x40 sectors FMD_DirectRead: Invalid block at sector 0x300 bumping by 0x40 sectors FMD_DirectRead: Invalid block at sector 0x340 bumping by 0x40 sectors FMD_DirectRead: Invalid block at sector 0x380 bumping by 0x40 sectors FMD_DirectRead: Invalid block at sector 0x3c0 bumping by 0x40 sectors FMD_DirectRead: Invalid block at sector 0x400 bumping by 0x40 sectors FMD_DirectRead: Invalid block at sector 0x440 bumping by 0x40 sectors FMD_DirectRead: Invalid block at sector 0x480 bumping by 0x40 sectors FMD_DirectRead: Invalid block at sector 0x4c0 bumping by 0x40 sectors FMD_DirectRead: Invalid block at sector 0x500 bumping by 0x40 sectors FMD_DirectRead: Invalid block at sector 0x540 bumping by 0x40 sectors FMD_DirectRead: Invalid block at sector 0x580 bumping by 0x40 sectors FMD_DirectRead: Invalid block at sector 0x5c0 bumping by 0x40 sectors FMD_DirectRead: Invalid block at sector 0x600 bumping by 0x40 sectors FMD_DirectRead: Invalid block at sector 0x640 bumping by 0x40 sectors FMD_DirectRead: Invalid block at sector 0x680 bumping by 0x40 sectors FMD_DirectRead: Invalid block at sector 0x6c0 bumping by 0x40 sectors FMD_DirectRead: Invalid block at sector 0x700 bumping by 0x40 sectors FMD_DirectRead: Invalid block at sector 0x740 bumping by 0x40 sectors . . . . FMD_DirectRead: Invalid block at sector 0xfc80 bumping by 0x40 sectors FMD_DirectRead: Invalid block at sector 0xfcc0 bumping by 0x40 sectors FMD_DirectRead: Invalid block at sector 0xfd00 bumping by 0x40 sectors FMD_DirectRead: Invalid block at sector 0xfd40 bumping by 0x40 sectors FMD_DirectRead: Invalid block at sector 0xfd80 bumping by 0x40 sectors FMD_DirectRead: Invalid block at sector 0xfdc0 bumping by 0x40 sectors FMD_DirectRead: Invalid block at sector 0xfe00 bumping by 0x40 sectors FMD_DirectRead: Invalid block at sector 0xfe40 bumping by 0x40 sectors FMD_DirectRead: Invalid block at sector 0xfe80 bumping by 0x40 sectors 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 AFFF475B F381A23 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 3 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 [color=red](I press 1 here but it is the same with other choices. "v" just does not do anything and hangs) [/color]>System ready! Preparing for download... No RTC on 320 Loading image 1 from memory at 0xD0400000 [color=red](hangs here)[/color] --- End code --- here are "printenv" and "imls" outputs: --- Code: ---p510> imls ********************* NOR Flash Images ********************* ********************* NAND Flash Images ********************* Image at offset 00000000: Image Name: XLOADER Created: 2012-05-16 23:33:58 UTC Image Type: ARM Linux Firmware (uncompressed) Data Size: 5370 Bytes = 5.2 KiB Load Address: d2800b00 Entry Point: d2800b00 Verifying Checksum ... OK Image at offset 00020000: Image Name: XLOADER Created: 2012-05-16 23:33:58 UTC Image Type: ARM Linux Firmware (uncompressed) Data Size: 5370 Bytes = 5.2 KiB Load Address: d2800b00 Entry Point: d2800b00 Verifying Checksum ... OK Image at offset 00040000: Image Name: XLOADER Created: 2012-05-16 23:33:58 UTC Image Type: ARM Linux Firmware (uncompressed) Data Size: 5370 Bytes = 5.2 KiB Load Address: d2800b00 Entry Point: d2800b00 Verifying Checksum ... OK Image at offset 00060000: Image Name: XLOADER Created: 2012-05-16 23:33:58 UTC Image Type: ARM Linux Firmware (uncompressed) Data Size: 5370 Bytes = 5.2 KiB Load Address: d2800b00 Entry Point: d2800b00 Verifying Checksum ... OK Image at offset 00100000: Image Name: UBOOT Created: 2017-12-04 8:50:24 UTC Image Type: ARM Linux Kernel Image (uncompressed) Data Size: 237800 Bytes = 232.2 KiB Load Address: 03f00000 Entry Point: 03f00000 Verifying Checksum ... OK Image at offset 00320000: Image Name: PBOOT Created: 2012-05-22 16:06:43 UTC Image Type: ARM Linux Kernel Image (gzip compressed) Data Size: 38780 Bytes = 37.9 KiB Load Address: 00000000 Entry Point: 00000000 Verifying Checksum ... OK --- End code --- --- Code: ---p510> printenv ramboot=dhcp 0x4000000 nk.bin;run bootcmd baudrate=115200 gatewayip=192.168.1.10 netmask=255.255.255.0 chipversion=AA boardversion=4 ftp=dhcp bootdelay=0 ecc=4 cnfg_vmc_input_pin=mw 0xb3000028 0x00040300 1;mw 0xb3000048 0xfffbffff 1 cnfg_lan_input_pin=mw 0xb3000030 0x00000008 1;mw 0xb3000050 0xFFFFFFFF 1;mw 0xb3000018 0x00000101 preboot=mw.l 0xb300000c 0xffffacf4; run cnfg_lan_input_pin; run cnfg_vmc_input_pin; splash load dispParm1=110 1e0 989680 0 28 dispParm2=1 1 1 1 3 numinstimages=1 pbootdelay=0 fimage=1 nimages=2 image1=0xd0620000 image2=0xd2120000 fsstart=0x3020000 numfilesystems=2 lengthfilesystem1=0x4EE0000 lengthfilesystem2=0x100000 bootcmd=nand read 0x600000 0x320000 0x10000;bootm 0x600000 uart2=1 rtc=1 ps=0 splashdata=0xd0180000 erase_env=nand erase 0xC0000 0x40000 store_xloader=xload 0x800000 get_xload_eth=dhcp 0x800000 xloader-p510.bin; run store_xloader store_uboot=nand erase 0x100000 ${blocksize}; nand write 0x800000 0x100000 ${blocksize} get_uboot_eth=dhcp 0x800000 u-boot-p510.bin;run store_uboot store_pboot=nand erase 0x320000 ${blocksize}; nand write 0x800000 0x320000 ${blocksize} get_pboot_eth=dhcp 0x800000 pboot.bin;run store_pboot flash_nkbin=dhcp 0x4000000 nk.bin;nand erase 0x00620000 ${blocksize};nand write 0x4000000 0x00620000 ${blocksize} usbtty=cdc_acm ethaddr=80:09:02:0e:7a:4f serialnum=MY99999999 serverip=10.0.0.242 verify=n stdin=serial stdout=serial stderr=serial ipaddr=192.168.1.179 guid={61341e9e-af36-b347-ae05-3a404c2cd9c0} Environment size: 1482/16380 bytes --- End code --- I downloaded the P-Boot from NAND and compared to one I downloaded from my good meter and also the ones posted here in this thread by TheSteve and Dr.Frank and they are all exactly identical. I extracted "nk.nb0" from the firmware Nk.bin file (using bincompress and then cvrtbin tools that I had used when I was recovering my DSOX3034A from nand corruption) and then I used YMODEM to upload the nk.nb0 into memory and boot it from 0x362000 . The meter boots normally and everything is hunky dory. S/N and FW revision all fine, the meter works great and passes selftests etc... So I upgraded (I should say re flashed) same FW 3.03 into the unit using the Keysight FW update Utility (LAN connection) and you can see in the attached photo all goes well and when the unit is rebooted I am back exactly at where I was in the beginning |O |O |O |O :palm: :palm: Everytime it take 40 minutes to upload the nk.nb0 back into the unit using YMODEM to boot it and after FW update (also did using USB stick) it reboots to the same original state. I am totally at loss here....it seems the flash is bad but rewriting the FW should have fixed it...I noticed that the image addresses in u-boot (see the last lines of the boot log) are d0400000 and d1700000 but in the printenv you can see the images must be at d0620000 and d2120000. I downloaded few kilobytes of the NAND at d0620000 and it contains EXACTLY the Nk.bin file in the firmware (compressed). Also at d2120000 there is compressed Nk.bin file but I think it must be an earlier version However at d0400000 there is absolutely nothing in NAND (FFFFFF for a while) and at d1700000 I can see it is the last mega byte of the Nk.bin file which started at d0620000. So if the unit actually tries to read image from d0400000 or d1700000 then obviously it must fail. I dont know how to check these addresses on my good meter. I am at total loss here now...it's been 3 days of trying YMODEM 40 minutes each time and then no joy.... any help is highly appreciated |
| analogRF:
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? |
| Navigation |
| Message Index |
| Next page |
| Previous page |