Wednesday, September 10th 2025, 12:49am UTC+2

Giriş yapmadınız.

  • Giriş
  • Kayıt

Mesajlar: 7

Konum: Germany

1

Tuesday, April 6th 2021, 9:52pm

Trying to bring openWRT master to IB-NAS4210-B

Hi,
my plan is to bring a current openWRT to IB-NAS4210-B.

At first, I installed an old firmware based on openWRT Chaos Calmer (15.05), found here: http://openwrt.dtech.hu/firmware/chaos_c…5/IB-NAS4210-B/. You can use the firmware upgrade function of the stock firmware for this. It boots and runs just fine, but it is too old. The page shows some usefull information, including serial console layout.

Next try, I installed the firmware for IB-NAS4220-B from current snapshot on my device. I used the serial console and the tftp server method for this, read this thread. The systems boots up and runs, but network is not working. So this is useless.

I did some research. The IB-NAS4210-B uses SoC SL3512, IB-NAS4220-B has SL-3516, both Gemini platform. As much as I can say, this makes the difference. Info on this. The Gemini platform is supported by the Linux kernel and openWRT. There is a target device for IB-NAS4220-B in openWRT. Another device that uses the SL3512 SoC ist D-Link DNS-313. This has openWRT support.

I think, most of the stuff needed is there. All we need is such a target device entry for IB-NAS4120-B. I found it on this file. Copy the section for IB-NAS4220-B and change the values.

Kaynak kod

1
2
3
4
5
6
7
define Device/raidsonic_ib-4210-b
	$(Device/storlink-reference)
	DEVICE_VENDOR := Raidsonic
	DEVICE_MODEL := NAS IB-4210-B
	DEVICE_DTS := gemini-nas4210b
endef
TARGET_DEVICES += raidsonic_ib-4210-b


That was the easy part. Next, a device tree file in the kernel needs to be created, similar to this. I would edit the dts for IB-NAS4220-B and mix it with some parts from D-Link DNS-313. I can edit all kinds of files in my local clone of openWRT git, but I have no idea where and how to create the required device tree file.

Any idea?

Live long and prosper!
Cpt. Spcok
Live long and prosper!

RaidSonic IB-NAS4210-B, trying to bring openWRT snapshot on this device

2

Sunday, April 11th 2021, 12:09am

Hi CptSpock,
the device tree file must be placed in the following subfolder: openwrt/build_dir/target-arm_fa526_musl_eabi/linux-gemini/linux-4.14.222/arch/arm/boot/dts/ it has to be named like the entry inside of the file you already adapted. Also important is to touch it after changing. If not it will not show up in menuconfig. Somehow during compile process, after cleaning the folder I pointed to is not there, then you have to do a compile run first and then it will complain about the missing *,dts and you can put it in. Additionally I also added a specific file in the ../openwrt/target/linux/gemini/image/ folder. And have a detailed look at the layout of the target done in the makefile. There is something about a hidden partition in the 4220 device, I do not know if that fits for you.
Additionally you can write a message to Fratzicu, I think he has the same challenge, no idea howfar he is, maybe you can helo each other. Good luck. One more thing, I would not use nightly snapshots, I had a lot of trouble with it, load the latest stable branch.

Mesajlar: 23

Konum: Romania

3

Sunday, April 11th 2021, 12:50pm

Hi, I am also interested in this. I have a cjaos calmer version installed. I didn't test it with the latest version compiled from the master branch for nas4220. I think the network should work if you make menuconfig and select the driver for nas4210 device. I didn't do that. I wait for the discovery of jtag access for this device. At some point, electroman and Tobias Valdvogel had created github forks for this device. They shod still be available but those are old versikns, at most chaos calmer. I don't know how to port those old versions config files to the master branch.
Kind regards.
Raidsonic IcyBox IB-4210-B
Lacie Internet Space v1 500 Gb designed by Neil Poulton
Huawei EchoLife HG655b

Mesajlar: 7

Konum: Germany

4

Thursday, April 15th 2021, 4:11pm

Partial sucess!

Hi!

Thank you for your feedback.

I had some partial success in building a firmware for IB-NAS4210-B. I managed to create a new device tree file and some other files and the compile process can use it. Details will follow as soon as I am home again.

