Hacker News new | past | comments | ask | show | jobs | submit login
BMW F Series Gear Selector, Part Two: Breakthrough (projectgus.com)
186 points by VeXocide on June 29, 2022 | hide | past | favorite | 112 comments



A lot of the complexity here is because the gear selector is considered a safety-critical part. They may also consider LED indicators on it as safety-critical information to the driver. Those two things - is the transmission receiving the real intent of the driver, and is the driver being told the actual state of the system - are just the top level. Security is also starting to be a concern, though I think there is room for debate about how far they need to go with that. It's common to have all drivetrain components on a dedicated CAN bus with a gateway between it and other stuff. Your infotainment system is not going to put the car in Park regardless of what you run on it.


Yup. Bad Things can happen:

https://money.cnn.com/2016/06/20/autos/jeep-recall-anton-yel...

I absolutely hate stateless switches on automotive stuff. Why can't I tell that my turn signal is on by 'feel'? Why do I have to rely on a (too quiet) clicking, or a (too hidden) indicator light?

I have an E70 X5 with the "new style" transmission selector, as well as a Tesla 3 that replicates it on the right side of the column. Thankfully most cars seem to have stuck with the "forward = reverse", "Back=drive" convention; confusing as it sounds, at least it replicates a move from neutral on an automatic with a traditional PRNDL lever.

Both cars also have stateless signals. The E90 and newer BMWs seem to have indicator clicks that are almost inaudible, and in almost every car I drive, the indicator lights are hidden behind the steering wheel, so you never know if the indicator has cancelled or not. On my "bad old world" BMW, at least you can feel the lever click down when it cancels.

The Tesla also has a stateless signal switch, but it doesn't give me the same issues. I think the audible "click" is a lot more distinctive or something. Alas, the green flashy light is way over in the middle of the car instead of conveniently hidden behind the rim of the steering wheel.


As an aside, I was able to change the audible level of the turn signals on my 2020 Toyota with their Techstream software (from the usual shady sources) and a Tactrix cable I originally bought for flashing my Subaru ECU. Maybe you can do the same for your vehicles with their dedicated software.


>> Why can't I tell that my turn signal is on by 'feel'?

I once had a ford rental car with turn signals that made me actively avoid using them. They felt OK, but the clicking of the relay was fake, a recorded sound. All seemed good until you cancelled the indicator. The computer sometimes kept playing the fake clicking sound. It kept clicking for a full click cycle every time you cancelled the indicator mid-click. It was only a fraction of a second, a full second at most, but I always thought that I had failed to cancel the indicator. It was both the smallest and most annoying problem I've ever had with a car.

2nd most annoying: Driving a US-made care in a country using the metric system. The cruise control is incapable of being adjusted a single kph, instead the minimum change is some number of mph. So you are stuck doing either 99 or 101, but never exactly 100 kph. The source of the problem is confirmed where the cruise control can be set to 80 kph, which is almost exactly 50mph. I venture that no BMW has ever had this problem.


In the pre-digital days I had a 92 BMW that seemed to have the reverse "problem" - pushing "up" or "down" on the cruise control settings wouldn't move you up or down a whole mile per hour, but seemed to operate in KMH - it would move something like 0.6 or 0.7 miles. (There was no direct digital readout, but it had a "average speed" trip computer that I remember resetting after some changes after noticing it seemed to move less than 1mph on the speedometer.)


Fortunately, G20 onwards have returned to a mechanically latching turning signal stalk design.

Unfortunately, ZN8/ZD8 Toyota GR86 / Subaru BRZ (the new ones!) have regressed to the dreaded mechanically momentary (non-latching) turning signal stalk design.


Noooooo! I have been following the new GR86s for a while. Hearing this makes me actually reconsider whether I really want one.


I owned a 325xi e91 and didn't experience any turn signal problems, same for my current 420i F36. Lot of German cars (VW, Audi etc) have a two stage turn signal. A light bump will do 4 or so signals and automatically stops if you move the stalk all the way it wil stay there until you move it back.

to me the sound is loud enough to hear it but not so loud it is annoying


The E90 and newer BMWs seem to have indicator clicks that are almost inaudible

That's very odd, given how much emphasis they have (or used to?) about road-feel and other forms of feedback while driving, and BMW's slogan is "the ultimate driving machine".


BMW has lost much of its driving mojo in the last decade. The quest for more customers has eroded a lot of the car's character.


e91 was a very nice car to drive the f36 is the first car that I modified because it didn't driver that well. changed the suspensions and now drivers in some ways nearly as good as the e91 and in other ways better


I recall driving a borrowed Mercedes in early 2020, the car was maybe two years old, two door coupe, nice but not super sporty, automatic. As is my habit, one of the first things I did was put it in to manually shifted mode. I found with acceleration and braking, coupled with the inertia of the gear knob, gears could be shifted inadvertently. Insult to injury, that inadvertent shift could be enough to trigger a second shift, resulting in some extremely unpredictable vehicle dynamics. A stronger set of centring springs would have been all that was required to easily filter the noise from driver intent.


I've spent quite a bit of time hacking my own F-Series BMW, and I can confirm it's a _huge_ pain in the ass, mostly because there is basically zero documentation on how to do it. IMO BMW also occasionally makes some bizarre engineering decisions, for instance, connect one long wire from an internal switch console to the DME unit (engine controller) rather than connect directly to an adjacent CANBUS that already went there. German engineering ¯\_(ツ)_/¯

I've found the following tools helpful: - newtis.info (has literally all the wiring diagrams as well as a bunch of info on how systems are built and work together, though unfortunately the protocols aren't documented) - Esys (be able to flash new firmware to a control unit or modify settings within a control unit, plus it often contains helpful comments in a mix of English and German that explain what the various acronyms are) - German and American BMW forums (bimmerpost, 1erforum.de); aided of course by a lot of German <> English Google translate


If you’re willing to pay for access (it’s cheap for rare / one off access) bmw provides their AOS portal.

https://aos.bmwgroup.com/web/oss/start - you’ll need something like an “icom next” to connect the car but it’ll do e-sys with the ability to install the latest firmwares.

Some stuff (quite limited though) is available through the car data api - i think most f-series and all g-series i think have telematics. I have a 2018 f15 and that works.

https://bmw-cardata.bmwgroup.com/thirdparty/public/repair-an...


If you're comfortable with slightly shadier methods, there's "grey market" access to most BMW tools.

With the F and G series ISTA is the "gold standard"


Can confirm. I paid a guy on a BMW forum about $100 for the vehicle interface, which is ethernet to a J1962 connector (aka "OBD II Port"). That also included the e-sys software (Windows only). A few years later I needed an update to the software and found a guy on ebay who charged me about $75. So, those might be some places to look for this kind of thing.


Pro tip for any BMW owners, MHD is a tuning company that makes great hardware for this.

Even if you're scared of tuning your engine, their dongle originally for that purpose is one of the fastest interfaces and supports Wifi.

The difference in speed is large enough I stopped needing a battery charger to flash my ECU and TCU (would still recommend one though since you are technically playing russian roulette doing that...)

Bonus: If you do care about tuning, they have some excellent off the shelf tunes to go with it


The OBD adapter should be cheaper nowadays; most folks on the BMW forums will charge ~$100 for coding services, and it's generally "any time you need anything changed, it's free."

If you're in the bay area, there are a few local folks who are happy to do it!


Esys is available fairly easily: https://f87.bimmerpost.com/forums/showpost.php?p=26123409&po... (but as you say, there's some megaupload and a cracker involved).


Whoa! Thanks for sharing that. I've been scared to even change my battery myself because it requires interfacing with the computer. I didn't realize there was a BMW sanction way of accessing the APIs.


Exactly. It's one thing to "do it right" but all the people who are hurring and durring about how every car has technology are forgetting that ze germans in their pursuit of ze perfect driving machine often don't "do it right" and unless you get lucky and own something a lot of enthusiasts own and have had time to fiddle with and document you're often on your own. The Americans and Japanese tend to be better because they tend to design things to be more tolerant of being used in a way other than the factory way but still the knowledge and skill barrier to entry is high and you still come across plenty of stuff that just won't cooperate unless you exactly replicate the OEM conditions.


When any company designs the electronics for a new car, they don't start on a clean sheet of paper. Existing designs are reused and adapted. Additional complexity is introduced because some of the electronics are from third parties, for example this Gear Selector is interfacing with a Bosch transmission controller which controls a ZF transmission.


I’d go along with that - the first time i saw the rear suspension on a mazda rx8 - it looked so familiar, a multi-link style setup with the same core components of a contemporary BMW E38 or E39.

One key difference - you can access all the bolts on the Mazda. Replacing rear shocks was a doddle, i’d done the same job on my old e38 and that was multiple days thanks to combining rust with awkward UX. The mazda had the same rust but was easy and safe enough to access with some heat and no need for universal joints which are never great when you’re using an impact driver.


not sure if you are talking electronics anymore or mechanics.


The usual giveaways for "mechanics" are torches and impact drivers, though more than once I've been tempted to use those things on electronics...


> wire from an internal switch console ... rather than connect directly to an adjacent CANBUS that already went there

This type of design was not straightforward for me as well, but in the end this is because a car is topologically not an integrated machine with centralized control like a PC, but more like a network rack kitted with various systems, with user interfaces at the front and networking at the back.

We tend to look at a driver's seat of a car and understand it as an equivalent to VT100, and that is not what it is; the controls in a car are for each discrete systems that shares a chassis. Therefore the control goes to respective systems and communications goes through the network.


