Welcome! Log In Create A New Profile

Advanced

Iomega ix4-200d U-Boot

Posted by Reto 
Re: Iomega ix4-200d U-boot needed
October 07, 2022 10:47AM
Thanks Bodhi

I'll check your config After the weekend :)

Have a look to the diff: https://github.com/u-boot/u-boot/compare/v2022.07...ggirou:u-boot:v2022.07-ix4-200d
I set the registers for gpio with the same values from my stock u-boot.
Re: Iomega ix4-200d U-boot needed
October 07, 2022 10:10PM
Hi empgg3,

> I made a specific u-boot for ix4-200d, sata drive
> is detected but I didn't try to boot from it.
>

Did you see all 4 drives detected? Or just 2 drives?

-bodhi
===========================
Forum Wiki
bodhi's corner (buy bodhi a beer)
Re: Iomega ix4-200d U-boot needed
October 09, 2022 02:04AM
bodhi Wrote:
-------------------------------------------------------

> Did you see all 4 drives detected? Or just 2
> drives?

Hi Bodhi,

I can't say right now, I didn't look any further since I boot from USB.
I'll try again tomorrow or the day after and I'll send you some logs.
Re: Iomega ix4-200d U-boot needed
October 09, 2022 02:13AM
Can you share with me a copy of your complied u-boot and I can give feedback on it too?

I see from the bugzilla report that it could be an issue with certain disks. Maybe my 6Tb are a bit much for this old Nas although all 4 are detected and usable with stock u-boot and bohdis kernel. It's just that stock u-boot does not allow booting from them in gpt
Re: Iomega ix4-200d U-boot needed
October 10, 2022 01:36PM
> Can you share with me a copy of your complied
> u-boot and I can give feedback on it too?
>
> I see from the bugzilla report that it could be an
> issue with certain disks. Maybe my 6Tb are a bit
> much for this old Nas although all 4 are detected
> and usable with stock u-boot and bohdis kernel.
> It's just that stock u-boot does not allow booting
> from them in gpt

Hi CodeJack, you can download my compiled u-boot here:
https://github.com/ggirou/u-boot/releases/download/v2022.07-alpha%2B20220919/ix4-200d-u-boot-2022.07.kwb

> Did you see all 4 drives detected? Or just 2
> drives?

Hi Bodhi, drives are only detected on slots 3 and 4. I can list files on it.
Here is the logs:

U-Boot 2022.07-00008-g835bba8e40-dirty (Sep 19 2022 - 22:26:07 +0200)
Iomega ix4-200d

SoC:   Kirkwood 88F6281_A1
DRAM:  512 MiB
Core:  12 devices, 9 uclasses, devicetree: separate
NAND:  32 MiB
MMC:   
Loading Environment from NAND... OK
In:    serial
Out:   serial
Err:   serial
Net:   eth0: ethernet-controller@72000, eth1: ethernet-controller@76000
Hit any key to stop autoboot:  3  0
=> sata init
=> sata info
Failed to wait for completion on port 0
ATA operation timed out
Failed to wait for completion on port 0
ATA operation timed out
Device 0: Model:  Firm:  Ser#: 
            Type: Hard Disk
            Capacity: not available
Device 1: Model: PNY CS900 120GB SSD Firm: CS900615 Ser#: PNY22192205120100FDC
            Type: Hard Disk
            Supports 48-bit addressing
            Capacity: 114473.4 MB = 111.7 GB (234441648 x 512)
=> sata info
Device 0: Model:  Firm:  Ser#: 
            Type: Hard Disk
            Capacity: not available
Device 1: Model: PNY CS900 120GB SSD Firm: CS900615 Ser#: PNY22192205120100FDC
            Type: Hard Disk
            Supports 48-bit addressing
            Capacity: 114473.4 MB = 111.7 GB (234441648 x 512)
=> ext4ls sata 1:1
<DIR>       1024 .
<DIR>       1024 ..
<DIR>       2048 bin
<DIR>       4096 lib
<DIR>       4096 sbin
<DIR>       1024 sys
<DIR>       1024 usr
<DIR>       1024 mnt
<DIR>       1024 var
<DIR>       1024 proc
<DIR>       3072 etc
<DIR>       1024 tmp
<DIR>       1024 ram
<DIR>       1024 dev
<DIR>       1024 lost+found
         2076824 zImage
         3032589 initrd



Edited 1 time(s). Last edit at 10/12/2022 04:15PM by empgg3.
Re: Iomega ix4-200d U-boot needed
October 11, 2022 03:47AM
empgg3,

> Hi Bodhi, drives are only detected on slots 3 and
> 4. I can list files on it.

So that's the same as where I was with version 2022.10-rc3-tld-0.2 in this thread

https://forum.doozan.com/read.php?3,25120,132900#msg-132900

Try kwboot with 2022.10-rc3-tld-0.2 and the mainline Debian kernel. See if you can see and use all 4 disks Debian.

-bodhi
===========================
Forum Wiki
bodhi's corner (buy bodhi a beer)
Re: Iomega ix4-200d U-boot needed
October 11, 2022 07:37PM
Thanks empgg3.

When I kwboot with you image, none of my disks are found, at least not using the sata init/part commands. They trigger a sting of errors:
 98 % [..................................................]
[Type Ctrl-\ + c to quit]


U-Boot 2022.07-00008-g835bba8e40-dirty (Sep 19 2022 - 22:26:07 +0200)
Iomega ix4-200d

SoC:   Kirkwood 88F6281_A1
DRAM:  512 MiB
Core:  12 devices, 9 uclasses, devicetree: separate
NAND:  32 MiB
MMC:   
Loading Environment from NAND... *** Warning - bad CRC, using default environment