Problem for now: after booting the new firmware, the file system is read only. The kernel does not find the JFFS2 part in the flash. As you can read here, openWRT searches for a partition "rootfs" in flash. But there is no partition with this name on IB-NAS4210-B.

This is the flash layout on my device:

Kaynak kod

1
2
3
4
5
6
7
8
9
[    4.689742] 7 RedBoot partitions found on MTD device 30000000.flash
[    4.757069] Creating 7 MTD partitions on "30000000.flash":
[    4.845257] 0x000000000000-0x000000020000 : "BOOT"
[    4.886683] 0x000000020000-0x000000220000 : "Kern"
[    4.957432] 0x000000320000-0x0000003d92cd : "Ramdisk"
[    5.037796] 0x000000920000-0x000000f20000 : "Application"
[    5.087129] 0x000000f20000-0x000000f40000 : "VCTL"
[    5.127570] 0x000000f40000-0x000000fe0000 : "CurConf"
[    5.176821] 0x000000fe0000-0x000001000000 : "FIS directory"

openWRT uses only 3 parts of the flash:
Kern - for storing first 2 MiB of the kernel
Ramdisk - for the rest of the kernel
Application - for the root file system
source: https://github.com/openwrt/openwrt/blob/…/image/Makefile
This changed in snapshot compared to 18.06.

I'm still looking for a way to tell the lernel where to look for this JFFS2 data.
There are other things that doesn't work for now, but I think the read-only filesystem is the reason.

The attached log file shows install and boot process of my new firmware.

Live long and prosper!
Cpt. Spock
CptSpock belirtilen dosyaları ekledi:
  • install-log.txt (27.81 kB - 6 defa indirildi - Son indirme: Feb 13th 2023, 11:08am)
Live long and prosper!

RaidSonic IB-NAS4210-B, trying to bring openWRT snapshot on this device

Mesajlar: 7

Konum: Germany

5

Friday, April 16th 2021, 8:51pm

Hi!

As said before, I'll post my device tree file. This is the best working one for now, but it is still not perfect. This file has to be in openwrt/build_dir/target-arm_fa526_musl_eabi/linux-gemini/linux-5.4.109/arch/arm/boot/dts (remove .txt before saving). You must edit the Makefile in the same directory to make it work.

I still have no idea how to make the file system writeable.

Live long and prosper!
Cpt. Spock
CptSpock belirtilen dosyaları ekledi:
Live long and prosper!

RaidSonic IB-NAS4210-B, trying to bring openWRT snapshot on this device

6

Saturday, April 17th 2021, 2:05pm

Hidiho,

my first idea about the file system was, that you pointed to the wrong mtd partition and does a temporary one. but that is obviously not the problem.I ckecked now your install log and the only thing I could find is the lookup for fstab entry. Maybe you can put mount information there in your build tree. Did you ever try to remount it writable? To be honest i am not sure if it is even possible.
BTW: I am a little jealous that your ethernet works with 1Gb, mine does not for what reason ever. I am still hanging on how to flash the image, due to my FIS layout is originally like this:

Kaynak kod

1
2
3
4
5
6
7
#Default Layout Danelec myditto: 
#Name              		FLASH addr           Mem addr    Datalen     Entry point
#BOOT              		0x30000000-3001FFFF  0x00000000  0x00020000  0x00000000 
#FIS directory     	        0x307E0000-307FFFFF  0x307E0000  0x00001400  0x00000000
#Kern              		0x30020000-3071FFFF  0x00800000  0x00700000  0x00800014
#CurConf           	        0x30740000-3075FFFF  0x00000000  0x00020000  0x00000000
#VCTL             		0x30720000-3073FFFF  0x00000000  0x00020000  0x00000000

One more hint when I started out I got the suggestion to load an initramfs image through the bootloader. Therefore you take the load command like: load -m tftp -b 0x80000, and then go to start from that RAM address go 0x80000. That way you can load a lot of times without wearing the flash.

Mesajlar: 7

Konum: Germany

7

Friday, April 23rd 2021, 3:41pm

Hi!

Yes, I tried to mount the JFFS2 part, but I got many errors. I'm not sure if the JFFS2 is realy there, so it would be detected by mtdsplit. Tried to investigate this point, but didn't get far. I send a post to the openWRT developement mailing list. No answer yet.

The ethernet show 1GB since I added a fixed speed entry to the device tree file. Before, I got erros about unknown speed.

