Welcome! Log In Create A New Profile

Advanced

Mainline Debian on Iomega ix4-300d

Posted by Koen 
Re: Mainline Debian on Iomega ix4-300d
December 17, 2022 05:09PM
RaumZeit,

> 1. I get random segmentation faults when I run
> `update-initramfs`. Only about one out of three
> attempts runs through without problems. Also
> sometimes I get `illegal instruction` reports when
> I update some software using `apt`. I really have
> no clue what is going on here, is there something
> wrong with the kernel config or maybe I have some
> faulty RAM blocks? Any help is appreciated.

Since you are running mainline Debian rootfs created by the installer, I'm not sure what's the problem. Sounds like you have a bad rootfs. Later, after you booted my released kernel 6.0.7, you might want to try the new rootfs Debian-5.13.8-mvebu-tld-1-rootfs-bodhi.tar.bz2 also.

> 2. I tried updating to kernel 6.0.7 using your
> (@bodhi) instructions taken from here:
> https://forum.doozan.com/read.php?2,32146

Quote

data abort
pc : [<0117de7c>] lr : [<0117b83c>]
sp : 0167bb40 ip : 0000001c fp : 0167625c
r10: 0117a610 r9 : 0117b088 r8 : 01676260
r7 : 00000bdc r6 : 0167a750 r5 : 00000055 r4 : 0118117e
r3 : 00000bdc r2 : fed12000 r1 : f1012000 r0 : 00000055
Flags: nzCv IRQs off FIQs off Mode SVC_32
Resetting CPU ...


At serial console,

bdinfo
map

Please post the serial console log here.

I might ask for more follow up info later.

-bodhi
===========================
Forum Wiki
bodhi's corner
Re: Mainline Debian on Iomega ix4-300d
December 18, 2022 04:33AM
bdinfo:
arch_number = 0x00000BDC
env_t       = 0x00000000
boot_params = 0x00000100
DRAM bank   = 0x00000000
-> start    = 0x00000000
-> size     = 0x20000000
DRAM bank   = 0x00000001
-> start    = 0x00000000
-> size     = 0x00000000
DRAM bank   = 0x00000002
-> start    = 0x00000000
-> size     = 0x00000000
DRAM bank   = 0x00000003
-> start    = 0x00000000
-> size     = 0x00000000
ethaddr     = 00:D0:B8:2A:3D:DF
ip_addr     = 192.168.1.2
baudrate    = 115200 bps

map:

CPU Interface
-------------
SDRAM_CS0 ....base 00000000, size 512MB 
SDRAM_CS1 ....disable
SDRAM_CS2 ....disable
SDRAM_CS3 ....disable
DEVICE_CS0 ....no such
DEVICE_CS1 ....no such
DEVICE_CS2 ....no such
DEVICE_CS3 ....no such
PEX0_MEM ....base c0000000, size  64MB 
PEX0_IO ....base f1100000, size   1MB 
PEX1_MEM ....no such
PEX1_IO ....no such
PEX2_MEM ....base cc000000, size  64MB 
PEX2_IO ....no such
PEX3_MEM ....base e0000000, size  64MB 
PEX3_IO ....no such
PEX4_MEM ....base ca000000, size  32MB 
PEX4_IO ....no such
PEX5_MEM ....no such
PEX5_IO ....no such
PEX6_MEM ....base e4000000, size  64MB 
PEX6_IO ....no such
PEX7_MEM ....no such
PEX7_IO ....no such
PEX8_MEM ....base e8000000, size  64MB 
PEX8_IO ....no such
PEX9_MEM ....base ec000000, size  64MB 
PEX9_IO ....no such
INTER_REGS ....base d0000000, size   1MB 
DMA_UART ....no such
SPI_CS0 ....base f4000000, size   8MB 
SPI_CS1 ....no such
SPI_CS2 ....no such
SPI_CS3 ....no such
SPI_CS4 ....no such
SPI_CS5 ....no such
SPI_CS6 ....no such
SPI_CS7 ....no such
BOOT_ROM_CS ....base f8000000, size   1MB 
DEV_BOOTCS ....base fd000000, size  16MB 
PMU_SCRATCHPAD ....no such
CRYPT1_ENG ....base c8010000, size  64KB 
CRYPT2_ENG ....no such
PNC_BM ....no such

AHB To MBUS Bridge:
-------------------
win0 - PEX0_MEM base c0000000, ....size  64MB 
win1 - PEX0_IO base f1100000, ....size   1MB 
win2 - PEX2_MEM base cc000000, ....size  64MB 
win3 - PEX3_MEM base e0000000, ....size  64MB 
win4 - PEX4_MEM base ca000000, ....size  32MB 
win5 - PEX6_MEM base e4000000, ....size  64MB 
win6 - PEX8_MEM base e8000000, ....size  64MB 
win7 - PEX9_MEM base ec000000, ....size  64MB 
win8 - SPI_CS0 base f4000000, ....size   8MB 
win9 - DEV_BOOTCS base fd000000, ....size  16MB 
win10 - CRYPT1_ENG base c8010000, ....size  64KB 
win11 - disable
win12 - disable
win13 - BOOT_ROM_CS base f8000000, ....size   1MB 
win14 - disable
win15 - disable
win16 - disable
win17 - disable
win18 - disable
win19 - disable
win20 - INTER_REGS base d0000000, ....size   1MB 

PEX0:
-----

Pex Bars 

Internal Regs Bar0.... base d0000000, size   1MB 
DRAM Bar1............. base 00000000, size 512MB 
Devices Bar2.......... disable

Pex Decode Windows

win0 - SDRAM_CS0 base 00000000, ....size 512MB 
win1 - disable
win2 - disable
win3 - disable
win4 - disable
win5 - disable
default win - SDRAM_CS0 
Expansion ROM - SDRAM_CS0 

PEX4:
-----

Pex Bars 

Internal Regs Bar0.... base d0000000, size   1MB 
DRAM Bar1............. base 00000000, size 512MB 
Devices Bar2.......... disable

Pex Decode Windows

win0 - SDRAM_CS0 base 00000000, ....size 512MB 
win1 - disable
win2 - disable
win3 - disable
win4 - disable
win5 - disable
default win - SDRAM_CS0 
Expansion ROM - SDRAM_CS0 

USB 0:
----
win0 - SDRAM_CS0 base 00000000, ....size 512MB 
win1 - PEX0_MEM base c0000000, ....size  64MB 
win2 - disable
win3 - disable
win4 - mvUsbWinRead (dev=0): ERR. Invalid winNum 4
win5 - mvUsbWinRead (dev=0): ERR. Invalid winNum 5
win6 - mvUsbWinRead (dev=0): ERR. Invalid winNum 6
win7 - mvUsbWinRead (dev=0): ERR. Invalid winNum 7
win8 - mvUsbWinRead (dev=0): ERR. Invalid winNum 8
win9 - mvUsbWinRead (dev=0): ERR. Invalid winNum 9
win10 - mvUsbWinRead (dev=0): ERR. Invalid winNum 10
win11 - mvUsbWinRead (dev=0): ERR. Invalid winNum 11
win12 - mvUsbWinRead (dev=0): ERR. Invalid winNum 12
win13 - mvUsbWinRead (dev=0): ERR. Invalid winNum 13
win14 - mvUsbWinRead (dev=0): ERR. Invalid winNum 14
win15 - mvUsbWinRead (dev=0): ERR. Invalid winNum 15

USB 1:
----
win0 - SDRAM_CS0 base 00000000, ....size 512MB 
win1 - PEX0_MEM base c0000000, ....size  64MB 
win2 - disable
win3 - disable
win4 - mvUsbWinRead (dev=1): ERR. Invalid winNum 4
win5 - mvUsbWinRead (dev=1): ERR. Invalid winNum 5
win6 - mvUsbWinRead (dev=1): ERR. Invalid winNum 6
win7 - mvUsbWinRead (dev=1): ERR. Invalid winNum 7
win8 - mvUsbWinRead (dev=1): ERR. Invalid winNum 8
win9 - mvUsbWinRead (dev=1): ERR. Invalid winNum 9
win10 - mvUsbWinRead (dev=1): ERR. Invalid winNum 10
win11 - mvUsbWinRead (dev=1): ERR. Invalid winNum 11
win12 - mvUsbWinRead (dev=1): ERR. Invalid winNum 12
win13 - mvUsbWinRead (dev=1): ERR. Invalid winNum 13
win14 - mvUsbWinRead (dev=1): ERR. Invalid winNum 14
win15 - mvUsbWinRead (dev=1): ERR. Invalid winNum 15

