| Pin # | Channel | Assignment |
| 01 | 1 | K |
| 02 | 1 | K-12VTERM |
| 03 | 1 | K-24VTERM |
| 04 | 2 | J1850 BUS |
| 05 | 1 and 2 | V- IN/GND |
| 06 | 1 | L |
| 07 | 1 | L-12VTERM |
| 08 | 1 | L-24VTERM |
| 09 | 1 | V+ IN |
| Configuration | Termination |
| ECU/Vehicle | No Additional jumpers |
| Tester/12V Vbat | Tie pins 2 and 7 to pin 9(Vbat) |
| Tester/24V Vbat | Tie Pins 3 and 8 to pin 9(Vbat) |
Note: Please see the documentation on the GM J1850 (DLC) card for info regarding the BDLC channel.
| Event name | Event meaning |
| GKWPWAKEFIVE | five baud wake up seen (Please see NOTE 1) |
| byte 0 - five baud address (tester) | |
| byte 1 - sync byte (ecu) | |
| byte 2 - first keybyte (ecu) | |
| byte 3 - second keybyte (ecu) | |
| byte 4 - inverted second keybyte (tester) | |
| byte 5 - inverted address (ecu) | |
| byte 6 - status 0 = timing good | |
| GKWPWAKEFAST | fast wake up seen |
| byte 0 - the wake up as interpretted by a uart, i.e. usually 0xf0 | |
| byte 1-5 - the start communication request message | |
| byte 6 - the start communication response message | |
| GKWPBUSIDLE | intermessage time elapsed since last byte |
| byte 0,1 - time expired (in units of half milliseconds network byte order) |
| IOCTL name | Function | Data field length/purpose |
| GKWPSETPTIMES | Set P Times | 24 data bytes:(half milliseconds, 'x86' byte order) |
| Byte 0,1 - P1 rx min | ||
| Byte 2,3 - P1 rx max | ||
| Byte 4,5 - P1 tx | ||
| Byte 6,7 - P2 rx min | ||
| Byte 8,9 - P2 rx max | ||
| Byte 10,11 - P2 tx | ||
| Byte 12,13 - P3 rx min | ||
| Byte 14,15 - P3 rx max | ||
| Byte 16,17 - P3 tx | ||
| Byte 18,19 - P4 rx min | ||
| Byte 20,21 - P4 rx max | ||
| Byte 22,23 - P4 tx | ||
| GKWPSETWTIMES | Set W Times | 30 data bytes:(half milliseconds, 'x86' byte order) |
| Byte 0,1 - W1 rx min | ||
| Byte 2,3 - W1 rx max | ||
| Byte 4,5 - W1 tx | ||
| Byte 6,7 - W2 rx min | ||
| Byte 8,9 - W2 rx max | ||
| Byte 10,11 - W2 tx | ||
| Byte 12,13 - W3 rx min | ||
| Byte 14,15 - W3 rx max | ||
| Byte 16,17 - W3 tx | ||
| Byte 18,19 - W4 rx min | ||
| Byte 20,21 - W4 rx max | ||
| Byte 22,23 - W4 tx | ||
| Byte 24,25 - W5 rx min | ||
| Byte 26,27 - W5 rx max | ||
| Byte 28,29 - W5 tx | ||
| GKWPDOWAKEUP | Send wake up | 0 data bytes: |
| GKWPGETBITTIME | Get Bit Time | 2 data bytes returned: bit time (microseconds, 'x86' byte order) 0x0060=10,417 bits/sec (10,400 bits/sec nominal) |
| GKWPSETBITTIME | Set Bit Time | 2 data bytes:bit time (microseconds, 'x86' byte order) 0x0060=10,417 bits/sec (10,400 bits/sec nominal) |
| GKWPSETNODEADDR | Set node address | 1 data bytes: Node Address |
| GKWPGETNODETYPE | Get node type | 1 data bytes returned: GKWPMONITOR=0x00, GKWPECU=0x01,GKWPTESTER=0x02 |
| GKWPSETNODETYPE | Set node type | 1 data bytes: GKWPMONITOR=0x00, GKWPECU=0x01,GKWPTESTER=0x02 |
| GKWPSETWAKEUPTYPE | Set wake up type to either "fast" or "five baud" | 1 data bytes: GKWPFAST=0x00,GKWPFIVEBAUD=0x02 |
| GKWPSETTARGADDR | Set target address | 1 data bytes: Address of node to wake up |
| GKWPSETKEYBYTES | Set keybytes | 2 data bytes: keybytes to send in five baud wake up process |
| GKWPSETSTARTREQ | Set start request | 5 data bytes: fast wake up start communication request |
| GKWPSETSTARTRESP | Set target address | 7 data bytes: fast wake up start communication response |
| GKWPSETPROTOCOL | Set protocol type | 1 data bytes: GKWPKWP2000=0x01, GKWPISO9141FORD=0x02 |
| GKWPGETLASTKEYBYTES | Get last key bytes | 2 data bytes returned: value of keybytes seen in last successful wake up (only currently implement for 5 baud) |
| GKWPSETLASTKEYBYTES | Set last key bytes | 2 data bytes:value GKWPGETLASTKEYBYTES returns until a successful wake up is seen. |
| Data name | Description |
| GKWPSTAT_KLINE | Message on K line (rx and tx) |
| GKWPSTAT_LLINE | Message on L line (rx and tx) |
| GKWPSTAT_ERR | General bus error (rx only) |
| GKWPSTAT_CSERR | Checksum error (rx only) |
| GKWPSTAT_CONTENTION | Bus contention is detected (rx only) |
| GKWPSTAT_BLOCK | Message recieved over multiple interrupts (rx only) |