Your flash layout is different. There is only one big partition for the firmware, named "Kern". You might write the firmware with the bootloader. But you need a different file where all parts are in one block. For this, you must edited the makefile. But I don't know how.

Thanks for the hint. Maybe I'll try this weekend.

No progress with the read only filesystem for now. This will need more time.

Live long and prosper!
Cpt. Spock
Live long and prosper!

RaidSonic IB-NAS4210-B, trying to bring openWRT snapshot on this device

8

Saturday, April 24th 2021, 9:51pm

I found that during my investigations: https://forum.openwrt.org/t/overlay-fs-s…device/13038/35 . As far as I understand the things that are fixed at compiletime are written into the squashfspart. The rest of the free space inside of the image is formatted as jffs2 by openwrt. If the partition is not big enough to put the jffs2 part there, it is possibly like your problem. You can check the size of the squashfs in ../openwrt/build_dir/target-arm_fa526_musl_eabi/linux-gemini/ it is the root file. Do you have the exact same layout as 4220?

Bu mesaj 1 defa düzenlendi; son düzenleyen "hendi060" (Apr 27th 2021, 7:39pm)


Mesajlar: 7

Konum: Germany

9

Sunday, May 2nd 2021, 11:37pm

Success!! with openWRT v19.07.7 / kernel 4.14

Yes, you're right. The suqashfs ist readonly, and the jffs2 partition is created in the free space. File size was OK.

I think the NAS-4210-B and NAS-4220-B have the same flash layout, as posted before. My problem is kind of openWRT specific.

While booting the kernel, openWRT looks for a partition named 'rootfs' within it looks for the jffs2 special marker. But in the partition table of the NAS-4210-B, there is no partition with this name. The mechanism ist not working.

In previous openWRT releases, there was some kind of workaround. The flash layout was hard coded, the one or the other way. At the end, 2 more partitions were added, only to make openWRT detect the right one. This is what I expext:

Kaynak kod

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
[    4.643675] of-flash 30000000.flash: initialized Gemini-specific physmap control
[    4.688220] 30000000.flash: Found 1 x16 devices at 0x0 in 16-bit bank. Manufacturer ID 0x000001 Chip ID 0x002101
[    4.749261] Amd/Fujitsu Extended Query Table at 0x0040
[    4.780211]   Amd/Fujitsu Extended Query version 1.3.
[    4.810546] number of CFI chips: 1
[    4.832623] 9 fixed-partitions partitions found on MTD device 30000000.flash
[    4.875064] Creating 9 MTD partitions on "30000000.flash":
[    4.908117] 0x000000000000-0x000000020000 : "RedBoot"
[    4.943509] 0x000000020000-0x000000320000 : "Kernel"
[    4.978906] 0x000000320000-0x000000920000 : "Ramdisk"
[    5.015124] 0x000000920000-0x000000f20000 : "Application"
[    5.053883] 0x000000f20000-0x000000f40000 : "VCTL"
[    5.088507] 0x000000f40000-0x000000fe0000 : "CurConf"
[    5.124837] 0x000000fe0000-0x000001000000 : "FIS directory"
[    5.164787] 0x000000020000-0x000000f20000 : "firmware"
[    5.202466] 0x000000320000-0x000000f20000 : "rootfs"
[    5.237494] mtd: device 8 (rootfs) set to be root filesystem
[    5.272959] 1 squashfs-split partitions found on MTD device rootfs
[    5.310424] 0x000000740000-0x000000f20000 : "rootfs_data"


Have a look at the start and end addresses of the partitions firmware and rootfs. They overlay some of the other partitions.

In openWRT v19.07.7 / kernel 4.14, there was a patch that added this to partitions to the device tree (dts) file.

There was a ticket to a similar problem, but no solution.

In openWRT master / kernel 5.4, the fixed partitions in the device tree file have been replaced by an autodetect mechnism, see this patch. This makes the two special entries missing and the magic doesn't work anymore.

I restarted my tests with openWRT v19.07.7 and created a working firmware for IB-NAS4210-B. I'll give a link as soon as I can. This nightly version is still not perfect, but it boots. Missing is hard disk access (mistake in device tree, I think) and the luci (webinterface) packages.

That's it for now. Live long and prosper!
Cpt. Spock
Live long and prosper!

RaidSonic IB-NAS4210-B, trying to bring openWRT snapshot on this device

Mesajlar: 7