USB 2:
----
win0 - SDRAM_CS0 base 00000000, ....size 512MB 
win1 - PEX0_MEM base c0000000, ....size  64MB 
win2 - disable
win3 - disable
win4 - mvUsbWinRead (dev=2): ERR. Invalid winNum 4
win5 - mvUsbWinRead (dev=2): ERR. Invalid winNum 5
win6 - mvUsbWinRead (dev=2): ERR. Invalid winNum 6
win7 - mvUsbWinRead (dev=2): ERR. Invalid winNum 7
win8 - mvUsbWinRead (dev=2): ERR. Invalid winNum 8
win9 - mvUsbWinRead (dev=2): ERR. Invalid winNum 9
win10 - mvUsbWinRead (dev=2): ERR. Invalid winNum 10
win11 - mvUsbWinRead (dev=2): ERR. Invalid winNum 11
win12 - mvUsbWinRead (dev=2): ERR. Invalid winNum 12
win13 - mvUsbWinRead (dev=2): ERR. Invalid winNum 13
win14 - mvUsbWinRead (dev=2): ERR. Invalid winNum 14
win15 - mvUsbWinRead (dev=2): ERR. Invalid winNum 15

ETH 0:
----
win0 - SDRAM_CS0 base 00000000, ....size 512MB 
win1 - disable
win2 - disable
win3 - disable
win4 - disable
win5 - disable
win6 - mvNetaWinGet: ERR. Invalid winNum 6
win7 - mvNetaWinGet: ERR. Invalid winNum 7
win8 - mvNetaWinGet: ERR. Invalid winNum 8
win9 - mvNetaWinGet: ERR. Invalid winNum 9
win10 - mvNetaWinGet: ERR. Invalid winNum 10
win11 - mvNetaWinGet: ERR. Invalid winNum 11
win12 - mvNetaWinGet: ERR. Invalid winNum 12
win13 - mvNetaWinGet: ERR. Invalid winNum 13
win14 - mvNetaWinGet: ERR. Invalid winNum 14
win15 - mvNetaWinGet: ERR. Invalid winNum 15

ETH 1:
----
win0 - SDRAM_CS0 base 00000000, ....size 512MB 
win1 - disable
win2 - disable
win3 - disable
win4 - disable
win5 - disable
win6 - mvNetaWinGet: ERR. Invalid winNum 6
win7 - mvNetaWinGet: ERR. Invalid winNum 7
win8 - mvNetaWinGet: ERR. Invalid winNum 8
win9 - mvNetaWinGet: ERR. Invalid winNum 9
win10 - mvNetaWinGet: ERR. Invalid winNum 10
win11 - mvNetaWinGet: ERR. Invalid winNum 11
win12 - mvNetaWinGet: ERR. Invalid winNum 12
win13 - mvNetaWinGet: ERR. Invalid winNum 13
win14 - mvNetaWinGet: ERR. Invalid winNum 14
win15 - mvNetaWinGet: ERR. Invalid winNum 15

XOR 0:
----
win0 - PEX0_MEM base c0000000, ....size  64MB 
win1 - PEX2_MEM base cc000000, ....size  64MB 
win2 - PEX3_MEM base e0000000, ....size  64MB 
win3 - PEX8_MEM base e8000000, ....size  64MB 
win4 - PEX9_MEM base ec000000, ....size  64MB 
win5 - SDRAM_CS0 base 00000000, ....size 512MB 
win6 - disable
win7 - disable
win8 - win9 - win10 - win11 - win12 - win13 - win14 - win15 - 
XOR 1:
----
win0 - PEX0_MEM base c0000000, ....size  64MB 
win1 - PEX2_MEM base cc000000, ....size  64MB 
win2 - PEX3_MEM base e0000000, ....size  64MB 
win3 - PEX8_MEM base e8000000, ....size  64MB 
win4 - PEX9_MEM base ec000000, ....size  64MB 
win5 - SDRAM_CS0 base 00000000, ....size 512MB 
win6 - disable
win7 - disable
win8 - win9 - win10 - win11 - win12 - win13 - win14 - win15 - 
XOR 2:
----
win0 - PEX0_MEM base c0000000, ....size  64MB 
win1 - PEX2_MEM base cc000000, ....size  64MB 
win2 - PEX3_MEM base e0000000, ....size  64MB 
win3 - PEX8_MEM base e8000000, ....size  64MB 
win4 - PEX9_MEM base ec000000, ....size  64MB 
win5 - SDRAM_CS0 base 00000000, ....size 512MB 
win6 - disable
win7 - disable
win8 - win9 - win10 - win11 - win12 - win13 - win14 - win15 - 
XOR 3:
----
win0 - PEX0_MEM base c0000000, ....size  64MB 
win1 - PEX2_MEM base cc000000, ....size  64MB 
win2 - PEX3_MEM base e0000000, ....size  64MB 
win3 - PEX8_MEM base e8000000, ....size  64MB 
win4 - PEX9_MEM base ec000000, ....size  64MB 
win5 - SDRAM_CS0 base 00000000, ....size 512MB 
win6 - disable
win7 - disable
win8 - win9 - win10 - win11 - win12 - win13 - win14 - win15 - 
Sata 0:
----
win0 - SDRAM_CS0 base 00000000, ....size 256MB 
win1 - SDRAM_CS1 base 10000000, ....size 256MB 
win2 - SDRAM_CS2 base 20000000, ....size 256MB 
win3 - SDRAM_CS3 base 30000000, ....size 256MB 
win4 - mvSataWinRead (dev=0): ERR. Invalid winNum 4
win5 - mvSataWinRead (dev=0): ERR. Invalid winNum 5
win6 - mvSataWinRead (dev=0): ERR. Invalid winNum 6
win7 - mvSataWinRead (dev=0): ERR. Invalid winNum 7
win8 - mvSataWinRead (dev=0): ERR. Invalid winNum 8
win9 - mvSataWinRead (dev=0): ERR. Invalid winNum 9
win10 - mvSataWinRead (dev=0): ERR. Invalid winNum 10
win11 - mvSataWinRead (dev=0): ERR. Invalid winNum 11
win12 - mvSataWinRead (dev=0): ERR. Invalid winNum 12
win13 - mvSataWinRead (dev=0): ERR. Invalid winNum 13
win14 - mvSataWinRead (dev=0): ERR. Invalid winNum 14
win15 - mvSataWinRead (dev=0): ERR. Invalid winNum 15