In:    serial
Out:   serial
Err:   serial
Net:   
Warning: ethernet-controller@72000 (eth0) using random MAC address - 66:79:e3:8e:c6:51
eth0: ethernet-controller@72000
Warning: ethernet-controller@76000 (eth1) using random MAC address - 7e:ab:36:39:5c:f3
, eth1: ethernet-controller@76000
Hit any key to stop autoboot:  0 
=> printenv
baudrate=115200
bootcmd=run x_bootcmd_usb; run x_bootcmd_kernel; setenv bootargs ${x_bootargs} ${x_bootargs_root}; bootm ${loadaddr};
bootdelay=3
eth1addr=7e:ab:36:39:5c:f3
ethaddr=66:79:e3:8e:c6:51
fdtcontroladdr=1fb48aa0
loadaddr=0x2000000
mtdparts=mtdparts=orion_nand:896k(uboot),128k(env),-(rootfs)
x_bootargs=console=ttyS0,115200 mtdparts=${mtdparts}
x_bootargs_root=root=/dev/sda1 rw rootfstype=ext4
x_bootcmd_kernel=ubi part rootfs && ubifsmount ubi:rootfs && ubifsload ${loadaddr} /uImage
x_bootcmd_usb=usb start; ext4load usb 0:1 ${loadaddr} uEnv.txt; env import -t ${loadaddr} ${filesize}

Environment size: 600/131068 bytes
=> sata init
Err: Failed to identify SATA device 0
Err: Failed to identify SATA device 1
=> scsi scan
Unknown command 'scsi' - try 'help'

If I wait a few seconds and run the same again, these are the errors I get:
=> sata info
GPT: first_usable_lba incorrect: 22 > 0
find_valid_gpt: *** ERROR: Invalid GPT ***
GUID Partition Table Header signature is wrong: 0x0 != 0x5452415020494645
find_valid_gpt: *** ERROR: Invalid Backup GPT ***
GPT: first_usable_lba incorrect: 22 > 0
find_valid_gpt: *** ERROR: Invalid GPT ***
GUID Partition Table Header signature is wrong: 0x0 != 0x5452415020494645
find_valid_gpt: *** ERROR: Invalid Backup GPT ***
GPT: first_usable_lba incorrect: 22 > 0
find_valid_gpt: *** ERROR: Invalid GPT ***
GUID Partition Table Header signature is wrong: 0x0 != 0x5452415020494645
find_valid_gpt: *** ERROR: Invalid Backup GPT ***
GPT: first_usable_lba incorrect: 22 > 0
find_valid_gpt: *** ERROR: Invalid GPT ***
GUID Partition Table Header signature is wrong: 0x0 != 0x5452415020494645
find_valid_gpt: *** ERROR: Invalid Backup GPT ***
GPT: first_usable_lba incorrect: 22 > 0
find_valid_gpt: *** ERROR: Invalid GPT ***
GUID Partition Table Header signature is wrong: 0x0 != 0x5452415020494645
find_valid_gpt: *** ERROR: Invalid Backup GPT ***
GPT: first_usable_lba incorrect: 22 > 0
find_valid_gpt: *** ERROR: Invalid GPT ***
GUID Partition Table Header signature is wrong: 0x0 != 0x5452415020494645
find_valid_gpt: *** ERROR: Invalid Backup GPT ***
GPT: first_usable_lba incorrect: 22 > 0
find_valid_gpt: *** ERROR: Invalid GPT ***
GUID Partition Table Header signature is wrong: 0x0 != 0x5452415020494645
find_valid_gpt: *** ERROR: Invalid Backup GPT ***
GPT: first_usable_lba incorrect: 22 > 0
find_valid_gpt: *** ERROR: Invalid GPT ***
GUID Partition Table Header signature is wrong: 0x0 != 0x5452415020494645
find_valid_gpt: *** ERROR: Invalid Backup GPT ***
GPT: first_usable_lba incorrect: 22 > 0
find_valid_gpt: *** ERROR: Invalid GPT ***
GUID Partition Table Header signature is wrong: 0x0 != 0x5452415020494645
find_valid_gpt: *** ERROR: Invalid Backup GPT ***
GPT: first_usable_lba incorrect: 22 > 0
find_valid_gpt: *** ERROR: Invalid GPT ***
GUID Partition Table Header signature is wrong: 0x0 != 0x5452415020494645
find_valid_gpt: *** ERROR: Invalid Backup GPT ***
GPT: first_usable_lba incorrect: 22 > 0
find_valid_gpt: *** ERROR: Invalid GPT ***
GUID Partition Table Header signature is wrong: 0x0 != 0x5452415020494645
find_valid_gpt: *** ERROR: Invalid Backup GPT ***
GPT: first_usable_lba incorrect: 22 > 0
find_valid_gpt: *** ERROR: Invalid GPT ***

There is no scsi command in your u-boot, is that correct? The stock u-boot uses SCSI for slot 3 and 4. So maybe the controllers work differently?



Edited 1 time(s). Last edit at 10/11/2022 08:08PM by CodeJACK.
Re: Iomega ix4-200d U-boot needed
October 12, 2022 04:15PM
> Try kwboot with 2022.10-rc3-tld-0.2 and the
> mainline Debian kernel. See if you can see and use
> all 4 disks Debian.

Hi Bodhi,

I was not able to detect any drive with U-Boot 2022.10-rc3-tld-0.2 and I was not able to boot to debian, see logs below.

U-Boot 2022.10-rc3-tld-0.2 (Aug 24 2022 - 16:52:00 -0700)
Lenovo-ix4-200d

SoC:   Kirkwood 88F6281_A1
DRAM:  512 MiB
Core:  12 devices, 9 uclasses, devicetree: separate
NAND:  32 MiB
MMC:   
Loading Environment from NAND... *** Warning - bad CRC, using default environment

In:    serial
Out:   serial
Err:   serial
Net:   
Warning: ethernet-controller@72000 (eth0) using random MAC address - c6:80:d7:c7:96:6a
eth0: ethernet-controller@72000
Warning: ethernet-controller@76000 (eth1) using random MAC address - 86:2c:65:7c:84:9f
, eth1: ethernet-controller@76000
Hit any key to stop autoboot:  0 
=> 
=> sata init
=> sata info
=> 
=> usb start; ext4load usb 0:1 ${loadaddr} uEnv.txt; env import -t ${loadaddr} ${filesize}
starting USB...
Bus ehci@50000: USB EHCI 1.00
scanning bus ehci@50000 for devices... 3 USB Device(s) found
       scanning usb for storage devices... 1 Storage Device(s) found
