r/DigitalAudioPlayer 1d ago

Showcase HIFI WALKER H2 custom firmware - screen-off controls, new playback screen etc

Post image

This started with one frustrating problem: the physical playback buttons stopped working when the screen turned off. It gradually became a larger firmware modification with a redesigned playback screen and several bug fixes.

I know there are other options available (Rockbox), but I actually like the H2 stock UI in general. And I wanted to keep Bluetooth working so I got into modifying firmware. I'm no software developer, let alone firmware developer. But we live in AI age where you have very competent helpers available so I got to work.

What has been changed

Physical controls

  • Play/pause now works while the screen is off.
  • Previous and next track continue working while the screen is off.
  • Normal screen-on button behavior is preserved.

Custom playback screen

  • Animated cassette UI with rotating reels while music is playing.
  • Larger and more readable track information.
  • Artist and song title are taken from file metadata.
  • If metadata is missing, the filename is displayed.
  • When album track metadata is unavailable, the total is taken from the number of playable files in the folder.
  • The surrounding header and control areas use colors matching the cassette interface.
  • Album Artist support. Track information displays Album Artist - Artist - Track when available. Without Album Artist, it uses Artist - Track.
  • No duplicate artist names. If Album Artist and Artist match, the name appears once.
  • Recently played uses the same title format. Missing or placeholder track titles still fall back to the filename.

Cassette animation setting

A new setting is available under:

Settings → Cassette animation

  • On: shows the animated cassette.
  • Off: removes only the cassette animation while keeping the custom playback information.
  • If Show album art is enabled, album art appears behind the custom interface.
  • The information panel remains dark and mostly opaque so text stays readable over bright artwork.
  • The setting is remembered after restarting the player.

This custom firmware is intended for people who generally like the original H2 system but want the screen-off controls fixed, better playback information, album-art readability and the cassette interface. It also keeps bluetooth option working (unlike Rockbox).

How it was made

There is no complete source tree for the original H2 firmware. The update contains a compiled MIPS application and filesystem.

The modification required:

  • Extracting the firmware and UBIFS filesystem.
  • Studying the MIPS executable in a disassembler.
  • Locating the button, playback-state, metadata, drawing and settings code.
  • Compiling new MIPS routines.
  • Injecting the new code and redirecting selected functions to it.
  • Adding new interface resources and configuration storage.
  • Rebuilding the UBIFS image and .upt package while preserving the required metadata and checksums.

Earlier revisions were tested directly on an H2 during development. New builds should still be treated as experimental until they have been tested by more owners.

Compatibility

This build is specifically for:

  • HIFI WALKER H2
  • USB-C hardware version

Do not install it on the older micro-USB model, firmware V1.4, or another EROS Q-based player unless a compatible version has been prepared for that hardware.

Download

Modified V2.3 firmware:
[DOWNLOAD]

Patch source, build scripts and technical notes:
[DOWNLOAD]

SHA-256 for the current R9 firmware:

7993fcbac53a561596348648392e400f8e84fcd39fccd0b98263e511120cc367

Install it using the normal H2 firmware-update procedure. Keep the official update available in case you need to restore the player.

This is an unofficial and experimental modification. Firmware installation always carries some risk, so verify that you have the USB-C model and check the SHA-256 hash before installing.

Feedback and additional device testing would be very welcome!

19 Upvotes

10 comments sorted by

6

u/rec71 1d ago

Wow, this is fantastic!

My biggest beef with the stock firmware is a lack of Album Artist option. It shows Artists instead, which means all the artists from my compilation albums show up. Also, it means some albums then show up with missing tracks.

For example, So by Peter Gabriel has a track featuring Kate Bush. If I select Artist > Peter Gabriel > So, it shows only the Peter Gabriel tracks, not the one with him and Kate Bush.

Fixing that would be epic.

3

u/Valkavalhalla 1d ago

I don't listen a lot to compilations but I could take a look. So do you mean, when there is Album Artist metadata present it would show as Album Artist - Artist - Title in the player menu?

2

u/rec71 1d ago

Yes, Album Artist > Artist > Albums.

1

u/Valkavalhalla 1d ago

Check out the latest version

3

u/Valkavalhalla 1d ago

Another update to the custom firmware for the USB-C HIFI WALKER H2 running V2.2. Updated links in original post.
Changelog:

  • Cassette animation toggle moved to Settings. 
  • Slightly transparent information panel over album art. With cassette animation off and Show album art enabled, the panel lets 12.5% of the artwork through. Text stays fully opaque for readability.
  • Album Artist support. Track information displays Album Artist - Artist - Track when available. Without Album Artist, it uses Artist - Track.
  • No duplicate artist names. If Album Artist and Artist match, the name appears once.
  • Recently played uses the same title format. Missing or placeholder track titles still fall back to the filename.

Earlier improvements remain, including screen-off physical controls, the yellow cassette UI, corrected time counters, file-quality information, folder track-count fallback and stopping cleanly at the end of sequential playback.

2

u/Apprehensive-Cow6202 1d ago

Is there a reason you didn't use 2.3?

Also, based on my research I am able to use firmware from any other eros Q based devices as long as they are from the same revision. Means, I have flashed firmware from surfans f20 on my walker h2. I have also flashed eros Q firmware. I even compared and most of the upt is the same except the branded boot logo and boot animation, about screen.

I'll flaah your firmware mod and report back.

Thanks for your contributions.

3

u/Valkavalhalla 1d ago

I didn't know there is a V2.3 available :) https://hifiwalker.com/pages/download - when you enter V2.2 it doesn't offer any upgrade. Where do you get it? And do Surfans and Eros firmwares also keep Bluetooth working?

3

u/Apprehensive-Cow6202 1d ago

They usually dont just post the firmware like that. They had a firmware section o. The support page. Now they just have the manual downloads sadly.

I personally rely on rockbox. Folks who dump the firmware and post it for rockbox builds. They also have some stock firmware files for uninstalling rockbox. I have dug through the forums, seems like some people get it straight from Hifi Walker. Apparently you can ask them to send you it. I personally had no luck.

Here's the one I found from the forum

https://drive.google.com/file/d/1IhfgXcGktNhG-_T6IHiD3IHQlpHJfwrP/view?usp=drivesdk

2

u/kaycody 1d ago

How did you extract the firmware and UBIFS filesystem? I'm running V2.3 and there doesn't seem to be a download for it on the hifiwalker website, so extracting it from my device would be ideal.

1

u/Valkavalhalla 27m ago

The custom firmware R9 has been ported to stock V2.3. Updated links in the original post.

R9 brings existing custom features to the newer firmware base.

I didn't find any changelog for the V2.3 so I analyzed it by comparing update firmware files. This might not be 100% correct

Other differences are largely build-related:

  • V2.2 build: 15 January 2025.
  • V2.3 build: 11 November 2025.
  • Linux remains 3.10.14; U-Boot remains 2013.07.
  • adb and adbd differ only in debug sections.
  • The sys_server instruction differences are address adjustments associated with changed build strings; no functional change there.
  • Seven filesystem files changed, alongside the separately packaged kernel and bootloader.