Code Monkey home page Code Monkey logo

ic1101's Introduction

Honda Civic Reverse Engineering

An open research project into 10th generation Honda Civic infotainment systems. This covers most Honda Civics from 2016-2021, inclusive. Lower-end trims such as the 2021 Civic LX are not supported as they use a different headunit.

Getting Started

Documentation is provided as Markdown files in the docs directory. Headunit files are provided in the headunit-files directory. My goal is to keep project organization simple and let complexity develop naturally. Contributions and PRs are welcome. Use GitHub discussions for correspondance; this repo is your repo.

Technical Overview

Infotainment SoC: NVIDIA Tegra 3, c. 2012
SoC Arch: Quad-core ARM Cortex-A9 (ARM v7) Infotainment OS: Android 4.2.2 (Jellybean), released Oct. 29, 2012
Infotainment OS Framework: Mitsubishi-developed framework, codenamed "Andromeda"
CAN buses: B-CAN and F-CAN

Rooting

See: https://github.com/librick/ic1101/blob/main/docs/rooting.md
Assuming you have root access on your headunit, I highly recommend enabling adb and switching the USB port(s) to device mode. See docs/adb.md for more info. Do this before doing anything else, it may save you from bricking your device.

Explaining the Repo Name, IC 1101

The Mitsubishi headunit UI is codenamed "Andromeda". I wanted to avoid using a trademarked name for the name of this project/repo. According to this Wikipedia article, IC 1101 is the largest known galaxy in the universe. I.e., bigger than Andromeda. So I named this project "IC 1101".

June 1995 image of IC 1101 taken by the Hubble Space Telescope

Hacker News, Blog Post

I originally published this project on Hacker News. I also cover this project on my blog, juniperspring.xyz.

Legal Notice

⚠️ I'm not affiliated with Honda Motor Co., Ltd. I'm not affiliated with Mitsubishi. Honda and Honda Civic are registered trademarks. This is for personal use only. I can't condone software piracy. ⚠️

I take no responsibility for bricked/damaged cars, headunits, etc.
This is to document my own research only. I will not be held liable if you break your car.

All information in this repo should already be in the public domain or otherwise be publicly discoverable. I've intentionally avoided directly including .apk/.odex files or other "confidential"/proprietary information.

License

This project is MIT licensed. Where this project includes code from Android and/or the AOSP, refer to Android licenses. Where this project references code belonging to Mitsubishi Motors Corporation and/or Honda Motor Co., Ltd., it is understood that such code is proprietary and is the intellectual property of their respective owners. Any original research specific to this project is MIT licensed.

Contributors and Thanks

Thanks to @Tunas1337 for all his help and late-night hacking sessions. Much of this work is his in one form or another, particularly as it relates to more esoteric (but useful) knowledge of Android internals. Thanks :)

Miscellaneous Research and Resources

ic1101's People

Contributors

librick avatar

Stargazers

Arun Philip avatar  avatar Rafael Takamatsu avatar BlackTeaChan avatar  avatar David avatar Chris Souers avatar steven keashon avatar  avatar Daniel C avatar Trenton Enter avatar plumbr avatar  avatar  avatar Szczepan Zalega avatar Neal avatar Sumit Verma avatar  avatar  avatar  avatar Mark Bernard avatar  avatar  avatar Duncan Thomas avatar Emmanuel Guillot avatar Timothy Shamilov avatar Benjamin Rubin avatar José Luis Pereira avatar Cole Tobin avatar Amos avatar Simon Ernst avatar David avatar  avatar Jason Hines avatar Adam Chao avatar Ryan Hirasaki avatar Manuel avatar Larson T. avatar Brian Peek avatar  avatar Matt F. avatar Larry Pesce avatar Kamin Horvath avatar  avatar  avatar Jiří Rája avatar  avatar Ben Stern avatar Jake Smith avatar Andrew Chin avatar Kuchhadiya Akshay avatar  avatar Carlos Chacon avatar Tizi avatar Osvaldo Santana Neto avatar  avatar  avatar Peter Upfold avatar Maulvi Alfansuri avatar Ryota Sakai avatar 一蓑烟雨 avatar  avatar Tripp avatar wolfi3 avatar Mike Reeves avatar Devansh Parapalli avatar gaurav patel avatar xrkk avatar Andrew Gunnerson avatar Cqws avatar dackdel avatar Kyle Howells avatar  avatar David Anders avatar Ian avatar  avatar  avatar Jim_Di avatar Scott Muller avatar Brent Rubell avatar Boran Car avatar BoseV Jefferson avatar  avatar Holden Nelson avatar  avatar Matt Rix avatar John Holowczak avatar Kevin Risden avatar Chris Winter avatar Eric S. avatar Zubayr Ali avatar Xiaobo avatar Dominik Picheta avatar Benjamen Alford avatar Ben J avatar Sam Ollari avatar Vic avatar stavros vagionitis avatar Shahid Ali avatar Diab avatar

Watchers

 avatar Dominik Picheta avatar  avatar José Luis Pereira avatar Ronald A. Dowty avatar  avatar  avatar  avatar

ic1101's Issues

LVDS is used in context of Display

LVDS is presumably used in the context of connection to the display.
LVDS is definitely not used in the context of CAN.

With Linux as the OS, CAN is interfaced either via SocketCAN or some proprietary driver. Physically the CAN controller is either connected via SPI or similar interfaces to the main processor.

Backport Android Auto to LX models

Apparently wired Android Auto isn't supported for Honda Civic LX models. On my (non-LX) headunit, it looks like support is enabled via an installed Android APK. Wired Android Auto should be supported on all models provided that the headunit hardware can support it.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.