Skip to content

Instantly share code, notes, and snippets.

@ryjones ryjones/headunit.md

Last active May 16, 2020
Embed
What would you like to do?
Honda info

How to do things with a 2018 Honda CR-V headunit.

This is written out of my frustration with a lot of wrong info on YouTube and the like.

Model:

  • MY16ADA

Rooted using root-honda.

Android Version:

  • 4.2.2

Kernel verion:

  • 3.1.10+ Mar 14 13:20:49 JST 2018

Build:

  • 1.F1A2.34

Passcord (sic):

  • Kernel
  • Model
  • Build
  • Status

Diagnostic Mode:

  • from default menu, hold
    • brightness
    • phone
    • power

Next secret menu:

  • from above:
    • press bottom button then
    • press and hold phone

Next secret menu:

  • from above:
    • press and hold home
  • set USB to device, connect your laptop.
    • nb: you must use a USB-A (male) <-> USB-A (male) cable. I tried several iterations of USB-C <-> USB-A and no go.
    • put steps to get root here
    • after you inject your cert, you need to reboot. this boot takes about three minutes.

Some stuff to try:

  • adb shell am start -a android.intent.action.VIEW -d http://mitm.it
    • this is how I installed the mitm cert. You have to set a PIN.
  • adb shell pm grant com.android.chrome android.permission.READ_EXTERNAL_STORAGE
    • I didn't need to do this.

Network stuff

  • It makes sure it can get a 204 from Google
  • After rooting and putting the MITM CA cert in the system store, I got the contents of one of the requests to jp.hondalink. A stripped JSON file is attached. In the ECO stanza, there were 14 trips.
  • POST https://www.jp.hondalink.com/CRM/VehicleData/mfs/upload contains the content of triplog.json
  • http://192.168.1.1/kvs/vin gets a PUT once a minute with the VIN of the vehicle
  • remove pinlock
    • rm /data/system/gesture.key
{
"TripLog": {
"ECO": [
{
"FuelConsumption1Trip": "",
"FuelConsumptionTripA": "",
"FuelConsumption1TripUnit": "",
"DrivingRangeUnit": "",
"Mileage": "",
"TripId": "",
"MileageUnit": "",
"DrivingRange": "",
"FuelConsumptionTripAUnit": "",
"TripDate": "",
"FuelUsed": "",
"StartPos": {
"Lat": "",
"ODO": "",
"Time": "",
"Lon": "",
"Datum": ""
},
"Score": {
"AcclAdviceMsg": "",
"IdleAdviceMsg": "",
"LifetimeTotalScore": "",
"IdleScore": "",
"BrakeScore": "",
"IdleStopTime": "",
"ClassJudge": "",
"BrakeAdviceMsg": "",
"TotalScore": "",
"AcclScore": ""
},
"FinishPos": {
"Lat": "",
"ODO": "",
"Time": "",
"Lon": "",
"Event": "",
"Datum": ""
},
"ODOUnit": ""
}
],
"VehicleInfo": {
"OilLifeB": "",
"AtmosphericPressure": "",
"VIN": "",
"MaintenanceMinderRaw": "",
"MaintInfo": "",
"WarnLampMsg": "",
"OutsideTemp": "",
"BatteryVoltage": "",
"MaintenanceMinder": "",
"Mileage": "",
"MaintDateUnit": "",
"OilLifeF": "",
"MaintUnit": "",
"OilLife": "",
"FuelLevel": "",
"Pos": {
"Lon": "",
"Lat": "",
"Datum": ""
},
"Speed": "",
"ElapsedTime": "",
"EngineRPM": "",
"EwMaint": "",
"MaintData": "",
"TirePressure": {
"RR": "",
"RL": "",
"FR": "",
"FL": ""
},
"NaviEcuId": "",
"CoolantTemp": "",
"TotalIGCycle": ""
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.