91
Hardware / [Solved] Fail to install rockbox on iriver H120 ihp-120 with msata and M.2 SSD
« Last post by cayou2000 on April 09, 2025, 11:38:18 AM »I have an iriver H120 that works perfectly with the original HDD. It has rockbox updated and the last firmware 1.66 EU.
I purchased adapter to test bigger capacity so i get a CF to ZIF adapter, a ZIF to Msata adapter with 120go msata ssdrive and a ZIF to M.2 sata adapter with 256gb m.2 sata ssd drive
I was only able to format the SSD's on macOS terminal when connected to the H120 (w11 is not working with FAT32format).
I the installed rockbox with the installer and avery things goes well till the last prompt of upgrading the firmware. When I restart on the origian firmware I get checking hdd connection and the check HDD and nothing happen when I click upgrade firmware on original firmware. if it try to format it it say's it can't
If I reboot on rockbox i have the no partition message.
The disk is still readable on windows and contain the rockbox files and the hex file for upgrade...
Any idea from where the error is?
[EDIT SOLUTION]
So finally it worked partially (rockbox OK original firmware KO)
My conf:
Iriver H120 ihp-120 with latest firmware 1.66e and rockbox installed v4.0 on v8 bootloader on originator 20gb toshiba HDD.
on this setup both rockbox and original firmware have access to HDD.
I bought:
CF to ZIF adapter (bothe side pins have to be cut to be inserted fully in the slot)
Aliexpress CF to ZIF adapter

A zif to msata adapter (you have to slightly bend the CF to ZIF adapter to install it correctly)
Aliexpress ZIF to mSata adapter

OR
A ZIF to M.2 sata 2241 adapter
Aliexpress ZIF to M.2 sata adapter

I already had:
msata ssd drive
Kingston msata 120gb SUV500MS/120G
and m.2 sata 2280 (for test only as 2242 format is required to close the player)
Samsung 256GB MZNLN256HCHP-000L7
The main issue is to correctly format the hard drive to be detected by rockbox and proceed to installation.
I did it part on linux and part on windows.
On linux I did the following with the player connect in usb mode in original firmware mode (or rockbox if it works)
to find the address of the player
mine was sdb1
then partition the ssd with
the -c=dos allow to format the partition starting at the 63th sector instead of the 2048th sector as per default.
first step is to delete the partition(s) with
then create a new partition with
then set primary partition with
first sector to 63
last sector to default for max size just press enter
then change the type of partition with
and
the end the partitionning with
here the complete code
Then on windows you can clean the partition with DISKPART on CMD
to get your disk number
to select your disk
the clean the partition with
Normally you should be able to see the drive in computer management/storage and to give it a letter (D: for me) by right clicking your partition.
now with fat32format.exe you can finalize the partition with the command in CMD in the directory where you stored the exe extract from the file I downloaded here https://fat32-format.en.softonic.com/
you should now be able to install rockbox with the utility and start the firmware with full capacity.
Original is still accessible but SSD is not so useless.
Hope it will help you revive your iriver.
Next step for me is new battery and find the bigger SSD m.2 sata i can to test the limit of rockbox and the player....
[EDIT] finally the original battery last 12h of continuous playback with the SSD. They had fantastic hardware back then. Miss that time.
I purchased adapter to test bigger capacity so i get a CF to ZIF adapter, a ZIF to Msata adapter with 120go msata ssdrive and a ZIF to M.2 sata adapter with 256gb m.2 sata ssd drive
I was only able to format the SSD's on macOS terminal when connected to the H120 (w11 is not working with FAT32format).
I the installed rockbox with the installer and avery things goes well till the last prompt of upgrading the firmware. When I restart on the origian firmware I get checking hdd connection and the check HDD and nothing happen when I click upgrade firmware on original firmware. if it try to format it it say's it can't
If I reboot on rockbox i have the no partition message.
The disk is still readable on windows and contain the rockbox files and the hex file for upgrade...
Any idea from where the error is?
[EDIT SOLUTION]
So finally it worked partially (rockbox OK original firmware KO)
My conf:
Iriver H120 ihp-120 with latest firmware 1.66e and rockbox installed v4.0 on v8 bootloader on originator 20gb toshiba HDD.
on this setup both rockbox and original firmware have access to HDD.
I bought:
CF to ZIF adapter (bothe side pins have to be cut to be inserted fully in the slot)
Aliexpress CF to ZIF adapter

A zif to msata adapter (you have to slightly bend the CF to ZIF adapter to install it correctly)
Aliexpress ZIF to mSata adapter

OR
A ZIF to M.2 sata 2241 adapter
Aliexpress ZIF to M.2 sata adapter

I already had:
msata ssd drive
Kingston msata 120gb SUV500MS/120G
and m.2 sata 2280 (for test only as 2242 format is required to close the player)
Samsung 256GB MZNLN256HCHP-000L7
The main issue is to correctly format the hard drive to be detected by rockbox and proceed to installation.
I did it part on linux and part on windows.
On linux I did the following with the player connect in usb mode in original firmware mode (or rockbox if it works)
Code: [Select]
lsblk
to find the address of the player
mine was sdb1
then partition the ssd with
Code: [Select]
sudo fdisk -c=dos /dev/sdb
the -c=dos allow to format the partition starting at the 63th sector instead of the 2048th sector as per default.
first step is to delete the partition(s) with
Code: [Select]
d
then create a new partition with
Code: [Select]
n
then set primary partition with
Code: [Select]
p
first sector to 63
Code: [Select]
63
last sector to default for max size just press enter
then change the type of partition with
Code: [Select]
t
and
Code: [Select]
0C
(it's a zero)the end the partitionning with
Code: [Select]
w
here the complete code
Code: [Select]
sudo fdisk -c=dos /dev/sdb
Welcome to fdisk (util-linux 2.40.4).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
DOS-compatible mode is deprecated.
Command (m for help): p
Disk /dev/sdb: 238.47 GiB, 256060514304 bytes, 500118192 sectors
Disk model: MZNLN256HCHP
Geometry: 255 heads, 63 sectors/track, 31130 cylinders
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xb335ca64
Device Boot Start End Sectors Size Id Type
/dev/sdb1 63 500118191 500118129 238.5G c W95 FAT32 (LBA)
Command (m for help): d
Selected partition 1
Partition 1 has been deleted.
Command (m for help): n
Partition type
p primary (0 primary, 0 extended, 4 free)
e extended (container for logical partitions)
Select (default p): p
Partition number (1-4, default 1): 1
First sector (63-500118191, default 63): 63
Last sector, +/-sectors or +/-size{K,M,G,T,P} (63-500118191, default 500118191): 500118191
Created a new partition 1 of type 'Linux' and of size 238.5 GiB.
Command (m for help): t
Selected partition 1
Hex code or alias (type L to list all): 0c
Changed type of partition 'Linux' to 'W95 FAT32 (LBA)'.
Command (m for help): w
The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.
Then on windows you can clean the partition with DISKPART on CMD
to get your disk number
Code: [Select]
list disk
to select your disk
Code: [Select]
select disk X
where X is your disk numberthe clean the partition with
Code: [Select]
clean
Normally you should be able to see the drive in computer management/storage and to give it a letter (D: for me) by right clicking your partition.
now with fat32format.exe you can finalize the partition with the command in CMD in the directory where you stored the exe extract from the file I downloaded here https://fat32-format.en.softonic.com/
Code: [Select]
fat32format.exe D:
you should now be able to install rockbox with the utility and start the firmware with full capacity.
Original is still accessible but SSD is not so useless.
Hope it will help you revive your iriver.
Next step for me is new battery and find the bigger SSD m.2 sata i can to test the limit of rockbox and the player....
[EDIT] finally the original battery last 12h of continuous playback with the SSD. They had fantastic hardware back then. Miss that time.
92
Hardware / Re: Iriver H140 crashed not booting
« Last post by cayou2000 on April 09, 2025, 11:06:07 AM »I got the same today and the answer is in the text.
You let the hold switch in the hold position so the system will not boot. just change the position en retry (I know that it may be too late but it can be usefull to others)
You let the hold switch in the hold position so the system will not boot. just change the position en retry (I know that it may be too late but it can be usefull to others)
93
New Ports / Re: HiBy R3Pro Saber 2022
« Last post by 7o9 on April 09, 2025, 10:34:08 AM »You make it sound relatively easy.
I have tried (failed) to repack the firmware for the HiBy R1 in an attempt to run something custom on it.
The information in the list you provide would be enough for a hosted port?
I am sure I can provide most of that for the R1 based on disassembly of the firmware/driver .ko’s. All drivers are provided as modules and decompile very well.
I have tried (failed) to repack the firmware for the HiBy R1 in an attempt to run something custom on it.
The information in the list you provide would be enough for a hosted port?
I am sure I can provide most of that for the R1 based on disassembly of the firmware/driver .ko’s. All drivers are provided as modules and decompile very well.
94
Audio Playback, Database and Playlists / Re: Use filename in WPS instead of ID3 metadata
« Last post by Bilgus on April 09, 2025, 10:12:14 AM »Quick rundown of how I understand it...
So starting from a clean install, You've just booted Rockbox and have songs on the storage as well.
In this first example you use the file browser and choose a track.
(we used to play directories directly but now it builds a playlist of the directory within the playlist control file)
The playlist is built and the entries contain the Action tag, position in the playlist, filename.
When you play the playlist that track gets loaded, the metadata parser (unique to each format) then prepares the track by first finding the metadata and copying it to a special table in memory that has a few slots available for the current track and (if it exists) the next track.
Note that the metadata doesn't just contain user visible data it may also hold data needed to decode the track so the parsing needs to be done even if we don't care about the user visible data.
PLAYBACK:
Now we are in the WPS and the track is playing when the theme asks for the artist name etc it grabs the special table and uses the info that was retrieved by the codec and displays it to the user however the theme designer intended.
---------------------------------------------------------------------------------------------------------------
Lets walk through the case of building the database next:
You build your database the device walks through all the files it can find (within the database build path)
The database stores track info for each song by parsing the track metadata. [Artist/Album/genre/year/etc...]
Unless you build or update (rescan) the database there won't be a scan of all files on the device.
Later you choose a track from the database you might find it by one of the above stored tags
it then continues building a playlist just like the first example.
PLAYBACK:
Now we are in the WPS and the track is playing when the theme asks for the artist name etc it grabs the special table and uses the info that was retrieved by the codec and displays it to the user however the theme designer intended.
If a tag is missing sometimes the theme author will make it fallback to a different field, filename of the track for instance.
So starting from a clean install, You've just booted Rockbox and have songs on the storage as well.
In this first example you use the file browser and choose a track.
(we used to play directories directly but now it builds a playlist of the directory within the playlist control file)
The playlist is built and the entries contain the Action tag, position in the playlist, filename.
Code: [Select]
A:0:0:/Mp3s/BANANNA - Badfruit.mp3
No metadata has been parsed yet we just walk the directory and if a filetype is a recognized audio type [wav, mp3, flac, aac, etc.] we store it to the playlist.When you play the playlist that track gets loaded, the metadata parser (unique to each format) then prepares the track by first finding the metadata and copying it to a special table in memory that has a few slots available for the current track and (if it exists) the next track.
Note that the metadata doesn't just contain user visible data it may also hold data needed to decode the track so the parsing needs to be done even if we don't care about the user visible data.
PLAYBACK:
Now we are in the WPS and the track is playing when the theme asks for the artist name etc it grabs the special table and uses the info that was retrieved by the codec and displays it to the user however the theme designer intended.
---------------------------------------------------------------------------------------------------------------
Lets walk through the case of building the database next:
You build your database the device walks through all the files it can find (within the database build path)
The database stores track info for each song by parsing the track metadata. [Artist/Album/genre/year/etc...]
Unless you build or update (rescan) the database there won't be a scan of all files on the device.
Later you choose a track from the database you might find it by one of the above stored tags
it then continues building a playlist just like the first example.
Code: [Select]
A:0:0:/Mp3s/BANANNA - Badfruit.mp3
PLAYBACK:
Now we are in the WPS and the track is playing when the theme asks for the artist name etc it grabs the special table and uses the info that was retrieved by the codec and displays it to the user however the theme designer intended.
If a tag is missing sometimes the theme author will make it fallback to a different field, filename of the track for instance.
95
New Ports / Re: HiBy R3Pro Saber 2022
« Last post by speachy on April 08, 2025, 09:39:54 PM »All of the non-Android Hiby devices (and many more from other manufacturers) are built on the same underlying software framework ("hibyos"), with the messy details nearly entirely handled by custom, per-device kernel drivers and existing platform daemons+scripts.
Rockbox has already been ported to multiple hibyos devices. To port it to another one just needs to handle:
* Display properties
* Button layout
* Audio output switcher and mixer names
* Power management properties (battery and charging device names, plus discharge curves)
Rockbox has already been ported to multiple hibyos devices. To port it to another one just needs to handle:
* Display properties
* Button layout
* Audio output switcher and mixer names
* Power management properties (battery and charging device names, plus discharge curves)
96
New Ports / Re: HiBy R3Pro Saber 2022
« Last post by 7o9 on April 08, 2025, 03:25:13 PM »HiBy R1 and R3II 2025 use very similar firmware, potentially even a shared one (besides some different hardware drivers).
The added features and firmware change log are typically identical too.
The added features and firmware change log are typically identical too.
97
New Ports / Re: HiBy R3Pro Saber 2022
« Last post by vitt13 on April 08, 2025, 12:00:05 PM »Similar to Tempotec V3 Blaze, HiBy is released updated R3II 2025 that is also has useful kernel module drivers that can be easy decompile in Ghidra.
R3II 2025 is quite different but some of drivers are common in R3Pro Saber 2022 and can help me to understand digital sound pass to dual ES9219 DACs and FPGA.
https://oss.hiby.com/HiBy R3II_2025/en-us/1.1/r3ii_2025.upt
R3II 2025 is quite different but some of drivers are common in R3Pro Saber 2022 and can help me to understand digital sound pass to dual ES9219 DACs and FPGA.
https://oss.hiby.com/HiBy R3II_2025/en-us/1.1/r3ii_2025.upt
Code: [Select]
axp2101.ko
codec_es9219.ko
cw2015.ko
cywdhd.ko
gt9xx_touch.ko
i2c_gpio_add.ko
keyboard_adc.ko
keyboard_gpio_add.ko
keyboard_ring.ko
lcd_st77903_8bit.ko
leds_sgm31324_add.ko
pwm_backlight.ko
rmem_manager.ko
sa_config_module.ko
sa_earpods_adc.ko
sa_hgl_dma.ko
sa_sound_hbc3000.ko
sa_sound_switch.ko
soc_adc.ko
soc_aic.ko
soc_efuse.ko
soc_fb.ko
soc_gpio.ko
soc_i2c.ko
soc_msc.ko
soc_pwm.ko
soc_utils.ko
tcs1421_add.ko
utils.ko
x1600_hiby_r3ii_sound_card.ko
98
New Ports / Re: TempoTec V3
« Last post by vitt13 on April 08, 2025, 11:08:48 AM »Tempotec is released updated version of V3 (named V3 Blaze), and it based on X1600E SoC. It seems that is only major hardware update (and output OPA as well) and looking inside firmware I see promising *.ko files that are effortless dissemble in Ghidra (not much hard as whole kernel with build-in modules on X1000E).
At least I may try to understand what they deal with dual DACs and FPGA.
https://oss.hiby.com/TempoTec%20V3_ANALOG25/en-us/1.0/v3_analog_2025.upt
At least I may try to understand what they deal with dual DACs and FPGA.
https://oss.hiby.com/TempoTec%20V3_ANALOG25/en-us/1.0/v3_analog_2025.upt
Code: [Select]
axp2101.ko
codec_ak4493_dual.ko
cw2015.ko
cywdhd.ko
gt9xx_touch.ko
i2c_gpio_add.ko
keyboard_adc.ko
keyboard_gpio_add.ko
lcd_st77903_8bit.ko
leds_sgm31324_add.ko
pwm_backlight.ko
rmem_manager.ko
sa_config_module.ko
sa_hgl_dma.ko
sa_sound_hbc3000.ko
sa_sound_switch.ko
soc_adc.ko
soc_aic.ko
soc_efuse.ko
soc_fb.ko
soc_gpio.ko
soc_i2c.ko
soc_msc.ko
soc_pwm.ko
soc_utils.ko
tcs1421_add.ko
utils.ko
x1600_tempotec_v3a_sound_card.ko
99
Audio Playback, Database and Playlists / Re: Use filename in WPS instead of ID3 metadata
« Last post by questions2000 on April 07, 2025, 10:00:51 PM »Wow, thank you guys for the replies.
-At first I had thought that Main Menu "Files" would use folder/filenames and that "Database" section would use ID3 tags.
-Then I thought this would have been a setting somewhere to override ID3 tags from being used and to force folder/filenames (if this is possible, could be nice to add this in the future, I might mention in the suggestions section)
Did not realize that it is built into the theme.
I have found the % variables in the manual for folders/filenames and I believe I have found where they would go in the skins, might take me a little while to figure out / test out how to make this work correctly, so just wanted to make a post to thank you guys just in case it takes me longer then expected.
Hope not, but I might have some questions if I cannot figure it out.
(While I am here though)
Just so I know I understand, I was this mentioned above
"Files played are still decoded for id3 data"
So does this mean that no ID3 metadata scans were actually run automatically for entire media collection to generate this data as I had thought (mentioned in above post)?
I thought I read somewhere that there would be a file generated if a full scan was performed? not sure if this is true? If it is then I could search for this file to determine if a scan was performed, just to confirm.
So then does this mean that the ID3 data (if files contain ID3 data) that gets generated/shown in WPS, is detected on the spot per file as each file is being played?
Or maybe RB detects this ID3 data of the entire folder that current file is being played from (because RB generates a kind of "playlist" based on files in current folder being played from.
If anyone knows anything about what I have just mentioned if have some time can you confirm this.
Thank you guys again for the replies, I really appreciate it.
Just getting started with RB so am a little overwhelmed.
Really amazing work you guys are doing, thank you.
-At first I had thought that Main Menu "Files" would use folder/filenames and that "Database" section would use ID3 tags.
-Then I thought this would have been a setting somewhere to override ID3 tags from being used and to force folder/filenames (if this is possible, could be nice to add this in the future, I might mention in the suggestions section)
Did not realize that it is built into the theme.
I have found the % variables in the manual for folders/filenames and I believe I have found where they would go in the skins, might take me a little while to figure out / test out how to make this work correctly, so just wanted to make a post to thank you guys just in case it takes me longer then expected.
Hope not, but I might have some questions if I cannot figure it out.
(While I am here though)
Just so I know I understand, I was this mentioned above
"Files played are still decoded for id3 data"
So does this mean that no ID3 metadata scans were actually run automatically for entire media collection to generate this data as I had thought (mentioned in above post)?
I thought I read somewhere that there would be a file generated if a full scan was performed? not sure if this is true? If it is then I could search for this file to determine if a scan was performed, just to confirm.
So then does this mean that the ID3 data (if files contain ID3 data) that gets generated/shown in WPS, is detected on the spot per file as each file is being played?
Or maybe RB detects this ID3 data of the entire folder that current file is being played from (because RB generates a kind of "playlist" based on files in current folder being played from.
If anyone knows anything about what I have just mentioned if have some time can you confirm this.
Thank you guys again for the replies, I really appreciate it.
Just getting started with RB so am a little overwhelmed.
Really amazing work you guys are doing, thank you.
100
Audio Playback, Database and Playlists / Re: Database/tagnavi : Only show track title while ordering based on track number ?
« Last post by bahus on April 07, 2025, 04:36:24 PM »couldn't get it to work with your config; removing the digits in front will just cause Rockbox to sort again alphabetically. Afaik there is now no working method to sort by tracknumber when it's not visible?!Did you use the exact config file provided? You shouldn't simply remove digits - you should use %strip as in example.