14 ms·
I also hacked my car
- enthdegree 3y agoFairly recent Hondas and Acura base infotainment systems have needless >1 second Bluetooth audio lag. I wish someone with the knowledge would do something similar for these.
- gambiting 3y agoDon't all cars have this? I've driven lots of different cars from all kinds of manufacturers and they all have Bluetooth lag, sucks if you want to watch YouTube just sitting in the car waiting for something.
- sircastor 3y agoI blame this on crappy drivers. A lot of modern Infotainment systems are running Linux of some variety, and the very easiest thing to do to get technology support is to grab the open source proof-of-concept Bluetooth driver, plug it in, and call it good.
- ryukoposting 3y agoAs a firmware developer who has also done client-side Bluetooth development on Android, iOS, Windows, and Linux, I can tell you with 100% confidence that this just isn't the case. BlueZ is the best Bluetooth driver on any major platform, and it's not even close. The Windows one crashes constantly, and the iOS one has arbitrary nonstandard limitations and it tries to be clever by initiating pairing when you don't tell it to. BlueZ is the only one that actually implements the by-the-book Bluetooth spec, and does it without randomly exploding.
- enthdegree 3y agoNo, the reason Hondas and Acuras have it is specifically because of (if I understand it correctly) a bug in the car’s Bluetooth handshake that sends audio streams as data. Someone found this by doing a Wireshark capture connecting a laptop’s Bluetooth to the car. I have little hope for a fix. It seems likely that its easier to just replace the entire controller that drives the audio and screen, and that sounds really really hard.
- MaxikCZ 3y agoInteresting and enjoyable read, good job. Just info: on my android phone with firefox the scrolling is atrociously slow (more than 1 sec lag during every scroll)
- nmeofthestate 3y agoFYI OP, No such problem here.
- jvdvegt 3y agoNo problem here either (FF 122 on a Pixel 4a)
- anonymousd3vil 3y agoYou wouldn't download a car!
- a_gnostic 3y agoI would.
- fmntf 3y agoGood job! DLT logs are pretty standard in the infotainment industry, the format specification is openly available. I recommend you to download DLTViewer from GitHub and open the log files (if they are not encrypted). You may find good stuff there!
- goncalomb 3y agoAuthor here. Yes, there is some good stuff in the logs, I found the Wi-Fi password there, that was useful. At the time I used some VSCode plugin to read the .dlt files (they are not encrypted), but later I did find that dlt-viewer on COVESA's GitHub.
- bloomingeek 3y agoAwesome post! When will we be able to operate our car without it spying on us? Will we eventually be able to turn off the "phoning home" function/part?
- Slurpuff 3y agoThe hard part about this nobody is willing to experiment with their $30k+ vehicle and risk bricking it. If you want a car that doesn’t spy on you you’re gonna have to look back a decade or so.
- mdp2021 3y ago> their $30k+ vehicle and risk bricking it. If you want a car that doesn’t spy on you Reminder that those who bought it, voted for it. In economics, wallet is voting power - what you buy you feed and endorse.
- LoganDark 3y ago> Reminder that those who bought it, voted for it. I truly loathe this argument. I've seen it for cars, seen it for laptops, seen it for mobile devices. For years. People like you really think not purchasing the bad will fix stuff like this? Purchasing decisions let you pick between competitors. That is all. You can't pick the open-source car that does not exist, unless you want to start your own car company just to build one. If you don't buy any car at all, then you simply don't exist to them, and they don't care about you. Nobody is going to quit locking down their software just because a rounding error doesn't like it that way. They don't do it because they need people's votes, they do it because the company simply wants the software locked down, they don't care what customers think about it. Even if nobody bought the car, and everybody told them directly to offer open access, they'd probably still refuse to provide it, until and unless something like a regulation is passed that mandates it. Cars aren't spying on you because people are voting for the spying. Nobody who buys the car is voting for it to spy on them, unless I guess their hypothetical dystopian future insurance gives them a bonus/discount for allowing them to view the data from the vehicle and they're actually okay with that. Just look, you have a limited number of choices. You can "vote" for anything that is currently on the market. That is all the choice you have. If you want a car from the current market, you're going to have to pick one to vote for. Odds are they're all going to have some sort of surveillance-state bullshit, or the ones that don't have it are just going to be less-nice vehicles in general. Similar to how, before Framework, everyone concerned about open-source system firmware was most likely rocking a speedy 2004 ThinkPad with a couple gigabytes of RAM. They were unable to simply vote for an actually fast, modern machine, as all of them had proprietary blobs doing who-knows-what. So someone had to come out and actually build one, and now we have Framework. I believe that for phones, we might have Purism sometime in the 2030s, once they work out the most basic issues with their software stack, probably caused by trying to use existing Linux userland. For cars... I haven't heard anything yet. Nobody's come out and built an open-source car company yet. So we're currently in the phase where you simply can't vote for an open-source car. Now, do you still need a car anyway? Then I guess you vote in favor of a locked-down vehicle. Even if you're not actually trying to vote, and you just need a car right now. So that's why I hate this argument. Just because you bought a car doesn't mean you should be on the hook for "voting" for every feature the car has. You voted for the car. Doesn't mean it's perfect.
- sircastor 3y ago> The core OS appears to be from GENIVI/COVESA (GitHub: GENIVI/COVESA). I'm not familiar with these systems at all. They have a fair bit of open-source stuff that will probably explore in the future. In a prior role I got to engage on a number of GENIVI projects. GENIVI was/is a consortium of Auto makers and 1st-tier companies that determine standards for automotive IVI (In-Vehicle Infotainment). I got to work on some demonstration projects that were proof-of-concept for the standards. IIRC, we were implementing them on the Automotive-Grade Linux distribution. It was a really exciting time. I legitimately thought that there might be a future for a standard (or at least a couple of standard) infotainment systems. Fun stuff. FWIW, I sort of thought of GENIVI as the European standards group, whereas AGL seemed largely funded and driven by the Asian Automakers. But that's my narrow viewpoint.
- geerlingguy 3y agoI found the Automotive Grade Linux booth at CES last month and indeed, they had a bunch of infotainment demos set up, along with at least four Raspberry Pis running demos or displays out in the open. I also had a talk with a couple people at the booth, for example Igalia works upstream with Vulkan and Chromium a bunch. Would love to see more Linux on the dashboard in the future, some cars have pretty substantial chips powering their infotainment systems these days. Could be nice to add that as a node to a homelab Kubernetes cluster when it's parked idle in the garage :)
- mlrtime 3y agoAPITV makes infotainment systems for cars that run Linux. https://www.aptiv.com/en https://www.aptiv.com/en PCM6 for Porsche is a new Linux system from APITV.
- otikik 3y agoI really appreciate that the author took the time to put a summary near the end: > I used a Raspberry Pi in USB gadget mode to simulate an Android device connected to the head unit. The head unit thinks it's accepting a navigation maps update from the "phone", but because the update protocol allows for arbitrary file changes, I can issue commands to modify a specific file and inject a call to a bash script that gets run as root.
- w3news 3y agoToo mad that we have to hack our car to customize it. We can reinstall computers very easy, choose the OS you like. But cannot do something on our car. Old cars, you can modify everything, grap your tools, and you can do what you want. Modern cars are too closed, you are too depend on the factory what they allow you can do. Also are modern cars too complex with too many gadgets. Please keep it simple, it is a car, not an entertainment device.
- NotSammyHagar 3y agoI think it's good to separate the drivetrain from the infotainment in these discussions. Hacking the infotainment is a world of difference in a tesla where you have basically software impacting driving a lot; the tesla doesn't deliver all the power, it's too much. There have been people who have gotten service mode access and disabled traction control etc, many wrecks resulted from spinouts. On the other hand, the infotainment can be rebooted even while driving. The drive train is much more protected and controlled, for a reason.
- fragmede 3y agoThat's awesome. USB Gadget mode has always been a favorite of mine because you can do cool stuff by pretending to be a device like that.
- goncalomb 3y agoAuthor here. Yes, gadget mode is nice. I was kind of lucky that the serial port "function" worked (not without that small kernel patch). But if they had implemented AOA properly on the head unit, it wouldn't be so easy (they allow a device already in AOA mode, without the "handshake"). I would have to write more kernel code or use Google's "accessory" gadget implementation.
- pvaldes 3y agoAnd then you move the car to the maker for a simple maintenance task and, surprise bill.
- 0xEF 3y agoIf I'm hacking something I own, it's also highly likely that I am capable of fixing it and doing any needed maintenance. Part of the hacker mindset is not letting the fear of voiding a warranty stop you from truly owning the product you paid for.
- nmeofthestate 3y agoHacking a linux box using USB tricks and maintaining the mechanics of a car - probably not a huge skills overlap there. But I doubt he's going to be in trouble when getting the car serviced. If he is worried he could roll back any changes before sending it in.
- BenjiWiebe 3y agoThere's more of a mindset overlap.
- stavros 3y agoNo. It doesn't matter. You can hack something you own as much as you want, and you're paying the manufacturer to do maintenance on it. If you want then to change the brakes, whether your infotainment system is hacked or not is exactly none of their business.
- holgerschurig 3y agoWell, in most sane countries "surprise bills" are illegal. If I bring my car for maintenance and we agree on checking brake fluid and air filters, they cannot decide "Oh, the profiles of the tires are off, we'll change them". No one would need to pay them for this, as it was not agreed upon and is therefore not part of a contract. So your case makes no sense at all. Except that perhaps you life in an insane country, or are not well versed in basic contract law :-)
- ulf-77723 3y agoInteresting read! I got a Toyota bus and the infotainment system sucks. As someone else wrote here, Bluetooth support is deadly slow and as soon as you stop the car the system will also shut down. It’s like someone created this system without considering real life scenarios, like being on a phone call, listening to a podcast or just listening to music. But since you can also interact with the car, like turning on and off drive assistant systems, I would not dare to hack my car. How about insurance, when there is an accident?
- gambiting 3y ago>> How about insurance, when there is an accident? The insurance company would need to demonstrate that you've had an accident because of your modification. Just them being present doesn't invalidate anything. However, in the real world, you can bet that they would try - you'd probably win in the court of law, but it's a risk.
- prmoustache 3y agoDo you really think any insurance "expert" would look for that? From my experience unless the car has some kind of self driving stuff they just check with a mechanic the state of the car to see if it is totalled or can be repaired. Unless there are wires going out of the car there is no reason they would even check the os of the dashboard console[1] [1] I refuse to use infotainment word, it is so unappropriate.
- gambiting 3y ago>>Do you really think any insurance "expert" would look for that? "Probably not". Probably is the key word here. I've seen insurance companies go to absolutely ridiculous lengths to deny a claim, so I honestly wouldn't put anything past them.
- pvaldes 3y agoThey don't need to look for a hack, just its trace. If the accident is any serious, both insurance companies will routinely buy the info sent by default to the maker by that model; In particular speed and location info. If the info is suspiciously absent (because somebody hacked their car to stop sending it), the insurance companies will enter in red-alert mode, and will find how to get themselves out of the problem. Sent info can be used against you, but also could benefit your insurance company to win the case. Is not always white or black. The main goal of insurance companies will be to protect themselves, but the secondary goal will be to protect you, the client, from potentially serious legal consequences. If both insurance companies are the same, they could team against the vehicle with less clear data.
- bpoyner 3y agoIf you have a Mazda and interested in such things, check out the Mazda AIO Tweaks.
- numpad0 3y agoNote that this is just for the infotainment head unit, sort of your wall thermostat, not the "entire car". A car is like a lunchbox, there is in fact no "core".
- 2rsf 3y agoTrue, but the "infotainment" might still control quite a lot of things besides playing music
- OptCohTomo 3y agoA little off-topic, but https://www.scanmytesla.com/ https://www.scanmytesla.com/ is a great automotive hack. Here is some data I collected with it: https://bartev.org/ https://bartev.org/ and some data from a drag race with my Model 3: https://bartev.org/tesla-drag-race/ https://bartev.org/tesla-drag-race/
- NotSammyHagar 3y agoThat was really interesting, using so much more energy (16x) than usual. They've really tuned their power delivery to deliver good range so we don't constantly race around. And a tesla still has that great instant torque even with that.
- goncalomb 3y agoFirst time posting here on HN, I hope you find my latest hacking adventure interesting. Inspired by another post here on HN: https://news.ycombinator.com/item?id=32447650 https://news.ycombinator.com/item?id=32447650
- yetanotherone24 3y agoAwesome! Do you mind posting the password hash of the root user?
- mdp2021 3y ago> Inspired by another post here on HN: https://news.ycombinator.com/item?id=32447650 https://news.ycombinator.com/item?id=32447650 In more parts posted in distant times, the last of which (one year after that post) is - the author (greenluigi1) made Doom work on the Hyundai (Ioniq SEL). https://programmingwithstyle.com/posts/myhackedcarisdoomed/ https://programmingwithstyle.com/posts/myhackedcarisdoomed/ https://www.youtube.com/watch?v=snKx3k5Qfm0 https://www.youtube.com/watch?v=snKx3k5Qfm0
- mlrtime 3y agoIf you are others are interested in more hacking there is a HUGE community for hacking many types of PCMs on the same OSs. Mostly VAG. https://github.com/Mr-MIBonk/M.I.B._More-Incredible-Bash https://github.com/Mr-MIBonk/M.I.B._More-Incredible-Bash
- dn3500 3y agoCould you have used ssh? It might have been as easy as using nftp to upload a new /root/.ssh/authorized_keys file. Or not, depending on how they have ssh configured.
- goncalomb 3y agoAuthor here. I talk a little bit about SSH in the end, if I was successful in breaking the root password and if sshd is configured for root access (I'm not sure), I could have just used that. Otherwise, for me to change authorized_keys or some other file to run some code as root, it's the same work.