546 bytes read in 6 ms (88.9 KiB/s)
=> 
=> ext4load usb 0:1 ${loadaddr} /boot/uImage
19153076 bytes read in 478 ms (38.2 MiB/s)
=> setenv bootargs ${x_bootargs} ${x_bootargs_root}; bootm ${loadaddr}
Wrong Image Format for bootm command
ERROR: can't get kernel image!
=> 
=> ext4load usb 0:1 0x1000000 /vmlinuz ; ext4load usb 0:1 0x2000000 /initrd.img ; ext4load usb 0:1 0x3000000 /boot/kirkwood-ix4-200d.dtb
2453864 bytes read in 70 ms (33.4 MiB/s)
16686140 bytes read in 417 ms (38.2 MiB/s)
9252 bytes read in 7 ms (1.3 MiB/s)
=> bootz 0x1000000 0x2000000 0x3000000
Kernel image @ 0x1000000 [ 0x000000 - 0x257168 ]
Wrong Ramdisk Image Format
Ramdisk image is corrupt or invalid
=>

CodeJack,

Indeed, SCSI command is not enable in my u-boot. Maybe some GPT configs are missing, that's why you got those errors.
I'll try to rebuild u-boot with more config.
Re: Iomega ix4-200d U-boot needed
October 12, 2022 05:16PM
I'm pretty sure the env settings you need to boot from HDD are in this post.

https://forum.doozan.com/read.php?3,25120,132904#msg-132904



Edited 1 time(s). Last edit at 10/13/2022 03:14AM by CodeJACK.
Re: Iomega ix4-200d U-boot needed
October 12, 2022 11:20PM
empgg3,

> I was not able to detect any drive with U-Boot
> 2022.10-rc3-tld-0.2 and I was not able to boot to
> debian, see logs below.

I had not complete the settings for GPIOs in that tld-0.2 version, so these memory pokes are needed when you start.
=> mw.l 0xF1010100 0x1000d080
=> mw.l 0xf1010140  0x0001000c
=> sleep 5
=> sata init

-bodhi
===========================
Forum Wiki
bodhi's corner (buy bodhi a beer)
Re: Iomega ix4-200d U-boot needed
October 13, 2022 02:48PM
Hi Bodhi,

Sorry, I missed these commands.
I tested again and only disks on slots 3 and 4 work.

I also succeeded to boot with mainline debian kernel and also only slots 3 and 4 work. But there is some errors when I hot plug disk on slot 2, see full logs attached.
Attachments:
open | download - screenlog.txt (71 KB)
Re: Iomega ix4-200d U-boot needed
October 14, 2022 02:39AM
empgg3 Wrote:
-------------------------------------------------------
> Hi Bodhi,
>
> Sorry, I missed these commands.
> I tested again and only disks on slots 3 and 4
> work.
>
> I also succeeded to boot with mainline debian
> kernel and also only slots 3 and 4 work. But there
> is some errors when I hot plug disk on slot 2, see
> full logs attached.

Please rename this log to use extension .txt and re-upload (I have problem reading it).

-bodhi
===========================
Forum Wiki
bodhi's corner (buy bodhi a beer)
Re: Iomega ix4-200d U-boot needed
October 14, 2022 07:19AM
> Please rename this log to use extension .txt and
> re-upload (I have problem reading it).

I edited my previous post.
Re: Iomega ix4-200d U-boot needed
October 15, 2022 04:04AM
Hi Bodhi,

For my testing, I tested with a SSD and it was correctly detected.
Now, I put a 3.5" HDD, it's not.

Do you think it's a power issue like in this thread: https://forum.doozan.com/read.php?2,96444,96459 ?
How can I find the correct GPIO to enable sata power?
Re: Iomega ix4-200d U-boot needed
July 01, 2025 02:27PM
If anyone has had any luck or insight to the ix4-200d (32mb nand, non cloud version) I have been trying to recover to a working unit and I have done so from scratch using USB to TTL and the steps & files in this "tutorial" https://cloudkid.fr/install-iomega-ix4-200-d-firmware/ and have been able to find a ton of links/info/tips etc that has been incredibly hard to sort out.

As far as the HDDs I bough x4 4tb HGST drives only to now discover they cannot be read by the 2.1.44 or 2.1.48 firmware. Tried both MBR and GPT just to see and all I get anytime I plug one in is the unusable disk error icon and it can read the disk size etc but nothing else. Anytime I try to upgrade my ix4-200d to the newest 2.1.50 firmware, which is still posted on https://download.lenovo.com/lenovoemc/na/en/app/answers/detail/a_id/22315.html, its like there's bad code or an error with the firmware package because I get stuck on the "Security" page in the WebUI after all reboots. Attempting to click any tabs or buttons (including trying to hand type 192.168.x.x/home.html) all does nothing but refresh to the same "Security" page. So I try to enter the admin & password and oh yay back to the "security" page again and every time it refreshes the checkbox is unchecked as if I did not enter any security password. Luckily its simple to use the Recovery USB then re-upgrade to 2.1.48 again but uuuugh the time it takes to do anything is killing me.

At least for my ix4-200d there is no power issues, I can put x4 3.5" drives in without problems besides only having two other 3.5" drives to test with (old WD 500gb & 250gb from trashed Macs) and those work fine, I can run the 2.1.48 firmware fine but since I broke my budget just getting all these parts I'm greatly hoping to at least find a way to use the x4 4tb HDDs. My simple plan for this NAS was just to watch my digitized Movie collection offline, anything else would be great but lost all ambition about this devices doing much.

Happy to help test and tinker, I have tons of tabs and notes but its all a mess but I think I have figured out some of the confusion like checking the size of the nand before attempting to update to a 3.0+ firmware as the newer ix4-200d cloud capable models had 64mb of nand.

I will attempt to familiarize myself with this updating of UBOOT, perhaps that will help but uBOOT is all new to me.



Edited 2 time(s). Last edit at 07/01/2025 02:33PM by KodexMedia.
Re: Iomega ix4-200d U-boot needed
February 25, 2026 04:09AM
bodhi Wrote:
-------------------------------------------------------
> Attached here is version tld-0.6
>
> This time, kwboot it. And then dump the registers
> again ........

hi @bodhi,

after 9 years i managed to get my hands again on a ix4 unit, safed from the trash. can we make it possible to have a more recent uboot with all the bugfixes happened in 15 years.....? im willin to spend time on this.


there seems to be done much work here but no definite outcome so far since i cant see a released uboot in the kirkwood uboot topic?!

https://github.com/hn/seagate-blackarmor-nas/tree/9256a08a2d7b9aabc0830d953a288690cd2ebc17
https://github.com/ggirou/u-boot/tree/v2022.07-ix4-200d




