• Status Closed
  • Percent Complete
  • Task Type Patches
  • Category Infrastructure → Build environment
  • Assigned To No-one
  • Operating System Another
  • Severity Low
  • Priority Very Low
  • Reported Version
  • Due in Version Undecided
  • Due Date Undecided
  • Votes
  • Private
Attached to Project: Rockbox
Opened by barrywardell - 2006-07-28
Last edited by linuxstb - 2006-07-28

FS#5731 - Build target for iriver H10

WARNING: This code has been known to cause permanent damage to the hdd of an iriver H10.

This is an initial build target for the iriver H10. It currently applies to the 20GB version running firmware 2.51. It has been tested to successfully build a bootloader. It doesn’t actually boot Rockbox yet. It allows code that is in bootloader/h10.c to be run. This has been used for testing and investigative purposes.

To build, select 22 - iriver H10 as the build target and select bootloader for build type. This expects mi4code to be in /tools. For more information on mi4code, see Once the build has been completed you need to run mi4code twice more:

mi4code encrypt rockbox.irver H10_20GC_unsigned.mi4 20gc_eng
mi4code sign H10_20GC_unsigned.mi4 H10_20GC.mi4

Now, copy H10_20GC.mi4 to the System directory on your player. It’s probably a good idea to keep a backup copy of the H10_20GC.mi4 that is already there.

(application/octet-stream)    h10.patch (54.3 KiB)
Closed by  bger
2006-08-11 10:48
Reason for closing:  Accepted
Additional comments about closing:   Warning: Undefined array key "typography" in /home/rockbox/flyspray/plugins/dokuwiki/inc/parserutils.php on line 371 Warning: Undefined array key "camelcase" in /home/rockbox/flyspray/plugins/dokuwiki/inc/parserutils.php on line 407

Accepted, thank you

What kind of HDD damage did it cause?
I’m just curious about a little clarification of what went wrong with your unit.

I’m not too sure to be honest. I had run almost identical code on the H10 dozens of times before without any problems at all. But after the last time I wasn’t able to mount the disk any more. I connected it to the computer, set it to Universal Mass Storage mode. The computer detects it fine, but as soon as I try to access the disk in any way (eg. mounting, fdisk, format, whateer) it gets a load of I/O errors and it looks like the USB connection resets. The computer redetects the device and tries again to mount it, gets I/O errors and so on.

When I turn it on and it’s not connected to the computer it seems to load the bootloader fine but then isn’t able to load the firmware which is stored on the hdd.

I can’t figure out what caused it. It may have even just been coincidental. My H10 had been acting up a bit recently and I had disassembled it to scan the pcb. And it was in a semi-dismantled state when the problem happened.

Can you put the drive in an enclosure, reformat it or otherwise attempt to restore it, and regain use of your H10?

I looked into that, but it has an unusual connector. It’s a Hitachi zif connector ( I considered trying build an adapter to connect it to my computer. It looks like it would just be a case of connecting the right pins up. I wasn’t able to find a connector for the zif end though, so decided against it and RMA’d my H10 instead.

Here’s an updated patch which will allow building of the simulator. You need to use h10_v2.patch and then put UI-h10.bmp in uisimulator/sdl, uisimulator/x11 and uisimulator/win32.
Keys have been defined for all plugins and screens. I haven’t thoroughtly tested the key definitions, so any suggested changes are welcome.

Updated again to work against current CVS since Bagder’s recent Sansa commits.

Project Manager

Most of this patch is now committed

Here’s an updated patch with the stuff that wasn’t committed by bagder.
Also, a H10_20GC.mi4 file is now automatically generated using when make is run. mi4code has to be in your $PATH for this to work.
The bootloader file h10.c has also been updated with most irrelevant code stripped out.

Oops, forgot to do a cvs update -D. Here’s an updated version.

Aarrghh. Sorry for the excessively frequent updates. I missed a file. This patch is definitely complete!

Another updated version with the ATA code moved to ‘target/arm/ata-pp5020.c’ and ‘target/arm/ata-target.h’ since it is the same for all PP5020 based devices. The original ata.c is no longer touched either.

‘target/arm/iriver/h10/ata-h10.c’ and ‘target/arm/iriver/h10/ata-target.h’ which are in the current CVS are no longer used and can be deleted.

Updated button driver to:
1) Actually detect buttons properly
2) Detect power button
3) Check if hold is on

Updated with keymaps for disktidy and mpegplayer.


Available keyboard shortcuts


Task Details

Task Editing