Konum: Germany

10

Thursday, May 6th 2021, 9:56pm

Hi!

You can download my first working OpenWRT for IB-NAS4210-B here. Be careful with this, it may damage your device. I am not responsible for bricked devices! Use at your own risk.

I attached the log of the first boot. Seems OK for me. I'm just building a new version with some fixes.

Live long and prosper!
Cpt. Spock
CptSpock belirtilen dosyaları ekledi:
  • boot.log.txt (25.08 kB - 7 defa indirildi - Son indirme: May 19th 2024, 11:13am)
Live long and prosper!

RaidSonic IB-NAS4210-B, trying to bring openWRT snapshot on this device

11

Saturday, May 29th 2021, 2:09am

Hey Cpt.

I tried the things with the partitions and do honestley not understand how to use the additional ones. I have the partition for the rootfs in the kernel path and that works for me.

Kaynak kod

1
2
bootargs = "console=ttyS0,19200n8 root=/dev/mtdblock2 rw rootfstype=squashfs,jffs2 rootwait noinitrd init=/etc/preinit";		
		stdout-path = &uart0;

For the number you count from zero to where your partition is. My partition layout in the *.dts file is:

Kaynak kod

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
                       partition@0 {
				 label = "RedBoot";
				reg = <0x00000000 0x00020000>;
				 read-only;
			};
			partition@20000 {
				label = "Kernel";
				reg = <0x00020000 0x00280000>;
			};
			partition@280000 {
				label = "rootfs";
				reg = <0x002A0000 0x00480000>;
			};
			partition@720000 {
				label = "VCTL";
				reg = <0x00720000 0x00020000>;
				read-only;
			};
			partition@740000 {
				label = "CurConf";
				reg = <0x00740000 0x00020000>;
				read-only;
			};
			partition@7E0000 {
				label = "FIS directory";
				reg = <0x007E000 0x00001400>;
				read-only;
			};

Did you ever succeed with using the "FIS directory"; to read out the prtition information in the device tree?

Bu mesaj 1 defa düzenlendi; son düzenleyen "hendi060" (May 29th 2021, 1:03pm)


12

Sunday, November 21st 2021, 11:44pm

Hey,
I've only just noticed this thread... it's really good to see people talking about the 4210-B. I've never had one but I do have the 4220-B... so I'm not sure how similar they are?

I've been trying to get a newer version of OpenWRT running on it and this is the thread I started a while back (that I've recently been updating)...http://forum.nas-forum.org/index.php?page=Thread&threadID=598

In particular I'm finding that the latest squashfs OpenWRT 21.02.1 release doesn't boot properly... this has then turned into an open bug with OpenWRT ... which in turn has lead to a OpenWRT developer talking about the way it detect partitions being wrong.

This may be the same issue you are discussing about your 4210-B ?

I did think to perhaps try the ext4 version of OpenWRT 21.02.1 (again for the 4220-B) but it seems to be too big for the bootloader to write to flash.

I noticed (under the Database section of this forum) a 'RedBoot_4220.zip' file here... http://forum.nas-forum.org/index.php?pag…DBData&dataID=5

Do you know if this is anything new... or just a backup of what the device might already have?
I'd love to also know if it might be possible to run OpenWRT from a USB pen instead (especially as the 4220-B has both a USB port on the front and the back)... that way maybe the size issue for the ext4 version wouldn't be an issue?
Thanks, Steven.
Thanks

Steven

Bu mesaj 5 defa düzenlendi; son düzenleyen "Lantizia" (Nov 25th 2021, 8:39am)


HWguru

NAS2000-Team

Mesajlar: 1,039

Konum: Wien

13

Sunday, November 28th 2021, 3:01pm

Hi Steven,
all bootloader images you find in our Database are copies of the original firmwares.
As I know there has not been any bootloader update out there.

Long time ago there was a user who compiled his own version. I think it was for a MRT NAS.

4210 and 4220 run a similar firmware but hardware is different. 4210 uses the CS3512 SOC and 4220 the CS3516.

Best regards,
HWguru
Leute ohne Laster haben oft wenige Tugenden...
NAS2000 2.3.2.IB.2.RS.1+Lüfterabschaltung+SSH+do_it+zusätzliche commandline tools+changed root password
1. suchen - lesen - Google - lesen - 1. Fragen gehören ins Forum, dann profitieren alle davon!