DocumentationDocumentation
Everything to install, set up and use LibreHU on a Jancar / Autochips AC8257 (UJC201) head unit. For protocols, APIs and building from source, see the developer reference.Tout pour installer, régler et utiliser LibreHU sur un autoradio Jancar / Autochips AC8257 (UJC201). Pour les protocoles, les API et la compilation, voir la référence développeurs.
Before you startAvant de commencer
- Check the board. Settings → About should show
ac8257_demo. The stock ROM displays a fake Android version (often "12"): the real one is Android 9 (API 28), readable with AIDA64 or CPU-Z. See head units.Vérifier la carte. Paramètres → À propos doit montrerac8257_demo. La ROM d'origine affiche une fausse version d'Android (souvent « 12 ») : la vraie est Android 9 (API 28), lisible avec AIDA64 ou CPU-Z. Voir autoradios. - Back up the eMMC before touching recovery or boot: SP Flash Tool, Readback tab, with the addresses of the unit's scatter file (preloader, user area up to cache, optional userdata, end of disk). The exact table is in the TWRP README.Sauvegarder l'eMMC avant de toucher au recovery ou au boot : SP Flash Tool, onglet Readback, avec les adresses du fichier scatter de l'appareil (preloader, zone utilisateur jusqu'au cache, userdata en option, fin de disque). Le tableau exact est dans le README de TWRP.
- Never publish your unit's own partitions (nvram, nvdata, proinfo, persist, metazone): they hold its calibration and identifiers.Ne jamais publier les partitions propres à votre autoradio (nvram, nvdata, proinfo, persist, metazone) : elles contiennent sa calibration et ses identifiants.
- Most apps work without root; LibreHU service, Disc, ViPER4Android, Tweaks, backups and zip flashing need it.La plupart des applis marchent sans root ; LibreHU service, Disc, ViPER4Android, Tweaks, les sauvegardes et le flash des zips en ont besoin.
InstallationInstallation
EditionsÉditions
The launcher, FM, Dialer, Widgets and BtnRemap exist in three builds, one per branch. Pick one edition for all of them:Le launcher, FM, Dialer, Widgets et BtnRemap existent en trois builds, une par branche. Choisir une seule édition pour toutes :
| EditionÉdition | BranchBranche | ForPour |
|---|---|---|
| LibreHU service | librehu-service | LibreHU service replaces Jancar's ivi-services (recommended): car data, keys, audio and camera come from it.LibreHU service remplace ivi-services de Jancar (recommandé) : données de la voiture, touches, audio et caméra viennent de lui. |
| ivi | ivi | Stock ROM with Jancar's ivi-services still running.ROM d'origine avec ivi-services de Jancar toujours actif. |
| GenericGénérique | main | Any Android 9+ device, without head unit integration.Tout appareil Android 9 ou plus, sans intégration à l'autoradio. |
LibreHU Apps
- Download LibreHU-OTA-main.apk, copy it to a USB stick (or download it on the unit) and open it with a file manager. Allow installs from that app when Android asks.Télécharger LibreHU-OTA-main.apk, le copier sur une clé USB (ou le télécharger sur l'autoradio) et l'ouvrir avec un gestionnaire de fichiers. Autoriser l'installation depuis cette appli quand Android le demande.
- Quick setup (first launch, or Settings → Quick setup): edition, root (silent installs), apps of the edition already ticked, then their installation with progress for each one. Skip closes it; everything stays editable.Configuration rapide (premier lancement, ou Réglages → Configuration rapide) : édition, root (installations silencieuses), applis de l'édition déjà cochées, puis leur installation avec l'avancement de chacune. Passer la ferme ; tout reste modifiable.
- Updates: LibreHU Apps checks GitHub, shows the commits of each new version and the screenshots of each app, verifies the SHA-256 and the signing key before installing. An app can be kept on a version, rolled back to an older one, or installed in
/system(root).Mises à jour : LibreHU Apps interroge GitHub, montre les commits de chaque nouvelle version et les captures d'écran de chaque appli, vérifie le SHA-256 et la clé de signature avant d'installer. Une appli peut rester sur une version, revenir à une plus ancienne ou être installée dans/system(root). - Offline: Settings → USB stick installs APKs (LibreHU key or the installed app's key) and images or zips whose SHA-256 matches the last list received online.Hors ligne : Réglages → Clé USB installe des APK (clé LibreHU ou celle de l'appli installée) et des images ou zips dont le SHA-256 correspond à la dernière liste reçue en ligne.
- Native compilation: Android 9 leaves sideloaded apps interpreted (
speed-profilewithout a profile). LibreHU service (or the Compilation tab when the service is absent) compiles them withcmd package compile -m speed, once per version (root).Compilation native : Android 9 laisse les applis installées à la main interprétées (speed-profilesans profil). LibreHU service (ou l'onglet Compilation sans le service) les compile aveccmd package compile -m speed, une fois par version (root).
Replacing ivi-servicesRemplacer ivi-services
Jancar's com.jancar.services and LibreHU service both open the MCU serial port /dev/ttyS1; two readers steal each other's bytes, so LibreHU service refuses to start while ivi-services runs. Disable it:com.jancar.services de Jancar et LibreHU service ouvrent tous deux le port série de la MCU /dev/ttyS1 ; deux lecteurs se volent les octets, donc LibreHU service refuse de démarrer tant qu'ivi-services tourne. Le désactiver :
adb shell pm disable-user --user 0 com.jancar.services
# back to stockretour à l'origine
adb shell pm enable com.jancar.services
Jancar's own apps (settings, radio, Bluetooth, rear view…) depend on ivi-services and lose those functions; the LibreHU apps replace them. "Start despite ivi-services" forces a quick test, at the risk of serial conflicts. For the clock (SET_TIME) and a reliable start, LibreHU service can be installed as a privileged app (/system/priv-app).Les applis de Jancar (réglages, radio, Bluetooth, recul…) dépendent d'ivi-services et perdent ces fonctions ; les applis LibreHU les remplacent. « Démarrer malgré ivi-services » force un essai rapide, au risque de conflits sur le port série. Pour l'horloge (SET_TIME) et un démarrage fiable, LibreHU service peut être installé en appli privilégiée (/system/priv-app).
Without the Jancar appsSans les applis Jancar
com.jancar.services(ivi-services): LibreHU service (above).com.jancar.services(ivi-services) : LibreHU service (ci-dessus).com.jancar.hd2cam(camera, DVR): the LibreHU rear view, and the ARM2 handover done by the service at start-up (root), see the rear view camera.com.jancar.hd2cam(caméra, DVR) : la vue de recul LibreHU, et la passation de l'ARM2 faite par le service au démarrage (root), voir la caméra de recul.com.jancar.settings(Settings): the stock SystemUI reads its settings provider and crashed in a loop without it. Flash the zip jancar-settings-provider (LibreHU Apps → Zips → Tweaks → Without Jancar apps): LibreHU'scom.jancar.settings.provider, same table, empty at first (SystemUI keeps its defaults); it takes over once Jancar's app is removed.com.jancar.settings(Réglages) : la SystemUI d'origine lit son fournisseur de réglages et plantait en boucle sans lui. Flasher le zip jancar-settings-provider (LibreHU Apps → Zips → Réglages → Sans les applis Jancar) : lecom.jancar.settings.providerde LibreHU, même table, vide au départ (SystemUI garde ses valeurs par défaut) ; il prend le relais une fois l'appli de Jancar retirée.com.jancar.tftdisplay(picture of the panel): Display → Panel picture in LibreHU service (root), see display. Its AVDD / VCOM are not taken over: on this MCU those are the two PWM outputs of the button backlight.com.jancar.tftdisplay(image de la dalle) : Affichage → Image de la dalle dans LibreHU service (root), voir écran. Ses AVDD / VCOM ne sont pas repris : sur ce MCU ce sont les deux sorties PWM du rétroéclairage des touches.- Still needed:
com.jancar.usbdisplayfor the VIDEO OUT.Encore nécessaire :com.jancar.usbdisplaypour la VIDEO OUT.
First start of the launcherPremier démarrage du launcher
Set LibreHU Launcher as the home app. Its assistant walks through: notification access (now playing), root for every LibreHU app at once, Bluetooth, the QR code to pair the phone app, and Bluetooth pairing requests from phones.Choisir LibreHU Launcher comme écran d'accueil. Son assistant passe par : l'accès aux notifications (lecture en cours), le root pour toutes les applis LibreHU d'un coup, le Bluetooth, le QR code pour associer l'appli téléphone, et les demandes d'association Bluetooth des téléphones.
Root
Supported root managers: KernelSU Next (with the LibreHU kernel), KernelSU, Magisk, APatch, SuperSU. "Root for all LibreHU apps" asks each app in turn so every prompt arrives at once; each one only runs id as root. Grant with "remember". KernelSU grants from its manager without a popup: LibreHU rechecks a refusal after 30 s. Every LibreHU app of the head unit except MCU Toolkit also takes the old Android su of some Jancar ROMs (/system/xbin/su: su UID COMMAND, no -c, "invalid uid/gid"): its commands then run as su 0 sh -c COMMAND (LibreHU service versionCode 134, fix by Reo Au In; the other apps recognise it once with su -v, which asks for no root). With KernelSU Next, the kernel only gives su to the apps granted in its manager: the others reach the ROM's su.Gestionnaires de root pris en charge : KernelSU Next (avec le noyau LibreHU), KernelSU, Magisk, APatch, SuperSU. « Root pour toutes les applis LibreHU » interroge chaque appli à tour de rôle pour que toutes les demandes arrivent ensemble ; chacune ne lance que id en root. Accorder avec « se souvenir ». KernelSU accorde depuis son gestionnaire sans fenêtre : LibreHU revérifie un refus au bout de 30 s. Toutes les applis LibreHU de l'autoradio sauf MCU Toolkit prennent aussi le vieux su d'Android de certaines ROM Jancar (/system/xbin/su : su UID COMMANDE, sans -c, « invalid uid/gid ») : leurs commandes passent alors en su 0 sh -c COMMANDE (LibreHU service versionCode 134, correctif de Reo Au In ; les autres applis le reconnaissent une fois par su -v, qui ne demande pas le root). Avec KernelSU Next, le noyau ne donne su qu'aux applis autorisées dans son gestionnaire : les autres tombent sur le su de la ROM.
LibreHU service
The core: it replaces Jancar's ivi-services and talks to the MCU, the audio chip, the CAN box and the OBD adapter. Its settings look like Android Auto: eight sections on the left (Home, Vehicle, Audio, Bluetooth, Android Auto, Display, System, Advanced) with their pages as chips, and a search bar on top of every page (menus, groups and settings, accents ignored; a setting found is changed right in the results). Every setting is also reachable from the phone app. A brightness set by hand is kept after a restart, also with the brightness following the headlights (it becomes the day or night value). The OBD no longer takes a USB adapter another app holds (the launcher's TPMS receiver) and skips an adapter that does not answer as an ELM327.Le cœur : il remplace ivi-services de Jancar et parle à la MCU, à la puce audio, au boîtier CAN et à l'adaptateur OBD. Ses réglages ressemblent à Android Auto : huit rubriques à gauche (Accueil, Véhicule, Audio, Bluetooth, Android Auto, Écran, Système, Avancé) avec leurs pages en pastilles. Chaque réglage est aussi accessible depuis l'appli téléphone. Une barre de recherche en haut de chaque page trouve menus, groupes et réglages (sans tenir compte des accents) ; un réglage trouvé se change dans les résultats. Une luminosité réglée à la main est gardée après un redémarrage, aussi quand elle suit les feux (elle devient la valeur jour ou nuit). L'OBD ne prend plus un adaptateur USB tenu par une autre appli (le récepteur TPMS du launcher) et saute un adaptateur qui ne répond pas comme un ELM327.
MCU linkLiaison MCU
Home shows the link: RUNNING, the MCU version (JCST_AC8257_8T7-…) and live traffic (ignition 00 01, version 0A, clock 09). "MCU unreachable — open /dev/ttyS1" means another program holds the port (ivi-services) or the app lacks root. Advanced → MCU picks the protocol profile (Jancar JAC_V1 built in; others importable as JSON) and restarts the link. Advanced → MCU tools: state, commands, raw frames, traffic log.L'accueil montre la liaison : RUNNING, la version de la MCU (JCST_AC8257_8T7-…) et le trafic en direct (contact 00 01, version 0A, heure 09). « MCU injoignable — open /dev/ttyS1 » veut dire qu'un autre programme tient le port (ivi-services) ou que l'appli n'a pas le root. Avancé → MCU choisit le profil de protocole (Jancar JAC_V1 intégré ; d'autres importables en JSON) et relance la liaison. Avancé → Outils MCU : état, commandes, trames brutes, journal du trafic.
Audio
- Sound processor ROHM BD37534: volume, mute, bass / middle / treble (0..20, 10 = flat), loudness (0..15), balance and fader, subwoofer and its level (−5..+7 dB), external amplifier (REM output).Processeur de son ROHM BD37534 : volume, sourdine, graves / médiums / aigus (0..20, 10 = neutre), loudness (0..15), balance et fader, caisson et son niveau (−5..+7 dB), ampli externe (sortie REM).
- Source: Android or the AUX jack (input 0, +5 dB); during AUX, Android's sound is mixed on top.Source : Android ou la prise AUX (entrée 0, +5 dB) ; pendant l'AUX, le son d'Android est mélangé par-dessus.
- Microphone: hardware gain 1 / 2 / 3 and echo cancellation (ECNR), reapplied at each start without Jancar's settings app.Micro : gain matériel 1 / 2 / 3 et annulation d'écho (ECNR), réappliqués à chaque démarrage sans l'appli réglages de Jancar.
- Volume panel drawn over the apps (style, edge, size, opacity, duration) and an optional sound menu on the volume keys listing every volume.Panneau de volume dessiné par-dessus les applis (style, bord, taille, opacité, durée) et un menu son en option sur les touches de volume, avec tous les volumes.
- Audio diagnostics: VU meters, test tone per speaker (1 kHz, 50 Hz subwoofer), Android stream volumes, active players.Diagnostic audio : vu-mètres, son de test par haut-parleur (1 kHz, 50 Hz caisson), volumes des flux Android, lecteurs actifs.
Vehicle and CANVéhicule et CAN
- Car name: Bluetooth name, Android device name, network host name, Wi-Fi hotspot and Wi-Fi Direct name (root for the network ones, applied at next start).Nom de la voiture : nom Bluetooth, nom d'appareil Android, nom d'hôte réseau, point d'accès Wi-Fi et nom Wi-Fi Direct (root pour le réseau, pris en compte au prochain démarrage).
- Vehicle sheet: make, model, year, colour, plate, energy, driver side; shared with LibreHU apps (SOS, Android Auto, CarPlay).Fiche du véhicule : marque, modèle, année, couleur, plaque, énergie, côté conducteur ; partagée avec les applis LibreHU (SOS, Android Auto, CarPlay).
- Inputs: ignition, handbrake and lights from the MCU; reverse and turn signals from SoC GPIOs (active low, each one invertible or disabled).Entrées : contact, frein à main et feux par la MCU ; marche arrière et clignotants par des GPIO du SoC (actifs bas, chacun inversable ou désactivable).
- CAN box (Hiworld
5A A5/AA 55, Raise2E/FD, so also Simple, Oudi, Binary, Luzheng, Daojun, BSJ…: the car profile names its box, its serial speed and where the steering wheel keys are): messages rebuilt and shown live, changed bytes highlighted, text export; car profiles decode them (built in, 467 cars to choose from: Hiworld LNP002, 94 Renault, Dacia, LADA, Samsung, Nissan, Mercedes cars, Clio 3 by default: ignition, lights, reverse, handbrake, steering wheel key and angle, doors, outside temperature, parking radar; batch 1, not tried on a car yet: Hiworld HYP001 Hyundai / Kia (152 cars), TYP001 Toyota / Lexus ES (142), HDP004 Honda / Acura (79), with keys, steering angle, doors, radar; no car is chosen by default for these, so nothing is sent to the box before you choose yours). Steering wheel keys from the CAN box run any action, like the front panel keys. The service answers the box as its own app does (each message acknowledged, the car type of the profile every 30 s:5A A5 02 24 00 31 56for the Clio 3); without that a Hiworld box sends no steering wheel key. Card Dialogue with the box in the CAN tab.Boîtier CAN (Hiworld5A A5/AA 55, Raise2E/FD, donc aussi Simple, Oudi, Binary, Luzheng, Daojun, BSJ… : le profil de voiture nomme son boîtier, sa vitesse série et l'emplacement des touches du volant) : messages reconstitués et affichés en direct, octets modifiés en couleur, export texte ; des profils de voiture les décodent (intégrés, 467 voitures au choix : Hiworld LNP002, 94 voitures Renault, Dacia, LADA, Samsung, Nissan, Mercedes, Clio 3 par défaut : contact, feux, marche arrière, frein à main, touche et angle du volant, portes, température extérieure, radar de recul ; lot 1, pas encore essayé sur une voiture : Hiworld HYP001 Hyundai / Kia (152 voitures), TYP001 Toyota / Lexus ES (142), HDP004 Honda / Acura (79), avec touches, angle du volant, portes, radar ; pas de voiture par défaut pour ceux-là : rien n'est envoyé au boîtier avant d'avoir choisi la sienne). Les touches du volant venant du boîtier lancent n'importe quelle action, comme les touches de façade. Le service répond au boîtier comme son appli d'origine (accusé de chaque message, type de voiture du profil toutes les 30 s :5A A5 02 24 00 31 56pour la Clio 3) ; sans cela un boîtier Hiworld n'envoie aucune touche du volant. Carte Dialogue avec le boîtier dans l'onglet CAN. - New car: choose
hiworld-generic, capture while using each control, spot the changing bytes, write a profile (format in the developer reference) and import it.Nouvelle voiture : choisirhiworld-generic, capturer en actionnant chaque commande, repérer les octets qui changent, écrire un profil (format dans la référence développeurs) et l'importer.
Cars decoded with a CAN boxVoitures décodées avec un boîtier CAN
The built-in car profiles of LibreHU service, read from its latest published version (this table follows each new batch by itself). Choose your car in LibreHU service → CAN → Car: its box needs its car type. Since = first version of the service that knows the car.Les profils de voiture intégrés à LibreHU service, relus dans sa dernière version publiée (ce tableau suit seul chaque nouveau lot). Choisir sa voiture dans LibreHU service → CAN → Voiture : son boîtier a besoin de son type de voiture. Depuis = première version du service qui connaît la voiture.
467 cars (years and trims apart) of 11 makes in 4 built-in profiles, LibreHU service v156.467 voitures (années et finitions à part) de 11 marques dans 4 profils intégrés, LibreHU service v156.
| Make | Marque | Models | Modèles | Since (service) | Depuis (service) |
|---|---|---|---|---|---|
| Hiworld LNP002 steering wheel keys and angle, ignition, lights, reverse, doors, trip computer, front panel keys, knob, climate, parking radar, side radar, tyre pressure, park assist, vehicle settingstouches et angle du volant, contact, feux, marche arrière, portes, ordinateur de bord, touches de façade, molette, climatisation, radar de recul, radar latéral, pression des pneus, aide au stationnement, réglages du véhicule | |||||
| LADA | Priora, Vesta | v147 | |||
| Mercedes-Benz | Smart | v147 | |||
| Nissan | Magnite | v147 | |||
| Renault | Arkana, Captur, Captur II, Clio 3 ✓, Clio 4, Clio 5, Duster, Express, Fluence, Jogger, Kadjar, Kangoo II, Kangoo III, Kiger, Koleos, Krebbin, Kwid, Latitude, Lodgy, Logan II, Logan III, Master, Mégane, Mégane 2, Mégane 3, Mégane 4, Sandero, Sandero II, Sandero III, Scénic II, Scénic III, Scénic IV, Smart, Symbol II, Symbol III, Taliant, Talisman, Trafic II, Trafic III, Twingo II, Twingo III | v147 Clio 3: v23Clio 3 : v23 | |||
| Renault Samsung | QM3, QM5, SM3, SM5, SM6, SM7, XM3 | v147 | |||
| Hiworld HDP004 steering wheel keys and angle, ignition, lights, reverse, doors, parking radartouches et angle du volant, contact, feux, marche arrière, portes, radar de recul | |||||
| Acura | 2016-2021 | v148 | |||
| Honda | Accord, Avancier, Breeze, City, Civic, Clarity, CR-V, Crider, Elysion, Envix, Everus, Fit, Freed, Gienia, Greiz, HR-V, Insight, Inspire, Integra, Jade, Jazz, Life, M-NV, Odyssey, Passport, Pilot, Spirior, Step WGN, UR-V, Vezel, XR-V, ZR-V | v148 | |||
| Hiworld HYP001 steering wheel keys and angle, ignition, lights, reverse, doors, climate, engine speed, speed, mileage, parking radartouches et angle du volant, contact, feux, marche arrière, portes, climatisation, régime, vitesse, kilométrage, radar de recul | |||||
| Hyundai | Accent, Avante, Casper, Elantra, Encino, Equus, Genesis, Genesis Coupe, Genesis G80, Grandeur, GV70, H1 Starex, i30, i40, Ioniq, ix35, ix45, K9, Kona, Lafesta, Lingdong, Mistra, Niro, Porter II, Santa Fe, Sonata, Sonata 9, Staria, Tucson, Veloster, Venue, Veracruz, Xcient | v148 | |||
| Kia | Bongo III, Carens, Carnival, K5, K7, K9, KX5, KX7, Mohave, Morning, Niro, Opirus, Optima, Pride, Ray, Sedona, Seltos, Sorento, Soul, Sportage, Stonic | v148 | |||
| Hiworld TYP001 steering wheel keys and angle, ignition, lights, reverse, parking radartouches et angle du volant, contact, feux, marche arrière, radar de recul | |||||
| Lexus | ES | v148 | |||
| Toyota | Alphard, Alphard Hybrid, Avalon, C-HR, Camry, Corolla, Corolla Cross, Crown, Cruiser, Fortuner, Frontlander, Granvia, Harrier, HiAce, Highlander, Hilux, Innova, IZOA, Kluger, Land Cruiser, Levin, Noah, Prado, Previa, Prius, Proace City, RAV4, Reiz, Sequoia, Sienna, Sienta, Tacoma, Tundra, Vellfire, Veloz, Venza, Vios, Wildlander, Yaris, Yaris Cross | v148 | |||
✓ tried on a car. The others are decoded as Hiworld's own app does, not tried yet: captures and feedback welcome. A Hiworld box sends the steering wheel keys only with service v144 or later (dialogue with the box). Duster, Logan, Sandero, Lodgy and Jogger are also sold as Dacia.✓ essayée sur une voiture. Les autres sont décodées comme le fait l'appli de Hiworld, pas encore essayées : captures et retours bienvenus. Un boîtier Hiworld n'envoie les touches du volant qu'avec le service v144 ou plus (dialogue avec le boîtier). Duster, Logan, Sandero, Lodgy et Jogger sont aussi vendues sous la marque Dacia.
Rear view cameraCaméra de recul
On reverse gear (MCU / GPIO 2), two modes:À la marche arrière (MCU / GPIO 2), deux modes :
- LibreHU view (default): Camera2 in a window over everything, drawn in a SurfaceView with GLES 2. Camera choice by role (CVBS, AHD, front, 360…) or automatic; mirror, flip, rotation, zoom, offset, fill. Perspective guide lines (red / orange / yellow / green), trajectory from the steering angle of the CAN box, parking radar with beeps getting faster, engage sound, music lowered or paused, motion and "approach" detection (experimental), up to three extra cameras (one at a time on touch, side by side or picture in picture), preview in a quarter of the screen to set it up.Vue LibreHU (par défaut) : Camera2 dans une fenêtre par-dessus tout, dessinée dans une SurfaceView en GLES 2. Choix de la caméra par rôle (CVBS, AHD, avant, 360…) ou automatique ; miroir, retournement, rotation, zoom, décalage, remplissage. Lignes de guidage en perspective (rouge / orange / jaune / vert), trajectoire selon l'angle du volant venant du boîtier CAN, radar de recul avec bips de plus en plus rapides, son à l'engagement, musique baissée ou en pause, détection de mouvement et d'« approche » (expérimentale), jusqu'à trois caméras en plus (une à la fois au toucher, côte à côte ou incrustées), aperçu dans un quart d'écran pour régler.
- App: opens the chosen camera app (stock
com.jancar.hd2camorcom.baony.avm360), closes it on exit.Appli : ouvre l'appli caméra choisie (com.jancar.hd2camoucom.baony.avm360d'origine), la ferme à la sortie. - Camera format (CVBS PAL / NTSC, AHD 720p / 1080p, 25 / 30 fps) is written to the metazone like Jancar does; it stays on the unit (not in the phone app).Format de la caméra (CVBS PAL / NTSC, AHD 720p / 1080p, 25 / 30 i/s) écrit dans la metazone comme le fait Jancar ; il reste sur l'autoradio (pas dans l'appli téléphone).
- Widget: live camera on LibreHU Launcher (full rate), a few pictures per second elsewhere; a touch opens or closes the full view.Widget : caméra en direct sur LibreHU Launcher (pleine cadence), quelques images par seconde ailleurs ; un toucher ouvre ou ferme la vue plein écran.
com.jancar.hd2cam can be removed with LibreHU service versionCode 134 or later and root: at start-up and after a real standby, the service tells the ARM2 (the fast reverse camera that runs before Android) that Android is ready (BackCar.sendReadyToArm2()), what hd2cam did, and never while reversing. Without that handover the ARM2 keeps two layers of the hardware display mixer and every hardware-decoded video is solid green (Android Auto, video players). Without root, keep hd2cam. Report, fixes (old Android su, a Looper for BackCar) and tests by Reo Au In; details: docs/atc.md.com.jancar.hd2cam peut être retiré avec LibreHU service versionCode 134 ou plus et le root : au démarrage et après une vraie veille, le service indique à l'ARM2 (le recul rapide qui tourne avant Android) qu'Android est prêt (BackCar.sendReadyToArm2()), comme le faisait hd2cam, et jamais pendant une marche arrière. Sans cette passation, l'ARM2 garde deux couches du mélangeur d'affichage matériel et toute vidéo décodée par le matériel est verte unie (Android Auto, lecteurs vidéo). Sans root, garder hd2cam. Rapport, correctifs (vieux su d'Android, Looper pour BackCar) et essais de Reo Au In ; détail : docs/atc.md.
Video inputsEntrées vidéo
CVBS IN 1 / 2 without Jancar's AV app: the video switch of the CVBS decoder (GPIO 167 / 165) then camera 3 full screen; video only with the handbrake on; a test of the four positions tells which RCA jack is which. VIDEO OUT goes through Jancar's USB display app (MacroSilicon chip).CVBS IN 1 / 2 sans l'appli AV de Jancar : commutateur vidéo du décodeur CVBS (GPIO 167 / 165) puis caméra 3 en plein écran ; vidéo seulement frein à main serré ; un test des quatre positions dit quelle prise RCA est où. VIDEO OUT passe par l'appli d'affichage USB de Jancar (puce MacroSilicon).
OBD
- ELM327 adapter over Bluetooth (SPP) or USB (FTDI, CH340, PL2303, CP210x). Engine values (SAE J1979 mode 01), fault codes (read, clear with confirmation).Adaptateur ELM327 en Bluetooth (SPP) ou USB (FTDI, CH340, PL2303, CP210x). Valeurs moteur (SAE J1979 mode 01), codes défaut (lecture, effacement avec confirmation).
- Car battery from the socket voltage: charge estimated engine off (12.6 V = 100 %, 11.7 V = 0 %), charging / not charging / overvoltage engine running; alarms with thresholds, sound and a ±0.5 V correction.Batterie de la voiture d'après la tension de la prise : charge estimée moteur arrêté (12,6 V = 100 %, 11,7 V = 0 %), en charge / pas de charge / surtension moteur tournant ; alarmes avec seuils, son et correction de ±0,5 V.
- Manufacturer values (Renault and others) from your own ddt4all files, read-only: only read requests (services 21 and 22) are ever sent; CAN ECUs only.Valeurs constructeur (Renault et autres) depuis vos propres fichiers ddt4all, en lecture seule : seules des requêtes de lecture (services 21 et 22) sont envoyées ; calculateurs CAN seulement.
- Widgets: OBD (4 values), analog gauges, digital cluster; simulated engine sound following the RPM (off by default).Widgets : OBD (4 valeurs), compteurs analogiques, combiné numérique ; son moteur simulé qui suit le régime (désactivé par défaut).
Bluetooth
Replaces ivi-btservice: calls (HFP client), music (A2DP sink + AVRCP), phone book and call log (PBAP), pairing, reconnection of the last phone, ringtone. For iPhones, the CarPlay app reports name, model, iOS, battery (cycles, temperature, capacity); plugging an iPhone in can turn Bluetooth on and pair it.Remplace ivi-btservice : appels (HFP client), musique (A2DP sink + AVRCP), répertoire et journal (PBAP), appairage, reconnexion du dernier téléphone, sonnerie. Pour l'iPhone, l'appli CarPlay donne nom, modèle, iOS, batterie (cycles, température, capacité) ; brancher un iPhone peut allumer le Bluetooth et l'appairer.
Ignition and standbyContact et veille
The ignition line drops while the starter turns: LibreHU waits a delay (3 s by default, 0..10 s) before cutting screen, sound and amplifier. Then:Le + après-contact chute pendant que le démarreur tourne : LibreHU attend un délai (3 s par défaut, 0..10 s) avant de couper écran, son et ampli. Ensuite :
| Mode | What happensCe qui se passe |
|---|---|
| Screen off (default)Écran éteint (défaut) | The MCU powers the SoC off by itself 15 s later; cold start at next ignition.La MCU coupe le SoC d'elle-même 15 s plus tard ; démarrage à froid au contact suivant. |
| StandbyVeille | Media paused (resumed on wake), home screen, airplane mode and GPS off (root), sync, MCU standby timer F1 n (7 h to 14 days), screen off. On wake: PC_READY again, screen on, radios back, playback resumed 4 s later.Médias en pause (repris au réveil), écran d'accueil, mode avion et GPS coupés (root), sync, minuterie de veille de la MCU F1 n (7 h à 14 jours), écran éteint. Au réveil : PC_READY renvoyé, écran rallumé, radios rétablies, lecture reprise 4 s plus tard. |
| ShutdownExtinction | Media paused, sync, F1 0: the MCU cuts the SoC.Médias en pause, sync, F1 0 : la MCU coupe le SoC. |
Spontaneous reboot with the screen off (analysed 28/10): Android's display off while the SoC stays awake ends in a reboot by MediaTek's hang_detect about 5 min later. A standby whose SoC has not suspended 25 s after the ignition went off now shuts Android down cleanly instead (the MCU firmware, disassembled: after F1 it waits 40 s at most for the SoC to suspend, then cuts a rail of the SoC anyway; on wake up it presses the power key with a 100 ms pulse and waits 10 s for 1F 01; the engine-start delay is limited to 8 s so that F1 reaches it before its 15 s cut), and the journal says at each start how the previous boot ended.Reboot spontané écran éteint (analysé le 28/10) : l'écran d'Android éteint alors que le SoC reste réveillé finit par un reboot du hang_detect de MediaTek environ 5 min plus tard. Une veille dont le SoC ne s'est pas suspendu 25 s après la coupure du contact éteint maintenant Android proprement (firmware MCU désassemblé : après F1, il attend la mise en veille du SoC 40 s au plus puis coupe quand même un rail du SoC ; au réveil, il appuie sur la touche power par une impulsion de 100 ms et attend 1F 01 10 s ; le délai « démarrage moteur » est limité à 8 s pour que F1 arrive avant sa coupure à 15 s), et le journal dit à chaque démarrage comment la session précédente a fini.
QuickBoot stops the LibreHU apps (analysed 28/10): on this ROM every screen off is an Autochips "QuickBoot power off", and QuickBootManager force stops every app missing from /vendor/etc/qb_list.xml: LibreHU service and launcher included. Their alarms are lost and nothing answers the MCU after the wake up, so the head unit stays off. Flash the zip qb-whitelist (Zips → Tweaks → Standby) and reboot. Until then a root guard starts the service again during a standby, and the apps are started again on wake up. The suspend test with the ignition on is off: nothing can wake the SoC then. After a QuickBoot power off the Autochips framework turns down ordinary wake ups ("implicit intent to wakeup, reject!"): the service now tries the wake key, the power key, then the keypad's power key as the hardware sends it, and the journal says which one worked. SoC kept awake (journal of 29/10): Open Headunit held a 10 min wake lock taken at each start, so the SoC never suspended and the MCU cut it about 40 s after the ignition, then a cold boot. Open Headunit LibreHU now releases it at the screen off, and the standby stops any app still holding a wake lock 3 s after the screen off (written in the journal, started again on wake up).QuickBoot arrête les applis LibreHU (analysé le 28/10) : sur cette ROM chaque extinction de l'écran est un « QuickBoot power off » Autochips, et QuickBootManager arrête de force toute appli absente de /vendor/etc/qb_list.xml, service et launcher LibreHU compris. Leurs alarmes sont perdues et plus rien ne répond à la MCU au réveil : l'autoradio reste éteint. Flasher le zip qb-whitelist (Zips → Réglages → Veille) puis redémarrer. En attendant, un gardien root relance le service pendant la veille et les applis sont relancées au réveil. Le test de suspension contact mis est désactivé : rien ne peut alors réveiller le SoC. Après un QuickBoot power off, le framework Autochips refuse les réveils ordinaires (« implicit intent to wakeup, reject! ») : le service essaie maintenant la touche de réveil, la touche power, puis la touche power du clavier telle que le matériel l'envoie, et le journal dit laquelle a marché. SoC resté réveillé (journal du 29/10) : Open Headunit tenait un verrou de réveil de 10 min pris à chaque démarrage, le SoC ne se mettait jamais en veille et la MCU le coupait environ 40 s après le contact, puis démarrage à froid. Open Headunit LibreHU le relâche maintenant à l'extinction de l'écran, et la veille arrête toute appli qui tient encore un verrou 3 s après l'extinction (écrit dans le journal, relancée au réveil).
Kernel side: a real standby needs the kernel kernel-stable-4.9.337 r127 or later (LibreHU Apps → Zips → Kernel). Older kernels hung when switching the CPU cores off (fixed on 29/10), and after the first real standby (29/10, SoC suspended 53 s, woken by the MCU) the panel stayed black, the touch panel was reset five times and a USB enumeration could stay locked (fixed in r126 / r127). Still open: a USB DVD drive has to be replugged and there is no sound after waking: attach the standby journal and the kernel log.Côté noyau : une vraie veille demande le noyau kernel-stable-4.9.337 r127 ou plus récent (LibreHU Apps → Zips → Noyau). Les noyaux plus anciens bloquaient en éteignant les cœurs du CPU (corrigé le 29/10), et après la première vraie veille (29/10, SoC suspendu 53 s, réveillé par la MCU) la dalle restait noire, le tactile était réinitialisé cinq fois et une énumération USB pouvait rester verrouillée (corrigé en r126 / r127). Restent : un lecteur DVD USB est à rebrancher et le son est absent au réveil : joindre le journal de veille et le journal du noyau.
Standby journal (System → Standby): every step of each standby and wake up, timed from the ignition (the MCU cuts the SoC at t+15 s), written to the storage at each line so it survives the cut; wakelocks when the SoC does not suspend, the kernel's suspend / resume lines, and at each start the boot reason and the end of the previous kernel log (root). Export and attach it to an issue.Journal de veille (Système → Veille) : chaque étape de chaque mise en veille et de chaque réveil, minutée depuis la coupure du contact (la MCU coupe le SoC à t+15 s), écrite sur le stockage à chaque ligne pour survivre à la coupure ; wakelocks quand le SoC ne se suspend pas, lignes suspend / resume du noyau, et à chaque démarrage la raison du démarrage et la fin du journal noyau précédent (root). L'exporter et le joindre à un ticket.
Safe shutdown (mute, pause, sync, "you can turn the ignition off") and Reset SoC through the MCU (works even when Android hangs) are in System → Watchdog.Arrêt sécurisé (sourdine, pause, sync, « vous pouvez couper le contact ») et redémarrage du SoC par la MCU (marche même quand Android est bloqué) sont dans Système → Watchdog.
Sound after waking (01/11): the MCU cuts the sound processor's supply during a real standby; at the screen on that follows a suspend, the service now sends it its start-up sequence, its input and all the settings again (before, only volume, tone, faders and mute were sent and there was no sound).Son au réveil (01/11) : la MCU coupe l'alimentation du processeur audio pendant une vraie veille ; à l'allumage d'écran qui suit une suspension, le service lui renvoie maintenant sa séquence de démarrage, son entrée et tous les réglages (avant, seuls le volume, les tonalités, les faders et le mute étaient renvoyés, et il n'y avait plus de son).
USB
Port mode (Advanced → Autochips): host (USB keys, phones, Android Auto / CarPlay) or device (adb from a computer), switched at once like Jancar's settings. File transfer with a computer (MTP) is off by default: the port in device mode then only offers adb and charging. On, the computer sees the head unit's storage; the Jancar ROM never starts Android's MTP server, so the service starts it at each connection.Mode du port (Avancé → Autochips) : hôte (clés USB, téléphones, Android Auto / CarPlay) ou périphérique (adb depuis un ordinateur), changé tout de suite comme dans les réglages Jancar. Le transfert de fichiers avec un ordinateur (MTP) est désactivé par défaut : le port en périphérique ne propose alors qu'adb et la recharge. Activé, l'ordinateur voit la mémoire de l'autoradio ; la ROM Jancar ne lance jamais le serveur MTP d'Android, le service le démarre à chaque branchement.
Windows shows "Code 28" for the MTP device (no driver, interface seen as class ff): Windows remembered that at a first connection the head unit did not answer its Microsoft descriptor request, and never asks again. As administrator: reg delete "HKLM\SYSTEM\CurrentControlSet\Control\usbflags\2BE182570223" /f, uninstall the device in the Device Manager, plug it in again.Windows affiche « Code 28 » pour l'appareil MTP (pas de pilote, interface vue en classe ff) : Windows a retenu qu'à un premier branchement l'autoradio n'avait pas répondu à sa requête de descripteurs Microsoft, et ne redemande plus. En administrateur : reg delete "HKLM\SYSTEM\CurrentControlSet\Control\usbflags\2BE182570223" /f, désinstaller l'appareil dans le Gestionnaire de périphériques, rebrancher.
Touch panelDalle tactile
- Calibration (root): 5 targets, least squares, maximum error shown, then a 20 s trial that goes back by itself unless you keep it. "Start from a neutral matrix" when the current one is too wrong to reach the corners. Can also write Jancar's
pointercal.xml.Calibration (root) : 5 cibles, moindres carrés, erreur maximale affichée, puis un essai de 20 s qui revient seul en arrière si on ne garde pas. « Partir d'une matrice neutre » quand l'actuelle est trop fausse pour atteindre les coins. Peut aussi écrire lepointercal.xmlde Jancar. - Front panel keys: the printed buttons around the screen are touch areas outside the display. Learn each one with a 2 s press, then give it a short press action and a long press action (or repeat while held).Touches de façade : les boutons sérigraphiés autour de l'écran sont des zones tactiles hors de l'affichage. Les apprendre par un appui de 2 s, puis leur donner une action d'appui court et d'appui long (ou répétition tant qu'on appuie).
Display and lightsÉcran et lumières
Android dark mode and brightness follow the headlights (day / night levels); on-screen warning lights (lights, reverse, handbrake, turn signals; off by default); button backlight: the two PWM outputs of the MCU (5..100 %), one level lights off and one lights on. Panel picture (Display): MediaTek's picture quality engine, what Jancar's TFT display app (com.jancar.tftdisplay) set: picture brightness, contrast, hue, saturation, sharpness, hue and saturation of skin, grass and sky tones; root, set again at start-up, MiraVision button when the ROM has it; not tried on the head unit yet.Mode sombre d'Android et luminosité selon les feux (niveaux jour / nuit) ; voyants à l'écran (feux, marche arrière, frein à main, clignotants ; désactivés par défaut) ; rétroéclairage des boutons : les deux sorties PWM de la MCU (5..100 %), un niveau feux éteints et un feux allumés. Image de la dalle (Affichage) : moteur de qualité d'image de MediaTek, ce que réglait l'appli d'écran TFT de Jancar (com.jancar.tftdisplay) : luminosité de l'image, contraste, teinte, saturation, netteté, teinte et saturation des tons peau, herbe et ciel ; root, remis au démarrage, bouton MiraVision quand la ROM l'a ; pas encore essayé sur l'autoradio.
Tweaks
- Kernel (root): per CPU cluster governor and min / max frequency; GPU kept at a MediaTek operating point or automatic; eMMC I/O scheduler and read-ahead; swappiness; TCP congestion control; temperatures. Applied at once and, if asked, at each start, with a 90 s guard against a boot loop; factory values restorable.Noyau (root) : par groupe de cœurs, gouverneur et fréquences min / max ; GPU gardé sur un palier MediaTek ou automatique ; ordonnanceur d'E/S et lecture anticipée de l'eMMC ; swappiness ; contrôle de congestion TCP ; températures. Appliqués tout de suite et, si demandé, à chaque démarrage, avec une garde de 90 s contre une boucle de redémarrage ; valeurs d'usine restaurables.
- CPU boost on touch (off by default): every cluster's minimum frequency jumps to its maximum while a finger is on the screen, back 1.5 s after the last touch.Accélérer le processeur au toucher (désactivé par défaut) : la fréquence minimale de chaque groupe de cœurs passe à sa maximale tant qu'un doigt touche l'écran, et revient 1,5 s après le dernier toucher.
- Native compilation of the LibreHU apps and Zygote preload switch (root module).Compilation native des applis LibreHU et interrupteur de préchargement Zygote (module root).
Backup and migrationSauvegarde et migration
Settings of every installed LibreHU app (and ViPER4Android, Open Headunit, CarPlay, MCU Toolkit) into a .tar in Download/LibreHU: preferences, files, databases. Restoring refuses archives with links or .. paths.Réglages de toutes les applis LibreHU installées (et ViPER4Android, Open Headunit, CarPlay, MCU Toolkit) dans une archive .tar de Download/LibreHU : préférences, fichiers, bases de données. La restauration refuse les archives avec des liens ou des chemins ...
LibreHU Launcher
- Dashboard: rail of pinned apps on the left (long press in the drawer to pin), big widget slot, now playing card (any MediaSession), second widget slot; several pages. Optional widget size and layout editing (width, height, move between slots and pages) and right-hand drive (mirrored).Tableau de bord : rail d'applis épinglées à gauche (appui long dans le tiroir pour épingler), grand emplacement de widget, carte de lecture en cours (n'importe quelle MediaSession), second emplacement ; plusieurs pages. En option : taille et disposition des widgets (largeur, hauteur, déplacement entre emplacements et pages) et conduite à droite (miroir).
- Styles: modern, or retro car stereo display whose colours come from the accent colour (any RGB); normal or segment display font (LibreHU Seg14, from DSEG14), followed by every LibreHU app and their widgets.Styles : moderne, ou afficheur d'autoradio rétro dont les couleurs viennent de la couleur d'accent (n'importe quelle couleur RGB) ; police normale ou à segments (LibreHU Seg14, tirée de DSEG14), suivie par toutes les applis LibreHU et leurs widgets.
- "Modularer Infotainment-Baukasten" style (factory screen): the look of a car's original screen, black background and Source Sans 3 font. A MENU of 8 large tiles (Radio, Media, Apps, Android Auto — long press: CarPlay —, Phone, Vehicle, Navigation, Setup), then pages of 8 pinned apps ending with an Add tile; a factory status bar (compass and road name — a touch goes back to MENU —, clock, phone, weather) instead of the rail; an Apps screen in tiles (Search, All, MENU, Setup keys); settings as light grey bars with square check boxes; Vehicle pages with framed ‹ › keys; framed dialogs; Back to the previous screen; a Media screen with title, artist, cover, seek bar and soft keys (Source, Browse, previous, play / pause, next, Setup). Layout inspired by TheCarLauncher; LibreHU's own icons and colours.Style « Modularer Infotainment-Baukasten » (écran d'usine) : l'allure d'un écran d'origine de voiture, fond noir et police Source Sans 3. Un MENU de 8 grandes tuiles (Radio, Média, Applis, Android Auto — appui long : CarPlay —, Téléphone, Véhicule, Navigation, Réglages), puis des pages de 8 applis épinglées terminées par une tuile Ajouter ; une barre d'état d'usine (boussole et nom de la route — un toucher revient au MENU —, heure, téléphone, météo) à la place de la barre ; un écran Applis en tuiles (touches Recherche, Tout, MENU, Réglages) ; réglages en barres gris clair à cases à cocher carrées ; pages Véhicule à touches ‹ › encadrées ; fenêtres encadrées ; Retour à l'écran précédent ; un écran Média avec titre, artiste, pochette, barre de lecture et touches du bas (Source, Parcourir, précédent, lecture / pause, suivant, Réglages). Mise en page inspirée de TheCarLauncher ; icônes et couleurs de LibreHU.
- "LHU-Link" style (ambient screen): the look of a connected-car tablet (layout inspired by Renault's R-Link 2, redrawn with LibreHU's own icons: no Renault logo, name, icon, font or picture). Black to night blue, the accent colour as the ambient light; top bar (clock, map and audio shortcuts, page dots, phone, weather); home pages in a lit frame (analog clock, what is playing, pinned apps four by page); a menu of six tiles opening sub-menus (Navigation, Multimedia, Phone, Apps, Vehicle with an ambient lighting page of five colours, System) like the original; a bar of buttons at the bottom (Menu / Back — a long press goes home —, the screen's main action, Options with its pop-up menu); the Multimedia player with Playback / Sources tabs; settings as framed lists with ON | OFF keys; framed dialogs.Style « LHU-Link » (écran ambiance) : l'allure d'une tablette de voiture connectée (mise en page inspirée du R-Link 2 de Renault, redessinée avec les icônes de LibreHU : aucun logo, nom, icône, police ni image de Renault). Du noir au bleu nuit, la couleur d'accent comme éclairage d'ambiance ; barre du haut (heure, raccourcis carte et audio, points de page, téléphone, météo) ; pages d'accueil dans un cadre éclairé (horloge analogique, lecture en cours, applis épinglées par quatre) ; menu de six tuiles qui ouvrent des sous-menus (Navigation, Multimédia, Téléphone, Apps, Véhicule avec une page Ambiance lumineuse à cinq couleurs, Système) comme l'original ; barre de boutons en bas (Menu / Retour — appui long : accueil —, action principale de l'écran, Options et son menu surgissant) ; lecteur Multimédia à onglets Lecture / Sources ; réglages en listes encadrées avec touches ON | OFF ; fenêtres encadrées.
- The launcher asks the other LibreHU apps for these two styles, like the colours and the retro mode (
style=factoryorambient): Radio FM, Phone, Disc, Service, OTA, EasySource, BtnRemap and Widgets take its palette, square shapes and the matching font (Source Sans 3 for the factory style, a light weight for LHU-Link), and the layouts of the originals: Radio FM (factory: frequency between framed keys, pages of six preset tiles, station list, manual scale; LHU-Link: Frequencies / Stations / Presets tabs, tuner with the red needle, turning station list), Phone (factory: lists and framed keypad, the call's actions as soft keys; LHU-Link: phone menu of six tiles, contacts with framed pictures, call history with its four filters, framed dial pad, call screen), Disc (media screen of each style), and the settings of Service, LibreHU Apps, EasySource (with its source switcher), BtnRemap and Widgets (title over the accent line, light grey bars and soft keys; framed tabs and groups, ON | OFF keys). CarPlay and Open Headunit follow the two styles too (palette, square corners, font). Key clicks: each tap makes a short sound, one per style chosen among 26 in the launcher (Settings → Personalisation → Key clicks, a touch plays the sound), or none; the launcher publishes it to every LibreHU app (click). Sounds by LibreHU, Kenney (CC0, WAV version by Hugo Locurcio / Calinou) and the Android Open Source Project (Apache 2.0).Le launcher demande ces deux styles aux autres applis LibreHU, comme les couleurs et le mode rétro (style=factoryouambient) : Radio FM, Téléphone, Disc, Service, OTA, EasySource, BtnRemap et Widgets prennent sa palette, des formes carrées et la police assortie (Source Sans 3 pour le style d'usine, un texte fin pour LHU-Link), et les mises en page des originaux : Radio FM (usine : fréquence entre touches encadrées, pages de six présélections en tuiles, liste des stations, échelle manuelle ; LHU-Link : onglets Fréquences / Stations / Présélections, accord à aiguille rouge, liste qui tourne), Téléphone (usine : listes et clavier encadré, actions d'appel en touches du bas ; LHU-Link : menu Téléphone de six tuiles, répertoire à photos encadrées, historique à quatre filtres, clavier encadré, écran d'appel), Disc (écran média de chaque style), et les réglages de Service, LibreHU Apps, EasySource (avec son sélecteur de source), BtnRemap et Widgets (titre sur un trait d'accent, barres gris clair et touches du bas ; onglets et groupes encadrés, touches ON | OFF). CarPlay et Open Headunit suivent aussi les deux styles (palette, coins carrés, police). Son des touches : chaque toucher fait un petit son, un par style choisi parmi 26 dans le launcher (Paramètres → Personnalisation → Son des touches, un toucher fait entendre le son), ou aucun ; le launcher le publie à toutes les applis LibreHU (click). Sons de LibreHU, de Kenney (CC0, version WAV de Hugo Locurcio / Calinou) et de l'Android Open Source Project (Apache 2.0). - In both styles: every tile and key opens the right place (Sound = ViPER4Android LibreHU, the DSP, Android's sound settings without it; head unit audio, vehicle, parking aids, Bluetooth and brightness = the matching LibreHU service tab; driving aids, navigation settings and display = the launcher's own page); Bluetooth and AUX sources next to the players; OBD and Tyres screens, dialogs and the remaining settings screens of every LibreHU app (Radio FM, Phone, Disc, Service, LibreHU Apps, EasySource, BtnRemap) drawn in the style; ViPER4Android LibreHU follows the two styles and the key clicks as well; the wallpaper can show behind them, dimmed (Settings → Wallpaper, off by default: black). LHU-Link adds two home pages of real Android widgets (four per page: "Add a widget" on an empty frame, ⋮ key: Replace / Remove) after the app pages.Dans les deux styles : chaque tuile et touche ouvre la bonne page (Son = ViPER4Android LibreHU, le DSP, ou les réglages son d'Android sans lui ; audio de l'autoradio, véhicule, aides au stationnement, Bluetooth et luminosité = l'onglet correspondant du service LibreHU ; aides à la conduite, réglages de navigation et affichage = la page du launcher) ; sources Bluetooth et AUX à côté des lecteurs ; écrans OBD et Pneus, fenêtres et derniers écrans de réglages de toutes les applis LibreHU (Radio FM, Téléphone, Disc, Service, LibreHU Apps, EasySource, BtnRemap) dessinés dans le style ; ViPER4Android LibreHU suit aussi les deux styles et le son des touches ; le fond d'écran peut s'afficher derrière, assombri (Paramètres → Fond d'écran, désactivé par défaut : noir). LHU-Link ajoute deux pages d'accueil de vrais widgets Android (quatre par page : « Ajouter un widget » sur un cadre vide, touche ⋮ : Remplacer / Retirer) après les pages d'applis.
- Wallpapers: picture, looping video, aurora, stars, waves, vaporwave sunset, retro dot-matrix scenes (dolphins, analyser, cassette, night road, rally, deep space with hyperspace jumps, demo mode), music spectrum. "GPU acceleration" (off by default) draws them with OpenGL ES 2.Fonds d'écran : image, vidéo en boucle, aurore, étoiles, vagues, coucher de soleil vaporwave, scènes rétro en matrice de points (dauphins, analyseur, cassette, route de nuit, rallye, espace avec sauts en hyperespace, mode démo), spectre de la musique. « Accélération GPU » (désactivée par défaut) les dessine en OpenGL ES 2.
- Standby clock (digital or analog, date, car battery, up to 6 OBD values, what is playing, small drift against burn-in) and lock screen, both in the retro style when chosen.Horloge de veille (numérique ou analogique, date, batterie de la voiture, jusqu'à 6 valeurs OBD, lecture en cours, léger déplacement contre le marquage) et écran de verrouillage, tous deux en style rétro s'il est choisi.
- Tyres (TPMS): TPMS on / off switch (off: no USB adapter opened, no Bluetooth sensor scanned, no alarm, no card), USB TPMS receiver read directly (an adapter that is not a TPMS receiver, such as the ELM327 of the OBD, is given back after 15 s; one held by another app is not taken), dashboard card, detail screen, pairing, swap, thresholds, alert notification, widget.Pneus (TPMS) : interrupteur TPMS activé / désactivé (désactivé : aucun adaptateur USB ouvert, aucun capteur Bluetooth écouté, ni alerte ni carte), récepteur TPMS USB lu directement (un adaptateur qui n'est pas un récepteur TPMS, comme l'ELM327 de l'OBD, est rendu au bout de 15 s ; celui tenu par une autre appli n'est pas pris), carte du tableau de bord, écran détaillé, appairage, permutation, seuils, notification d'alerte, widget.
- Driving: weather and speed limit warning only (in France, speed camera warnings are illegal and not provided). SOS: emergency call screen behind a signature permission.Conduite : météo et alerte de limite de vitesse seulement (en France, les avertisseurs de radars sont interdits et ne sont pas fournis). SOS : écran d'appel d'urgence derrière une permission de signature.
- Android Auto: session card, next turn of the navigation (with Open Headunit LibreHU), a popup of each direction (then a reminder at 200 m) over the other screens, never over Android Auto itself (switch in the Look settings), and optionally the live picture on the dashboard (experimental).Android Auto : carte de session, prochaine manœuvre de la navigation (avec Open Headunit LibreHU), popup de chaque direction (puis rappel à 200 m) par-dessus les autres écrans, jamais sur Android Auto lui-même (interrupteur dans les réglages d'apparence), et, en option, l'image en direct sur le tableau de bord (expérimental).
Phone app (LibreHU Bridge)Appli téléphone (LibreHU Bridge)
- Install: Android 8.0+ APK, or the unsigned iPhone .ipa (iOS 16+) signed by yourself with AltStore or Sideloadly (every 7 days with a free Apple ID). The home screen shows the installed version and checks GitHub for a newer one (link to the APK or the ipa).Installer : APK Android 8.0+, ou le .ipa iPhone non signé (iOS 16+) à signer soi-même avec AltStore ou Sideloadly (tous les 7 jours avec un identifiant Apple gratuit). L'écran d'accueil montre la version installée et recherche une version plus récente sur GitHub (lien vers l'APK ou l'ipa).
- Pair: QR code from the launcher's assistant or LibreHU service → Bluetooth → Phone → LibreHU phone app → Pair a phone (single-use token, 5 minutes); or, phone already paired in Bluetooth, choose the head unit and accept on its screen.Associer : QR code de l'assistant du launcher ou de LibreHU service → Bluetooth → Téléphone → Appli téléphone LibreHU → Associer un téléphone (jeton à usage unique, 5 minutes) ; ou, téléphone déjà appairé en Bluetooth, choisir l'autoradio et accepter sur son écran.
- Use: Wi-Fi when both are on the same network (phone or head unit hotspot), else Bluetooth (Android only). Five tabs: Home (battery, GPS status without position, temperatures, system), Settings (every page of the head unit and the apps, with search), Apps (open an app on the unit, or here), Files, Tools (reboot normal / recovery / fastboot, logs, advanced Android settings).Utiliser : Wi-Fi quand les deux sont sur le même réseau (point d'accès du téléphone ou de l'autoradio), sinon Bluetooth (Android seulement). Cinq onglets : Accueil (batterie, état du GPS sans la position, températures, système), Réglages (toutes les pages de l'autoradio et des applis, avec recherche), Applis (ouvrir une appli sur l'autoradio, ou ici), Fichiers, Outils (redémarrer normal / recovery / fastboot, journaux, réglages Android avancés).
- Head unit screen on the phone (for the passenger): Apps → Head unit screen here, or an app → Open here. The phone shows the head unit's screen and touches it (several fingers; Back, Home, recent apps keys); the head unit keeps its own screen for the driver. Wi-Fi only, root on the head unit; hardware H.264, same method as scrcpy. A notification on the head unit shows the share and stops it.Écran de l'autoradio sur le téléphone (pour le passager) : Applis → Écran de l'autoradio ici, ou une appli → Ouvrir ici. Le téléphone affiche l'écran de l'autoradio et le touche (plusieurs doigts ; touches Retour, Accueil, applis récentes) ; l'autoradio garde son écran pour le conducteur. Wi-Fi seulement, root sur l'autoradio ; H.264 matériel, même méthode que scrcpy. Une notification sur l'autoradio signale le partage et l'arrête.
- Android Auto (Android phone): battery, speed, RPM, temperatures and quick settings. Car App Library apps appear only when installed by a trusted store: reinstall as Google Play (
adb install -r -i com.android.vending, or the in-app button with root on the phone).Android Auto (téléphone Android) : batterie, vitesse, régime, températures et réglages rapides. Une appli Car App Library n'apparaît que si elle vient d'un store de confiance : la réinstaller comme Google Play (adb install -r -i com.android.vending, ou le bouton de l'appli avec root sur le téléphone).
The link is end-to-end encrypted (ECDH P-256, ECDSA, HKDF-SHA256, AES-256-GCM) and the head unit lists and can forget paired phones. Secrets (GitHub token, MFi token, hotspot password) never go through it.La liaison est chiffrée de bout en bout (ECDH P-256, ECDSA, HKDF-SHA256, AES-256-GCM) et l'autoradio liste et peut oublier les téléphones associés. Les secrets (jeton GitHub, jeton MFi, mot de passe du point d'accès) n'y passent jamais.
Other appsAutres applis
LibreHU FM
FM radio on the internal MediaTek chip (MT6631 combo, /dev/fm): stations, seek, scan, RDS, station logos, widget; asks LibreHU service for the antenna power (GPIO 110 + MCU 43) while it plays. RDS on the AC8257 (station name, radiotext, PTY, TP / TA, AF) since builds e65f5a0 (main), 44994bc (librehu-service) and 33a91aa (ivi): the FM driver gives a 720-byte RDS record (RT+ tags included) and the app, which asked for 688 bytes, never got one; it now reads both formats. Analysis and first fix: Reo Au In. Band and region (settings, also from the phone): from the country or chosen; Europe, Africa, Asia 87.5–108 MHz, 100 kHz steps, 50 µs de-emphasis; Americas and South Korea 87.5–107.9 MHz on the odd tenths, 200 kHz steps, 75 µs de-emphasis (US stations no longer sound too bright) and RBDS programme types; Brazil with its extended band 76.1–107.9 MHz; Japan 76–95 MHz. US call letters worked out from the PI code (NRSC-4-B) when the station sends no name. Enhanced RadioText (eRT), the UTF-8 text of non-Latin scripts, rebuilt from the raw RDS groups, with its artist and title (eRT+). Reception: signal bars and stereo indicator, forced mono (LibreHU kernel r146 and later, whose FM driver now passes the command on), search of strong stations only (local), antenna amplifier (option, on by default: the antenna is powered, GPIO 110 + MCU command 43, while the FM chip is on; off for a passive antenna; shown in the LibreHU-service edition, ivi-services decides by itself). Traffic announcements (option): full volume while the radio plays; over another source, the radio staying on in the background and taking over during the announcement (not with Jancar ivi-services). RDS clock (option): the head unit's clock set from the station's time. Alert (programme type 31): red line and priority notification. Songs heard: RT+ history with the time. US station logos looked up by call letters. Accented letters of the RDS (EN 50067 character set) are shown instead of spaces. RT+: artist and title tagged by the station, under the station name, on the widget, the notification and the launcher's media card.Radio FM sur la puce MediaTek interne (combo MT6631, /dev/fm) : stations, recherche, balayage, RDS, logos des stations, widget ; demande à LibreHU service l'alimentation de l'antenne (GPIO 110 + MCU 43) pendant la lecture. RDS sur l'AC8257 (nom de station, radiotexte, PTY, TP / TA, AF) depuis les builds e65f5a0 (main), 44994bc (librehu-service) et 33a91aa (ivi) : le pilote FM rend un enregistrement RDS de 720 octets (balises RT+ comprises) et l'appli, qui en demandait 688, n'en recevait aucun ; elle lit maintenant les deux formats. Analyse et premier correctif : Reo Au In. Bande et région (paramètres, aussi depuis le téléphone) : d'après le pays ou au choix ; Europe, Afrique, Asie 87,5–108 MHz, pas de 100 kHz, désaccentuation 50 µs ; Amériques et Corée du Sud 87,5–107,9 MHz sur les dixièmes impairs, pas de 200 kHz, désaccentuation 75 µs (les stations américaines ne sonnent plus trop aiguës) et types de programme RBDS ; Brésil avec sa bande étendue 76,1–107,9 MHz ; Japon 76–95 MHz. Indicatifs américains calculés depuis le code PI (NRSC-4-B) quand la station n'envoie pas de nom. Radiotexte étendu (eRT), le texte UTF-8 des écritures non latines, reconstruit à partir des groupes RDS bruts, avec son artiste et son titre (eRT+). Réception : barres de signal et indicateur stéréo, mono forcé (noyau LibreHU r146 et plus, dont le pilote FM transmet enfin la commande), recherche des stations fortes seulement (locales), ampli d'antenne (option, activé par défaut : l'antenne est alimentée, GPIO 110 + commande MCU 43, pendant que la puce FM est allumée ; à couper avec une antenne passive ; affiché dans l'édition LibreHU-service, ivi-services décide lui-même). Annonces trafic (option) : volume plein si la radio joue ; par-dessus une autre source, la radio restant allumée en fond et prenant la main pendant l'annonce (pas avec Jancar ivi-services). Heure RDS (option) : horloge de l'autoradio réglée sur l'heure de la station. Alerte (type de programme 31) : ligne rouge et notification prioritaire. Titres entendus : historique RT+ avec l'heure. Logos des stations américaines cherchés par indicatif. Les lettres accentuées du RDS (table de caractères EN 50067) s'affichent au lieu d'espaces. RT+ : artiste et titre balisés par la station, sous le nom de la station, sur le widget, la notification et la carte média du lanceur.
Internet radio (FM | Internet switch at the top left of the modern style, with a dot on the source playing; in that style every key is at least 76 dp, Google's minimum touch size in a car): Media3 player (MP3, AAC, Opus, FLAC, HLS) with the song title sent by the stream (ICY), a 15 to 60 s buffer and automatic reconnection after a coverage hole. Add by hand a stream address or an M3U / PLS link, or import an M3U / PLS file (USB key). Catalogue: the Radio Browser list of the country (community, about 4 MB for France, kept a week), by region (merged spellings; only about one French station in five gives one, national networks none: they are under "National / no region"), by genre and by name, each chosen on a grid of big tiles fitting one screen (biggest regions first, small ones under "Other regions"; country of the catalogue apart from the FM band's); the streams of a station are grouped and the one played follows the quality setting: best sound (FLAC, then the highest bitrate) or less data (128 kbit/s ≈ 58 MB per hour, 320 kbit/s ≈ 144 MB). The head unit's audio output is 48 kHz / 16-bit stereo: above CD quality nothing more is heard. From FM to the internet: when the FM station is also on the internet and the internet works, the FM screen offers its stream (one touch), then "Back to FM"; only on a clear name match (two stations about as close to the 8-letter RDS name: nothing is offered). In the launcher's factory and LHU-Link styles too: an Internet key on their FM screen, which also shows the offer; factory = the station between ‹ ›, saved stations in six-tile pages, catalogue list; LHU-Link = Playing / Internet stations / Catalogue tabs, Options. Also: a logo chosen per station (touch the logo), stream titles in the songs heard, the phone app's radio page (FM or internet, station), reconnection as soon as the network is back. Traffic announcements stay FM only.Radio internet (sélecteur FM | Internet en haut à gauche du style moderne, avec un point sur la source qui joue ; dans ce style chaque touche fait au moins 76 dp, la taille tactile minimale de Google en voiture) : lecteur Media3 (MP3, AAC, Opus, FLAC, HLS) avec le titre envoyé par le flux (ICY), un tampon de 15 à 60 s et la reconnexion automatique après une coupure de réseau. Ajouter à la main une adresse de flux ou un lien M3U / PLS, ou importer un fichier M3U / PLS (clé USB). Catalogue : la liste Radio Browser du pays (communautaire, environ 4 Mo pour la France, gardée une semaine), par région (écritures fusionnées ; une station française sur cinq environ en donne une, les réseaux nationaux aucune : ils sont dans « Nationales / sans région »), par genre et par nom, chacun choisi sur une grille de grandes tuiles qui tient sur un écran (grandes régions d'abord, petites sous « Autres régions » ; pays du catalogue à part de celui de la bande FM) ; les flux d'une station sont regroupés et celui joué suit le réglage de qualité : meilleur son (FLAC, puis le plus haut débit) ou moins de données (128 kbit/s ≈ 58 Mo par heure, 320 kbit/s ≈ 144 Mo). La sortie audio de l'autoradio est en stéréo 48 kHz / 16 bits : au-delà de la qualité CD, rien ne s'entend en plus. De la FM à internet : quand la station FM est aussi sur internet et qu'internet marche, l'écran FM propose son flux (un toucher), puis « Revenir en FM » ; seulement sur un nom sans doute (deux stations presque aussi proches du nom RDS de 8 lettres : rien n'est proposé). Aussi dans les styles d'usine et LHU-Link du launcher : touche Internet sur leur écran FM, qui montre aussi la proposition ; usine = la station entre ‹ ›, stations enregistrées en pages de six tuiles, catalogue en liste ; LHU-Link = onglets Lecture / Stations internet / Catalogue, Options. Et : un logo au choix par station (toucher le logo), titres des flux dans les titres entendus, page radio de l'appli téléphone (FM ou internet, station), reconnexion dès le retour du réseau. Les annonces trafic restent en FM seulement.
DAB+ radio (USB dongle): a DAB+ tab between FM and Internet (a DAB+ key in the factory and LHU-Link styles) once a DAB+ USB dongle was plugged in. Engine: DABplay+ by jvspier (MIT, pure Kotlin), the dongle sends the raw multiplex and the head unit decodes it (DAB+ AAC through MediaCodec, MP2 for DAB). Dongles: wRadio C100 / DTR-100 (16c0:05dc: XTRONS USBDAB01, Joying, Pumpkin, Dasaita; tested on a head unit by DABplay+'s author), Si4684 (1a86:5537: Eonon A503) and Siano SMS2160 (untested); not the SMS2270, RTL-SDR or mass-storage sticks. Band III scan (5A to 13F) at the first plug, favourites, steering-wheel keys, station text (DLS, songs in the history), slideshow picture, signal bars, service following, traffic announcements with the TA setting, same media session as FM. The DAB aerial goes on the dongle's SMA socket. Not yet tried on the UJC201 (no dongle here).Radio DAB+ (clé USB) : onglet DAB+ entre FM et Internet (touche DAB+ dans les styles d'usine et LHU-Link) dès qu'une clé DAB+ USB a été branchée. Moteur : DABplay+ de jvspier (MIT, Kotlin pur), la clé envoie le multiplex brut et l'autoradio le décode (AAC du DAB+ par MediaCodec, MP2 pour le DAB). Clés : wRadio C100 / DTR-100 (16c0:05dc : XTRONS USBDAB01, Joying, Pumpkin, Dasaita ; testée sur autoradio par l'auteur de DABplay+), Si4684 (1a86:5537 : Eonon A503) et Siano SMS2160 (non testées) ; pas les SMS2270, RTL-SDR ni clés vues comme stockage USB. Recherche de la bande III (5A à 13F) au premier branchement, favoris, touches du volant, texte de la station (DLS, titres dans l'historique), image du diaporama, barres de signal, suivi de la station, annonces trafic avec le réglage TA, même session média que la FM. L'antenne DAB se branche sur la prise SMA de la clé. Pas encore essayé sur l'UJC201 (aucune clé ici).
LibreHU Dialer
Bluetooth phone made for the car: keypad, recents, contacts, favourites, incoming call window and floating bubble, widgets.Téléphone Bluetooth pensé pour la voiture : clavier, récents, contacts, favoris, fenêtre d'appel entrant et bulle flottante, widgets.
LibreHU Widgets
Several home screen widgets in one APK: warning lights (handbrake, lights, ignition, reverse, turn signals, MCU link, external amp), info (trip time…), with a setup app; retro style and segment font followed.Plusieurs widgets d'écran d'accueil dans un APK : voyants (frein à main, feux, contact, marche arrière, clignotants, liaison MCU, ampli externe), infos (temps de trajet…), avec une appli de réglage ; style rétro et police à segments suivis.
LibreHU BtnRemap
Every steering wheel or CAN box button, short and long press: open an app, next source in your list or EasySource's, play / pause, next / previous, volume, mute, home, back, navigation, voice assistant, phone… Buttons add themselves when pressed (learning).Chaque bouton du volant ou du boîtier CAN, appui court et long : ouvrir une appli, source suivante de votre liste ou d'EasySource, lecture / pause, suivant / précédent, volume, sourdine, accueil, retour, navigation, assistant vocal, téléphone… Les boutons s'ajoutent d'eux-mêmes quand on les appuie (apprentissage).
LibreHU EasySource
Full screen source picker for the MODE / SRC key: each press shows the next source (FM, Bluetooth music, AUX, music apps), which starts after a few seconds or at once with OK.Sélecteur de sources plein écran pour la touche MODE / SRC : chaque appui montre la source suivante (FM, musique Bluetooth, AUX, applis de musique), qui démarre après quelques secondes ou tout de suite avec OK.
LibreHU Disc
USB optical drive: audio CD (with MusicBrainz names), data CD / DVD, unprotected DVD video, ripping (format, safe mode, retries, tags). Needs root (the drive node /dev/block/sr0 is root only) and the LibreHU kernel's CD/DVD drivers. Protected commercial DVDs (CSS) are not supported.Lecteur optique USB : CD audio (noms par MusicBrainz), CD / DVD de données, DVD vidéo non protégés, extraction (format, mode sûr, essais, tags). Demande le root (le nœud du lecteur /dev/block/sr0 est réservé à root) et les pilotes CD/DVD du noyau LibreHU. Les DVD du commerce protégés (CSS) ne sont pas pris en charge.
ViPER4Android LibreHU
Material 3 ViPER4Android with the ViPERFX_RE engine (driver zip in LibreHU Apps → Zips), started early at boot by the service so effects apply from the first song; every effect settable from the phone app. It follows the launcher's light / dark theme, accent, retro, factory and LHU-Link styles and key clicks.ViPER4Android Material 3 avec le moteur ViPERFX_RE (zip du pilote dans LibreHU Apps → Zips), démarré tôt au démarrage par le service pour que les effets s'appliquent dès le premier morceau ; chaque effet réglable depuis l'appli téléphone. Suit le thème clair / sombre du launcher, son accent, ses styles rétro, d'usine et LHU-Link et le son des touches.
LibreHU Helper
Read-only diagnostics for porting: zip report (system, partitions dump options, proprietary APKs, tty / I²C / USB scan, MFi chip, MCU, CAN box protocol), with anonymisation. Run it on another head unit and attach the report to an issue.Diagnostic en lecture seule pour le portage : rapport zip (système, options de dump des partitions, APK propriétaires, scan tty / I²C / USB, puce MFi, MCU, protocole du boîtier CAN), avec anonymisation. Le lancer sur un autre autoradio et joindre le rapport à une issue.
Android Auto · CarPlay
- Android Auto: Open Headunit LibreHU (
org.librehu.headunit), USB or wireless. LibreHU service drives it: session state, day / night from the headlights, car data and sensors sent to the phone, steering wheel keys (voice assistant included), back to the projection after reversing, low-latency video. All its settings are in LibreHU service → Android Auto.Android Auto : Open Headunit LibreHU (org.librehu.headunit), USB ou sans fil. LibreHU service le pilote : état de la session, jour / nuit selon les phares, données et capteurs de la voiture envoyés au téléphone, touches du volant (assistant vocal compris), retour à la projection après le recul, vidéo basse latence. Tous ses réglages sont dans LibreHU service → Android Auto. - CarPlay: xcertplay LibreHU (
org.librehu.carplay) with the unit's own MFi authentication chip (found by itself on I²C) or a CH341 adapter; wired and wireless (its own hotspot). Night mode from the headlights, vehicle identity from the service.CarPlay : xcertplay LibreHU (org.librehu.carplay) avec la puce d'authentification MFi de l'autoradio (trouvée seule sur l'I²C) ou un adaptateur CH341 ; filaire et sans fil (son propre point d'accès). Mode nuit selon les phares, identité du véhicule venant du service.
TWRP, kernel, zipsTWRP, noyau, zips
All system pieces are in LibreHU Apps → Zips (also on GitHub). Each one is checked (size, SHA-256), backs up the current partition to /sdcard/LibreHU/backup, then is written and read back. Zips are sorted by category and section (for example Kernel: LibreHU 4.9.117, linux-stable, back to 4.9.117, drivers); the versions of one zip (without / with boot menu, kernel + modules / modules only…) are on one card, with screenshots when there are some.Toutes les pièces système sont dans LibreHU Apps → Zips (aussi sur GitHub). Chacune est vérifiée (taille, SHA-256), sauvegarde la partition actuelle dans /sdcard/LibreHU/backup, puis est écrite et relue. Les zips sont triés par catégorie et par section (par exemple Noyau : LibreHU 4.9.117, linux-stable, retour au 4.9.117, pilotes) ; les versions d'un même zip (sans / avec menu de démarrage, noyau + modules / modules seuls…) sont sur une seule carte, avec des captures d'écran quand il y en a.
Direct downloads: TWRP stable / beta (zips; the .img for fastboot is in the TWRP releases), stable kernel 4.9.337 kernel + modules / modules only, original modules back, all zips.Téléchargements directs : TWRP stable / bêta (zips ; le .img pour fastboot est dans les releases de TWRP), noyau stable 4.9.337 noyau + modules / modules seuls, retour des modules d'origine, tous les zips.
| Zip | What it doesRôle |
|---|---|
twrp-ujc201 / -beta | TWRP recovery for the UJC201: touch and front keys, landscape, ADB / MTP, USB stick, MCU state in the status bar, steering wheel and Hiworld CAN box keys (beta; it answers the box like LibreHU service, from /sdcard/TWRP/ujc201_can.conf written by the service for the chosen car). Signed with the stock recovery's AVB footer, so Android still boots.Recovery TWRP de l'UJC201 : tactile et touches de façade, paysage, ADB / MTP, clé USB, état de la MCU dans la barre d'état, touches du volant et du boîtier CAN Hiworld (bêta ; il répond au boîtier comme LibreHU service, d'après /sdcard/TWRP/ujc201_can.conf écrit par le service pour la voiture choisie). Signé avec le pied AVB du recovery d'origine, donc Android démarre toujours. |
kernel-librehu / -bootmenu | LibreHU kernel in boot (with KernelSU Next), optionally with a TWRP / Android / Fastboot boot menu. vbmeta is never touched.Noyau LibreHU dans boot (avec KernelSU Next), en option avec un menu de démarrage TWRP / Android / Fastboot. vbmeta n'est jamais touché. |
kernel-connectivity | Same kernel with the Wi-Fi / BT / GPS / FM drivers built in (testing).Même noyau avec les pilotes Wi-Fi / BT / GPS / FM intégrés (en test). |
viper4android-re | ViPERFX_RE audio driver for ViPER4Android.Pilote audio ViPERFX_RE pour ViPER4Android. |
kernel-stable-4.9.<N> | For each linux-stable kernel (4.9.150, 200, 225, 250, 300, 319, 337): the kernel (with the TWRP / Android / Fastboot boot menu) and its Wi-Fi / BT / GPS / FM modules in one zip. Everything is checked before writing; boot is saved in /sdcard/LibreHU/backup, original modules in conn-modules-orig. Needs dm-verity disabled. 4.9.337 is the stable kernel (used daily on the unit without problems); the others are kept only to find which batch broke something.Pour chaque noyau linux-stable (4.9.150, 200, 225, 250, 300, 319, 337) : le noyau (avec le menu de démarrage TWRP / Android / Fastboot) et ses modules Wi-Fi / BT / GPS / FM en un seul zip. Tout est vérifié avant d'écrire ; boot sauvegardé dans /sdcard/LibreHU/backup, modules d'origine dans conn-modules-orig. dm-verity doit être désactivé. 4.9.337 est le noyau stable (utilisé tous les jours sur l'autoradio sans problème) ; les autres ne servent qu'à retrouver le lot qui aurait cassé quelque chose. |
conn-modules-stable-4.9.<N> | Modules only, for that linux-stable kernel already in boot (the zip checks it). Flash conn-modules-stable-restore before going back to another kernel (LibreHU-main, stock).Modules seuls, pour ce noyau linux-stable déjà dans boot (le zip le vérifie). Flasher conn-modules-stable-restore avant de revenir à un autre noyau (LibreHU-main, stock). |
conn-modules-stable-restore | Original Wi-Fi / BT / GPS / FM modules, to go back to the 4.9.117 kernel (GPL kernel-librehu or stock): restored from the backup made on the unit before any change (stock files are not published); does nothing if they were never replaced. Then flash the 4.9.117 kernel before rebooting.Modules Wi-Fi / BT / GPS / FM d'origine, pour revenir au noyau 4.9.117 (GPL kernel-librehu ou stock) : remis depuis la sauvegarde faite sur l'autoradio avant toute modification (les fichiers stock ne sont pas publiés) ; ne fait rien s'ils n'ont jamais été remplacés. Flasher ensuite le noyau 4.9.117 avant de redémarrer. |
conn-modules-stock-4.9.117 | The stock Wi-Fi / BT / GPS / FM modules of the UJC201 themselves, to go back to the 4.9.117 kernel (GPL or stock) even without a backup on the unit. The current modules are saved first; warns if boot does not hold a 4.9.117 kernel. Needs dm-verity disabled.Les modules Wi-Fi / BT / GPS / FM stock de l'UJC201 eux-mêmes, pour revenir au noyau 4.9.117 (GPL ou stock) même sans sauvegarde sur l'autoradio. Les modules actuels sont sauvegardés d'abord ; avertit si boot ne contient pas un noyau 4.9.117. dm-verity doit être désactivé. |
usb-net | USB Ethernet drivers (Realtek, RNDIS, iPhone, LAN78xx, SMSC…).Pilotes Ethernet USB (Realtek, RNDIS, iPhone, LAN78xx, SMSC…). |
no-deep-buffer | Audio tweak (deep buffer off), with its restore zip.Réglage audio (deep buffer coupé), avec son zip de retour. |
gapps-remove | Removes the Google Apps of the ROM (OpenGApps, Android 9) from the installer's own list, with their updates and data; keeps the Google pieces that replace a missing AOSP one (ExtServices, WebView, keyboard…). Backup first, restore zip gapps-restore. No Play Store, Google Maps or network location afterwards (GPS works).Retire les Google Apps de la ROM (OpenGApps, Android 9) d'après la liste de l'installeur lui-même, avec leurs mises à jour et données ; garde les morceaux Google qui remplacent une appli AOSP absente (ExtServices, WebView, clavier…). Sauvegarde d'abord, zip de retour gapps-restore. Ensuite : ni Play Store, ni Google Maps, ni localisation par réseau (le GPS marche). |
qb-whitelist | Adds the LibreHU apps and ViPER4Android to the whitelist of QuickBoot (/vendor/etc/qb_list.xml) so that a screen off no longer force stops them; only lines are added, the original is kept next to it. Reboot afterwards. Restore zip qb-whitelist-restore.Ajoute les applis LibreHU et ViPER4Android à la liste blanche de QuickBoot (/vendor/etc/qb_list.xml) : l'extinction de l'écran ne les arrête plus de force ; seules des lignes sont ajoutées, l'original est gardé à côté. Redémarrer ensuite. Zip de retour qb-whitelist-restore. |
supersu-remove | Removes the stock SuperSU, with its restore zip.Retire le SuperSU d'origine, avec son zip de retour. |
Manual TWRP install:Installation manuelle de TWRP :
adb reboot bootloader
fastboot flash recovery twrp_ujc201.img
fastboot oem reboot-recovery
Flash the post-processed twrp_ujc201.img from the releases, never a raw recovery.img from a build: without the stock AVB footer Android bootloops. fastboot boot does not work on this unit. LibreHU never disables dm-verity or rewrites vbmeta.Flasher le twrp_ujc201.img post-traité des releases, jamais un recovery.img brut d'une build : sans le pied AVB d'origine, Android boucle au démarrage. fastboot boot ne marche pas sur cet autoradio. LibreHU ne désactive jamais dm-verity et ne réécrit jamais vbmeta.
TroubleshootingDépannage
| SymptomSymptôme | Cause and fixCause et solution |
|---|---|
| No steering wheel key from the CAN boxAucune touche du volant venant du boîtier CAN | In LibreHU service → CAN, card Dialogue with the box: if the box answers the requests, the link with the head unit works and the keys are lost before the box. On a Renault with a separate dashboard display (Clio 3…), the steering column remote goes through that display (the clock): it must stay plugged in, even hidden. Otherwise check the box's harness and the car profile chosen.Dans LibreHU service → CAN, carte Dialogue avec le boîtier : si le boîtier répond aux demandes, la liaison avec l'autoradio marche et les touches se perdent avant le boîtier. Sur une Renault à afficheur séparé (Clio 3…), la commande sous volant passe par cet afficheur (l'horloge) : il doit rester branché, même caché. Sinon, vérifier le faisceau du boîtier et le profil de voiture choisi. |
| "MCU unreachable"« MCU injoignable » | ivi-services still holds /dev/ttyS1 (disable it) or root refused.ivi-services tient encore /dev/ttyS1 (le désactiver) ou root refusé. |
| Update refused by AndroidMise à jour refusée par Android | Different signing key (old debug build): uninstall once. Or a lower versionCode: LibreHU Apps offers to uninstall first.Clé de signature différente (ancienne build debug) : désinstaller une fois. Ou versionCode plus petit : LibreHU Apps propose de désinstaller d'abord. |
| The head unit powers off again right after waking from standbyL'autoradio se recoupe juste après le réveil de veille | The MCU waits for PC_READY (1F 01) for 10 s after waking the SoC: LibreHU service (or ivi-services) must be running and holding the link. On this ROM QuickBoot stops it at the screen off unless it is in its whitelist: zip qb-whitelist.La MCU attend PC_READY (1F 01) 10 s après avoir réveillé le SoC : LibreHU service (ou ivi-services) doit tourner et tenir la liaison. Sur cette ROM QuickBoot l'arrête à l'extinction de l'écran s'il n'est pas dans sa liste blanche : zip qb-whitelist. |
| Black screen after waking from standby (backlight on)Écran noir au réveil de veille (rétroéclairage allumé) | Kernel older than stable-4.9.337 r126: the panel lost its power during the standby and was never set up again. Flash the zip kernel-stable-4.9.337 (LibreHU Apps → Zips → Kernel). Still black: attach the standby journal and dmesg.Noyau antérieur à stable-4.9.337 r126 : la dalle a perdu son alimentation pendant la veille et n'était jamais réinitialisée. Flasher le zip kernel-stable-4.9.337 (LibreHU Apps → Zips → Noyau). Toujours noir : joindre le journal de veille et dmesg. |
| Screen goes off when starting the engineÉcran coupé au démarrage du moteur | Raise the ignition off delay (System → Standby).Augmenter le délai avant coupure (Système → Veille). |
| Stripes on the screen from the boot logoBandes à l'écran dès le logo de démarrage | Autochips' second LVDS panel (metazone 65550) was turned on without a second panel: it is not VIDEO OUT. Turn off Service → Autochips → Fast reverse → "Second LVDS panel", or from a PC: adb shell 'su -c "CLASSPATH=$(pm path org.librehu.service | cut -d: -f2) app_process /system/bin org.librehu.service.atc.AtcHelper set 65550=0"' (answers ok), then ignition off 1 min. The service's standby journal says so 30 s after the start.Le second écran LVDS d'Autochips (metazone 65550) a été activé sans second écran : ce n'est pas VIDEO OUT. Le désactiver dans Service → Autochips → Recul rapide → « Second écran LVDS », ou depuis un PC : adb shell 'su -c "CLASSPATH=$(pm path org.librehu.service | cut -d: -f2) app_process /system/bin org.librehu.service.atc.AtcHelper set 65550=0"' (répond ok), puis couper le contact 1 min. Le journal de veille du service le signale 30 s après le démarrage. |
| Touch is offsetTactile décalé | Calibrate in Display → Touch panel ("start from a neutral matrix" if needed).Calibrer dans Écran → Dalle tactile (« partir d'une matrice neutre » si besoin). |
| Android hangsAndroid bloqué | Reset SoC from the phone app or the service: the MCU power cycles the SoC.Redémarrage du SoC depuis l'appli téléphone ou le service : la MCU coupe et rallume le SoC. |
| Need logsBesoin de journaux | Phone app → Tools → Logs (LibreHU, full logcat, kernel), or LibreHU Helper's report; attach to a GitHub issue.Appli téléphone → Outils → Journaux (LibreHU, logcat complet, noyau), ou le rapport de LibreHU Helper ; joindre à une issue GitHub. |