Welcome! Log In Create A New Profile

Advanced

Trying to fix RN104

Posted by newbienard 
Trying to fix RN104
May 09, 2023 06:51AM
Hi,

Couple of months ago my RN104 failed to boot after a power failure. I didn't really know what happened, but after much googling I stumbled upon this forum which has been super cool.

I picked up a ttl usb serial to plug into the back. If anyone is curious. There's 4 pins (in the shape of s square): GND/RX/TX/3.3V.
GND:If you have a multi-meter, you can figure out which one is GND, by OHM metering between 4 pins and the metal case (with RN104 unplugged and unpowered) . if you have 0 Ohms you have a short, and therefore it is ground pin (GND). If its like 10-20 Ohms , its not a ground.
RX: Diagonal to GND, is TX on the RN104 board, where you need to plug in your RX (from your TTL),
TX Then you're about 50/50 to guess where the TTL TX goes.
3.3vDo not plug in the 3.3v, it will short the whole thing won't work.
and if you do boot RN104 after loading putty's serial option and see $#$#@$@ instead of words, the rate is wrong, needs to be set to 115200 for RN104
I write this because there's no good description of which pin is which from googling.

I've followed the HOWTO:Restore ReadyNAS RN102/104 to original state : https://forum.doozan.com/read.php?3,122974 and I had a problem at the end where my step 7 looked like :

Marvell>> printenv bootargs
bootargs=console=ttyS0,115200

Marvell>> printenv bootcmd
bootcmd=usb start;fatload usb 0:1 0x2000000 /uImage-recovery;fatload usb 0:1 0x3000000 /initrd-recovery.gz;nand read 0x1000000 0xD4000 0x6000; bootm 0x2000000 0x3000000 0x1000000

Marvell>> printenv mtdparts
mtdparts=mtdparts=armada-nand:0x180000@0(u-boot),0x20000@0x180000(u-boot-env),0x600000@0x200000(uImage),0x400000@0x800000(minirootfs),-(ubifs)

And the one from the howto looked like

Marvell>> printenv bootargs
bootargs=console=ttyS0,115200

Marvell>> printenv bootcmd
bootcmd=nand read 0x2000000 0x200000 0x600000; nand read 0x3000000 0x800000 0x400000; bootm 0x2000000 0x3000000 0x1000000

Marvell>> printenv mtdparts
mtdparts=mtdparts=armada-nand:0x180000@0(u-boot),0x20000@0x180000(u-boot-env),0x600000@0x200000(uImage),0x400000@0x800000(minirootfs),-(ubifs)

So, that means...of the 5 things to flash, u-boot, u-boot-env, uImage, minirootfs, ubifs; u-boot or u-boot-env enviroments are the problem, as i've reflashed ulimage/minirootfs/ubifs and I still have an issue.

So more googling, from RN104 bricked's thread :https://forum.doozan.com/read.php?3,107689 , and RN2120v2 bricked thread: https://forum.doozan.com/read.php?3,95249, they seem to have "created?" the U-boot.bin file from the READYNASOSxxx.img file.


My questions at this point are
1) Am I on the right track? [Outputs of mtdparts / boot start-up / printenv are below ]
2) How do you turn the readynas firmware into a U-boot.bin, is that from the original file (tarball?) or the "u-boot-rn104-2.0.img" recovery file in the tarball , and then .....how?




This is what my boot looks like:

BootROM 1.08
Booting from NAND flash


General initialization - Version: 1.0.0

High speed PHY - Version: 2.1.4 (COM-PHY-V20)
Update PEX Device ID 0x6710
High speed PHY - Ended Successfully
0000
DDR3 Training Sequence - Ver 5.7.1
DDR3 Training Sequence - Run without PBS.
DDR3 Training Sequence - Ended Successfully
BootROM: Image checksum verification PASSED

 __   __                      _ _
