Skip to content

Releases

HMG-API 1.0.2

Choose a tag to compare

@github-actions github-actions released this 04 Nov 16:28
180185d

HMG-API 1.0.2 fixes the slow NEMESIS start after a restart. If you're on 1.0.0 or 1.0.1 with NEMESIS, update.

Fixed

  • NEMESIS starts on time. With 1.0.0 and 1.0.1, NEMESIS Manager showed "daemon not running" and no packages for about two minutes after every restart, and NEMESIS packages that act at boot (for example one that dismisses the startup notice) could miss their moment. HMG-API's boot hook runs just before NEMESIS's own start, and it waited on one of HMG-API's background jobs. 1.0.1's fix didn't reach that job on the cars. Now HMG-API's boot hook is a single line that returns at once, and HMG-API's own boot steps run alongside NEMESIS instead of before it. Thanks to @AwsomeFox for tracking down the cause (#74).
  • HMG-API starts with NEMESIS too. HMG-API's NEMESIS package now has a boot service, so HMG-API starts even when a NEMESIS install or update has rewritten the boot script without HMG-API's hook. In NEMESIS Manager → Services it shows as hmgapi/boot, "stopped": that's normal, it starts HMG-API and exits.

If the head unit was restarted during those two minutes a few times, HMG-API's boot guard may have counted those as failed starts and switched hooks off. The HMG-API app says so; Troubleshooting → The head unit restarted over and over has the reset.

Updating

From 1.0.0 or 1.0.1, either: put hmgapi-1.0.2-update.zip in HMGAPI/updates/ on a USB stick and use HMG-API app → Check USB updates; or unzip hmgapi-1.0.2-nemesis.zip onto a stick and update HMG-API from NEMESIS Manager's Package Store. Then restart the head unit once. Your mods and settings stay. The mods, hook maps and catalogue are the same as 1.0.0.

Tested

  • On a car: 2023 Kia EV6, US, 260507, NEMESIS 1.16.7. Before: NEMESIS started about two minutes after power-on. With 1.0.2: NEMESIS was up 17 seconds after power-on on each of three restarts; HMG-API's boot steps run once per restart and finish at once; the NEMESIS sync runs on schedule; mods and hooks run as before.
  • Off the car: every test, including new ones for the boot hook, the boot service and a background job holding hmgapid sh.

Known issues are the same as 1.0.0.

Reporting

Open an issue and attach a Car Report. Please don't post your VIN, serial numbers or phone numbers; nothing needs them.

HMG-API 1.0.1

Choose a tag to compare

@github-actions github-actions released this 04 Nov 02:11
dd10045

HMG-API 1.0.1 fixes one boot problem in 1.0.0. If you're on 1.0.0 with NEMESIS, update.

Fixed

  • NEMESIS starts on time again. With 1.0.0, NEMESIS Manager showed "daemon not running" and no packages for up to two minutes after every start. Its services started late too, so packages that act at boot (for example one that dismisses the startup notice) could miss their moment. The cause was HMG-API's boot hook: it runs just before NEMESIS's own start, and one of its background jobs held it for two minutes. hmgapid no longer passes its open files to the commands it runs, so the boot hook returns at once. Thanks to @AwsomeFox for finding and fixing it (#74).

If the head unit was restarted during those two minutes a few times, HMG-API's boot guard may have counted those as failed starts and switched hooks off. The HMG-API app says so; Troubleshooting → The head unit restarted over and over has the reset.

Updating

From 1.0.0, either: put hmgapi-1.0.1-update.zip in HMGAPI/updates/ on a USB stick and use HMG-API app → Check USB updates; or unzip hmgapi-1.0.1-nemesis.zip onto a stick and update HMG-API from NEMESIS Manager's Package Store. Then restart the head unit. Your mods and settings stay. Nothing else changed: the mods, hook maps and catalogue are the same as 1.0.0.

Tested

  • Diagnosed on a car: Hyundai Ioniq 5, US, 260507 (NEMESIS 1.16): NEMESIS's log and hmgapid.log showed the two-minute wait on every boot.
  • Off the car: every test, including a new check that a background job can't hold hmgapid sh.
  • The fix on a car: not yet. To check yours: after a cold start, NEMESIS Manager should list packages right away, and /data/nemesis/nemesis.log should show watchdog start early in boot again.

Known issues are the same as 1.0.0.

Reporting

Open an issue and attach a Car Report. Please don't post your VIN, serial numbers or phone numbers; nothing needs them.

HMG-API 1.0.0

Choose a tag to compare

@github-actions github-actions released this 03 Nov 22:46
e999d82

HMG-API 1.0.0, the mod manager for Hyundai, Kia and Genesis Gen5W navigation head units. It replaces HMG Leafia Plus 1.x: instead of one package for everything, any number of mods install side by side, none overwrites another, and removing one puts back exactly what it changed.

This is the first full release, after six betas. Everything below is new since Leafia 1.x; the full list is in CHANGELOG.md.

For owners

  • Install your way: from a USB stick with no computer (Engineering Mode → USB Copy → DSP → Update OTA, or NEMESIS's USB install), as a NEMESIS package, or over adb. Uninstalling puts every file and setting back to the stock bytes.

  • The HMG-API app, with its own menu tile and ★ choice: each mod's state, switch, settings and log; Apply changes shows a plan of what will change before anything does; Check USB updates; the Car Report and HMG-API's logs. On a car without a hook map, open it from NEMESIS Manager (My Packages → HMG-API → Launch).

  • Wireless CarPlay and Android Auto is a mod, with everything Leafia 1.x had (turn-by-turn in the cluster and HUD, the CarPlay Bluetooth bridge, extra audio formats), and no app or library file replaced: the changes are made in memory as the apps load.

  • Mods as NEMESIS packages (new since beta 6): each released mod also comes as <mod>-<version>-nemesis.zip, to install, update and remove from NEMESIS Manager or a stick. HMG-API's engine does the work, with the same checks as the app.

  • The NEMESIS download opens NEMESIS's Package Store (NEMESIS 1.16 or newer): plug the stick in and pick HMG-API and the mods you want from the list. A mod picked on its own installs HMG-API first.

  • HMG-API and NEMESIS show the same thing. Install or remove HMG-API or a mod any way you like (the app, adb, a USB stick or NEMESIS) and NEMESIS 1.16 or newer lists it, or takes it off, in My Packages. HMG-API always does the work; a check after each install and uninstall, and at every start, fixes anything that doesn't match (by hand: adb shell hmgapid engine nemesis-sync).

  • Packages that clash are refused. NEMESIS won't install HMG-API while HMG Leafia Plus (wireless.carplay.aa), carplay.session or voicehandler.vr-gates is installed (the last two until we know they don't clash), the Wireless CarPlay + Android Auto mod with NEMESIS's wireless.projection or projection.tbt, or the adb mod with adb.tcp, and the other way round: they change the same files. Uninstall the other package first.

  • Nothing hidden, nothing silent: the plan lists the apps, services, car readings and commands, buttons, side panel pages and network rules each mod uses. The first time a mod uses a car command, HMG-API asks you on screen. When two mods want the same thing, the plan says which one has it, and you can pick the other.

  • Mods are signed by their author, and updates must come from the same author. Mods from authors on HMG-API's trusted list install without a warning; the community catalogue lists them.

  • Install anyway: a mod whose author didn't list your car or software can be installed at your own risk, after a warning. Every file is still backed up and put back on removal.

  • Hook maps (they turn on the parts of mods that change the car's own apps):

    Car Region Head unit software Status
    Kia EV6 USA 260507 verified on a car
    Hyundai Ioniq 5 (all trims, incl. SE) USA 260507 mapped from stock files; check it on your car once
    Kia EV6 Canada 260206 mapped from stock files; check it on your car once
    Hyundai Ioniq 5 Canada 260206 mapped from stock files; check it on your car once
    Hyundai Ioniq 5 (2023 on) USA 260903 not confirmed yet (mostly the same as 260507; being checked)

    On a verified car hooks run straight away. On a mapped car, and on 260903, hooks stay off until the map is checked on that car: HMG-API app → Settings → Check the map on this car (it takes a moment, and then hooks turn on). A Car Report afterwards helps, and lets us mark the map verified for everyone. In NEMESIS, HMG-API shows as fully compatible on every Gen5W car, since it runs on all of them. Without a map HMG-API still runs; only the parts that need hooks stay off, and the app says why.

  • The Car Report checks how HMG-API fits your car, maps it from its own software, and saves a report (including the head unit's firewall and network) with a QR code that opens a filled-in issue. Model-level facts only.

  • OTA updates stay blocked by default while HMG-API is installed (USB and dealer updates still work), so an update can't silently remove it.

  • Works alongside NEMESIS packages: files an old wireless package changed and put back no longer stop HMG-API, and a file a mod needs that a package already added names the package to uninstall first.

For mod authors

A mod is a folder with a mod.json; everything is declared there, shown to the owner, and undone when the mod is turned off or removed. Reference: docs/mod-reference.md.

  • Hooks by stable hook point names mapped per car (now including the iAP2/CarPlay service), and native library patches in memory.
  • Your own APK, services (root, system or your app's user, restarted with backoff), and the client library for settings, logs, USB folders, readings and commands without root.
  • 22 vehicle readings and reviewed vehicle commands, through the car's own services.
  • 40 buttons, side panel pages, phone projection settings and events, network rules kept in place by HMG-API, shared files and settings, tiles (tools/mkicon.sh makes stock-style ones).
  • Publish: tools/mknemesismod.sh wraps your signed mod as a NEMESIS package; one pull request (tools/catalog.py add) lists it in the community catalogue with your author key.

Downloads

File For
hmgapi-1.0.0-usb.zip Install from a USB stick, no computer needed (Engineering Mode → USB Copy → DSP → Update OTA, or NEMESIS's USB install). Carries the mods below, to install from the app.
hmgapi-1.0.0-nemesis.zip Install with NEMESIS 1.16 or newer: unzip onto the top level of a USB stick and plug it in once Android is up. NEMESIS Manager's Package Store opens on HMG-API and its mods.
hmgapi-1.0.0-nemesis-package.zip The NEMESIS package on its own, for NEMESIS's Package Store and nemesis install.
hmgapi-1.0.0-adb.zip Install from a computer over adb.
hmgapi-1.0.0-update.zip Update an installed HMG-API beta (put it in HMGAPI/updates/ on a stick, then Check USB updates in the app).
wireless-carplay-aa-2.1.0.zip, adb-1.0.0.zip, nemesis-shortcut-1.1.0.zip The mods, on their own. Over adb: Installing and removing mods.
*-nemesis.zip, *-nemesis-package.zip for each mod The same mods as NEMESIS packages (need HMG-API 1.0 or newer).
SHA256SUMS Checksums.

No HMG-API download installs a mod by itself: you pick them in the app, over adb, or as a NEMESIS package. Step-by-step instructions: Installing HMG-API.

Coming from Leafia 1.x or an old NEMESIS wireless package? Uninstall it first, restart, then install HMG-API. From a beta? Use the update zip.

Tested

  • Hook map verified on a car: Kia EV6, US 260507 (331 of 331 points). Canadian EV6 260206 and Ioniq 5 (US 260507, Canada 260206): mapped from their stock files and checked off the car; not yet checked on a car. Ioniq 5 260903: not confirmed yet.
  • In depth on a car: 2023 Kia EV6, US, 260507: the hook runtime (all 331 hook points), mods, the app, buttons, the side panel, wireless CarPlay and Android Auto with turn-by-turn on the cluster and HUD, projection events, the MICOM recording and the Car Report.
  • Off the car: every test.
  • Not yet on a car: the battery conditioning checks and activation timeout, mods as NEMESIS packages, the Package Store stick, the NEMESIS sync, Install anyway, the network keeper, and installing on a car that has never had adb on. Reports welcome.

Known issues

  • Ioniq 5 on 260903: Wireless CarPlay + Android Auto doesn't list this software yet ("isn't for this head unit"). Install anyway works at your own risk; a Car Report afterwards helps.
  • Ioniq 5: the wireless mod's Phone Projection settings shortcut can open a page that doesn't exist (#36). Use the stock Phone Projection page for now.
  • When one mod's change can't be made, nothing changes for any mod until it's sorted (the plan says which mod and why; turning that mod off lets the others apply).
  • The head unit has to restart after installing, and after turning a mod with code on or off. The app says when.
  • A USB stick left in the port can start wired Android Auto and stop wireless from connecting. Take the stick out after installing.

Reporting

Open an issue and attach a Car Report. Please don't post your VIN, serial numbers or phone numbers; nothing needs them.