Maps+More (Navigon) hack - een poging
Geplaatst: zo 29 apr 2018, 12:23
Welkom bij weer een poging de Navigon/Garmin module, welke gebruikt wordt in de VW Up!, te hacken.
DIt betreft de Up! met navigatie als optie, als apart "kastje" wat je klikt in de daarvoor bestemde houder. De houder is aangesloten op de audio en de CAN van de auto.
Wat wil ik bereiken?
De navigon/garmin is een device uit 2011 met een SoC uit 2009 waarbij connectiviteit deels aanwezig was (bluetooth, can support). Door de groei van apps op je mobieltje en de wens van connectiviteit zie ik toch graag een iets betere support tussen mobiel en de navi. Denk aan Google Maps ondersteuning, of Spotify. Let wel; er is GEEN Wi-Fi support in de navi.
Wat is er voor zover al bekend
- SoC STA2064A, (ARM 1176JZF, een SoC uit juli 2009)
- De CPU is identiek aan de eerste Raspberry Pi (ARMv6 ARM1176JZF)
- 256MB RAM,
- 5" LCD kleurenscherm,
- 1x USB2.0 OTG port,
- 2x SD/MMC
- Bluetooth connectiviteit
- CAN ondersteuning (in het geval van de UP),
- Ingebouwde GPS (Van ST zelf, de HPGPS_G2)
Alle technische informatie over de SoC van de Navi is hier te lezen:
https://media.digikey.com/pdf/Data%20Sh ... TA2064.pdf
Alle technische informatie over de gebruikte ARM architectuur is hier te lezen:
http://infocenter.arm.com/help/topic/co ... p7_trm.pdf
Wat is al gelukt
- Het is gebruikers al gelukt de standaard software te bypassen en te laten zien dat de hardware nu draait op Windows CE 6.0
- Het is gebruikers al gelukt de standaard software te sluiten
- Het is gebruikers gelukt andere software te plaatsen op de Navi, maar GPS nog niet werkend kunnen krijgen.
Wat kan sowieso niet, scheelt vragen en antwoorden
- Android of Apple Carplay zal hier niet op kunnen draaien, gezien de SoC uit 2009 komt.
De eerste stap
- De eerste stap zal zijn het maken van een bootloader om Linux in een verbose (dus witte letters op een zwart scherm) te krijgen. Hiermee hebben we namelijk grip op het systeem en kunnen we eens gaan zoeken naar drivers voor alle hardware. Vaak is het zo dat SoC's uit deze tijd een Windows CE support en een Linux support hebben. Dit moeten we dus onderzoeken.
Update 2018-04-29 zondag 17:48
Momenteel ben ik een Linux kernel aan het bouwen welke compatible is met de ARM 1176JZF CPU welke op de SoC van de Navi aanwezig zit. Volgens de datasheet van de STA2064A (de SoC) zou opstarten vanaf een SD kaart mogelijk zijn. Er zijn 2 "SD" lezers inhet apparaat. 1 die de gebruiker zelf kan gebruiken, voor bijv. muziekopslag via de microSD kaart-slot, en intern het geheugen "telt" ook als "SD". Het booten zal ben ik bang alleen via de tweede zijn en betekend dat soldeerwerk onvermijdelijk is (of een flash programma gebruiken)
Update 2018-05-01 dinsdag 08:30
Na wat onderzoek zou de SoC booten vanaf beide SD slots ondersteunen. Hoe dit in zijn werk gaat precies weet ik nog niet, mogelijk moet de eerste SD slot uitgeschakeld worden om te booten vanaf het tweede slot. Uitschakelen lijkt mij niet lastiger dan de eMMC (de flash storage) even van stroom ontzien. Vanmiddag mag ik mijn Up! ophalen en kunnen we kijken of mijn eerste poging werkt. Wellicht als alternatief is inderdaad software schrijven voor Windows CE 6.0 waar het kastje nu momenteel op draait. Het is mogelijk om eigen apps te installeren, waarbij belangrijk is dat de Watchdog als eerste gekilled wordt (die zorgt ervoor dat de navi software automatisch opnieuw start als deze afgesloten blijkt) en de navi software zélf om de GPS te releasen. (de GPS kan maar door 1 applicatie tegelijk gebruikt worden lijkt het na onderzoek). Stay tuned!
DIt betreft de Up! met navigatie als optie, als apart "kastje" wat je klikt in de daarvoor bestemde houder. De houder is aangesloten op de audio en de CAN van de auto.
Wat wil ik bereiken?
De navigon/garmin is een device uit 2011 met een SoC uit 2009 waarbij connectiviteit deels aanwezig was (bluetooth, can support). Door de groei van apps op je mobieltje en de wens van connectiviteit zie ik toch graag een iets betere support tussen mobiel en de navi. Denk aan Google Maps ondersteuning, of Spotify. Let wel; er is GEEN Wi-Fi support in de navi.
Wat is er voor zover al bekend
- SoC STA2064A, (ARM 1176JZF, een SoC uit juli 2009)
- De CPU is identiek aan de eerste Raspberry Pi (ARMv6 ARM1176JZF)
- 256MB RAM,
- 5" LCD kleurenscherm,
- 1x USB2.0 OTG port,
- 2x SD/MMC
- Bluetooth connectiviteit
- CAN ondersteuning (in het geval van de UP),
- Ingebouwde GPS (Van ST zelf, de HPGPS_G2)
Alle technische informatie over de SoC van de Navi is hier te lezen:
https://media.digikey.com/pdf/Data%20Sh ... TA2064.pdf
Alle technische informatie over de gebruikte ARM architectuur is hier te lezen:
http://infocenter.arm.com/help/topic/co ... p7_trm.pdf
Wat is al gelukt
- Het is gebruikers al gelukt de standaard software te bypassen en te laten zien dat de hardware nu draait op Windows CE 6.0
- Het is gebruikers al gelukt de standaard software te sluiten
- Het is gebruikers gelukt andere software te plaatsen op de Navi, maar GPS nog niet werkend kunnen krijgen.
Wat kan sowieso niet, scheelt vragen en antwoorden
- Android of Apple Carplay zal hier niet op kunnen draaien, gezien de SoC uit 2009 komt.
De eerste stap
- De eerste stap zal zijn het maken van een bootloader om Linux in een verbose (dus witte letters op een zwart scherm) te krijgen. Hiermee hebben we namelijk grip op het systeem en kunnen we eens gaan zoeken naar drivers voor alle hardware. Vaak is het zo dat SoC's uit deze tijd een Windows CE support en een Linux support hebben. Dit moeten we dus onderzoeken.
Update 2018-04-29 zondag 17:48
Momenteel ben ik een Linux kernel aan het bouwen welke compatible is met de ARM 1176JZF CPU welke op de SoC van de Navi aanwezig zit. Volgens de datasheet van de STA2064A (de SoC) zou opstarten vanaf een SD kaart mogelijk zijn. Er zijn 2 "SD" lezers inhet apparaat. 1 die de gebruiker zelf kan gebruiken, voor bijv. muziekopslag via de microSD kaart-slot, en intern het geheugen "telt" ook als "SD". Het booten zal ben ik bang alleen via de tweede zijn en betekend dat soldeerwerk onvermijdelijk is (of een flash programma gebruiken)
Update 2018-05-01 dinsdag 08:30
Na wat onderzoek zou de SoC booten vanaf beide SD slots ondersteunen. Hoe dit in zijn werk gaat precies weet ik nog niet, mogelijk moet de eerste SD slot uitgeschakeld worden om te booten vanaf het tweede slot. Uitschakelen lijkt mij niet lastiger dan de eMMC (de flash storage) even van stroom ontzien. Vanmiddag mag ik mijn Up! ophalen en kunnen we kijken of mijn eerste poging werkt. Wellicht als alternatief is inderdaad software schrijven voor Windows CE 6.0 waar het kastje nu momenteel op draait. Het is mogelijk om eigen apps te installeren, waarbij belangrijk is dat de Watchdog als eerste gekilled wordt (die zorgt ervoor dat de navi software automatisch opnieuw start als deze afgesloten blijkt) en de navi software zélf om de GPS te releasen. (de GPS kan maar door 1 applicatie tegelijk gebruikt worden lijkt het na onderzoek). Stay tuned!