Sata 1:
----
win0 - SDRAM_CS0 base 00000000, ....size 256MB 
win1 - SDRAM_CS1 base 10000000, ....size 256MB 
win2 - SDRAM_CS2 base 20000000, ....size 256MB 
win3 - SDRAM_CS3 base 30000000, ....size 256MB 
win4 - mvSataWinRead (dev=1): ERR. Invalid winNum 4
win5 - mvSataWinRead (dev=1): ERR. Invalid winNum 5
win6 - mvSataWinRead (dev=1): ERR. Invalid winNum 6
win7 - mvSataWinRead (dev=1): ERR. Invalid winNum 7
win8 - mvSataWinRead (dev=1): ERR. Invalid winNum 8
win9 - mvSataWinRead (dev=1): ERR. Invalid winNum 9
win10 - mvSataWinRead (dev=1): ERR. Invalid winNum 10
win11 - mvSataWinRead (dev=1): ERR. Invalid winNum 11
win12 - mvSataWinRead (dev=1): ERR. Invalid winNum 12
win13 - mvSataWinRead (dev=1): ERR. Invalid winNum 13
win14 - mvSataWinRead (dev=1): ERR. Invalid winNum 14
win15 - mvSataWinRead (dev=1): ERR. Invalid winNum 15

Re: Mainline Debian on Iomega ix4-300d
December 18, 2022 04:38PM
RaumZeit,

The info looks good. There should be no address conflict in booting.

But since you are booting with stock u-boot, and it's quite old and sensitive to load addresses. Try booting at the same addresses that Koen used.

setenv bootdebian "printenv; ide reset; ext2load ide 2:1 0x40000 uImage; ext2load ide 2:1 0x2000000 uInitrd; setenv bootargs $console $mtdparts root=LABEL=rootfs rw rootdelay=10; bootm 0x40000 0x2000000"

If that still has problem, then adjust the uImage and uInitrd addresses as followed:
uImage load and boot address: 0x800000
uInitrd load and boot address: 0x2100000

-bodhi
===========================
Forum Wiki
bodhi's corner
Re: Mainline Debian on Iomega ix4-300d
December 19, 2022 02:12PM
Hi RaumZeit,

everything looked OK after the install but I did get similar error messages when installing software using apt after a while. I often had to run apt a few times before it would succeed. I'm not sure what caused it but it made me a bit worried about the data on the nas so I've moved the drives to another nas for now. I've not used the ix4 300d since but can boot it up to provide a dmesg log if anybody is interested to have a look.

Koen
Re: Mainline Debian on Iomega ix4-300d
December 21, 2022 03:16AM
Thanks, Bodhi,

I'll try that as soon as I find the time to hack the device again. Once I've done that I'll get back to you and report whether it worked or not.

Cheers,
RaumZeit
Re: Mainline Debian on Iomega ix4-300d
December 21, 2022 03:20AM
Thanks for getting back to me, Koen!

the bad news that you also experience these issues is somehow good news to me. Maybe it's really just a kernel config problem. I also sometimes suspect that the box runs out of memory quickly. Anyhow, I think no further dmesg output is required at this stage. I'll see how things develop with Bodhis new 6.0.7 kernel, if I get it running.

Btw., apart from the segmentation faults during install of software it is running stable so far. I use it as NFS server and have a software raid running. No further problems so far. But its only running for a few days now.

Best,
RaumZeit
bramm
Re: Mainline Debian on Iomega ix4-300d
January 31, 2023 04:49AM
Hi Koen,

Great job with debian:)

I was wondering if you could you share the serial ttl layout and the settings for my terminal program?
I've found a 4 pin header but all I get is gibberish on my screen with 115200 8N1

Thanks

Bram
Re: Mainline Debian on Iomega ix4-300d
February 28, 2023 06:32PM
I'm trying to fix the bootloader on my IX4-300D. I accidentally ran
nand erase
from the U-Boot console, without any parameters, which erases the whole flash. Fortunately, I had backed up the MTD partitions from Linux using dd.

I able able to get back into U-Boot using kwboot:
kwboot -t -B 115200 /dev/ttyUSB0 -b mtd0ro -p
From here, I can load Linux over TFTP and boot and it works fine.

From the U-Boot console, I was able to restore the NAND partitions (except rootfs, because it's so large) by transferring them with TFTP and writing them with 'nand write'. However, the system still will not boot on its own. The serial console outputs the following:
BootROM 1.15
Booting from NAND flash
DDR3 Training Sequence - Ver 2.3.4
DDR3 Training Sequence - Ended Successfully
BootROM: Image checksum verification FAILED
BootROM: Bad header at offset 00020000
BootROM: Bad header at offset 00040000
BootROM: Bad header at offset 00060000
BootROM: Bad header at offset 00080000
[...]
BootROM: Bad header at offset 03FE0000

Does anyone know how to restore the bootloader on this device?
Re: Mainline Debian on Iomega ix4-300d
February 28, 2023 09:08PM
Perhaps Koen will come around and help.

In the mean time, did you use command similar to this to back up mtd0 to the file mtd0ro?

nanddump --noecc --omitoob -f mtd0 /dev/mtd0

What is the size of mtd0ro?

ls -l mtd0ro
ls -lh mtd0ro
Is this 896K?

-bodhi
===========================
Forum Wiki
bodhi's corner
Re: Mainline Debian on Iomega ix4-300d
February 28, 2023 09:12PM
Also see if you can use Koen's mtds backup in this post.

https://forum.doozan.com/read.php?2,131833,133002#msg-133002

-bodhi
===========================
Forum Wiki
bodhi's corner
Re: Mainline Debian on Iomega ix4-300d
February 28, 2023 10:36PM
Quote
bodhi
In the mean time, did you use command similar to this to back up mtd0 to the file mtd0ro?
I used dd.

Quote
bodhi
Is this 896K?
Yup, it's 917504 bytes.

Quote
bodhi
Also see if you can use Koen's mtds backup in this post.
That fixed it! Booting now without kwboot. My mtd0 backup must've been corrupted somehow, but it still worked well enough for kwboot. Weird.

Thanks!
Re: Mainline Debian on Iomega ix4-300d
February 28, 2023 10:50PM
> That fixed it! Booting now without kwboot. My mtd0
> backup must've been corrupted somehow, but it
> still worked well enough for kwboot. Weird.

Cool!

BTW, dd is not recommended for something like this. nanddump is the right tool.

kwboot actually fix th eheader up before sending, and the BootROM only cares to see the UART byte in the header.

-bodhi
===========================
Forum Wiki
bodhi's corner



Edited 1 time(s). Last edit at 02/28/2023 10:53PM by bodhi.
Rom
Re: Mainline Debian on Iomega ix4-300d
May 13, 2023 07:37AM
Hey,
Trying to install any firmware on the IX-300D using the usb port but it always shows "TFTP and USB boot fail".
I don't have Linux and when I tried to combine the image files using CMD as described in the README file in one of the links it didn't find the specified file or didn't recognize it as a command.
Is there a simple way I can get the Nas running with a formatted HDD?
Thanks
Re: Mainline Debian on Iomega ix4-300d
May 13, 2023 02:57PM
Rom,

You need another Linux box and connect serial console.

-bodhi
===========================
Forum Wiki
bodhi's corner
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: