bri3d 3 years ago

The debug protocols for XC2xxx are documented and you can interface with the device using an Infineon MiniWiggler. Unless the core or flash protection has been enabled, which is not likely on an "auxiliary" control unit like this, you can read/write flash and possibly also step-debug. You should be able to use the bootstrap loader startup mode and Infineon MemTool to read and write the device.

The core IP is called C166S V2 and IDA does an OK job disassembling it. Unfortunately the instruction set is quite nasty anyway so it's not pleasant to reverse engineer even when the tooling works. I agree that coming from the "outside in" might be easier than coming from the "inside out," especially if you are able to acquire the internal BMW powertrain-CAN documentation which will make this project very easy.

Infineon do the best job of producing documentation of any major automotive CPU vendor, IMO. Their toolchains and user manuals are both available and much easier to understand than for example Renesas or Freescale.

  • nneonneo 3 years ago

    Since you have at least one working message, 0x202, and the ability to disassemble the code, one thing to try would be to search for spots in the code where that gets used as an operand or gets loaded from memory. Unless they use a switch statement (unlikely if the codes are so far apart), there’s likely to be an “if code == 0x202” somewhere that would help narrow down the input handling code. If you’re really lucky, all the other valid codes will be sitting in the same function, which (if nothing else) will make your fuzzing efforts a lot more targeted.

Unklejoe 3 years ago

There’s a BMW factory level diagnostic program called Tool32 that might help when trying to reverse engineer stuff like this. I don’t think there’s a way to legitimately get ahold of this software though…

Anyway, it has a bunch of test operations you can perform. For example, you can set the individual gauges in the gauge cluster to specific values, etc.

Perhaps there are some tests for the shifter and you can sniff the bus as they’re performed?

These are all done over the OBD port so it shouldn’t be that hard.

  • t0mas88 3 years ago

    I think one of the e-sys or related ISTA etc tools can move the gear selector. Because the hardware is able to move itself for example from the M/S mode (tilted left) back to center when it goes into park. And I've seen that done via diagnostics, but I'm not sure it was a function of the selector or whether the selector responds to some kind of "engine shutting off" message that it gets from another module.

  • kiwidrew 3 years ago

    There's a good chance that all of the components in the car have similar/identical command sets for test/debug operations, even if the individual components have been produced by different OEMs.

overcast 3 years ago

Thanks, I'll stick with my battle hardened manual gearbox, until I ride this car into the ground. Maybe I'm turning into a grumpy old man, but I want nothing to do with the lack of physical buttons, giant touchscreens, and fly by wire EVERYTHING in these cars.

  • bluenose69 3 years ago

    Agreed. It seems, from the instructional video on that website, that a driver must touch the control in a certain spot to put the car into park. I wonder whether it makes a sound, or gives some other indication, when you touch it correctly? Surely, a driver isn't forced to look for that little yellow "park" icon, to see whether the car is in park.

    It seems that the old ways are receding into history, but the future is not especially appealing to everybody. Double-clutching, rev-matching, etc., are all part of the fun. The more cars get "easier", the harder it is to want to drive.

    • simondotau 3 years ago

      > I wonder whether it makes a sound, or gives some other indication, when you touch it correctly?

      It’s a mechanical button that looks like a mechanical button. It has a positive feel when pressed. Assuming the transmission can engage park, a (P) symbol illuminates on the shifter and in the driver’s binnacle. If you turn the car off without pressing the button, park will be automatically engaged, if possible. (I haven’t tried turning the car off while it’s in neutral and rolling down a hill. Not planning to run the experiment.)

      In short, it’s very intuitive.

    • davrosthedalek 3 years ago

      The car will auto go to park when you switch off the engine. I almost never select park manually. But its a regular button.

      • Arcanum-XIII 3 years ago

        On my car, there’s no park button at all. It’s not even a symbol lighted either, it plainly doesn’t exist. Maybe because it’s a robotic shifter and a not an automatic one - I don’t know. I can only put it in neutral, and if I want a true park, well, I have to shut down the engine and use the handbrake (still manual strangely).

        • davrosthedalek 3 years ago

          I also have a manual handbrake, because how else do you want to make a hand-brake turn (insert smiling Clarkson here).

    • buran77 3 years ago

      I wouldn't put automatic transmission in the same bucket as touchscreen buttons and whatnot. The former makes the life more convenient for the driver. The latter makes the life more convenient for the manufacturer and less convenient to the point of danger for the driver.

  • forgingahead 3 years ago

    Wish I could upvote you 1000 times - rented a car last week and couldn't figure out how to control the damn AC in it. Gear shift was a turning knob like I was tuning my radio, not to mention the iPad staring me in the face while I tried to drive.

    Like TVs, I think there is a decent sized market for "dumb cars" - will any company step up to make them though?

    • ricardobeat 3 years ago

      Those are user interface design failures, not a direct consequence of the switch to electronics & automation. There are modern cars that are very pleasant to use (Hyundai Ioniq / Kona are my favorites), while others that have the exact same feature set are terrible (BMW i3, Nissan Leaf).

    • isatty 3 years ago

      Let me guess, one of the new Ford SUVs? Happened to me too, wtf was ford thinking with the circular gear selector and AC controlled by a damn screen?

      • HeyLaughingBoy 3 years ago

        I think it's mainly a discovery/RTFM kinda deal.

        My wife's 2014 Edge is in the shop and they gave us a 2022 Edge as a loaner. I had the same WTF at first. But it's pretty obvious where the gear selector is and how to use it. And there's a fan icon at the bottom of the screen that, surprise, surprise, is the A/C control.

        All in all, it's not hard to figure out. Granted there are some things that surprise me, like the "white line detector" that provides haptic feedback in the steering wheel like a rumble strip that somehow became enabled a couple days ago, but all that is because I haven't bothered to RTFM.

        After driving the car for a week, I have to admit that I like it. Could be tempted to buy it from the dealership if they'll give me a good enough deal, which isn't very likely these days :-(

        • forgingahead 3 years ago

          Sure, but this is user-hostile. The entire expectation of the car rental process is that you get your keys, jump in the car, and drive off. If you have to read a manual, or sit there fiddling with knobs and buttons while it's freezing/steaming outside, then the process is broken.

          • HeyLaughingBoy 3 years ago

            > entire expectation of the car rental process is that you get your keys, jump in the car, and drive off.

            Which is exactly what I did. Figuring out the A/C was basically "it's hot in here, oh, there's a fan icon, press that."

            The other stuff I never bothered with because it simply wasn't worth learning for a car I only have for a few days.

  • newsclues 3 years ago

    The aftermarket for adding switches, buttons and knobs to supplement or replace the terrible touch user interface is going to be a massive market

  • saxonww 3 years ago

    Would it be so bad if you actually get the specifications for this stuff? I assume/hope it's so hard because of all the safety regulations applied to cars; the amount of effort this person already has had to put into figuring out how a gear shifter works is sad.

tehwebguy 3 years ago

This is cool! I’m currently trying to update the CAN (early Ibus) setup I have connected to E36’s CD changer port.

I’m able to receive messages just fine on an Arduino via MCP2025 using ian332isport’s IBus library but I can’t send messages. Just tried using the apparently better Melexis TH3122.4 instead of the MCP but other than sending Vreg power it doesn’t seem to work (and instantly heats up to dangerous temperatures).

If anyone happens to be working on something similar hit me up!

  • touchy 3 years ago

    Oh the melexis... I had the heat up issue when powering from both USB and the 12v car supply. I snipped the 5v power from the USB line and that allowed me to serial into the teensy and read data. Iirc the melexis supplys 5v from one of it's pins.

  • llamajams 3 years ago

    Are you using the right transceiver? Looks like MCP202 is for the LIN bus which is a completely different physical standard. There are also multiple different can standards, and I don't think Arduino can support the higher speed versions.

techwiz137 3 years ago

It is very sad that a lot of older automatics needed actual mechanical linkages instead of entirely digital signals. It would've allowed some pretty custom gear selectors that would've enabled even more mods by freeing up space in the car interior.

  • hotpotamus 3 years ago

    There were push button automatics in the 50's. But for the life of me I've never seen the problem with a column shifter which was normal when I learned to drive a car in the late 90's.

    • tadfisher 3 years ago

      The push buttons were also mechanically linked! At least Chrysler selectors such as the one used in the Plymouth Valiant, they actuated cables to open/close fluid paths in the transmission.

      • hotpotamus 3 years ago

        Yeah, I'm aware that old auto transmissions had what - valve bodies? - analog computers to apply logic on when to shift; they'd have to have something. I just don't think the linkage was all that important a feature - mechanical or electronic seem to both be flexible enough to do the job. I mostly drive manuals, but the column shifter for autos seems the most utterly logical way to put transmission control right at your hands. It seems like putting it on top of where a transmission hump might go (but probably doesn't in a modern car with a transverse engine) is just pretending to be something it isn't.

yuppie_scum 3 years ago

I read like halfway through the article and felt like this hardware was, in classic German car fashion, very over-engineered for the relatively simple purpose of sending one of 5-6 signals to a transmission controller.

  • KerrAvon 3 years ago

    On one hand, you really do not want this part to fail. On the other, why is it this complicated in the first place?

    These overcomplicated shift levers that you need to watch a video to understand seem to be an industry fad — one of them in a Chrysler product (IIRC) killed a Star Trek actor a few years ago.

    • amluto 3 years ago

      Tactile feedback (like something that actually locks into a park position when it’s in park) is genuinely useful.

      Tesla uses a little lever with four possible momentary positions. There is no way to feel whether you have actually selected the correct mode. You’re choices are to either look at the instrument cluster and read the gear status or to actually try driving the car.

      This is made worse by the fact that, on level ground with creep off, park and drive behave identically unless someone presses the accelerator or tries pushing the car.

      On the flip side, I’ve driven a BMW with a really amazing 2D joystick with software controlled detents corresponding to buttons on the infotainment screen. I’m not convinced it’s a good idea, but the engineering is awesome.

      • doubled112 3 years ago

        I don’t like a lot of the UI/UX decisions in modern cars.

        Every manual transmission I’ve ever driven has given an incredible amount of tactile feedback when you get it wrong.

        You know you’re parked because you’ve pulled a (relatively) big lever.

        A little knob or momentary buttons make me uncomfortable. I’d be waiting for feedback but never receiving it.

        Another example of waiting for something to happen, then nothing happens is start/stop engines. My foot goes down, nothing happens, I give more fuel, still nothing, engine starts and we’re really going. I’m sure I’d get used to it, but I don’t like it. Just do what you’re told, car.

        • vel0city 3 years ago

          As someone else mentioned, start/stop isn't usually triggered by the gas pedal but by releasing the brake. You're probably pretty quick to go from the brake to the gas for your car's start/stop, practice getting off the brake a hair earlier than you do currently. You probably won't roll much since you've got a dead engine holding the car, so don't worry about needing to be quick.

          I've driven some cars with start/stop and while it was a bit of a different feel for it originally I managed to get the timing down pretty well to have the car do what I wanted. Start/stop isn't driven by a random number generator you can figure out when it'll kill it and how long it goes from getting off the brake to the time it starts. Then it's just like every other tool in the car.

        • lttlrck 3 years ago

          start/stop isn't triggered by the accelerator. The engine starts immediately when the brake is released. For most drivers it is unnoticeable.

          I don't like it but that's because there is little intelligence deciding when it should stop in the first place, though you can kind of regulate it by being extremely light on the pedal.

    • izacus 3 years ago

      It truly is bizarre - I've driven a lot of cars lately and this exact BMW shifter took the cake of the most unintutitive and annoying to use by far. (And it's not even the most dumbass UX decision in that BMW by far.)

      • RedShift1 3 years ago

        I don't get it. All these joystick gear selectors work the same. Push and hold a button and move it to the setting you want. What is unintuitive and annoying about this?

        • izacus 3 years ago

          Ah sorry, the 1 series I just drove also had an "unlock" button on the left side so you had to hold it in a rather unnatural way to get it to move around. And the separate "P" button is also something that kept throwing me off.

          In comparison, Mazda I drove had much much simpler approach - grab the stick, push it all the way forward for Park, push it all the way back for Drive. That's it. The "unlock" button was under the index finger so you just grabbed it naturally.

          (In general, Mazda felt much better thought out inside than VWs, BMWs and MBs I drove.)

        • gonesilent 3 years ago

          Chrysler's attempt at a reimagined shifter killed Star Trek's Chekov. Couldn't tell when it was in park...

          • sgt 3 years ago

            This type of technology has to work even when you have a "weak" moment of lapse in judgement. Everyone has those, at the very least a few in your adult lifetime.

      • t0mas88 3 years ago

        Exact opposite experience for me, I can use this thing without looking and it does exactly what's expected. It also does manual shifting the right way around, pull to shift up, push to shift down. That's how every sequential racing gearbox works. But somehow a lot of non-sports brands do their manual control the wrong way around.

        • IgorPartola 3 years ago

          Same. I used to have a BMW with this shifter. It was the most intuitive car to drive of all that I had driven. It’s like the controls melted away around you and you could just focus on the drive. That car died a bad death when someone else drove it into a telephone pole and I still miss it.

          I know different people have different expectations for UX but for me that BMW had few of none UX flaws.

        • timc3 3 years ago

          Same here as well. This age of BMW was known for having a great UX, from the computer system to the drive controls.

      • wrycoder 3 years ago

        Yeah, you push it forward to go backwards, and pull it backwards to go forwards.

    • wil421 3 years ago

      The shifter was a Bosch part IIRC and was very similar to Audi shifters. Since then if you open your door and depress the brake it will automatically go into park. They also changed the shifter in 2016. 2014/15 model Grand Cherokees have it and many people complained about it.

gumby 3 years ago

Why do cars with automatic transmission have shifter rods at all? A button would be sufficient.

  • hangonhn 3 years ago

    I don’t know if the shifter is strictly necessary but I am glad it takes two actions to shift, especially for reverse and forward. It’s also really nice having the shifter because it’s this relatively big control surface I can grab and control without looking down. I have that exact model of BMW and I often use the shifter to quickly put the car into sports mode for overtaking. They have another button to do something similar but there is no way I can do that while overtaking. The move shifter left maneuver is easy to do while keeping my eyes on the road.

    • t0mas88 3 years ago

      Exactly. Pressing the mode selector switch a few times to get it to sport/sport+ takes much more looking down compared to pushing the gear selector left while you keep eyes on the road to think about a quick overtake. And this is for cars that aren't 90% touch-screen controlled like some recent models from other brands.

    • timc3 3 years ago

      On my F31 (which I no longer have) I thought doing that just put the gearbox in sport mode, but to change the engine response you still need the buttons. Need to try it in my G series sometime.

      • piperswe 3 years ago

        On my G20 it's the same - sport mode and S transmission mode are two separate things.

        • hangonhn 3 years ago

          You two are right. The sports mode button does more than the shifter tilt on the F30 as well but the more aggressive gearing is usually all I need to overtake.

    • juiiiced 3 years ago

      Yes I prefer the larger control surface even if it is easier to bump than a button.

  • jeffbee 3 years ago

    It's really nice to be able to shift the car into neutral when it isn't working. An electronic system that can't be shifted out of park if it's broken is a nuisance. One of my Hondas lacks a mechanical neutral control in the cabin, but there is a shaft you can turn on the side of the transmission under the hood to force it into neutral if you need to push it out of a garage or something like that.

    • AlexandrB 3 years ago

      Don't forget Toyota's "unintended acceleration" fiasco. One way out of that situation is to shift to neutral and old-school shifters usually let you do that without engaging the button by just pushing the shifter up.

      I recently drove a car with a shifting "dial", and if I had to shift to neutral in an emergency there would be a lot of fumbling.

  • 2143 3 years ago

    Problem with buttons is that, unless you design things carefully it might be too easy to press the wrong button and go the wrong way.

    Newer Hondas do come with button shifters that seem to be well thought out. It's hard to describe in words, but every button has a distinct deliberate and intuitive action such that you're unlikely to shift to the wrong gear:

    - Can shift to P or R iff the brake is pressed.

    - R is a pull-type button which is different from all other gear buttons.

    - N is, well, an unremarkable button.

    - D is at the bottom in a separate recess.

  • fosk 3 years ago

    Sports cars like Ferrari 488 don’t have one. You press a button to go in reverse, and use the F1 paddle shift behind the steering wheel to go in drive mode (one push of the up gear lever) or neutral (simultaneous push of both levers).

  • dagmx 3 years ago

    For familiarity, especially since many automatic shifters have a pseudo-manual mode to shift up and down.

    also in case the manufacturer shares the center console part with models that have fully manual transmission.

  • hatsunearu 3 years ago

    a lot of cars these days come with something other than a shifter knob to control the transmission. buttons, dials, you name it

ricardobeat 3 years ago

That massive board for what is essentially a fancy D-Pad sounds like extreme overkill. Is it actually more reliable than an analog circuit?

  • chinabot 3 years ago

    Over complex control systems are the reason I have stuck to cars from the last century for conversions, my 1990 hilux had exactly 1 microcontroller in the ECU which went straight in the bin when the electric motor went in. I also stuck with a manual gearbox even though it rarely gets out of 3rd. My other 1996 BMW 528i conversion has been on going for 3 years due to over-complex engineering, I ended up throwing out the automatic transmission and am now using a manual transmission fixed in 3rd gear, basically using the auto selector to select R or D only, the digital logic to get a 1996 528i auto transmission selector working is just a few diodes and resistors.

neuralRiot 3 years ago

Usually what i do in cases like these, is to to take a trace of the CAN bus on a working vehicle and then replay this data to the DUT selecting and deselecting different IDs, then i apply random values to different bytes of the responding IDs and observe the reaction. It can be time consuming but more productive that trying to contact OEMs. Also DBC files can be of some help.

post_break 3 years ago

Not sure what vehicle this is going into but wouldn't a push button selector be better? Ever since getting my Accord gear shifters look so old hat.

  • Sebb767 3 years ago

    Personal preference, maybe. I, for one, love those old style shifters. The new Audi A3 just has a small knob and to me it looks like you'd turn on an RC car you'd got for 10$ in a cheap knock-off store, not something from the entry-level luxury segment.

  • woobar 3 years ago

    This one provides manu-matic mode, which you can operate without looking at buttons. Not sure if this is a requirement for a new car though.

  • techwiz137 3 years ago

    Which year?

    • post_break 3 years ago
      • spaceywilly 3 years ago

        Eek. It seems like there’s a risk that you could push N instead of D when trying to shift from reverse into drive. This could be very dangerous in certain situations, like if you’re backing out of a parking spot onto a busy road.

givemeethekeys 3 years ago

Any car maker that uses a BMW transmission uses the same exact gear selector.

Your Alfa Romeos, Morgans, Toyota Supras are all BMWs and there's a gear selector to remind you of it every single day.

I'd love some insight as to why - was it contractual? Are car makers lazy?

natch 3 years ago

Is anyone going to tell him that EVs only have one gear?

Good ones, anyway…

I guess there is always reverse and neutral though.

  • speedgoose 3 years ago

    The author explains it in the beginning of the article.

    And the Porsche Taycan has two gears and it is considered good. Though it may be better with only one fixed gear, I heard that you can feel the gearshift.

    • natch 3 years ago

      I was specifically excluding Taycan, which is, let’s just say, Porche’s first effort in this space.

      Edit: I see what you mean about him mentioning it... missed that in my first quick look. Seems it’s my day to be an idiot on the Internet.

    • timc3 3 years ago

      I like that it has two gears (I own one).