Bad Magic Number�
         __  __                      _ _
        |  \/  | __ _ _ ____   _____| | |
        | |\/| |/ _` | '__\ \ / / _ \ | |
        | |  | | (_| | |   \ V /  __/ | |
        |_|  |_|\__,_|_|    \_/ \___|_|_|
 _   _     ____              _
| | | |   | __ )  ___   ___ | |_ 
| | | |___|  _ \ / _ \ / _ \| __| 
| |_| |___| |_) | (_) | (_) | |_ 
 \___/    |____/ \___/ \___/ \__|  ** uboot_ver:v1.1.0 **

 ** MARVELL BOARD: IX4-110 LE 

U-Boot 1.1.4 (Oct 15 2009 - 17:28:22) Marvell version: 3.4.18

U-Boot code: 00600000 -> 0067FFF0  BSS: -> 006CF600

Soc: 88F6281 A1 (DDR2)
CPU running @ 1200Mhz L2 running @ 400Mhz
SysClock = 400Mhz , TClock = 200Mhz 

DRAM CAS Latency = 5 tRP = 5 tRAS = 18 tRCD=6
DRAM CS[0] base 0x00000000   size 256MB 
DRAM CS[1] base 0x10000000   size 256MB 
DRAM Total size 512MB  16bit width
Found 0x20 i2c device
Set Power State as Always On
Addresses 8M - 0M are saved for the U-Boot usage.
Mem malloc Initialization (8M - 7M): Done
NAND:32 MB
Found ADT7473, program LED ...(led_volt=90)  OK
Found ADT7473, program thermal/Fan ...(pwm_min=0) (pwm_max=130) (therm=67) (temp_min=60)  OK

Marvell Serial ATA Adapter
Integrated Sata device found


CPU : Marvell Feroceon (Rev 1)
Could not found correct initrd

Streaming disabled 
Write allocate disabled

Module 0 is RGMII
Module 1 is RGMII

USB 0: host mode
PEX 0: PCI Express Root Complex Interface
PEX interface detected Link X1
SCSI:  AHCI 0001.0000 32 slots 3 ports 3 Gbps 0x7 impl IDE mode
flags: 64bit ncq stag led pmp slum part 
scanning bus for devices...
Net:   egiga0 [PRIME], egiga1
Hit any key to stop autoboot:  1  0



Edited 2 time(s). Last edit at 02/25/2026 05:34AM by Sash.
Re: Iomega ix4-200d U-boot needed
February 25, 2026 03:02PM
Sash,

> there seems to be done much work here but no
> definite outcome so far since i cant see a
> released uboot in the kirkwood uboot topic?!

It's been a while, I need to orient myself with this u-boot work in progress (tld-0.6), when I have time. If I can find my note then it's easy to continue.

In the mean time try kwboot with tld-0.6 version:

https://forum.doozan.com/read.php?3,25120,132891#msg-132891

And at u-boot prompt, try to check various devices.

Dump the registers first:
md.l 0xF1010000 8
md.l 0xF1010100 1
md.l 0xF1010140 1
And then
usb start
usb part
sata init
sata info
sata part
setenv ipaddr <your IP address for this box>
ping <the router IP addr>

-bodhi
===========================
Forum Wiki
bodhi's corner (buy bodhi a beer)
Re: Iomega ix2-200ng U-boot needed
February 26, 2026 04:32AM
Hi Bodhi,

I've NOT found this file

uboot.2017.07-tld-1.ix2-200.mtd0.kwb

to rebuild my bootloader in my Iomega StorCenter IX2-200 NO CLOUD version

ix2-200 DL DL “Desktop Linux” (1st revision 2009) 1st production
ix2-200 NG NG “Next Generation” (next revision) PCB early updated

that is NG with a new frontal panel and two usb rear ports.

Please let me know correct URI to download 'cause with search option I can't found it.

Thanks, best regards.
Re: Iomega ix2-200ng U-boot needed
February 26, 2026 02:02PM
Lewis65,

There is no uboot.2017.07-tld-1.ix2-200.mtd0.kwb. I have not built new u-boot for this ix2-200 NAS.

If the only difference between ix2-200 and ix4-200 is 2 HDDs vs 4 HDDs, then uboot.2022.10-rc3-tld-0.6.ix4_200d.mtd0.kwb can be used for the ix2-200.

Try running kwboot with uboot.2022.10-rc3-tld-0.6.ix4_200d.mtd0.kwb.

See kwboot example here. After you have successfully kwboot the ix4 u-boot image, post the entire serial console log.

-bodhi
===========================
Forum Wiki
bodhi's corner (buy bodhi a beer)
Iomega ix4-200d U-Boot - 2025.10-tld-1
February 26, 2026 07:18PM
Attached here is the new u-boot for ix4-200d.

uboot.2025.10-tld-1.ix4_200d.bodhi.260226.tar
sha256:
435132bf99eaace8c23fa099dde9824f0fb4b67b4370b0794f7a5da14771f46c

This tarball contains 4 files
uboot.2025.10-tld-1.ix4_200d.kwb
uboot.2025.10-tld-1.ix4_200d.boot.cmd
uboot.2025.10-tld-1.ix4_200d.boot.scr
README.txt

From another Linux box, connect serial console to this NAS, and use kwboot to load and run the kwb image.
kwboot -t -a -B 115200 /dev/ttyUSB0 -b uboot.2025.10-tld-1.ix4_200d.kwb
Note: the serial device ttyUSB0 is typical for Debian-based distro. On other distro it might be different (see detailed kwboot example here).

After u-boot started, interrupt the countdown and check various device
dm tree
usb start
usb part
sata init
sata part
setenv ipaddr <a valid IP address for this NAS>
ping <your router IP address>
dm tree
Please post the entire serial console log here.

-bodhi
===========================
Forum Wiki
bodhi's corner (buy bodhi a beer)
Attachments:
open | download - uboot.2025.10-tld-1.ix4_200d.bodhi.260226.tar (520 KB)
Re: Iomega ix2-200ng U-boot needed
February 27, 2026 10:14AM
Hi Bodhi,
thanks for you help!

I have prepared a linux host with UART USB-TTL and I have used kwboot and pococom and expect to save job but have received only

Sending boot message.Please reboot the target.../

prompt.

Blue led activity of USB UART port (ch340g) blinking but pococom log have strange chars.

#!/usr/bin/expect -f
#
# This Expect script was generated by autoexpect on Fri Feb 27 16:29:28 2026
# Expect and autoexpect were both written by Don Libes, NIST.
#
# Note that autoexpect does not guarantee a working script. It
# necessarily has to guess about certain things. Two reasons a script
# might fail are:
#
# 1) timing - A surprising number of programs (rn, ksh, zsh, telnet,
# etc.) and devices discard or ignore keystrokes that arrive "too
# quickly" after prompts. If you find your new script hanging up at
# one spot, try adding a short sleep just before the previous send.
# Setting "force_conservative" to 1 (see below) makes Expect do this
# automatically - pausing briefly before sending each character. This
# pacifies every program I know of. The -c flag makes the script do
# this in the first place. The -C flag allows you to define a
# character to toggle this mode off and on.

set force_conservative 0 ;# set to 1 to force conservative mode even if
;# script wasn't run conservatively originally
if {$force_conservative} {
set send_slow {1 .1}
proc send {ignore arg} {
sleep .1
exp_send -s -- $arg
}
}

#
# 2) differing output - Some programs produce different output each time
# they run. The "date" command is an obvious example. Another is
# ftp, if it produces throughput statistics at the end of a file
# transfer. If this causes a problem, delete these patterns or replace
# them with wildcards. An alternative is to use the -p flag (for
# "prompt") which makes Expect only look for the last line of output
# (i.e., the prompt). The -P flag allows you to define a character to
# toggle this mode off and on.
#
# Read the man page for more info.
#
# -Don


set timeout -1
spawn picocom -b 115200 /dev/ttyUSB0
match_max 100000
expect -exact "picocom v2.2\r
\r
port is : /dev/ttyUSB0\r
flowcontrol : none\r
baudrate is : 115200\r
parity is : none\r
databits are : 8\r
stopbits are : 1\r
escape is : C-a\r
local echo is : no\r
noinit is : no\r
noreset is : no\r
nolock is : no\r
send_cmd is : sz -vv\r
receive_cmd is : rz -vv -E\r
imap is : \r
omap is : \r
emap is : crcrlf,delbs,\r
\r
Type \[C-a\] \[C-h\] to see available commands\r
\r
Terminal ready\r
ÿ»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw»\"3DUfw
send -- ""
expect -exact "\r
*** local echo: yes ***\r
"
send -- ""
expect -exact ""
send -- ""
expect eof

I leave an image for you https://postimg.cc/p9Dmp05L

...I know that inductor L2 6 L3 (near usb ports) on this unit fault frequently



Edited 2 time(s). Last edit at 02/27/2026 11:41AM by Lewis65.
Re: Iomega ix2-200ng U-boot needed
February 27, 2026 12:32PM
Lewis65,

Since your box is the Iomage ix2-200ng, please create a new thread for troubleshooting. This thread is for ix4-200d u-boot.

You can copy your post above to the new thread.

-bodhi
===========================
Forum Wiki
bodhi's corner (buy bodhi a beer)
Re: Iomega ix4-200d U-Boot - 2025.10-tld-1
March 02, 2026 11:49AM
@bodhi
i tested both ethernet ports with each a different ip. no ping. dm tree doesnt exist. i also had 3 <1TB hdd inside with are not detected.

also kwb doenst work every time on this unit. often i start kwboot an the units fan spins to max,, jsut stits there and nothing else happens. also tried wir debian kwbooot


@PHILAP0112:~/Downloads/NAS/iOmega-ix4-200/uboot.2025.10-tld-1.ix4_200d.bodhi.260226$ sudo ../kwboot_2025.01-rc1_x86-64 -t -a -B 115200 /dev/ttyUSB0 -b uboot.2025.10-tld-1.ix4_200d.kwb
kwboot version 2025.01-rc1-ge61ea9f2e5d2-dirty
Detected kwbimage v0 with NAND boot signature
Patching image boot signature to UART
Sending boot message. Please reboot the target...-
Sending boot image header (512 bytes)...
 25 % [....                                                                  ]
Done
Sending boot image data (516172 bytes)...
  0 % [......................................................................]
  1 % [......................................................................]
  3 % [......................................................................]
  5 % [......................................................................]
  6 % [......................................................................]
  8 % [......................................................................]
 10 % [......................................................................]
 12 % [......................................................................]
 13 % [......................................................................]
 15 % [......................................................................]
 17 % [......................................................................]
 19 % [......................................................................]
 20 % [......................................................................]
 22 % [......................................................................]
 24 % [......................................................................]
 26 % [......................................................................]
 27 % [......................................................................]
 29 % [......................................................................]
 31 % [......................................................................]
 33 % [......................................................................]
 34 % [......................................................................]
 36 % [......................................................................]
 38 % [......................................................................]
 39 % [......................................................................]
 41 % [......................................................................]
 43 % [......................................................................]
 45 % [......................................................................]
 46 % [......................................................................]
 48 % [......................................................................]
 50 % [......................................................................]
 52 % [......................................................................]
 53 % [......................................................................]
 55 % [......................................................................]
 57 % [......................................................................]
 59 % [......................................................................]
 60 % [......................................................................]
 62 % [......................................................................]
 64 % [......................................................................]
 65 % [......................................................................]
 67 % [......................................................................]
 69 % [......................................................................]
 71 % [......................................................................]
 72 % [......................................................................]
 74 % [......................................................................]
 76 % [......................................................................]
 78 % [......................................................................]
 79 % [......................................................................]
 81 % [......................................................................]
 83 % [......................................................................]
 85 % [......................................................................]
 86 % [......................................................................]
 88 % [......................................................................]
 90 % [......................................................................]
 92 % [......................................................................]
 93 % [......................................................................]
 95 % [......................................................................]
 97 % [......................................................................]
 98 % [...........................................                           ]
Done
Finishing transfer
[Type Ctrl-\ + c to quit]


U-Boot 2025.10-tld-1 (Feb 26 2026 - 12:42:50 -0800)
Iomega ix4-200d

SoC:   Kirkwood 88F6281_A1
MPP:   Variant 88F6281
DRAM:  512 MiB
Core:  20 devices, 14 uclasses, devicetree: separate
NAND:  32 MiB
MMC:   
Loading Environment from NAND... *** Warning - bad CRC, using default environment

Resetting console stdin/stdout/stderr to serial...
In:    serial
Out:   serial
Err:   serial
pcie0.0: Link up
Net:   
Warning: ethernet-controller@72000 (eth0) using random MAC address - 32:12:3f:94:76:e0
eth0: ethernet-controller@72000
Warning: ethernet-controller@76000 (eth1) using random MAC address - d2:c7:76:24:56:85
, eth1: ethernet-controller@76000
Hit any key to stop autoboot: 0
IX4-200d> <INTERRUPT>
IX4-200d> <INTERRUPT>
IX4-200d> dm tree
Unknown command 'dm' - try 'help'
IX4-200d> usb start
starting USB...
USB EHCI 1.00
Bus usb@50000: 2 USB Device(s) found
       scanning usb for storage devices... 0 Storage Device(s) found
IX4-200d> usb part

no usb partition table available
IX4-200d> sata init
IX4-200d> sata part

no sata partition table available
IX4-200d> setenv ipaddr 192.168.0.1
IX4-200d> ping 192.168.0.1
ethernet-controller@72000 Waiting for PHY auto negotiation to complete......... TIMEOUT !
Using ethernet-controller@72000 device

ARP Retry count exceeded; starting again
ping failed; host 192.168.0.1 is not alive
IX4-200d> 
ethernet-controller@72000 Waiting for PHY auto negotiation to complete......... TIMEOUT !
Using ethernet-controller@72000 device

ARP Retry count exceeded; starting again
ping failed; host 192.168.0.1 is not alive
IX4-200d> setenv ipaddr 192.168.0.1
IX4-200d> ping 192.168.0.1
ethernet-controller@72000 Waiting for PHY auto negotiation to complete......... TIMEOUT !
Using ethernet-controller@72000 device

ARP Retry count exceeded; starting again
ping failed; host 192.168.0.1 is not alive
IX4-200d> setenv ipaddr 192.168.0.2 
IX4-200d> ping 192.168.0.2
Using ethernet-controller@72000 device

ARP Retry count exceeded; starting again
ping failed; host 192.168.0.2 is not alive
IX4-200d> dm tree



Edited 1 time(s). Last edit at 03/02/2026 11:51AM by Sash.
Re: Iomega ix4-200d U-Boot - 2025.10-tld-1
March 02, 2026 02:21PM
Sash,

> i tested both ethernet ports with each a different
> ip. no ping. dm tree doesnt exist. i also had 3
> <1TB hdd inside with are not detected.

1. Which ethernet port the cable is attached to?

If 192.168.0.1 is the router, then the test was wrong. The ipaddr is the IP for this box. Set it to some number that you know is not currently not assigned in the network. For example,
setenv ipaddr 192.168.0.100
ping 192.168.0.1

2. I expect at leat one HDD is active. Can you test the currently empty SATA slot?

3. Is there a USB drive attached to any of the ports?

In any case, I forgot to configure the dm command, so will make another build.

I also need to see the stock boot log, not sure if it's already in this thread.

-bodhi
===========================
Forum Wiki
bodhi's corner (buy bodhi a beer)
Re: Iomega ix4-200d U-Boot - 2025.10-tld-1
March 02, 2026 02:46PM
i tested port 1 and 2

the ip is the boxes IP and the ping should work to the local ip, too.
there is a very different network on the ethernet which is a vlan that blocks access without registration (corporate network). it was just connected for "link up" purposes

i already switched to openwrt but i posted the orig bootlog in the openwrt wiki: https://openwrt.org/toh/iomega/ix4-200d#original_iomega_bootlog

i can test the empty slot tomorrow. maybe i´ll find an usb stick, too.



Edited 2 time(s). Last edit at 03/02/2026 04:30PM by Sash.
Re: Iomega ix4-200d U-Boot - 2025.10-tld-1
March 03, 2026 02:30AM
> i already switched to openwrt but i posted the
> orig bootlog in the openwrt wiki:
> https://openwrt.org/toh/iomega/ix4-200d#original_iomega_bootlog

You've misspelled Bodhi :)
Debian Brodhi bootlog

-bodhi
===========================
Forum Wiki
bodhi's corner (buy bodhi a beer)
Re: Iomega ix4-200d U-Boot - 2025.10-tld-1
March 03, 2026 06:56AM
@bodhi

u r right! fixed



Sash Wrote:
-------------------------------------------------------
> also kwb doenst work every time on this unit.
> often i start kwboot an the units fan spins to
> max,, jsut stits there and nothing else happens.
> also tried wir debian kwbooot

the solution for this is quiet easy: stop/cancel the kwboot process. restart the kwboot process!


now with an attached USB stick:

IX4-200d> usb start
starting USB...
USB EHCI 1.00
Bus usb@50000: 3 USB Device(s) found
       scanning usb for storage devices... 1 Storage Device(s) found
IX4-200d> usb part

Partition Map for usb device 0  --   Partition Type: DOS

Part	Start Sector	Num Sectors	UUID		Type
  1	2048      	8380416   	495ad83f-01	06
IX4-200d>

but no sata. even when i replug the hdd to the last unused port.
IX4-200d> sata init
IX4-200d> sata part

no sata partition table available
IX4-200d> sata init
IX4-200d> 
IX4-200d> 
IX4-200d> sata part

no sata partition table available
IX4-200d>

ok, eth port 2 IS working! port 1 is not.

IX4-200d> setenv ipaddr 192.168.88.11
IX4-200d> ping 192.168.88.22
ethernet-controller@72000 Waiting for PHY auto negotiation to complete......... TIMEOUT !
Using ethernet-controller@72000 device

ARP Retry count exceeded; starting again
ping failed; host 192.168.88.22 is not alive
IX4-200d> setenv ipaddr 192.168.88.33
IX4-200d> ping 192.168.88.22         
Using ethernet-controller@72000 device
host 192.168.88.22 is alive
IX4-200d>



Edited 2 time(s). Last edit at 03/03/2026 09:52AM by Sash.
Re: Iomega ix4-200d U-Boot - 2025.10-tld-1
March 03, 2026 01:53PM
Sash,

> IX4-200d> usb start
> starting USB...
> USB EHCI 1.00
> Bus usb@50000: 3 USB Device(s) found
> scanning usb for storage devices... 1
> Storage Device(s) found
> IX4-200d> usb part
>
> Partition Map for usb device 0 -- Partition
> Type: DOS
>
> Part Start Sector Num Sectors UUID Type
> 1 2048 8380416 495ad83f-01 06
> IX4-200d>

Cool! Now we have a storage device for booting Debian.

> but no sata. even when i replug the hdd to the
> last unused port.

OK.

> ok, eth port 2 IS working! port 1 is not.

Cool!

> IX4-200d> setenv ipaddr 192.168.88.11
> IX4-200d> ping 192.168.88.22
> ethernet-controller@72000 Waiting for PHY auto
> negotiation to complete......... TIMEOUT !
> Using ethernet-controller@72000 device
>
> ARP Retry count exceeded; starting again
> ping failed; host 192.168.88.22 is not alive
> IX4-200d> setenv ipaddr 192.168.88.33
> IX4-200d> ping 192.168.88.22
> Using ethernet-controller@72000 device
> host 192.168.88.22 is alive
> IX4-200d>

It's the ethact env that controls which ethernet port is being used.
printenv ethact
If ethact=egiga0, change it to egiga1 (and vice versa),
setenv ethact egiga1
And then switch the ethernet cable to the other port, and ping the router. I expect the ethernet-controller@76000 will be used.

====

The fact that you had to do a ping a second time to get ethernet, I think the ARP time out is too short.

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



Edited 1 time(s). Last edit at 03/03/2026 01:56PM by bodhi.
Re: Iomega ix4-200d U-Boot - 2025.10-tld-1
March 03, 2026 02:47PM
Attached here is the new u-boot for ix4-200d.

uboot.2025.10-tld-1.ix4_200d.bodhi.260303.tar
sha256:
a54ce9f9361b8f20e37daf1cd9219e519918b48a9ac87f28d6c76f0d1b2b0976

This tarball contains 4 files
uboot.2025.10-tld-1.ix4_200d.kwb
uboot.2025.10-tld-1.ix4_200d.boot.cmd
uboot.2025.10-tld-1.ix4_200d.boot.scr
README.txt

From another Linux box, connect serial console to this NAS, and use kwboot to load and run the kwb image.
kwboot -t -a -B 115200 /dev/ttyUSB0 -b uboot.2025.10-tld-1.ix4_200d.kwb
Note: the serial device ttyUSB0 is typical for Debian-based distro. On other distro it might be different (see detailed kwboot example here).

After u-boot started, interrupt the countdown, dump the registers and check various devices

Note: each Ethernet test needs the cable connected to the right port (egiga0, or egiga1). And repeat the ping a couple times to be sure.

md.l 0xF1010000 8
md.l 0xF1010100 1
md.l 0xF1010140 1
dm tree
sata init
sata part
scsi reset
scsi part
setenv ipaddr <a valid IP address for this NAS>
setenv ethact egiga0
ping <your router IP address>
setenv ethact egiga1
ping <your router IP address>
mdio list
mii info
dm tree
Please post the entire serial console log here.

-bodhi
===========================
Forum Wiki
bodhi's corner (buy bodhi a beer)
Attachments:
open | download - uboot.2025.10-tld-1.ix4_200d.bodhi.260303.tar (520 KB)
Re: Iomega ix4-200d U-Boot - 2025.10-tld-1
March 04, 2026 03:41PM
@bodhi


U-Boot 2025.10-tld-1 (Mar 03 2026 - 12:01:44 -0800)
Iomega ix4-200d

SoC:   Kirkwood 88F6281_A1
MPP:   Variant 88F6281
DRAM:  512 MiB
Core:  20 devices, 14 uclasses, devicetree: separate
NAND:  32 MiB
MMC:   
Loading Environment from NAND... *** Warning - bad CRC, using default environment

Resetting console stdin/stdout/stderr to serial...
In:    serial
Out:   serial
Err:   serial
pcie0.0: Link up
Net:   
Warning: ethernet-controller@72000 (eth0) using random MAC address - b6:e1:0e:98:c9:8b
eth0: ethernet-controller@72000
Warning: ethernet-controller@76000 (eth1) using random MAC address - f2:de:50:3a:7a:03
, eth1: ethernet-controller@76000
Hit any key to stop autoboot: 0
Scanning for bootflows in all bootdevs
Seq  Method       State   Uclass    Part  Name                      Filename
---  -----------  ------  --------  ----  ------------------------  ----------------
Hunting with: mmc
Hunting with: ahci
scanning bus for devices...
Rescanning SATA bus for devices...
Hunting with: scsi
scanning bus for devices...
Hunting with: usb
USB EHCI 1.00
Bus usb@50000: 3 USB Device(s) found
Scanning bootdev 'usb_mass_storage.lun0.bootdev':
Hunting with: ethernet
Scanning bootdev 'ethernet-controller@72000.boo':
Scanning bootdev 'ethernet-controller@76000.boo':
No more bootdevs
---  -----------  ------  --------  ----  ------------------------  ----------------
(0 bootflows, 0 valid)
IX4-200d>


md.l 0xF1010000 8

f1010000: 01111111 00003311 33331140 33003333  .....3..@.3333.3
f1010010: 00000033 00000000 00000000 00000000  3...............


md.l 0xF1010100 1 
f1010100: 00000000

IX4-200d> md.l 0xF1010140 1
f1010140: 00000000

X4-200d> dm tree
 Class     Seq    Probed  Driver                Name
-----------------------------------------------------------
 root          0  [ + ]   root_driver           root_driver
 simple_bus    0  [ + ]   simple_bus            |-- mbus@f1000000
 misc          0  [ + ]   pcie_mvebu_base       |   `-- pcie@82000000
 pci           0  [ + ]   pcie_mvebu            |       `-- pcie0.0
 pci           1  [ + ]   pci_bridge_drv        |           `-- pci_0:0.0
 ahci          1  [   ]   ahci_pci              |               `-- ahci_pci
 simple_bus    1  [ + ]   simple_bus            |-- ocp@f1000000
 gpio          0  [   ]   gpio_mvebu            |   |-- gpio@10100
 gpio          1  [   ]   gpio_mvebu            |   |-- gpio@10140
 timer         0  [ + ]   orion_timer           |   |-- timer@20300
 usb           0  [ + ]   ehci_mvebu            |   |-- usb@50000
 usb_hub       0  [ + ]   usb_hub               |   |   `-- usb_hub
 usb_hub       1  [ + ]   usb_hub               |   |       `-- usb_hub
 usb_mass_s    0  [ + ]   usb_mass_storage      |   |           `-- usb_mass_storage
 blk           2  [ + ]   usb_storage_blk       |   |               |-- usb_mass_storage.lun0
 partition     0  [ + ]   blk_partition         |   |               |   `-- usb_mass_storage.lun0:1
 bootdev       2  [ + ]   usb_bootdev           |   |               `-- usb_mass_storage.lun0.bootdev
 ethernet      0  [ + ]   mvgbe                 |   |-- ethernet-controller@72000
 bootdev       0  [ + ]   eth_bootdev           |   |   `-- ethernet-controller@72000.boo
 ethernet      1  [ + ]   mvgbe                 |   |-- ethernet-controller@76000
 bootdev       1  [ + ]   eth_bootdev           |   |   `-- ethernet-controller@76000.boo
 rtc           0  [   ]   rtc-mv                |   |-- rtc@10300
 ahci          0  [   ]   sata_mv_ahci          |   `-- sata@80000
 blk           0  [   ]   sata_mv_blk           |       |-- sata@80000.blk
 blk           1  [   ]   sata_mv_blk           |       `-- sata@80000.blk
 bootstd       0  [ + ]   bootstd_drv           |-- bootstd
 bootmeth      0  [ + ]   bootmeth_extlinux     |   |-- extlinux
 bootmeth      1  [ + ]   bootmeth_script       |   |-- script
 bootmeth      2  [ + ]   bootmeth_pxe          |   `-- pxe
 serial        0  [ + ]   ns16550_serial        `-- serial@12000
IX4-200d>


IX4-200d> sata init
IX4-200d> sata part

no sata partition table available
IX4-200d> scsi reset

Reset SCSI
scanning bus for devices...
IX4-200d> scsi part 

no scsi partition table available
IX4-200d>

X4-200d> mdio list
ethernet-controller@72000:
ethernet-controller@76000:


IX4-200d> mii info
PHY 0x08: OUI = 0x5043, Model = 0x24, Rev = 0x00,  10baseT, HDX
PHY 0x09: OUI = 0x5043, Model = 0x24, Rev = 0x00,  10baseT, HDX
IX4-200d>

port1
setenv ethact egiga0
IX4-200d> ping 192.168.2.222  
ethernet-controller@72000 Waiting for PHY auto negotiation to complete......... TIMEOUT !
Using ethernet-controller@72000 device

ARP Retry count exceeded; starting again
ping failed; host 192.168.2.222 is not alive
IX4-200d> setenv ethact egiga1
IX4-200d> ping 192.168.2.222  
ethernet-controller@72000 Waiting for PHY auto negotiation to complete......... TIMEOUT !
Using ethernet-controller@72000 device

ARP Retry count exceeded; starting again
ping failed; host 192.168.2.222 is not alive
IX4-200d>


port 2

IX4-200d> ping 192.168.2.222  
Using ethernet-controller@72000 device
host 192.168.2.222 is alive
IX4-200d> setenv ethact egiga1
IX4-200d> ping 192.168.2.222  
Using ethernet-controller@72000 device
host 192.168.2.222 is alive
IX4-200d>

X4-200d> dm tree
 Class     Seq    Probed  Driver                Name
-----------------------------------------------------------
 root          0  [ + ]   root_driver           root_driver
 simple_bus    0  [ + ]   simple_bus            |-- mbus@f1000000
 misc          0  [ + ]   pcie_mvebu_base       |   `-- pcie@82000000
 pci           0  [ + ]   pcie_mvebu            |       `-- pcie0.0
 pci           1  [ + ]   pci_bridge_drv        |           `-- pci_0:0.0
 ahci          1  [   ]   ahci_pci              |               `-- ahci_pci
 simple_bus    1  [ + ]   simple_bus            |-- ocp@f1000000
 gpio          0  [   ]   gpio_mvebu            |   |-- gpio@10100
 gpio          1  [   ]   gpio_mvebu            |   |-- gpio@10140
 timer         0  [ + ]   orion_timer           |   |-- timer@20300
 usb           0  [ + ]   ehci_mvebu            |   |-- usb@50000
 usb_hub       0  [ + ]   usb_hub               |   |   `-- usb_hub
 usb_hub       1  [ + ]   usb_hub               |   |       `-- usb_hub
 usb_mass_s    0  [ + ]   usb_mass_storage      |   |           `-- usb_mass_storage
 blk           2  [ + ]   usb_storage_blk       |   |               |-- usb_mass_storage.lun0
 partition     0  [ + ]   blk_partition         |   |               |   `-- usb_mass_storage.lun0:1
 bootdev       2  [ + ]   usb_bootdev           |   |               `-- usb_mass_storage.lun0.bootdev
 ethernet      0  [ + ]   mvgbe                 |   |-- ethernet-controller@72000
 bootdev       0  [ + ]   eth_bootdev           |   |   `-- ethernet-controller@72000.boo
 ethernet      1  [ + ]   mvgbe                 |   |-- ethernet-controller@76000
 bootdev       1  [ + ]   eth_bootdev           |   |   `-- ethernet-controller@76000.boo
 rtc           0  [   ]   rtc-mv                |   |-- rtc@10300
 ahci          0  [   ]   sata_mv_ahci          |   `-- sata@80000
 blk           0  [   ]   sata_mv_blk           |       |-- sata@80000.blk
 blk           1  [   ]   sata_mv_blk           |       |-- sata@80000.blk
 blk           3  [   ]   sata_mv_blk           |       |-- sata@80000.blk
 blk           4  [   ]   sata_mv_blk           |       |-- sata@80000.blk
 blk           5  [   ]   sata_mv_blk           |       |-- sata@80000.blk
 blk           6  [   ]   sata_mv_blk           |       |-- sata@80000.blk
 blk           7  [   ]   sata_mv_blk           |       |-- sata@80000.blk
 blk           8  [   ]   sata_mv_blk           |       `-- sata@80000.blk
 bootstd       0  [ + ]   bootstd_drv           |-- bootstd
 bootmeth      0  [ + ]   bootmeth_extlinux     |   |-- extlinux
 bootmeth      1  [ + ]   bootmeth_script       |   |-- script
 bootmeth      2  [ + ]   bootmeth_pxe          |   `-- pxe
 serial        0  [ + ]   ns16550_serial        `-- serial@12000
IX4-200d>



Edited 2 time(s). Last edit at 03/04/2026 03:54PM by Sash.
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: