<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
    <channel>
        <title>Trying to fix RN104</title>
        <description> Hi, 

Couple of months ago my RN104 failed to boot after a power failure. I didn&amp;#039;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&amp;#039;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&amp;#039;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&amp;#039;t work. 
and if you do boot RN104 after loading putty&amp;#039;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&amp;#039;s no good description of which pin is which from googling. 

I&amp;#039;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&amp;gt;&amp;gt; printenv bootargs
bootargs=console=ttyS0,115200

Marvell&amp;gt;&amp;gt; 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&amp;gt;&amp;gt; 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&amp;gt;&amp;gt; printenv bootargs
bootargs=console=ttyS0,115200

Marvell&amp;gt;&amp;gt; printenv bootcmd
bootcmd=nand read 0x2000000 0x200000 0x600000; nand read 0x3000000 0x800000 0x400000; bootm 0x2000000 0x3000000 0x1000000

Marvell&amp;gt;&amp;gt; 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&amp;#039;ve reflashed ulimage/minirootfs/ubifs and I still have an issue. 

So more googling, from RN104 bricked&amp;#039;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 &amp;quot;created?&amp;quot; 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 &amp;quot;u-boot-rn104-2.0.img&amp;quot; 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

 __   __                      _ _
|  \/  | __ _ _ ____   _____| | |
| |\/| |/ _` | &amp;#039;__\ \ / / _ \ | |
| |  | | (_| | |   \ 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&amp;#039;t get kernel image!

mtdparts


Marvell&amp;gt;&amp;gt; mtdparts

device nand0 &amp;lt;armada-nand&amp;gt;, # 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&amp;gt;&amp;gt; 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

</description>
        <link>https://forum.doozan.com/read.php?3,135054,135054#msg-135054</link>
        <lastBuildDate>Wed, 11 Mar 2026 07:30:58 -0500</lastBuildDate>
        <generator>Phorum 5.2.23</generator>
        <item>
            <guid>https://forum.doozan.com/read.php?3,135054,135057#msg-135057</guid>
            <title>Re: Trying to fix RN104</title>
            <link>https://forum.doozan.com/read.php?3,135054,135057#msg-135057</link>
            <description><![CDATA[ newbienard,<br />
<br />
I don&#039;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:<br />
<br />
<a href="https://forum.doozan.com/read.php?2,92514"  rel="nofollow">https://forum.doozan.com/read.php?2,92514</a>]]></description>
            <dc:creator>bodhi</dc:creator>
            <category>uBoot</category>
            <pubDate>Tue, 09 May 2023 15:22:20 -0500</pubDate>
        </item>
        <item>
            <guid>https://forum.doozan.com/read.php?3,135054,135054#msg-135054</guid>
            <title>Trying to fix RN104</title>
            <link>https://forum.doozan.com/read.php?3,135054,135054#msg-135054</link>
            <description><![CDATA[ Hi, <br />
<br />
Couple of months ago my RN104 failed to boot after a power failure. I didn&#039;t really know what happened, but after much googling I stumbled upon this forum which has been super cool. <br />
<br />
I picked up a ttl usb serial to plug into the back. If anyone is curious. There&#039;s 4 pins (in the shape of s square): GND/RX/TX/3.3V. <br />
<b>GND</b>: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.  <br />
<b>RX</b>: Diagonal to GND, is TX on the RN104 board, where you need to plug in your RX (from your TTL),<br />
<b>TX</b> Then you&#039;re about 50/50 to guess where the TTL TX goes. <br />
<b>3.3v</b>Do not plug in the 3.3v, it will short the whole thing won&#039;t work. <br />
and if you do boot RN104 after loading putty&#039;s serial option and see $#$#@$@ instead of words, the rate is wrong, needs to be set to 115200 for RN104<br />
I write this because there&#039;s no good description of which pin is which from googling. <br />
<br />
I&#039;ve followed the HOWTO:Restore ReadyNAS RN102/104 to original state : <a href="https://forum.doozan.com/read.php?3,122974"  rel="nofollow">https://forum.doozan.com/read.php?3,122974</a> and I had a problem at the end where my step 7 looked like :<br />
<br />
<pre class="bbcode">
Marvell&gt;&gt; printenv bootargs
bootargs=console=ttyS0,115200

Marvell&gt;&gt; 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&gt;&gt; printenv mtdparts
mtdparts=mtdparts=armada-nand:0x180000@0(u-boot),0x20000@0x180000(u-boot-env),0x600000@0x200000(uImage),0x400000@0x800000(minirootfs),-(ubifs)</pre>
<br />
And the one from the howto looked like<br />
<br />
<pre class="bbcode">
Marvell&gt;&gt; printenv bootargs
bootargs=console=ttyS0,115200

Marvell&gt;&gt; printenv bootcmd
bootcmd=nand read 0x2000000 0x200000 0x600000; nand read 0x3000000 0x800000 0x400000; bootm 0x2000000 0x3000000 0x1000000

Marvell&gt;&gt; printenv mtdparts
mtdparts=mtdparts=armada-nand:0x180000@0(u-boot),0x20000@0x180000(u-boot-env),0x600000@0x200000(uImage),0x400000@0x800000(minirootfs),-(ubifs)</pre>
<br />
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&#039;ve reflashed ulimage/minirootfs/ubifs and I still have an issue. <br />
<br />
So more googling, from RN104 bricked&#039;s thread :<a href="https://forum.doozan.com/read.php?3,107689"  rel="nofollow">https://forum.doozan.com/read.php?3,107689</a> , and RN2120v2 bricked thread: <a href="https://forum.doozan.com/read.php?3,95249"  rel="nofollow">https://forum.doozan.com/read.php?3,95249</a>, they seem to have &quot;created?&quot; the U-boot.bin file from the READYNASOSxxx.img file.<br />
<br />
<br />
My questions at this point are<br />
1) Am I on the right track? [Outputs of mtdparts / boot start-up /  printenv are below ] <br />
2) How do you turn the readynas firmware into a U-boot.bin, is that from the original file (tarball?) or the &quot;u-boot-rn104-2.0.img&quot; recovery file in the tarball , and then .....how? <br />
<br />
<br />
<br />
<br />
This is what my boot looks like: <br />
<br />
<pre class="bbcode">
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

 __   __                      _ _
|  \/  | __ _ _ ____   _____| | |
| |\/| |/ _` | &#039;__\ \ / / _ \ | |
| |  | | (_| | |   \ 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&#039;t get kernel image!</pre>
<br />
mtdparts<br />
<br />
<pre class="bbcode">
Marvell&gt;&gt; mtdparts

device nand0 &lt;armada-nand&gt;, # 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</pre>
<br />
printenv<br />
<br />
<pre class="bbcode">
Marvell&gt;&gt; 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

</pre>]]></description>
            <dc:creator>newbienard</dc:creator>
            <category>uBoot</category>
            <pubDate>Tue, 09 May 2023 06:51:28 -0500</pubDate>
        </item>
    </channel>
</rss>