This makes me realize how easy it would be to hack a car like this. All you would need to do is sneak into the car and plug in a low profile OBD reader-like device with a cellular modem, and you could send these messages from anywhere.

Just with the information in these articles we now know how to spoof the shifter mechanism, I’m sure similar processes could be used to determine steering and throttle controls. All these Hollywood plot lines and conspiracy theories suddenly don’t seem so far fetched.


This was true in the mid 2000s, but isn't true on most modern cars. Most modern cars have a Gateway module which sits between the OBD port and the Powertrain CAN busses which the OP is reverse engineering.

These Gateway modules only allow specific diagnostics-related messages through to the various backing buses.

Now, generally the security on the Gateway module itself isn't great, and diagnostic protocols also aren't very well secured, so there's certainly havoc to wreak. But it's not as simple as "plug in a dongle and send commands" - to do what OP is doing, you need to tap into a wiring harness that's usually buried a bit higher up in the dashboard, at least :)

Usually either the Gateway or the control module itself will disallow sensitive UDS commands like the Hard Reset from the article, as well as adaptation / basic settings and output testing commands which are not safe given the current parameters, as well - for example, I doubt you could send UDS Hard Reset to the gear selector module while the car is moving.


I do consulting for one OEM and all of their new vehicles over the past couple of years use encrypted bus traffic. So, it is getting much harder for third party tools to communicate with anything that is not mandated by law (most things other than DTCs and Emissions related APIs).

The sole purpose is security. Trust me, the engineers don't want to introduce any more complexity than necessary, and that's why it has been so open for so long. But, in light of hackers exposing these security vulnerabilities, there is pressure to close them. I'm sure there will be conspiracy theories about making it harder to repair cars so you have to go to the dealer. But, that's also not true -- because of Massachusetts' right to repair laws, OEM tools are available to anyone (or any shop) that wants to pay for them (in and out of MA).


> because of Massachusetts' right to repair laws, OEM tools are available to anyone (or any shop) that wants to pay for them (in and out of MA).

At a price that's meaningless to a hobbyist and steep for an independent shop, sure.

Also, the actual implementation of these rules has been stalled for years by Alliance for Automotive Innovation v. Healy.

Point me to where I can legally, in a "clean" way, download ODIS for VW, or INPA for BMW, or DAS for Mercedes, at a reasonable price for a hobbyist.

IMO the only reason that manufacturers aren't under even more pressure is that these tools are so widely pirated.


> At a price that's meaningless to a hobbyist and steep for an independent shop, sure.

I agree, they're pricey for hobbyists, and I can't speak for all but the I work with is well priced for independent shops. This is not exclusive to automotive though, professional tools in most industries are not priced for hobbyists -- it's easy to lose money on enterprise software if it's priced for hobbyists.

> Also, the actual implementation of these rules has been stalled for years by Alliance for Automotive Innovation v. Healy.

You're thinking about the newer "expanded rights" law. I'm talking about the original 2012 law that the newer law is trying to expand upon:

https://en.wikipedia.org/wiki/2012_Massachusetts_Question_1


What you can do instead, is slip under the car and splice into the wire harness that is running under the car to the transmission or differential.

The transmission controller and differential speed sensor (or even differential controller on some cars) will be post gateway on the CAN bus.

I've done this on GM vehicles to spoof different vehicle behaviors while evaluating traction control systems.


This is wrong on more than a few levels.

