During the year I took off from modern motorcycles, I got used to the simplicity of an Airhead. When something’s not quite right with my 1976 R 90/6, I have to figure it out by sound and feel. I’m getting better, but it’s not always easy to do because I simply don’t have a tremendous amount of experience with it. Typically what happens is I realize something is awry, check and adjust the things I know to check and adjust, and if that doesn’t fix it, I call somebody for help.
When something’s not quite right with the liquid-cooled GS, I take off the battery cover, uncoil the diagnostic port, plug in my Hexcode GS-911, press a few buttons, tap a few links on my iPhone and boom, I know exactly what the bike’s onboard computer thinks is wrong with my bike. It’s magic I’ve written about before. There are alternatives to the GS-911, but I find them lacking in features and Apple iOS compatibility. As with many things BMW—buy once, cry once and you get what you pay for.
My latest problem cropped up in late February, on a chilly and overcast day when I was headed to my local dealer for a presentation and to meet up with a friend for lunch. I pushed the big GS outside and got my gear on. It struggled to start, but it started. When I got back from closing the shed door, it had stalled. “That’s weird,” I thought, and started it again. After letting it warm up for about a minute, I rode off.
You know those long recipe pages? The ones where you get somebody’s entire history with one ingredient and why their kids are such picky eaters, but that’s OK because the whole neighborhood flocks to their kitchen when they make this thing you’re spending a lifetime reading before they ever tell you what even in it? Instead of that, you can cut straight to the video of me fixing what went wrong.
When I got outside my neighborhood and got on the gas to get up the first big hill, the bike acted like I hit the rev limiter—stuttering, sputtering and refusing to accelerate further. Surprised, I shifted up and continued. Same thing happened again right about 4,000 RPM, well below redline. I shifted again and the same thing happened at 4,000 RPM, and I noticed the yellow alert triangle and engine light illuminated on the dash. I turned around as soon as it was safe to do so and went back home, parked the bike and rode the R 90/6 that day.
I described the problem to James Carlisle, service manager at Morton’s Motorcycles, and he mentioned it to Mamie Frank, one of their master techs. I described the problem to George Mangicaro, my now-retired mentor of ex-Gridlock Motors fame. All three of them had good ideas, giving me plenty of things to start checking. The gist I extracted was that the least complicated problem it could be was me screwing up something when I put the new spark plugs in a few weeks prior as part of my “getting the bike ready to ride after a year of storage” process. (Check YouTube for a video on that.) I’m always going to start with the thing I might have screwed up!


I have X-Head cylinder head guards from MachineArt Moto, those came off with T25 and T50 drivers. My aim was to check the coils and their associated wires, to make sure everything was clean, straight and snugly connected. The coil wires are barely as long as they need to be, and if you’re rough with them, you can strain or damage the ground connection. Everything was perfect on one side, but on the other, I noticed I could remove the coil by hand—no tool needed. That indicated my failure to properly and fully seat the coil after installing a new spark plug and could have been the source of the problem. The battery was about six months old and kept on a tender, so it was unlikely to be the problem. With everything checked, verified and reassembled, I started the bike again. Same problem at 4,000 RPM—stuttering, sputtering and refusing to rev any higher. The yellow triangle and little “check engine” lights remained lit on the dash, so I knew the problem wasn’t the loose coil.
With the easy stuff out of the way, I broke out my GS-911 and my iPhone. The process is simple: Take off the battery cover (one T25 screw), remove the diagnostic port from its holder, plug in the GS-911, turn the bike’s ignition on (but don’t start it), press the WiFi button on the GS-911, switch my iPhone over to the GS-911’s WiFi network and open the GS-911wifi app on my iPhone. A lot of steps, sure, but simple and intuitive.
Scanning the system took about a minute and returned two errors: 21FD31 and 21FD32. The first is “Camshaft sensor input signal, no signal edge detected, input level low;” the second is “Camshaft sensor input signal, number and position of edges implausible.” I cleared the codes and started the bike again. The yellow triangle and check engine lights came on immediately, and scanning the system again produced the same 21FD31 error code. This confirmed it was an active fault, so I texted the info to George and started searching the internet. I found a few forum discussions on the issue; George found a year-old YouTube video on the error from “The Bike Stig,” an Australian fella, and I found a two-week old one from “hongkongloki,” whom I assume is from Hong Kong. Both videos showed the same 21FD31 error code and the process to replace the sensor.


While I hesitate to rely 100% on a computer’s diagnosis, the fault codes were undeniable: the most likely reason my bike was acting like it was hitting the rev limiter at just 4,000 RPM was because of a failed camshaft position sensor. Without the information coming from the sensor, the bike’s computer likely defaulted to a mode which reduced performance and limited RPM—not unlike the “limp mode” I’ve seen other riders talk about. I cleared the error code with the GS-911 and waited for Tuesday so I could order the parts.
Me being me, the next thing I did was investigate what a camshaft position sensor is and why it’s important. As it turns out, the camshaft position sensor on my ’15 GS is similar to the Hall effect sensor on my ’95 R 1100 GS. When the HES went bad on those bikes, you usually couldn’t start the bike after riding in the rain or washing the bike, but some measure of time later—when it dried out—the bike would fire right up. If that symptom wasn’t present, your bike might run poorly or stall at random times. Once I found the connection to the Hall effect sensor, I knew more about what I was dealing with.
(Note: Hall effect sensor failures on the 259 series of engines is probably where the myth of “don’t wash your GS or bad things happen” started. Also, there’s a new podcast about these bikes called Oilhead 259—be sure to check it out!)
The camshaft position sensor does exactly what the words say: It tells the electronic control unit (ECU—the bike’s main computer) where the camshaft is as it spins furiously around to open and close the intake and exhaust valves. The Hall effect sensor is one type of camshaft position sensor; other types are inductive, magnetoresistive and optical. I believe the one on my GS is inductive, as it’s passive as well as the most common type of CMP* used in modern vehicles. Optical sensors are the most accurate, but they’re also bulkier, more expensive and would have trouble operating in an environment slathered in oil and subjected to high vibrations.
(* Note: CPS could refer to either the camshaft or crankshaft position sensor, so we refer to the camshaft position sensor as CMP. The crankshaft position sensor is the CKP.)
The way the inductive CMP on my GS works is not unlike how the ABS sensors work. There’s a housing holding a permanent magnet from which extends an iron pin; the pin is surrounded by a coil of wires. The sensor reads notches or cutouts on a spinning wheel, and how often (and how fast) the different-sized gaps pass by the sensor tells the ECU exactly where the camshaft is in its rotation. The sensor is inserted through a hole in the engine—in my case, the underside of the left cylinder—and secured with a bolt. A rubber O-ring prevents any oil from seeping out through the hole.


Typically, the spinning wheel has one big gap in between its otherwise uniformly placed notches or teeth; it’s this big gap that causes enough of a fluctuation in the magnetic field generated by the sensor to trigger a signal to the ECU. These kinds of sensors, because they’re passive, tend to be reliable and durable, but as we all know, anything on the motorcycle can go bad simply from heat, vibration and use.
A Hall effect sensor and a magnetoresistive sensor have similar construction to each other, but their trigger is the opposite of the inductive sensor. Instead of measuring the big gap in a notched wheel, these types of sensors detect one “tooth” jutting off a spinning wheel. In other words, they detect the absence of a tooth rather than the presence of one. While these types of sensors also contain a permanent magnet, the electrical signal comes from an integrated circuit rather than a coil of wires around an iron pin. While these types of sensors are usually smaller than inductive ones, as well as being more reliable under ideal conditions and even more accurate, they are more susceptible to vibration damage. Because they may not have a sealed housing, water getting onto the sensor can cause problems with the IC. An inductive sensor’s plastic cover—provided it is intact—will remain waterproof throughout the unit’s life.


No matter the type of sensor used, the intention is the same. The sensor tells the ECU where the camshaft is, and that data point expands through the system to affect spark timing and the fuel mixture. If the sensor is bad, you might notice difficulty starting the engine, rough idling, poor overall performance, stalling, poor fuel efficiency and other problems, such as feeling like you’ve hit the rev limiter well before redline, like what happened with my bike. Because of how intimately the CMP works with the valves, timing and fuel delivery, it’s not ideal to operate a vehicle with a bad CMP for very long. When that check engine light illuminates on the dash, stop riding and check the engine error codes as soon as possible. If you have a GS-911 or other code reader, great. Otherwise, get thee to a repair shop.
Naturally, I was under a time crunch. I was headed for Daytona and the 50th Anniversary Superbike Celebration for the R 90 S the following Friday and didn’t run the codes and do my research until the Sunday before my departure. I wouldn’t be able to order the part until Tuesday. Even indicating the bike is “VOR”—BMW Motorrad’s internal code for “please ship the part as soon as humanly possible”—I might not get the part in time. I called Morton’s Motorcycles at 9:01 Tuesday morning—fresh from a painfully invasive dental procedure—and got the order in. The camshaft position sensor (p/n 12 72 8 523 317) was $114.99; the accompanying O-ring (p/n 12 14 1 748 398) was $6.99. My 10% MOA Parts Rebate got the parts cost under $110.
(Note: The same CMP and O-ring part numbers apply to multiple bikes, including the C 600 Sport; C 650 GT; F 750 GS; F 850 GSA and GS; HP4 Race; K 1600 Bagger, GT and GTL; liquid-cooled R 1200 GSA, GS, R, RS and RT; and S 1000 R, RR and XR. Each bike may use a different mounting bolt, so be sure to check with your dealer to ensure you get the right parts for your bike.)
Replacing the sensor was simple. I grabbed a disposable baking pan to catch the oil that would come out when I removed the sensor. I used wire cutters to nip off the head of the zip tie securing the sensor’s wiring to ensure I didn’t damage the wires. A T30 driver got the bolt out and I used a small flathead screwdriver to carefully dislodge the sensor—the O-ring makes it really snug. Nothing looked wrong with the sensor—no metal residue means no bad engine things going on—and the oil looked fine as well. Sensors just fail sometimes due to heat, vibration and time. Even though I found the loose coil, it wasn’t at fault and I felt pretty satisfied that I hadn’t done anything wrong to cause this problem.
I coated the new O-ring with a little of the escaped engine oil, put it on the sensor and put the sensor in place, using the bolt to hold it in place. The O-ring wants to squeeze the sensor out of place, so it got a little fiddly. I torqued the bolt to 8 Nm, and used a zip tie to re-secure the wiring after I plugged it into the sensor. After a wipe-down, I verified I’d gotten everything where I wanted it, topped up the oil and turned the bike on.
The bike started right up, the check engine light didn’t come back on and no oil leaked out from where the sensor goes. Over the course of a 20-mile test ride, I kept the bike above 4,000 RPM as much as I could, even pushing it towards 8,000 for a stretch on a wide, clear road. Everything seemed to be operating as it should and no oil was leaking, so I cautiously chalked this repair up as a success.
It poured down rain the whole day after I replaced the sensor, so the next time I rode the bike was to start my trip to Daytona. It’s not how I prefer to do things, but the short time meant some concessions to my comfort levels had to be made. As it turned out, I actually fixed the problem thanks to the GS-911, having the appropriate tools, some good advice from mentors and quick turnaround on the parts order from my nearest dealer. Over 1,500 miles later, including two long days on the freeway, the symptoms have not returned and the bike appears to be running fine!


