[Bug]: Odroid HC4 some SATA HDD detection/ initialisation Issue on Newer Armbian Images
- Dominant language
- Shell
- Stars
- 5.4k
- Forks
- 3.1k
- Avg merge
- 1d 9h
- Merged PRs (30d)
- 204
Description
### What happened?
When using new Minimal images of Armbian (Debian Trixie and Ubuntu Noble) with the Odroid HC4 found on the [ Odroid HC4 main page](https://www.armbian.com/odroid-hc4/). seemingly, some SATA drives do not initialise/ detect correctly.
### How to reproduce?
When flashing the images to an SD card and powering up the HC4, booting fails when I have my Seagate enterprise ST8000NM0045 HDDs connected. This however does not happen with my Western Digital WD20ERFRX HDDs or with no HHDs connected. The main thing I notice different about them is that the Seagates are native 4k sector sizes while the WDs are 512 sector sizes.
A screen connected to the board via HDMI shows the following on startup with the Seagates attached.
```shell
Board variant: hc4
Net: dwmac_meson8b ethernet@ff3f0000: Can't get reset: -2
eth0: ethernet@ff3f0000
PCIE-0: Link up (Gen2-x1, Bus0)
starting USB...
Starting the controller
USB XHCI 1.10
Bus usb@ff500000: 1 USB Device(s) found
sanning usb for storage devices... 0 Storage Device(s) found
Hit and key to stop autoboot: 02
MMC Device 2 not found
no mmc device at slot 2
MMC Device 1 not found
no mmc device at slot 1
Device 0: unknown device
scanning bus for devices...
Target spinup took 0ms.
Target spinup took 0ms.
AHCI 0001.0200 32 slots 2 ports 6 gbps 0x3 impl SATA mode
flags: 64bit ncq stag led clo pmp pio slum part ccc sxs
Can not start port 0
timeout exit!
timeout exit!
timeout exit!
timeout exit!
*** Read outside partition 2
Device 0: (0:0) Vendor: ATA Prod.: Rev:
Type: Hard Disk
Capacity: 0.0 MB = 0.0 GB (1 x 512)
timeout exit!
timeout exit!
timeout exit!
timeout exit!
timeout exit!
** fs_devread read error - block
timeout exit!
** fs_devread read error - block
Device 1: (1:0) vendor: ATA Prod.: ST8000NM0045-1RL Rev:UG07
Type: Hard Disk
Capacity: 953860.6 MB = 931.5 GB (1953506647 x 512)
Device 0: (0:0) vendor: ATA Prod.: ST8000NM0045-1RL Rev:UG07
Type: Hard Disk
Capacity: 953860.6 MB = 931.5 GB (1953506647 x 512)
... is now current device
timeout exit!
```
The `timeout exit!` continues and the board will sometimes boot eventually. Normally it does not.
## Things I have Tried
I have tried to few things to try and solve the issue. I used Debian 13 Trixie for my testing unless otherwise stated.
1. Using the Ubuntu 24.04 (Noble) minimal image on the [Odroid HC4 - Armbian page](https://www.armbian.com/odroid-hc4/). - Same issue as before.
2. Booting up the board with no HDDs connected and then hot swapping them in. - Sometimes they would come online and be detected correctly but, not always.
3. Download and flash different Images from the [Armbian Odroid HC4 Archive](https://armbian.lv.auroradev.org/archive/odroidhc4/archive/).
- Tried flashing `Armbian_25.11.1_Odroidhc4_trixie_current_6.12.58_minimal.img.xz` to the SD card. - Failed to work just like the newest images.
- Tried flashing `Armbian_25.5.1_Odroidhc4_trixie_current_6.12.32_minimal.img.xz` to the SD card - Drives are detected and boot as expected. No errors that I can find.
4. Trying different kernels with the newest armbian builds. Did this by getting board booted without HDDs then using `armbian-config` to change kernels. Then shutting down after successful reboot and installing HDDs before starting up again. - Tried 6.12 based mainline kernels (6.12.32 and .58). Could not get any to work.
5. Building Armbian images with Armbian build normally running the command `/compile.sh build BOARD=odroidhc4 BRANCH=current BUILD_DESKTOP=no BUILD_MINIMAL=no KERNEL_CONFIGURE=no RELEASE=trixie`
- Copied over the odroidhc4 path folder to both U-Boot [2025.04](https://github.com/armbian/build/tree/main/patch/u-boot/v2025.04) and [2025.10](https://github.com/armbian/build/tree/main/patch/u-boot/v2025.10), changed the U-boot version in [odroidhc4.conf](https://github.com/armbian/build/blob/main/config/boards/odroidhc4.conf) so that it was used when building the image. - Same issues as before.
- Removed newer patch [odroid-sm1-hc4-regulator-boot-on.patch](https://github.com/armbian/build/blob/main/patch/u-boot/v2026.01/board_odroidhc4/odroid-sm1-hc4-regulator-boot-on.patch) then rebuilt the image. Same issues as before.
Hope that helps figure out what it could possibly be. I am out of ideas. I am willing to test builds using Armbian build. I can switch to different branches if not in `main`. or add in new files to test it out.
### Branch
main (main development branch)
### On which host OS are you running the build script and observing this problem?
Debian 13 Trixie
### Are you building on Windows WSL2?
- [ ] Yes, my Ubuntu/Debian/OtherOS is running on WSL2
### Relevant log URL
_No response_
### Code of Conduct
- [x] I agree to follow this project's Code of Conduct
Contributor guide
Assessment
This issue has not been assessed yet.