BMW F-Series Gear Lever: Difference between revisions
m (Changed the part number tables around and added a "References" headline.) |
Projectgus (talk | contribs) No edit summary |
||
Line 1: | Line 1: | ||
==General Information== | ==General Information== | ||
Much of this information is based on articles by Project Gus <ref>https://www.projectgus.com/ | Much of this information is based on articles by Project Gus <ref>https://www.projectgus.com/tag/bmw-f-series-gws.html</ref>. Thank you for reverse engineering! | ||
===Pinout and Connector=== | ===Pinout and Connector=== | ||
Line 66: | Line 66: | ||
The Powertrain CAN Bus has a baud rate of 500kBaud. | The Powertrain CAN Bus has a baud rate of 500kBaud. | ||
GWS sends a "heartbeat" to CAN ID 0x55e and more frequent 4-byte GWS status message to CAN ID 0x197:<ref>https://www.projectgus.com/2022/07/bmw-f-series-gear-selector-part-three-success/</ref> | |||
{| class="wikitable" | |||
!Status message Byte | |||
!Meaning | |||
|- | |||
|0 | |||
|CRC8 of bytes 1-3 (poly=0x1d, init=0x0, xor=0x53) | |||
|- | |||
|1 | |||
|Counter value, 4 bits wide, should change each message, never 0x0F | |||
|- | |||
|2 | |||
|Lever position | |||
|- | |||
|3 | |||
|Park button (0xC0 normally, 0xD5 if Park is pressed) | |||
|} | |||
Lever position byte values include: | |||
{| class="wikitable" | |||
!Value | |||
!Meaning | |||
|- | |||
|0x0E | |||
|Centre middle | |||
|- | |||
|0x1E | |||
|Pushed "up" (towards front of car) | |||
|- | |||
|0x2E | |||
|Pushed "up" two notches | |||
|- | |||
|0x3E | |||
|Pushed "down" (towards back of car) | |||
|- | |||
|0x4E | |||
|Pushed "down" two notches | |||
|- | |||
|0x7E | |||
|Centre side | |||
|- | |||
|0x5E | |||
|Pushed "side and up" | |||
|- | |||
|0x6E | |||
|Pushed "side and down" | |||
|} | |||
To update the GWS appearance, message ID 0x3FD has to be sent every 50-100ms: | |||
{| class="wikitable" | |||
!Byte | |||
!Meaning | |||
|- | |||
|0 | |||
|CRC8 of bytes 1-4 (init=0x0, poly=0x1d, xor=0x53) | |||
|- | |||
|1 | |||
|4-bit counter (must increment each message), not 0x0F | |||
|- | |||
|2 | |||
|Payload byte 0 | |||
|- | |||
|3 | |||
|Payload byte 1 | |||
|- | |||
|4 | |||
|Payload byte 2 | |||
|} | |||
Payload byte 0 controls the GWS appearance: | |||
{| class="wikitable" | |||
!Payload byte 0 | |||
!Display | |||
|- | |||
|0x00 | |||
|Blank gear selection (appears off) | |||
|- | |||
|0x20 | |||
|P | |||
|- | |||
|0x80 | |||
|D | |||
|- | |||
|0x81 | |||
|D, can move to M/S | |||
|- | |||
|0x81 | |||
|M/S (if lever moved to side) | |||
|- | |||
|0x40 | |||
|R | |||
|- | |||
|0x60 | |||
|N | |||
|- | |||
| + 0x08 | |||
|To flash the selected gear light | |||
|} | |||
Payload bytes 1 & 2 are ignored by the GWS. | |||
==== CAN Diagnostics ==== | |||
BMW UDS uses "extended 11-bit ISO-TP addressing", and the GWS responds to at least some standard UDS requests sent to ID 0x5e (first byte of CAN messages).<ref>https://www.projectgus.com/2022/06/bmw-f-series-gear-selector-part-two-breakthrough/</ref> | |||
==Part Numbers== | ==Part Numbers== |
Revision as of 11:05, 11 July 2022
General Information
Much of this information is based on articles by Project Gus [1]. Thank you for reverse engineering!
Pinout and Connector
The BMW part number of the connector is 9132576-02, the TE part number is 2-929423-2 but the connector is not freely available from TE [2].
Pin | Wire Colour | Function | |
---|---|---|---|
1 | NC | ||
2 | NC | ||
3 | Red | PT-CAN Low | |
4 | Blue/Red | PT-CAN High | |
5 | White/Blue | PT-CAN2 Low | |
6 | White/Yellow | PT-CAN2 High | |
7 | Green/Brown | Enable(?) | |
8 | Brown | Ground | |
9 | NC | ||
10 | Red/Blue | +12V |
CAN Bus
The Powertrain CAN Bus has a baud rate of 500kBaud.
GWS sends a "heartbeat" to CAN ID 0x55e and more frequent 4-byte GWS status message to CAN ID 0x197:[3]
Status message Byte | Meaning |
---|---|
0 | CRC8 of bytes 1-3 (poly=0x1d, init=0x0, xor=0x53) |
1 | Counter value, 4 bits wide, should change each message, never 0x0F |
2 | Lever position |
3 | Park button (0xC0 normally, 0xD5 if Park is pressed) |
Lever position byte values include:
Value | Meaning |
---|---|
0x0E | Centre middle |
0x1E | Pushed "up" (towards front of car) |
0x2E | Pushed "up" two notches |
0x3E | Pushed "down" (towards back of car) |
0x4E | Pushed "down" two notches |
0x7E | Centre side |
0x5E | Pushed "side and up" |
0x6E | Pushed "side and down" |
To update the GWS appearance, message ID 0x3FD has to be sent every 50-100ms:
Byte | Meaning |
---|---|
0 | CRC8 of bytes 1-4 (init=0x0, poly=0x1d, xor=0x53) |
1 | 4-bit counter (must increment each message), not 0x0F |
2 | Payload byte 0 |
3 | Payload byte 1 |
4 | Payload byte 2 |
Payload byte 0 controls the GWS appearance:
Payload byte 0 | Display |
---|---|
0x00 | Blank gear selection (appears off) |
0x20 | P |
0x80 | D |
0x81 | D, can move to M/S |
0x81 | M/S (if lever moved to side) |
0x40 | R |
0x60 | N |
+ 0x08 | To flash the selected gear light |
Payload bytes 1 & 2 are ignored by the GWS.
CAN Diagnostics
BMW UDS uses "extended 11-bit ISO-TP addressing", and the GWS responds to at least some standard UDS requests sent to ID 0x5e (first byte of CAN messages).[4]
Part Numbers