First off, you learned how to send messages to a gear indicator (after it's been ripped out of the car)

That's not the same as being able to spoof messages from the gear indicator to other components in a real vehicle, and then getting them to affect the transmission.

Realistically even if you could somehow send the transmission an instruction to shift in a way that would cause an issue (like telling the transmission to go in Park at highway speeds), there are multiple layers that would stop you in your tracks. At the lowest level the ZF8 most of these GWS shifters came with would never follow that instruction to start with.

-

I hate fear mongering around vehicle security because it leads to things like Mazda locking down their infotainment Linux box because news reports saying "Mazdas can be easily hacked", when the component in question had no tie in at all to anything safety critical.

The reality is physical access to the car is game over. I feel like your comment is intentionally worded to retort "oh well you just need quick access to the inside, vs getting under to cut the brake lines", but if you stick some random custom OBD II device with remote C&C you're making a much larger target for attention.

People are stealing entire catalytic converters off cars with noisy angle grinders, getting more intimate access to a vehicle is really not that hard.


Usually there is a whitelisted set of messages available through the OBD port, it doesn't give you unfettered access to the CAN bus.


Enough for https://comma.ai/ to work so can't be that restricted?

Edit: thanks to responders, I misremembered how it worked.


Comma.ai plugs into the vehicle's "backing" CAN busses (Powertrain, Sensors, infotainment, etc.) behind the Gateway, not the OBD port. This requires the removal of at least a few trim pieces and connectors. For example, the Giraffe module taps in at the high-mounted camera module on many cars, requiring the removal of ceiling trim and the installation of a custom connector / tap onto the CAN bus.


Look at the installation procedure for that device. It requires removing the rearview mirror and plugging the device into the existing camera's wiring harness. It's not controlling anything via the OBD-C port.


> All you would need to do is sneak into the car and plug in a low profile OBD reader-like device with a cellular modem, and you could send these messages from anywhere.

As the article states, modern cars employ CAN-bus gateways that act as data brokers. The OBD port usually only gets access to the buses that are relevant for emissions certifications and ordinary shop work and that's it.

The movement to separate and gated CAN buses started with people manipulating their engine controllers, initial exploits targeting the radio and then the avalanche of thieves using OBD to disable alarms and reprogram keys.


If you wanted to kill someone, car bombs are even easier.


I’m not sure with what purpose would anyone do that. Tracking? Assassination? Stealing? There’s simpler an more effective methods for any of that.


German here: Startled by your use of the word "Gangwahlschalter" (I had never heard the word before) I did a quick google search and apparently there is a German Dictionary company that actually tracks use of words and its synonyms. A query to their database confirmed my intuition that "Schalthebel" would be the word people would use. (src: https://www.dwds.de/r/plot/?view=1&corpus=zeitungenxl&norm=d...)


On surface this sounds like refrigerator vs fridge ;)


Im currently renting a BMW with this gear selector.

In fairness, I throughly hate the car (an X1). Terrible lag, awful throttle response, terrible steering, unpredictable brakes, etc.

But the two candidates for worst feature of the car are

1. The gear selector 2. The indicator lights

Every time I have to engage one of the two I let out a little curse.

I driven stick shifts, autos, rear wheel drive cars, trucks, front wheel drive cars, uHaul trucks, and manual motorcycles.

Ive off-roaded in CA, driven through blizzards, Mediterranean traffic.

This is by far my most hated driving experience.


Pretty much everything you’ve said is the exact opposite of my experience (BMW 1-series F20 125i).

Great throttle response, minimal turbo lag, precise steering, and highly controllable confidence inspiring brakes.

I can see why someone might not like the shifter and indicator stalk, but they simply haven’t been an issue for me. In fact there’s aspects of them which I prefer.


I have driven the X1 and various other BMWs. The X1 is indeed horrible, and there is a reason:

For handling / lateral dynamics: The X1 is derived from essentially a MINI platform which is FWD-based (transverse engine), compared to the rest of the BMW lineup which is RWD-based (longitudinal engine).

For power / longitudinal dynamics: If GP happened to be driving a 3-cylinder, then of course the turbo lag would be high. OTOH, the 4-cylinder B48 is a venerable engine with negligible lag (again used all across the BMW lineup).


Its on a mini platform? No wonder its so small.

Thats what I get for asking AVIS for a large SUV/minivan for a family of 5 - my older daughters riding without a booster seat, wont fit.

It comes base with a three cylinder option? I want to cry. Every merge requires flooring the pedal and a prayer.


On one trip to the UK my rental car was a Mercedes A160 diesel. It was so utterly devoid of power that it was a legitimate death trap when confronting a busy roundabout from a standstill.

European automotive luxury means getting the perfect car from a wide array of choices, including the privilege of being able to choose an engine that makes an economy Toyota hatchback seem downright sporty by comparison.


I'm not sure if you drove in the UK much, but generally roundabouts are explicitly not "death traps" regardless of the amount of power you have. I literally use them on a cycle from time to time. Everyone is slow, pays attention, and is ready to brake if needed. If you feel need for extra power, you're probably doing something wrong (e.g. not giving enough space for the oncoming traffic you're supposed to yield to).


That is certainly the case for the vast majority of roundabouts. But there are also a number of roundabouts which have a large diameter, limited visibility and a continuous flow of fast-moving traffic and you’d be sitting there forever if you couldn’t nip into a small gap. I’ve noticed this in particular while in Kent in the south-east.

(I’ve driven across a decent amount of the UK, from Heathrow to Durham, Edinburgh, King’s Lynn, Greater London and Folkestone. I have an extended array of in-laws in Consett, Snettisham, Isle of Man, and elsewhere.)


I suspected that might be the case; I've driven an array of BMW models but haven't driven any BMW/Mini FWD architecture cars.


Maybe throttle response/automatic transmission/turbo lag isn't completely predictable across the same models? That would be disturbing.

I know that for example turbodiesels (even newish ones) start off pretty snappy but then turbo lag and other lags creep in.


Does the car say at which factory it was built?


Makes me want to go out and hug my truck, whose gear selector consists of metal sticks and pins.

I'd be leery of using this device, with all that complexity, as an input for video games. The latency makes me ugh. Certainly don't want that much "systems" stuff between me and the transmission of a car I'm piloting.


> Makes me want to go out and hug my truck, whose gear selector consists of metal sticks and pins.

If it's a manual transmission or an ancient automatic, sure, but manual transmission trucks basically haven't existed for a decade or so and every automatic since the mid 90s has an electronic gear selector of some variety.

Somehow the world keeps working just fine. The biggest problem that's come up with them has been when manufacturers decide to screw with the physical interface and make it more likely to inadvertently miss Park, like the Chrysler design that killed Anton Yelchin.

> I'd be leery of using this device, with all that complexity, as an input for video games.

It's less complicated than a force feedback joystick or even a lot of modern gamepads.

> The latency makes me ugh.

The latency is coming from the transmission, not the shifter.

> Certainly don't want that much "systems" stuff between me and the transmission of a car I'm piloting.

Again, it has been this way for literally decades. My 1993 Crown Vic with an AODE transmission had a shift lever based on the computer interpreting ranges of resistance from a potentiometer. The lever was literally a joystick with notches. And as the name suggests, that was a classic AOD transmission with the mechanical valvebody replaced with solenoids and an IBM PC grade processor.


2021 Tacoma Manual owner here (one of the reasons I got it). Gladiators and Broncos are also available with a manual!


For the Tacoma, you made a good decision. The auto in that thing is the single worst programmed automatic transmission I have ever encountered. But that doesn't just automatically apply to all OEM's. There are plenty of autos that are great & responsive. Fords 10 speeds are quite good.

And you only got rid of 1 of the dozens of computerized components in your drive train. Your engine, transfer case, rear differential, and hubs are all computerized


What about your steering, braking, and throttle controls?


Throttle is drive by wire, brakes are hydraulic (as is the clutch), and steering is hydraulic.

That said, I'm not railing against computers in the car, I'm mostly saying I like manually shifting my gears.


Throttle is definitely computerized.


Amusingly, I discovered that my Toyota Sienna had electronic transmission control when I was downshifting on a mountain descent, and absent-mindedly threw it into reverse. I'm still alive.


I think the first part of this blog series had the gear selector sending it's state every 30ms - so you are looking at some averaged ~15ms of latency just from this thing.


> I think the first part of this blog series had the gear selector sending it's state every 30ms - so you are looking at some averaged ~15ms of latency just from this thing.

For reference purposes at the standard gaming benchmark of 60 FPS a single frame is 16.666_ ms, so you're looking at the equivalent of a frame or two of delay.

That could be critical for a CRT-era fighting game that requires frame-perfect inputs, but as a controller for a traditional automatic transmission it doesn't matter in the slightest.


Yes, exactly, that is terrible latency if you want to use it as an input device.


> Yes, exactly, that is terrible latency if you want to use it as an input device.

Eh, yes and no. It's a lot worse than it could be, that's for sure, but there are a lot of major name game controllers that were sold for years and perform worse, yet a lot of players would never notice unless they did a side-by-side comparison against a good one.

For the use case, where the hardware it's controlling has an inherent latency measured in the many dozens to hundreds of milliseconds depending on which model and mode, it doesn't really matter. Likewise for the author's intended use case as a mode selector for an EV. A faster update rate is in all likelihood possible in the hardware, but when you're sharing a bus measured in kilobits per second with other potentially critical messages it seems reasonable to rate limit.


I'm very familiar with EEC-IV era Fords. If you want to have this debate I am very much down.

Your 1993 Crown Vic may as well be a 1980s toaster over compared to the 2010+ cars being discussed. The only digital electronics are in the ECU and for the display on the radio. There is a huge difference between a 90s Ford style lever position sensor and the BMW stuff. If the computer doesn't do the right gear for what you want you just move it until it does. The BMW will spit error messages at you.


> There is a huge difference between a 90s Ford style lever position sensor and the BMW stuff. If the computer doesn't do the right gear for what you want you just move it until it does. The BMW will spit error messages at you.

You have missed the point. Yes, in that one particular failure mode if the calibration is off on the shift lever itself you can usually fiddle with it to at least end up in a gear. The point was that the transmission doesn't work unless the computer thinks everything's OK. It's not like a mechanical automatic where you can climb under the car and fiddle some levers to force it in to gear. The computer controls everything, just like in the BMW and just like basically every other automatic transmission from the late '80s/early '90s and beyond.

The fact that the BMW shift lever separates the part deciding what gear you've selected from the part actually controlling the gearbox and connects the two over CAN doesn't seem like a significant difference to me from a functionality or reliability standpoint.

The Ford is more or less a classic "game port" joystick where the BMW is the equivalent of a USB HID joystick.


> manual transmission trucks basically haven't existed for a decade

That might be true of pickup trucks, but commercial trucks are virtually all manual.


> That might be true of pickup trucks, but commercial trucks are virtually all manual.

I don't have much experience with the big trucks, but my understanding is that most fleets are leaning towards automatic these days because it's easier to get drivers, they can enforce shifting policies for fuel economy, and there's less a bad/aggressive driver can screw up. I'd totally believe owner ops still stick with three pedals for the most part though.

In the medium size truck world it's been ages since I've seen a stick, everything has an Allison with that same janky '80s seven-segment LED control panel.


Not anymore. I drove Semi trucks and most fleets are going all automatic these days. There are of course some who still prefer a manual, But I would bet commercial trucks will be 90%+ automatics in 10 years.


Mine is the last manual v8 Dodge dakota sold, possibly the last made. 230k miles and still have a sliver of the original clutch.


The latency for doing what? Shifting from reverse to drive? The ZF transmissions in BMWs are very fast shifting even though they are torque converters and there are paddle shifters on the wheel.


ZF 4HP22 in my older (4.0 litre) Range Rover, 4HP24 in my newer one with the 4.6 engine. Actually they're both the same age to within weeks, I just got the 4.6 eight years after the 4.0, but anyway - it takes about a quarter of a second to change up or down if you manually prod the gearstick coming up to some bends. It's definitely faster than the R380 manual gearboxes fitted to Discos, Defenders and manual P38s, which needs a fair bit of time in neutral to settle out before you select the next gear.

This is '80s technology, mind you, with a fairly simple computer grafted on to bring it up to the white heat of the mid-'90s.


The BMW ZF is much faster. They are even using it in their M cars.


I appreciate where you’re coming from but experiencing the joy of dual clutch automatics and their shifts in BMWs and Audis that I had the joy to diving might change your mind. The latency you mention is really not there. Admittedly I could not service it if it broke but aren’t cars consumables now?


> aren’t cars consumables now?

Maybe if you're in the earning high-5 figures a year bracket in SF, but for regular people, a car is likely the most or second most expensive thing they own (second to a home). New cars is something for dual-earners and rich folk, for us regular people - and I am a high income earner - new cars, even on finance, is just not an option.

(I'm currently driving a used 2009 Ford Focus, <200K Km on the dial)


& to add, some of us rent home, so the car is literally anything where we have some equity (& rest the bank owns).


> high-5 figures a year bracket in SF

Lower class?


In what deluded world are items that cost tens of thousands of dollars consumables?!

> I appreciate where you’re coming from but experiencing the joy of dual clutch automatics and their shifts in BMWs and Audis that I had the joy to diving might change your mind.

Yeah, no thanks. A good manual transmission is a core part of the driving experience.


>> A good manual transmission is a core part of the driving experience.

Which cars have those today or in the time-frame of the F-series BMWs from TFA?

Every fiat/chrysler gearbox is sloppy gooey junk thing, even their performance models have horrific manual gear shifts.

I'll cut to the chase instead of listing Ford, Peugeot, etc. etc.

The Porsche Cayman 982 manual shift feels awesome to use, it's a delight but that only opens up a new can of worms, the gear ratios are farrr too long (emissions targets i suppose), utterly ruining the experience. The PDK is the better choice (and it even has shorter ratios to boot!).


I'm not a car nerd by far, and I never drove a manual shift before my Focus ST, but I am completely in love with it. I'm heartbroken that Ford stopped manufacturing those models.

Edit:

Reflecting more on what I like about it. I saw a number of articles or videos, like that 80s Porsche, where the shifter is wiggly or won't go into gear because of long linkages, or falls out of gear. The Ford shifter is nothing like it. My favorite thing about it is that there seems to be (maybe) some torque-induced flex between the gearbox and shifter that makes it naturally slide and "fall" into the correct next gear; I absolutely love this feeling. You just push the stick and it falls from 2nd to 3rd, for example. But if you're slowing down it feels like it's harder to put into 3rd but more easy to push it back up into 1st. And then the way the reverse gear is protected with a hefty spring-loaded ring is very nice. Finally, overall the shifter works smoothly, never gets stuck, seems to "know" the gear I want to go into, never falls out of gear... just lovely :-)


> The Ford shifter is nothing like it. My favorite thing about it is that there seems to be (maybe) some torque-induced flex between the gearbox and shifter that makes it naturally slide and "fall" into the correct next gear

I also have an ST. I highly suggest replacing the shifter with an aftermarket short throw shifter or the shifter bracket. I think you'll like it even more. I've owned several cars with manual transmissions, and one of my biggest complaints about the ST was the stock shifter. It doesn't struggle to get into gear, but it felt light, soft and mushy compared to my other cars. I replaced mine with a short throw from Steeda and it helped a lot, but still lacks the solid bolt-action rifle feeling I was used to.

The ST is a killer deal with serious performance for its price, but if you want a taste for what else is affordable out there and a step up try out a car with a Tremec TR6060 transmission[1]. They are one of the best manual transmissions on the market today and can take a beating. You should easily be able to find one on Turo if you live near any major city.

[1] https://en.wikipedia.org/wiki/Tremec_TR-6060_transmission#Ap...


try splitting the difference with like a miata or a brz


the BMW F-series M3/4 of the same time-frame have a manual gear shift option.


>>Yeah, no thanks. A good manual transmission is a core part of the driving experience.

Yeah, no thanks. A good dual clutch automatic is my choice when it comes to actually driving in a sprited way.

But you know what? To each their own.


> Yeah, no thanks. A good manual transmission is a core part of the driving experience.

I learned to drive in manuals (because they're more common in the UK). I currently own two automatics and drive a variety of manuals, automatics and EVs that are kind of inherently "automatic".

I don't see any difference in "driving experience" between manual and automatic. What do *you* think the difference is?


Not what you were thinking, I guess, but I push-started my manual Saab and Honda many times, could my manual Mercedes but never needed to, which you can't do with an automatic.


You can if you get them moving fast enough, but it's terrible for the gearbox.


that would require some fast running while holding the door and steering wheel!


> In what deluded world are items that cost tens of thousands of dollars consumables?

I don't think consumable is the right word, but I assume they meant in the sense that many cars are leased, so the drive never really owns a car -- they just "consume" cars as they move from lease to lease.


Does your car use electronic injection or a carburettor?


Injection, so yes; there's still more fly by wire than i like.


A bit of gear shift latency just makes it all the more realistic!


Recent and related:

BMW F Series Gear Selector, Part One: Failures - https://news.ycombinator.com/item?id=31883951 - June 2022 (87 comments)


Neat how modern car systems turned into microservices.


I kinda wish, as it stands it feels like decades of different protocols and technologies awkwardly stitched together. In theory everything would be connected on a central bus to a centralized RTOS computer able to read every sensor and adjust everything that needs it 1000x a second (or more), so that anyone could easily hook up a new device or software and subscribe to an event bus, but alas.


Mostly every component on modern cars uses the CAN bus for communication https://en.wikipedia.org/wiki/CAN_bus

Many third party companies have made accessories to read information or control devices using it. Cars also have a standard diagnostic port called the OBD2 which you can purchase $10 readers that use bluetooth with your phone.

Cars may have much more electronics but with all the sensors it's very easy to know what part of the system is broken. For example on my mom's 2011 Honda Civic (about 100k miles) her check engine light came on. I read the codes and it was the transmission pressure switch. I purchased one for about $30, replaced it, and everything is running fine.

As to all these new electronic systems and their value:

A 1964 Pontiac Tempest GTI has a 6.4 liter v8 engine that makes 348hp[1]. It goes from 0 to 60 in 4.6 seconds and does the 1/4 mile in 13.1 seconds. It gets 11mpg~

A 2022 Volkswagen Golf R has a 2.0 liter i4 engine that makes 315hp. It goes from 0 to 60 in 3.9 seconds and does the 1/4 mile in 12.5 seconds. It gets 23mpg[2] (26city 30hwy). It also has all modern emissions requirements.

[1]HP numbers were overrated pre 1990s because manufactures would remove accessories during testing.

[2]They changed how cars were rated in the 2000s so the 23mpg would be higher if rated back in 1964


Saying "most cars use the CAN bus" is kind of like saying "the network uses Ethernet," though - the higher layer protocols are usually proprietary and one-off for a specific vehicle lineup.

Even the standard diagnostic protocols like UDS rapidly become non-standard once you get to the "what's what" level. For example, $22 readLocalIdentifier is standardized as "read local identifier," but what each identifier means is again 100% proprietary.

About the only thing that's completely standard is what's mandated by law: OBD-II required parameters and trouble codes. When it comes to trouble codes, even the set beyond the OBD-mandated basics are _also_ usually proprietary, requiring dealer tools or their clones to decode.


You are correct, I was only thinking of diagnostics.


It's important to note that just because a CEL is on for a sensor, it doesn't mean that sensor is bad and needs to be replaced. For example, it's possible for a camshaft position sensor to be on for a timing system that is out of sync. It would be a mistake to replace the cam sensor in that scenario. Shotgunning parts isn't always the answer...


Ooooh, I've got a great story about that. My neighbour's car was at the garage for about three weeks with a No-Crank No-Start fault. The diagnostics said that the crank position sensor was faulty, but the garage said they'd tried two new sensors and a new cam position sensor for good measure, and it still wouldn't work. Their next plan of attack - and bearing in mind they were already about a grand into it - was to spend even more of my neighbour's money speculatively on a new engine ECU.

Tell you what, not to be a smartarse guys, but let me take a look, just for a second opinion, okay? It's not cranking, that should be the first clue. No, I bet the sensor is a red herring.

Why? Well, we'll get to that.

First off, why isn't it cranking? I hear a relay in the fusebox clicking when I turn the key, let's swap this conveniently labelled starter motor relay with a spare - rob one from the heater blower in my car - plug it in, contacts look manky and burnt, never a good sign. Oh look, starts, runs, perfect, nice as you like.

No, don't worry about the relay, they're a couple of quid new and I have huge box of spares at home, just keep it.

Oh, but the sensor? Well, the ECU was commanding the relay on to pull in the starter motor solenoid, right? But then after a certain amount of time it wasn't seeing crank position sensor pulses, so it guessed (wrongly) that the sensor was faulty, because why would it guess that the starter motor wasn't spinning?


Step 1. Replace sensor

2. Replace ECU

3. ???

4. Sell car for scrap

Haha.


It was a 2007 Honda Civic, the 3rd clutch pressure switch measures fluid pressure. P0847 was the code. This means the sensor was sending a voltage value below the acceptable range.

The car shifted fine, the fluid was at the proper level, and there were no noticeable driving issues. This would also not continuously read a low voltage reading while changing gears. This led me to believe it's the sensor, which is very inexpensive and easy to fix. The car is working perfectly now.


I'm glad it was straightforward for you!


A lot of things in the interior uses LIN bus.


The Golf is a 2 liter turbo, i think


isn't that just the can bus?


It is interesting how it evolved that way. As individual components were computerized (ABS, TCS, TCM's, ECM's, etc.), there was no real point at which it made sense to centralized things.

Now, with the silicon shortages, and the ever increasing complexity of vehicle networks, I think things are going to hit a crossover point. Instead of a vehicle full of "microservices", we will probably see more vehicles with some centralized compute unit controlling dozens of sensors and "edge" processors.

It's impossible to fully centralize an automotive computer, but there is a lot of work that can be done to move away from "microservices" to something that is easier to define, develop, and validate


Electrical cars don't need gears and a lot of the other moving parts you find in an ICE car like this. They still need lots of silicon of course.

The Tesla (and several other EV manufacturers) approach to car software is highly centralized. Unlike traditional car manufacturers, there are no external component providers that get to run their own proprietary firmware on their own dedicated chips. Upgrading and testing/integrating all these proprietary firmware blobs is a nightmare and is mostly not a thing with legacy car manufacturers. Tesla and other modern EV manufacturers on the other hand provide over the air updates for essentially all software in the vehicle. Reason: all of that is developed in house and shares a lot of the hardware infrastructure.

One big reason car manufacturers struggle so much with chip shortages is that a lot of the shortages are for decades old chip designs still used by various suppliers for things like brakes, the automatic windows, the fuel injection system, etc. Chip manufacturers are reluctant to invest in new production capacity for obsolete chip designs.

The reason Tesla managed to break some delivery records in the middle of these shortages is that they use more modern chip designs and were able to actually switch to a different chip provider. They don't use a lot of different chips for most of these things. More centralized and integrated is the modern design for cars.

Legacy ICE vehicle design is essentially stuck at where they were ten years ago. Most manufacturers are in the process of ramping down R&D around this topic. They'll milk their production lines for a while but attention has already shifted to EVs for most of them. New models (if any) are essentially the same components they've been shipping for a while with minor changes.


Good summary! I think the core of what you talk about is a fundamental difference between a 21st and 20th century OEM. 20th century OEMs see software as a not only a hassle, but something that is isolated in discrete components and thus able to be “vendorized”. 21st century OEMs understand that the entire car is a software system, and they should be incredibly closely involved with every aspect of it.

There is room still for company’s that only can transition halfway though. It’s not like vendors cant make their discrete components OTA capable. Vendors will also be just as capable of pivoting to new silicon in the case of supply disruptions. Ford, Daimler, and the other usual suspects, are going to be more involved with their software, but they will still have vendors.

Tesla can get away with a lot of this creative homebrew craziness because they have such an insane software / hardware budget. I honestly don’t know what that company’s software practices would look like if they didn’t have such amazing access to cash


Hooking it up to a real car and sniffing the message bus where it connects would be by far the easiest approach to this...

Then you don't even need to understand all the messages - just replay what the car sends and figure out which byte in the response is the current gear.

You probably wouldn't even need to figure out the checksums!


The messages include an incrementing counter ID, which has to be accounted for when calculating the checksum. The purpose of this is specifically to prevent "replay attacks". If the counter doesn't increment on subsequent messages, it raises an error. If you increment the counter but do not recalculate the checksum, it raises an error.


The counter is only one byte though - record 256 messages and you have the whole set.

No need to understand the protocol or anything - just record a few minutes of data, find when a message repeats (indicating whatever counter mechanism is in use has rolled over), and replay that loop repeatedly.

The only time this technique doesn't work is when a challenge-response algorithm is in use, but car stuff doesn't tend to do that except for some lock/security/firmware update type functionality.




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: