For the several months we have struggled to diagnose a vexing CAN Bus problem. Recall that the CAN Bus is a 5-volt communication network that is electrically isolated from the standard 12-volt operational circuits.

The CAN Bus provides the basic infrastructure of the modern electronic car that allows the engine to “talk” to the transmission, the shifter to “talk” to the transmission, the steering column to “talk” to the turn signal lights, and so on.

We jumped on the bleeding edge of innovation with our decision to install an all-electronic push button shifter from PCS. This shifter, the GSM 5000, has two CAN Bus networks: one communicates between the push button interface and the servo motor enclosure that physically moves a cable to click the transmission lever into PRND gears; the second CAN Bus exchanges data with the engine and transmission.

This second network provides vital safety features. For example, you can’t shift out of Park unless the brake pedal is depressed (the CAN Bus alerts the GSM unit that the brake lights are on). You also can’t shift into Reverse if the vehicle speed is more than a few miles per hour (again, the CAN bus on the transmission harness side sends vehicle speed data to the GSM).

The GSM main harness connects to the servo motor enclosure (the part that does the actual physical shifting) and transmits CAN Bus data on pins 3 and 4.

GSM harness connector with pins 3-4 CAN Bus

If everything is properly wired, the GSM setup will display the vehicle speed (obviously “00” since the car rests on our lift!) and indicates whether or not the brake pedal is engaged.

When we tried this, we got an “99” error indicating that no CAN Bus data was received (and the brake pedal indicator did not function at all).

We tested everything. Every wire was examined. The complete wiring schematic was reviewed. We sent the GSM back to PCS to be tested and re-calibrated. A new cable was installed. We swapped fuses. We checked the engine-transmission CAN Bus and verified that data was clearly transmitted. We checked terminal pin-outs for continuity. Everything was perfect. We attended the SEMA show in Las Vegas to talk to technical experts at GM Performance, Bosch, Hotwire Auto, Voxx, Dakota Digital, and other companies.

High and low CAN Bus signals

As a last resort, Bruce hooked up an oscilloscope to check the actual CAN Bus waveforms. We expected to see high and low signals in tandem, representing CAN “high” and CAN “low” digital codes, in a square wave format. We did get square waves, but the signal was a little noisy … still, not a big problem. Now what?

Finally, just to verify the obvious, each CAN Bus physical pin on the GSM harness side and on the engine/transmission side was measured for its actual voltage level (continuity had been verified previously). CAN “low” ranges from 1 to 2 volts, while CAN “high” is 2.5 to 3.5 volts. And this is exactly what we saw.

But wait! CAN “high” on the GSM turned out to be CAN “low” on the engine side of the harness. The CAN Bus leads must be mistakenly swapped!! We checked the documentation to verify pin positions and wire colors … and therein lies a tale.

As they say, don’t believe everything you read online. Unfortunately, this also applies to official documentation from reputable companies. GM Performance, the developer of the LS3-4L65E transmission “Connect and Cruise” package we installed, provides this pin assignment information:

CAN high (GM’s term for its CAN Bus is “GMLAN”) connects at pin A with a tan wire. CAN low connects at pin G with a tan/black wire. Crystal clear.

To merge the LS3 harness with the 4L65E transmission harness requires a “pass through” with the proper connectors at each end. We used a special bulkhead pass through from GMP that also provides flying leads to tap into the CAN Bus, battery power and ground, and other elements. Here is the documentation:

Whoops! CAN high connects at pin G, not pin A.

So inconsistent documentation was the root cause of our CAN Bus struggle. Now that the wiring specification tangle is straightened out, we can do CAN Bus after all.