SRX Services Gateway
SRX Services Gateway

Recovery issue, help using u-boot

‎11-21-2013 07:05 AM

Dear forums,

 

I could really use your help on this one...

I have an SRX-240H which has no operating system anymore expect u-boot...

 

When I boot the device I just get dropped in the u-boot:

U-Boot 1.1.6-JNPR-1.7 (Build time: May  4 2010 - 06:59:58)

SRX_240_HIGHMEM board revision major:1, minor:42, serial #: AABX1828
OCTEON CN5230R-SCP pass 2.0, Core clock: 600 MHz, DDR clock: 333 MHz (666 Mhz data rate)
DRAM:  1024 MB
Starting Memory POST... 
Checking datalines... OK
Checking address lines... OK
Checking 512K memory for U-Boot... OK.
Running U-Boot CRC Test... OK.
Flash:  4 MB
USB:   scanning bus for devices... 
Root Hub 0: 4 USB Device(s) found
Root Hub 1: 1 USB Device(s) found
       scanning bus for storage devices... 2 Storage Device(s) found
Clearing DRAM........ done
BIST check passed.
1:00:00.0 Vendor/Device ID = 0x811210b5
1:01:07.0 Vendor/Device ID = 0xc72414e4
Boot Media: nand-flash usb 
Net:   octeth0
Switch driver image not programmed properly in bootflash
Expected 0x3c1c0006, actual 0xffffffff
POST Passed
Press SPACE to abort autoboot in 1 seconds
## No elf image at address 0x00100000
=> 

 

I have found many posts referencing to this issue and this KB:

http://kb.juniper.net/InfoCenter/index?page=content&id=KB14175

 

But it seems that I can't do any TFTP (tftpboot command)... There is just no IP connectivity.

I suspect it is related to this error:

Net:   octeth0
Switch driver image not programmed properly in bootflash
Expected 0x3c1c0006, actual 0xffffffff

 There is just no driver I think... 

 

I have seen there is also a usbboot option but I have no idea on how to implement it... 

I logged a case with support but as always they are no help what so ever... They gave me the upgrade procedure with a usb stick...

 

I hope someone from the forums can help me on this one?

 

Thanks in advance!

 

 

10 REPLIES 10
SRX Services Gateway

Re: Recovery issue, help using u-boot

‎11-21-2013 07:34 AM

Hi,

 

Put your image on a USB and try from there:

 

http://kb.juniper.net/InfoCenter/index?page=content&id=KB10386

MMcD [JNCIP-SEC, JNCIS-ENT, CCNA, MCP]
____________________________________________________

[Please Mark My Solution Accepted if it Helped, Kudos are Appreciated Too]
SRX Services Gateway

Re: Recovery issue, help using u-boot

‎11-21-2013 07:36 AM

Hello,

 

Thank you for your reply but i'm afraid I don't even have the loader available...
So no install command available...

 

=> help       
?       - alias for 'help'
askenv  - get environment variables from stdin
autoscr - run script from memory
base    - print or set address offset
bdinfo  - print Board Info structure
boot    - boot default, i.e., run 'bootcmd'
bootd   - boot default, i.e., run 'bootcmd'
bootelf - Boot from an ELF image in memory
bootloader - upgrade u-boot
bootloader - upgrade loader
bootloader - upgrade ushell
bootloader - check u-boot
bootloader - check loader
bootm   - boot application image from memory
bootoct - Boot from an Octeon Executive ELF image in memory
bootoctelf - Boot a generic ELF image in memory. NOTE: This command does not support
             simple executive applications, use bootoct for those.