No | LHD/RHD | Description | Part Number | Vehicles Used | Status | Tested |
---|---|---|---|---|---|---|
1 | RHD | Gear Selector Switch | 61 31 9296897 | F20, F21, F22, F23
F30, F31, F32, F33, F34, F36 |
Active | |
1 | RHD | Gear Selector Switch | 61 31 9291519 | Until 06/2013 | ||
1 | RHD | Gear Selector Switch | 61 31 9260969 | Until 08/2012 | ||
1 | RHD | Gear Selector Switch | 61 31 9253652 | Until 01/2011 | ||
1 | LHD | Gear Selector Switch | 61 31 9296896 | F20, F21, F22, F23
F30, F31, F32, F33, F34, F36 |
Active | |
1 | LHD | Gear Selector Switch | 61 31 9291517 | Until 11/2012 | ||
1 | LHD | Gear Selector Switch | 61 31 9260968 | Until 06/2013 | ||
1 | LHD | Gear Selector Switch | 61 31 9253651 | Until 01/2011 |
No | LHD/RHD | Description | Part Number | Vehicles Used | Status | Tested |
---|---|---|---|---|---|---|
2 | RHD | Gear Selector Switch, Sport | 61 31 7950385 | Active | ||
2 | RHD | Gear Selector Switch, Sport | 61 31 9296899 | F20, F21, F22, F23
F30, F31, F32, F33, F34, F36 |
Until 05/2018 | X |
2 | RHD | Gear Selector Switch, Sport | 61 31 9291521 | Until 11/2012 | ||
2 | RHD | Gear Selector Switch, Sport | 61 31 9260971 | Until 07/2012 | ||
2 | RHD | Gear Selector Switch, Sport | 61 31 9253654 | Until 01/2011 | ||
2 | LHD | Gear Selector Switch, Sport | 61 31 7950384 | Active | ||
2 | LHD | Gear Selector Switch, Sport | 61 31 9296898 | F20, F21, F22, F23
F30, F31, F32, F33, F34, F36 |
Until 01/2019 | |
2 | LHD | Gear Selector Switch, Sport | 61 31 9291520 | Until 06/2013 | ||
2 | LHD | Gear Selector Switch, Sport | 61 31 9260970 | Until 06/2013 | ||
2 | LHD | Gear Selector Switch, Sport | 61 31 9253653 | Until 01/2011 |
References
- ↑ https://www.projectgus.com/tag/bmw-f-series-gws.html
- ↑ https://www.te.com/usa-en/product-2-929423-2.html
- ↑ https://www.projectgus.com/2022/07/bmw-f-series-gear-selector-part-three-success/
- ↑ https://www.projectgus.com/2022/06/bmw-f-series-gear-selector-part-two-breakthrough/
- ↑ https://www.bmw-etk.info/parts-catalog/prd/BMW/VT/P/F20N/SH/125i/BRA/L/N/2015/05/57228/25/25_0519