Wireless Android Auto for BMW iDrive on the EntryNav2 head unit.
No dongle, no cable needed, no BMW file replaced.
English · Français
Warning
This is experimental software that writes to your car's head unit. It has been tried on one car so far. Read Status and the disclaimer first. It is not affiliated with BMW or Google.
- Wireless Android Auto. The phone pairs over Bluetooth, then joins the car's own Wi-Fi (the one CarPlay uses).
- A USB cable works too (experimental, off by default), for phones without wireless Android Auto: a checkbox in the menu picks the cable or wireless, nothing is guessed. Setup and limits (in French).
- Started from iDrive. An Android Auto entry in the Media menu, with its own menu: start, stop, start automatically, help.
- Original controls. iDrive controller, hard keys, touch screen, steering wheel buttons, voice button for the Assistant.
- Car microphone for the Google Assistant, car speakers over Bluetooth.
- Car GPS sent to the phone, with a fallback to the phone's own GPS.
- Turn-by-turn on the head-up display and cluster: arrow, distance, street name, roundabout exit.
- Lives alongside iDrive: reversing camera, volume overlay, driving modes, day and night.
- Always reversible. Bluetooth goes back to iDrive when Android Auto stops, and a guard switches the app off if iDrive crashes several times in a row after loading it.
| Latest release | 0.12.0, tried in a car (pre-1.0: expect rough edges) |
| Tried in a car | the reference car, a 2019 BMW G20 (iDrive software 202111011321) |
| Other cars | reported working by their owners: G20, G21, X3 G01, F30, F45, F20, i3 (list); a compatibility check is built in |
Every change is tested on a PC, and the ARM programs run under QEMU against the car's own libraries. Only a car test counts as proof: CHANGELOG.md says for each version whether it was tried in a car or only tested on a PC.
- A BMW with an EntryNav2 head unit (called EntryEVO inside its system), with a 1280×480 or 800×480 screen (screens). Wireless needs the unit's CarPlay Wi-Fi; without it, a USB cable works too. NBT Evo, ID7 and MGU units run other systems: this project cannot run on them.
- A PC with an SSH client (Windows 10/11, Linux or macOS) and an ENET cable (OBD to Ethernet).
- The head unit's root password. It is not provided with this project.
- An Android phone with Android Auto.
Installation is a short manual procedure over SSH, described step by step in docs/INSTALLATION.md (in French; the commands speak for themselves):
- Download
entrynav2-android-auto-<version>-armhf.tarfrom Releases and check its SHA-256. - Copy it to the head unit's
/tmpwithscp. - Check the car: nothing is written. The unit's own loader confirms every library and function the programs need,
and
aa-supervisor --compatrehearses the startup of Android Auto. - Install: the system is remounted read-write only while two folders are copied (
/opt/aaand/opt/hmi/data/ro/Plugins/EntryAad), then the unit restarts. - On iDrive: Media, Android Auto, Démarrer.
Settings and logs live in /var/local/data/AA (docs/MAINTENANCE.md). Uninstalling removes the two
folders.
flowchart LR
P[Android phone]
subgraph HU[EntryNav2 head unit]
A[iDrive app<br/>libEntryAad.so] --> T[Supervisor<br/>aa-supervisor]
T --> S[Service<br/>entry-aad]
S --> V[H.264 on screen<br/>libxsvideo + LayerManager]
I[Controller, keys, touch] --> S
end
P -- Bluetooth: Wi-Fi credentials --> S
P -- Wi-Fi: encrypted Android Auto --> S
S -- SOME/IP: guidance --> K[Cluster and HUD]
- The iDrive app starts the supervisor, which borrows a Bluetooth slot and switches the car's Wi-Fi on.
- The service sends the Wi-Fi credentials to the phone over Bluetooth; the phone connects back over Wi-Fi with TLS.
- The service describes the car, decodes the phone's H.264 video with the unit's hardware decoder and shows it in its own LayerManager layer.
- Input, GPS, day and night, microphone and guidance each travel on their own channel.
Details in docs/ARCHITECTURE.md.
You need Linux or WSL with Docker, and for the ARM build a copy of the car's system in ~/entrynav2/rootfs
(HU_ROOTFS to change it). That copy holds BMW files: it never goes into git. Without it, the PC tests still run, as
in CI.
make check # style, content checks, PC tests: what CI runs
docker build -t entrynav2-tc:4.7 toolchain # once: GCC 4.7 for ARMv7 hard-float
bash toolchain/tc.sh make -j4 all hmiapp test-arm-all # ARM programs, linked against the car's libraries
python3 -I tests/run_qemu.py # ARM tests under QEMU with the car's libraries
make verify_binary verify_wireless # record the programs that passed
python3 tools/package_release.py # artifacts/entrynav2-android-auto-<version>-armhf.tarSee CONTRIBUTING.md for the full test list and the project's rules.
core/ Android Auto protocol: session, TLS, Bluetooth-to-Wi-Fi handshake, car description
platform/ everything specific to EntryNav2: video, layers, input, GPS, microphone, Wi-Fi, cluster
hmiapp/ the iDrive app loaded by HmiMain3D
tools/ supervisor, release packaging and checks
tests/ PC tests and ARM tests under QEMU
toolchain/ Docker image of the cross compiler
docs/ documentation (French)
Bug reports, compatibility reports from other cars and pull requests are welcome: see CONTRIBUTING.md and the code of conduct. A compatibility report (the check of step 3) changes nothing on the car and helps the most. Security issues: see SECURITY.md.
This project is free and stays free; nothing is expected in return. If you want to support it, you can do so through GitHub Sponsors. Support will go towards fitting an MGU head unit (iDrive 7) to my G20 and offering open-source apps for iDrive 7.
This project started as a port of Supra-iDrive6-Android-Auto by Sq00ky, then was reworked and extended for the EntryNav2. Thanks to Sq00ky for that work.
© 2026 Jiraiya43, under the PolyForm Noncommercial License 1.0.0: any noncommercial use, including modifying and sharing, as long as the licence goes with every copy. Commercial use is not allowed.
The software comes as is, without any warranty. Installing it modifies the head unit's system and may affect your warranty. Use it only on a car you own or with its owner's consent, with the car parked during installation, and never operate the head unit's shell while driving.
BMW and iDrive are trademarks of BMW AG; Android and Android Auto are trademarks of Google LLC. This project is not affiliated with, endorsed or sponsored by either.