|  \/  | __ _ _ ____   _____| | |
| |\/| |/ _` | '__\ \ / / _ \ | |
| |  | | (_| | |   \ V /  __/ | |
|_|  |_|\__,_|_|    \_/ \___|_|_|
         _   _     ____              _
        | | | |   | __ )  ___   ___ | |_
        | | | |___|  _ \ / _ \ / _ \| __|
        | |_| |___| |_) | (_) | (_) | |_
         \___/    |____/ \___/ \___/ \__|
 ** LOADER **


U-Boot 2011.12-gec25d27-dirty (Oct 26 2015 - 16:56:14) Marvell version: v2011.12 2014_T2.0p1
06/23/2015 ReadyNAS-104 V2.0

Board: DB-88F6710-BP
SoC:   MV6710 A1
CPU:   Marvell PJ4B v7 UP (Rev 1) LE
       CPU    @ 1200 [MHz]
       L2     @ 600 [MHz]
       TClock @ 200 [MHz]
       DDR    @ 600 [MHz]
       DDR 16Bit Width, FastPath Memory Access
DRAM:  512 MiB

Map:   Code:            0x1feef000:0x1ff9f514
       BSS:             0x1ffef8a0
       Stack:           0x1f9eeef8
       Heap:            0x1f9ef000:0x1feef000

NAND:  (ID 0xf1ad)      128 MiB
MMC:   MRVL_MMC: 0
Bad block table found at page 65472, version 0x01
Bad block table found at page 65408, version 0x01

Initialize and scan all PCI interfaces
PEX unit.port(active IF[-first bus]):
------------------------------------------
PEX 0: Root Complex Interface, Detected Link X1, GEN 2.0
PEX 1: Root Complex Interface, Detected Link X1, GEN 2.0
FPU not initialized
USB 0: Host Mode
USB 1: Host Mode
Shutting down unused interfaces:
       SDIO
       AUDIO
       TDM
Modules/Interfaces Detected:
       RGMII0 Phy
       RGMII1 Phy
       PEX0 (Lane 0)
       PEX1 (Lane 1)
       SATA0 (Lane 2)
       SATA1 (Lane 3)
Net:   egiga0, egiga1 [PRIME]
Power On!

FDT loaded successfully
Hit any key to stop autoboot:  0
(Re)start USB...
USB:   Active port:     0
Register 10011 NbrPorts 1
USB EHCI 1.00
scanning bus for devices... 1 USB Device(s) found
       scanning bus for storage devices... 0 Storage Device(s) found

** Invalid boot device **

** Invalid boot device **

NAND read: device 0 offset 0xd4000, size 0x6000
 24576 bytes read: OK
Wrong Image Format for bootm command
ERROR: can't get kernel image!

mtdparts

Marvell>> mtdparts

device nand0 <armada-nand>, # parts = 5
 #: name                size            offset          mask_flags
 0: u-boot              0x000000180000          0x000000000000          0
 1: u-boot-env          0x000000020000          0x000000180000          0
 2: uImage              0x000000600000          0x000000200000          0
 3: minirootfs          0x000000400000          0x000000800000          0
 4: ubifs               0x000007400000          0x000000c00000          0

active partition: nand0,0 - (u-boot) 0x000000180000 @ 0x000000000000

defaults:
mtdids  : none
mtdparts: none

printenv

Marvell>> printenv
AC_Power_fail_detect=open
CASset=min
HW_version=MVT
MALLOC_len=5
Manufacturer=NETGEAR
Product=ReadyNAS 104
SKUNum=RN104
SerialNum=3EPC48EE00147
Startup=Normal
UUID=a272fe66-1d7d-11e4-95e4-28c68e36b8b0
Version=V1.0
autoload=no
bootargs=console=ttyS0,115200
bootargs_end=:10.4.50.254:255.255.255.0:KW40:eth0:none
bootargs_root=root=/dev/nfs rw
bootcmd=usb start;fatload usb 0:1 0x2000000 /uImage-recovery;fatload usb 0:1 0x3000000 /initrd-recovery.gz;nand read 0x1000000 0xD4000 0x6000; bootm 0x2000000 0x3000000 0x1000000
bootcmd_fdt=tftpboot 0x2000000 $image_name;tftpboot $fdtaddr $fdtfile;setenv bootargs $console $mtdparts $bootargs_root nfsroot=$serverip:$rootpath ip=$ipaddr:$serverip$bootargs_end $mvNetConfig video=dovefb:lcd0:$lcd0_params clcd.lcd0_enable=$lcd0_enable clcd.lcd_panel=$lcd_panel; bootz 0x2000000 - $fdtaddr;
bootcmd_ubi=ubi part ubifs; ubifsmount rootfs; ubifsload 0x2000000 kernel; ubifsload 0x3000000 initrd.gz; bootm 0x2000000 0x3000000 0x1000000
bootdelay=0
cacheShare=no
console=console=ttyS0,115200
disL2Cache=yes
disaMvPnp=no
eeeEnable=no
enaAutoRecovery=yes
enaClockGating=yes
enaExtDisk=no
enaFPU=no
enaMonExt=no
enaWrAllo=no
envver=3
eth1addr=28:C6:8E:36:B8:B1
eth1mtu=1500
ethact=egiga1
ethaddr=28:C6:8E:36:B8:B0
ethmtu=1500
ethprime=egiga1
fdt_skip_update=no
fdtaddr=0x1000000
fdtfile=armada-370-db.dtb
image_name=uImage
initrd_name=uInitrd
load_addr=0x02000000
loadaddr=0x02000000
mtddevname=u-boot
mtddevnum=0
mtdids=nand0=armada-nand
mtdparts=mtdparts=armada-nand:0x180000@0(u-boot),0x20000@0x180000(u-boot-env),0x600000@0x200000(uImage),0x400000@0x800000(minirootfs),-(ubifs)
mvNetConfig=mv_net_config=1,(00:50:43:11:11:11,0:1:2:3:4),mtu=1500
mv_pon_addr=00:50:43:00:00:02
nandEcc=1bit
netbsd_en=no
netretry=no
partition=nand0,0
pcieTune=no
pexMode=rc
pxe_files_load=:default.arm-armada370-db:default.arm-armadaxp:default.arm
pxefile_addr_r=3100000
rcvrip=169.254.100.100
sata_delay_reset=0
sata_dma_mode=yes
setL2CacheWT=no
standalone=fsload $load_addr $image_name;setenv bootargs $console $mtdparts root=/dev/mtdblock0 rw ip=$ipaddr:$serverip$bootargs_end; bootm $load_addr;
stderr=serial
stdin=serial
stdout=serial
usb0Mode=host
usb1Mode=host
usb2Mode=device
usbActive=0
vxworks_en=no
yuk_ethaddr=00:00:00:EE:51:81

Re: Trying to fix RN104
May 09, 2023 03:22PM
newbienard,

I don't have an answer for you regarding stock FW. However, in case you have not seen the Debian installation for this box, it is here:

https://forum.doozan.com/read.php?2,92514

-bodhi
===========================
Forum Wiki
bodhi's corner (buy bodhi a beer)
Author:

Your Email:


Subject:


Spam prevention:
Please, enter the code that you see below in the input field. This is for blocking bots that try to post this form automatically. If the code is hard to read, then just try to guess it right. If you enter the wrong code, a new image is created and you get another chance to enter it right.
Message: