jaymzh / concordance

Program Harmony remote controls from Linux, Windows, or Mac!
GNU General Public License v3.0
146 stars 19 forks source link

Documentation about Harmony firmware files #30

Closed JayFoxRox closed 3 years ago

JayFoxRox commented 3 years ago

(Note: I have not used concordance yet, but I'm looking for like-minded people, so I'm posting here)

I'm interested in understanding how these remotes work. I'll leave some references here and hope others share their findings / knowledge.

I've already looked at files from:

As a general overview, the regions (from 61.7.5) via file and binwalk:

Things I'd like to know:

I'm primarily interested in knowledge about Harmony One, but I was unable to find any firmwares for that yet - help would be appreciated. I might make an emulator or custom firmware, depending how hard it is. I'm really bothered by the slowness of the device and the limited set of features.

jaymzh commented 3 years ago

Yeah the embedded QNX is only newer models. As to the older ones they're very simple, but we haven't done much pulling them apart. This project is primarily concerned with giving Linux users a way to configure their remotes.

The best place, frankly, to find information about the internals is the archives of the devel mailing list.

JayFoxRox commented 3 years ago

The best place, frankly, to find information about the internals is the archives of the devel mailing list.

I'm not interested in using or searching through mailing-list in 2021.

This project is primarily concerned with giving Linux users a way to configure their remotes.

If there's no good place to discuss this I'll probably just stop looking into it.

I've also looked at Update.EZHex now and it looks like the config is containing a bunch of 24-bit words; there are also severe file changes with little configuration changes which suggests it's containing code or complicated structures. Given the entropy it's probably not compression; there are also strings and RGB565 graphics which I can dump, so it's likely unencrypted, too. This suggests a rather high complexity to modify/disassemble this, so I don't plan to look further into it.

If anyone else wants to look into this in the future, ping me (contact details on http://jannikvogel.de/)