bootoctlinux - Boot from a linux ELF image in memory
bootp	- boot image via network using BootP/TFTP protocol
bootvx  - Boot vxWorks from an ELF image
cmp     - memory compare
coninfo - print console devices and information
cp      - memory copy
cpld     - peek/poke CPLD
crc32   - checksum calculation
dhcp	- invoke DHCP client to obtain IP/boot params
dumpoct      - dump octeon regs
dumpstats    - dump cavium stats
echo    - echo args to console
eeprom  - EEPROM sub-system
erase   - erase FLASH memory
fatinfo - print information about filesystem
fatload - load binary file from a dos filesystem
fatls   - list files in a directory (default /)
flinfo  - print FLASH memory information
go      - start application at address 'addr'
gpio - read/write on gpio pins
help    - print online help
i2c - read/write on i2c bus
id_eeprom     - peek/poke EEPROM
ide     - IDE sub-system
iminfo  - print header information for application image
imls    - list all images found in flash
itest	- return true/false on integer compare
loadb   - load binary file over serial line (kermit mode)
loads   - load S-Record file over serial line
loady   - load binary file over serial line (ymodem mode)
loop    - infinite loop on address range
ls609x_read_reg - Read 88E6097 register
md      - memory display
mdkinit      - start MDK
mm      - memory modify (auto-incrementing)
mtest   - simple RAM test
mw      - memory write (fill)
nfs	- boot image via network using NFS protocol
nm      - memory modify (constant address)
pci     - list and access PCI Configuration Space
pciemd      - pcie memory display
pciemw      - pcie memory write
pciereset      - do PCIE reset
ping	- send ICMP ECHO_REQUEST to network host
printenv- print environment variables
protect - enable or disable FLASH write protection
rarpboot- boot image via network using RARP/TFTP protocol
read64    - read 64 bit word from 64 bit address
read64b    - read 8 bit word from 64 bit address
read64l    - read 32 bit word from 64 bit address
read_cmp    - read and compare memory to val
reset   - Perform RESET of the CPU
run     - run commands in an environment variable
saveenv - save environment variables to persistent storage
setenv  - set environment variables
sleep   - delay execution for some time
smi     - peek/poke SMI devices
tftpboot- boot image via network using TFTP protocol
usb     - USB sub-system
usbboot - boot from USB device
version - print monitor version
watchdog <start | stop | show | pat>
write64    - write 64 bit word to 64 bit address
write64b    - write 8 bit word to 64 bit address
write64l    - write 32 bit word to 64 bit address

 

I have this available.

 

Thank you

SRX Services Gateway

Re: Recovery issue, help using u-boot

[ Edited ]
‎11-21-2013 07:48 AM

When you start the device are you not prompted with the below:

 

"Hit [Enter] to boot immediately, or space bar for command prompt." - pressing the command prompt will bring you to the loader menu.  Did you try this?

 

 

If you wanted, you could try to use the setenv to configure network for TFTP Access from the u-boot menu:

 

setenv ipaddr 192.168.1.1

setenv netmask 255.255.255.0

setenv gatewayip 192.168.1.254

setenv serverip 192.168.1.100

 

Once you get to the bootloader menu then do a install tftp://192.168.1.100/MYSRXIMAGE.tgz

 

 

MMcD [JNCIP-SEC, JNCIS-ENT, CCNA, MCP]
____________________________________________________

[Please Mark My Solution Accepted if it Helped, Kudos are Appreciated Too]
SRX Services Gateway
Solution
Accepted by topic author Jeroen Bismans
‎08-26-2015 01:27 AM

Re: Recovery issue, help using u-boot

‎11-21-2013 08:23 AM

Hi everyone,

 

I did it! So the u-boot was ok but the loader was broken.

I managed to upgrade the u-boot and then get the new loader running again.

As you can see in my posts above I had no working ethernet interfaces within the u-boot.

So i went really old school and used the technique below to get the proper files loaded in to the memory.

http://blackfin.uclinux.org/doku.php?id=bootloaders:u-boot:serial_port_loading_files

and

http://kb.juniper.net/InfoCenter/index?page=content&id=KB14175

 

The box is back up and running!

SRX Services Gateway

Re: Recovery issue, help using u-boot

‎11-18-2016 08:54 AM

Do you remember how to load the loader_crc using serial line?

I do it using kermit, but still no elf at address 0x00100000

SRX Services Gateway

Re: Recovery issue, help using u-boot

[ Edited ]
‎12-02-2016 01:39 PM

Can you please elaborate setup steps for sending loader-crc file through serail connection?

 

Thanks

SRX Services Gateway

Re: Recovery issue, help using u-boot

‎12-05-2016 12:40 AM

hi guys, I'm afraid I don't remember... It has been more than 3 years since I did it once. Maybe something changed? I don't really recall any blocking issues except having no active ethernet interfaces and having to use a filetransfer protocol over serial. Sorry guys.

SRX Services Gateway

Re: Recovery issue, help using u-boot

‎10-25-2018 03:17 AM

Hi all,

As I had the same issue as the original poster I wanted to post up my solution for future readers needs:

1. Format a flash drive using the FAT filesystem
2. Download the JUNOS OS Image and obtain the boot loader files via the procedure listed at https://kb.juniper.net/InfoCenter/index?page=content&id=KB30427
3. Copy the JUNOS image (.tgz file), the uboot, and loader_crc on to the flash drive
4. Insert the flash drive into the USB slot 0 on the SRX and boot up the device
5. When presented with the following U-Boot message press the space bar to enter the U-Boot loader
Press SPACE to abort autoboot in 1 seconds
6. Verify that the files can be seen on the flash drive
=> fatls usb 1:1
.spotlight-v100/
.fseventsd/
297184 loader_crc
4096 ._loader_crc
639364 uboot
4096 ._uboot

4 file(s), 2 dir(s)


7. Copy the uboot and loader_crc files to the SRX using the below sequence of commands (output below)

fatload usb 1:1 0x100000 uboot
bootloader upgrade u-boot active 0x100000
reset
fatload usb 1:1 0x100000 loader_crc
bootloader upgrade loader 0x100000
Reset



8. Output of operation below






=> fatload usb 1:1 0x100000 uboot
reading uboot

639364 bytes read
=> bootloader upgrade u-boot active 0x100000
Checking sanity of backup u-boot...OK
Un-Protected 10 sectors

.......... done
Erased 10 sectors
writing to flash...
Verifying the new u-boot... OK
=> reset


U-Boot 1.1.6-JNPR-2.8 (Build time: Feb 10 2015 - 01:03:41)

Initializing memory this may take some time...
Measured DDR clock 333.28 MHz
SRX_240H2 board revision major:2, minor:11, serial #: ACLT4470
OCTEON CN5230R-SCP pass 2.0, Core clock: 600 MHz, DDR clock: 333 MHz (666 Mhz data rate)
DRAM: 2048 MB
Starting Memory POST...
Checking datalines... OK
Checking address lines... OK
Checking 512K memory for U-Boot... OK.
Running U-Boot CRC Test... OK.
Flash: 4 MB
USB: scanning bus for devices...
Root Hub 0: 4 USB Device(s) found
Root Hub 1: 1 USB Device(s) found
scanning bus for storage devices... 2 Storage Device(s) found
Clearing DRAM........ done
BIST check passed.
PCIe: Initializing port 0
PCIe: Initializing port 1
Boot Media: nand-flash usb
Net: octeth0
Switch driver image not programmed properly in bootflash
Expected 0x3c1c0000, actual 0xaaaaaaaa
POST Passed
Press SPACE to abort autoboot in 1 seconds
## No elf image at address 0x00100000
=> fatload usb 1:1 0x100000 loader_crc
reading loader_crc

297184 bytes read
=> bootloader upgrade loader 0x100000
Un-Protected 16 sectors

................ done
Erased 16 sectors
writing to flash...
Verifying new loader image...OK
=> reset

SRX Services Gateway

Re: Recovery issue, help using u-boot

[ Edited ]
‎05-15-2019 03:25 PM

=> fatls usb 1:1
system volume information/
149518174 junos-srxsme-12.1x46-d86-domestic.tgz
4096 ._junos-srxsme-12.1x46-d86-domestic.tgz
.fseventsd/
639364 uboot
4096 ._uboot
297184 loader_crc
4096 ._loader_crc
4096 ._.trashes
.trashes/
.spotlight-v100/

7 file(s), 4 dir(s)

=>

 

Followed:

fatload usb 1:1 0x100000 uboot
bootloader upgrade u-boot active 0x100000
reset
fatload usb 1:1 0x100000 loader_crc
bootloader upgrade loader 0x100000
Reset

 

Still stuck on this prompt. any thought please?

SRX Services Gateway

Re: Recovery issue, help using u-boot

[ Edited ]
4 weeks ago

Here's what I did after being stuck in uboot for a long time. The SRX I bought was no longer under support and I totally knew it was something with the environment options in this u-boot, which was preventing it to go to 'loader>' but nowhere could I find an example of the working set of options. So I bought another working SRX100 and I run a comparison of the varibles, and surprise - I had to modify several. Attached are the options that I am using and the command in specific that made it go from u-boot '=>' prompt to 'loader>' where I used TFTP to move on further with the upgrade:

=> setenv bootcmd=cp.b 0xbfe00000 0x100000 0x100000; bootelf 0x100000

After pressing ENTER, the 'loader>' started and I loaded an image for the platform.
To modify a value, so it can align with the ones attached:

=> setenv <option> <value>

Example:

=> set loaddev disk0:

To save:

=> saveenv

To view the current variables:

=> printenv

To reboot:

=> reset

 

NOTE: This worked on the SRX100 firewall, not sure if these values are correct for other platforms, proceed at your own risk.

Attachments