brendan-w / python-OBD

OBD-II serial module for reading engine data
GNU General Public License v2.0
1.02k stars 360 forks source link

Dropping frame in multi-frame response not marked as FF or CF #254

Closed Peskedor closed 1 year ago

Peskedor commented 1 year ago

I'm currently trying to get the DTCs of my car, which works fine when the ignition is on - as soon as I start the engine the library breaks:

[obd.obd] Sending command: b'07': Get DTCs from the current/last driving cycle [obd.elm327] write: b'\r' [obd.elm327] read: b'18 DA F1 11 04 41 0C 17 10 \r18 DA F1 28 02 47 00 \r18 DA F1 18 02 47 00 \r18 DA F1 40 02 47 00 \r18 DA F1 11 06 47 02 22 6D 22 6E \r18 DA F1 11 03 41 0D 00 \r18 DA F1 11 03 41 11 48 \r\r>' [obd.protocols.protocol_can] Dropping frame in multi-frame response not marked as FF or CF [obd.protocols.protocol_can] Dropping frame in multi-frame response not marked as FF or CF [obd.protocols.protocol_can] Dropping frame in multi-frame response not marked as FF or CF [obd.protocols.protocol_can] Dropping frame in multi-frame response not marked as FF or CF [obd.protocols.protocol_can] Never received frame marked FF

With engine stopped and ignition on: [obd.obd] Sending command: b'07': Get DTCs from the current/last driving cycle [obd.elm327] write: b'\r' [obd.elm327] read: b'18 DA F1 40 02 47 00 \r18 DA F1 11 06 47 02 22 6D 22 6E \r\r>'

Peskedor commented 1 year ago

The second the engine turns on everything gets messed up, very odd 🤔 More debug info:

