5 ms·
It's mandated by regulation in all cars after..2002? It's a port most often situated close to the steering wheel, the interface is a bog standard CAN bus. Where
by retSava 6y ago
It's mandated by regulation in all cars after..2002? It's a port most often situated close to the steering wheel, the interface is a bog standard CAN bus. Where it differs between cars is what command sets are used and allowed (eg sometimes proprietary ones are used, and controlling things may not be possible).
It's common to extract diagnostics about the car from this port. For example, when buying a used car this is highly recommended. Buy a cheap adapter that you plug in, connect to it over BT from a phone, and read out error codes. Perhaps the owner has temporarily put out an error to mask it during your inspection?
- raziel2p 6y ago> Perhaps the owner has temporarily put out an error to mask it during your inspection? To be clear, I don't have a car or a driver's licence, I was just surprised that this standardization was a thing at all. Seems like a stark contrast to all the walled gardens in every other technology-related industry these days.
- voqv 6y agoActually not really all cars have one standard. Most German cars use Flexray which Openpilot does not currently support and is a bit more tricky to hack into as described by Comma.ai: https://medium.com/@comma_ai/hacking-an-audi-performing-a-man-in-the-middle-attack-on-flexray-2710b1d29f3f https://medium.com/@comma_ai/hacking-an-audi-performing-a-ma...
- bipson 6y agoOnly very recent cars use Flexray, and also not true for all manufacturers. CAN is still widely used, and some want to skip Flexray entirely for the next thing...
- jinzo 6y agoOnly the really basic data (mostly related to emissions) and connector is standarised. Even the pinout of the connector (apart from the power supply and ground) differs quite a bit between manufacturers. The level of integration needed for actually driving the car is far from a standard. Not even that, most of the new cars have specific gateways which firewall the car electronics from the OBD port. TL;DR: Apart from really basic data and physical connector, everything else is (ever more increasing) walled garden. With new VWs and Fiats requiring online connection for even most basic operations - so even if you know the protocol, you have to unlock it online (See VW SFD and Fiat SGW)
- numpad0 6y agoIt is mandated by law that cars have an OBDII port that supply diagnostic data over CAN interface for emissions testing. It is not, however, required that said CAN bus is used for anything other than for passing emission tests. Easiest way to implement that feature is by exposing main CAN bus on that port, but you don’t have to.
- stefan_ 6y agoThis is a bit simplistic. By now, most cars will have multiple CAN buses, not least to separate the infotainment crap from the safety-critical subsystems like the ECU, steering, ABS braking and others. Chances are the mandated diagnostic part you can access will not be able to control these subsystems (or even receive their messages). Of course a hardware air-gap is inconvenient when you are trying to ship subpar hardware and software on a shoestring budget, so the industry invented smart CAN "switches" and it's possible to escalate the access the diagnostic port provides, or tunnel from the infotainment network to the safety one. In newer cars, you can also possibly substitute CAN in this post with Ethernet.
- cartoonworld 6y agoI personally respect OpenAI, Love the data link on cars. I think we should never be frightened of hacked cars, we should definitely be hacking our cars (and trucks, forklifts, lawnmowers, combines, papershredders, robots). Just wanted to add many comments on Can and obdII: In the United States the obdII port is required beginning in model year 1996. The obdII port and the CAN is analogous to rj45 and cat5, 5e, 6, etc. Should note, the can bus is anything but bog standard. However, in 2008 the United States required that all vehicles provide an iso15765 interface as the basis of the on board diagnostics. Iirc, 15765 is a subset of Can that's for cars and not forklifts. Can is controller area network. There are a large variety of protocols talked across Can, far too many to list as you have noted. There are schemes which are serial, parralel addressed and not, and even analog signaling cohabitating this generic breakout port. Where it differs between cars is the capabilities of the DLC, if the vehicles isn't equipped with a sensor suite, there will be no correspondent ecu subsystem to query, but for the most part you can send control messages to anything you want on a DoT approved vehicle, unless it is locked away behind a specific gateway and the car manufacturer is still hiding the method to control access to the device. None of this applies to infotainment devices or comfort features. Consumers should rue the day we return to the age of mystery subsystems requiring special protocols. The reason I say this (and I suspect but, can't remember the 2008 iso 15765 mandate rationale) is that you probably want your mechanic to be able to fix your car, right? Anybody who might be interested in the wild and fun world of automotive Com protocols such as this I can recommend to you this good and recent resource from 2020: https://www.csselectronics.com/screen/page/simple-intro-to-can-bus/ https://www.csselectronics.com/screen/page/simple-intro-to-c...
- retSava 6y agoThanks for expanding on my knowledge. I have only experience implementing support for talking to a fluid property sensor in an industrial process and not much more. Thankfully, I might add. Looked at it like a fixed phy layer with some parts of the messaging fixed as well, although now that you brought it up, I remember adding J1939 support too. Ugh, it was, in my opinion, a bit-hacked mess :) I can really appreciate when things that despite being messy and hackish, solve real, actual problems, and for that, I thank thee, CAN-bus :).
- Cactus2018 6y ago> It's mandated by regulation in all cars after..2002? I don't think the port is the surprising part, it's the ability to articulate brakes and steering wheel!
- m463 6y agomandated for cars that have emissions requirements. I think the obd connector on tesla doesn't do anything
- bronco21016 6y agoHa I never really thought of that. Now I wish I had looked for the port last time I was in one.
- muzika 6y agoTeslas don’t have an OBD port.
- m463 6y agosome do.