Reverse engineering van de SmartBox HW501 CarPlay-dongle
De SmartBox HW501 is een goedkope draadloze USB CarPlay-adapter die op AliExpress onder een tiental merknamen wordt verkocht. Hij draait embedded Linux op een RISC-V (RV32) SoC, heeft gesloten firmware en geen enkele publieke documentatie. Dit is mijn werkplaats om hem uit elkaar te halen.
Het geheel bestaat uit zes vastgezette Git-submodules, elk met een eigen repository: gereedschap om stock firmware te downloaden en te vergelijken, beveiligde patches voor de weergavedichtheid, een experimenteel audioprofiel voor een Sony-autoradio, USB-gadget- en iAP2-probes op macOS, een Andes/QEMU RV32-emulatiebank en het onderzoek naar screen mirroring.
De gereedschapskant is het deel dat vandaag al werkt: een apparaatinspecteur en offline diagnoseverzamelaar die de firmware nooit aanraken, een downloader die de structuur en checksums van stock images verifieert, een vergelijkingspijplijn die elk bestand tussen versies inventariseert, en geannoteerde RV32-disassembly van de applicatiebinaries.
De mods zijn eerlijk gelabeld als experimenten. De CarPlay-weergavepatches density125 en density150 zijn op precies één fysieke opstelling getest, een HW501 v131 in een Opel Corsa uit 2017 op iOS 27, waarbij density150 een 5×3-raster opleverde. density137.5 installeert en start op, maar de layout is niet geverifieerd. Het audioprofiel voor de Sony XAV-AX1005DB doorstaat alleen offline negotiatiecontroles. De eerder gebouwde mirroring-image is ingetrokken en mag niet worden geïnstalleerd.
Niets hiervan is een product, en firmware van het internet flashen naar een apparaat dat aan je dashboard hangt is precies zo onverstandig als het klinkt. Elk schrijfgereedschap weigert te draaien op hardware die het niet als HW501 herkent.
Gecoördineerd door mij en geschreven met GPT-6-Astra.