[obd.obd] ======================= python-OBD (v0.7.1) ======================= [obd.obd] Using scan_serial to select port [obd.obd] Available ports: ['/dev/rfcomm0'] [obd.obd] Attempting to use port: /dev/rfcomm0 [obd.elm327] Initializing ELM327: PORT=/dev/rfcomm0 BAUD=auto PROTOCOL=auto [obd.elm327] Response from baud 38400: b'?\r\r>' [obd.elm327] Choosing baud 38400 [obd.elm327] write: b'ATZ\r' [obd.elm327] wait: 1 seconds [obd.elm327] read: b'\r\rELM327 v1.5\r\r>' [obd.elm327] write: b'ATE0\r' [obd.elm327] read: b'ATE0\rOK\r\r>' [obd.elm327] write: b'ATH1\r' [obd.elm327] read: b'OK\r\r>' [obd.elm327] write: b'ATL0\r' [obd.elm327] read: b'OK\r\r>' [obd.elm327] write: b'AT RV\r' [obd.elm327] read: b'13.6V\r\r>' [obd.elm327] write: b'ATSP0\r' [obd.elm327] read: b'OK\r\r>' [obd.elm327] write: b'0100\r' [obd.elm327] read: b'SEARCHING...\r18 DA F1 40 06 41 00 80 00 00 01 \r18 DA F1 11 06 41 00 BF DF A8 93 \r18 DA F1 28 06 41 00 80 00 00 01 \r18 DA F1 18 06 41 00 80 00 00 01 \r18 DA F1 11 03 41 0D 00 \r18 DA F1 11 03 41 11 26 \r\r>' [obd.elm327] write: b'ATDPN\r' [obd.elm327] read: b'A7\r\r>' [obd.protocols.protocol_can] Dropping frame in multi-frame response not marked as FF or CF [obd.protocols.protocol_can] Dropping frame in multi-frame response not marked as FF or CF [obd.protocols.protocol_can] Dropping frame in multi-frame response not marked as FF or CF [obd.protocols.protocol_can] Never received frame marked FF [obd.protocols.protocol] map ECU 24 --> ENGINE [obd.protocols.protocol] map ECU 40 --> UNKNOWN [obd.protocols.protocol] map ECU 64 --> UNKNOWN [obd.elm327] Connected Successfully: PORT=/dev/rfcomm0 BAUD=38400 PROTOCOL=7 [obd.obd] querying for supported commands [obd.obd] Sending command: b'0100': Supported PIDs [01-20] [obd.elm327] write: b'0100\r' [obd.elm327] read: b'18 DA F1 40 06 41 00 80 00 00 01 \r18 DA F1 28 06 41 00 80 00 00 01 \r18 DA F1 11 06 41 00 BF DF A8 93 \r18 DA F1 18 06 41 00 80 00 00 01 \r18 DA F1 11 04 41 0C 0A 3B \r18 DA F1 11 03 41 0D 00 \r18 DA F1 11 03 41 11 26 \r\r>' [obd.protocols.protocol_can] Dropping frame in multi-frame response not marked as FF or CF [obd.protocols.protocol_can] Dropping frame in multi-frame response not marked as FF or CF [obd.protocols.protocol_can] Dropping frame in multi-frame response not marked as FF or CF [obd.protocols.protocol_can] Dropping frame in multi-frame response not marked as FF or CF [obd.protocols.protocol_can] Never received frame marked FF [obd.obd] Sending command: b'0120': Supported PIDs [21-40] [obd.elm327] write: b'0120\r' [obd.elm327] read: b'18 DA F1 28 06 41 20 00 00 00 01 \r18 DA F1 40 06 41 20 00 00 00 01 \r18 DA F1 18 06 41 20 00 00 00 01 \r18 DA F1 11 06 41 20 A0 07 F1 19 \r18 DA F1 11 03 41 04 39 \r18 DA F1 11 04 41 0C 0A 58 \r18 DA F1 11 03 41 0D 00 \r18 DA F1 11 03 41 11 26 \r\r>' [obd.protocols.protocol_can] Dropping frame in multi-frame response not marked as FF or CF [obd.protocols.protocol_can] Dropping frame in multi-frame response not marked as FF or CF [obd.protocols.protocol_can] Dropping frame in multi-frame response not marked as FF or CF [obd.protocols.protocol_can] Dropping frame in multi-frame response not marked as FF or CF [obd.protocols.protocol_can] Dropping frame in multi-frame response not marked as FF or CF [obd.protocols.protocol_can] Never received frame marked FF [obd.obd] Sending command: b'0140': Supported PIDs [41-60] [obd.elm327] write: b'0140\r' [obd.elm327] read: b'18 DA F1 18 06 41 40 40 00 00 00 \r18 DA F1 28 06 41 40 40 00 00 00 \r18 DA F1 11 06 41 40 FE D0 80 05 \r18 DA F1 40 06 41 40 40 00 00 00 \r18 DA F1 11 03 41 04 39 \r18 DA F1 11 04 41 0C 0A 32 \r18 DA F1 11 03 41 0D 00 \r18 DA F1 11 03 41 11 25 \r\r>' [obd.protocols.protocol_can] Dropping frame in multi-frame response not marked as FF or CF [obd.protocols.protocol_can] Dropping frame in multi-frame response not marked as FF or CF [obd.protocols.protocol_can] Dropping frame in multi-frame response not marked as FF or CF [obd.protocols.protocol_can] Dropping frame in multi-frame response not marked as FF or CF [obd.protocols.protocol_can] Dropping frame in multi-frame response not marked as FF or CF [obd.protocols.protocol_can] Never received frame marked FF [obd.obd] Sending command: b'0600': Supported MIDs [01-20] [obd.elm327] write: b'0600\r' [obd.elm327] read: b'18 DA F1 11 06 46 00 CC 00 00 01 \r18 DA F1 11 03 41 04 39 \r18 DA F1 11 04 41 0C 0A 01 \r18 DA F1 11 03 41 0D 00 \r18 DA F1 11 03 41 11 25 \r\r>' [obd.protocols.protocol_can] Dropping frame in multi-frame response not marked as FF or CF [obd.protocols.protocol_can] Dropping frame in multi-frame response not marked as FF or CF [obd.protocols.protocol_can] Dropping frame in multi-frame response not marked as FF or CF [obd.protocols.protocol_can] Dropping frame in multi-frame response not marked as FF or CF [obd.protocols.protocol_can] Dropping frame in multi-frame response not marked as FF or CF [obd.protocols.protocol_can] Never received frame marked FF [obd.obd] No valid OBD Messages returned [obd.obd] No valid data for PID listing command: b'0600': Supported MIDs [01-20] [obd.obd] finished querying with 15 commands supported [obd.obd] =================================================================== Connection Status: Car Connected [obd.obd] Sending command: b'07': Get DTCs from the current/last driving cycle [obd.elm327] write: b'07\r' [obd.elm327] read: b'18 DA F1 18 02 47 00 \r18 DA F1 11 06 47 02 22 6D 22 6E \r18 DA F1 40 02 47 00 \r18 DA F1 28 02 47 00 \r18 DA F1 11 03 41 04 3A \r18 DA F1 11 04 41 0C 0A 45 \r18 DA F1 11 03 41 0D 00 \r18 DA F1 11 03 41 11 25 \r\r>' [obd.protocols.protocol_can] Dropping frame in multi-frame response not marked as FF or CF [obd.protocols.protocol_can] Dropping frame in multi-frame response not marked as FF or CF [obd.protocols.protocol_can] Dropping frame in multi-frame response not marked as FF or CF [obd.protocols.protocol_can] Dropping frame in multi-frame response not marked as FF or CF [obd.protocols.protocol_can] Dropping frame in multi-frame response not marked as FF or CF [obd.protocols.protocol_can] Never received frame marked FF DTC Codes: []

Peskedor commented 1 year ago

Tested 2 different Bluetooth adapters + a USB one. All of them work just fine when the engine isn't running, the second it turns on every single command breaks.