Slik nullstilte jeg airbag-feilkode B0094 på Nissan Leaf over CAN-bussen, uten Consult eller Autel

Airbag-feilkoder på Nissan Leaf AZE0 kan leses og slettes over CAN uten Consult eller Autel. De fleste kilder på nettet sier at airbag-modulen på Nissan krever et av disse verktøyene fordi den ligger bak security access. Det stemmer ikke for denne modulen. Jeg gjorde det med en OVMS-modul til noen hundrelapper, etter at SRS-lampen begynte å blinke med feilkode B0094 (front crash zone sensor).
Advarsel: SRS er sikkerhetskritisk. Gjør du dette feil, kan du utløse en airbag eller sette systemet ut av funksjon. Alt under er gjort på egen bil og på eget ansvar. En aktiv crash-sensor-feil skal repareres fysisk. Å slette koden fjerner ikke feilen.
Utstyr
En OVMS-modul (ESP32 pluss LTE) i OBD-porten. Jeg brukte to funksjoner: Leaf-pluginet xnl for UDS/OBD mot vilkårlige ECU-er, og rå can tx for å sende en vilkårlig ramme på en vilkårlig buss. En annen CAN-adapter som sender rå rammer (for eksempel SocketCAN med cansend) gjør samme jobben.
CAN-topologi, Leaf AZE0 (2013-2016, 24 kWh)
can1 (EV-CAN) har traksjonsbatteri, lader og motor. LBC ligger på 0x79B med rx 0x7BB.
can2 (Car-CAN) har karosseri-ECU-ene, blant dem airbag-modulen. Airbag-ECU-en har request 0x752 og response 0x772 på hele AZE0-plattformen.
Lese DTC

Bilen må være våken (tenning på, eller v.e.on=yes). Ellers har airbag-modulen ikke strøm.
xnl obd can2 device 752 772 2101 # DTC-status / datablokkNissan koder DTC-ene i to byte. Hex oversettes slik til verkstedkode:
xnl obd can2 device 752 772 2103 # hendelseslogg
0x8094 -> B0094 front crash zone sensorBare B0094 lå i airbag-modulen. U-kodene og B2820 lå i andre moduler etter en skanning av hele bilen. De ble satt fordi modulene mistet kontakten med airbag-ECU-en midt i en transaksjon, og er ikke egne feil.
0xD266 -> U1266 komm-feil, annen modul
0xD232 -> U1232 komm-feil, annen modul
0xA820 -> B2820 komm-feil, annen modul
Slette: alle forsøk ble avvist
Slettetjenesten er UDS 0x14 (ClearDiagnosticInformation). Alle variantene ble avvist:
can can2 tx standard 752 03 14 FF FF -> 7F 14 12 subFunctionNotSupportedUDS-varianten fikk ikke noe svar, heller ikke en avvisning. En ECU som avviser en forespørsel svarer
can can2 tx standard 752 03 14 FF 00 -> 7F 14 12
can can2 tx standard 752 03 14 00 00 -> 7F 14 12
can can2 tx standard 752 04 14 FF FF FF -> (ingen svar)7F. Når det ikke kommer noe svar i det hele tatt, ble rammen forkastet på buss-nivå.
Rammene var for korte
OVMS sin can tx padder ikke opp til 8 databyte. 752 04 14 FF FF FF går ut med DLC 6. Nissan-ECU-er forkaster stille alle classic-CAN-rammer med DLC ulik 8. Alle slettforsøkene var 6 til 7 byte og ble kastet før modulen leste innholdet. Hindringen var rammelengden.
Isolasjonstest
Verifisert med TesterPresent (0x3E), padet til 8 byte:
can can2 tx standard 752 02 3E 00 FF FF FF FF FF -> 772: 03 7F 3E 12Med 8 byte kommer rammen fram, og ECU-en svarer.
Slettesekvensen som virker
Bilen må være våken, og alle rammer padet til 8 byte. Én kommando per linje, fordi OVMS-shellen ikke tåler ;:
# 1) Åpne diagnostikk-sesjon 0xC0 er positivt svar på
can can2 tx standard 752 02 10 C0 FF FF FF FF FF -> 772: 50 C0 (sesjon åpnet)
# 2) ClearDiagnosticInformation, UDS-form, 3-byte gruppe 0xFFFFFF
can can2 tx standard 752 04 14 FF FF FF FF FF FF -> 772: 01 54 (slettet)540x14 (0x14 pluss 0x40).
Bare UDS-formen 04 14 FF FF FF (3-byte gruppe 0xFFFFFF) godtas. KWP-variantene med 2-byte gruppe gir 7F 14 12. Det trengs ingen security access og ingen 0x27 seed/key: koden slettes direkte fra sesjon 0xC0. Alle rammer må være padet til 8 byte med FF.
Svarene fanges med snifferen rundt kommandoene:
re startEn aktiv feil settes på nyttB0094 kom tilbake under ett sekund etter
# ... send kommandoene ...
re list # trafikk på can2/772
re stop54. Slettingen fjerner den lagrede oppføringen. Er feilen fysisk til stede, setter ECU-en koden igjen med en gang. Slettesekvensen er derfor et verktøy for å verifisere en reparasjon: reparer maskinvaren, slett koden og se om den kommer tilbake. Kommer den tilbake, er feilen der fortsatt.
B0094 fysisk

Sensoren sitter inne i ladeluken i frontnesen, bak et deksel, og har gul SRS-kontakt. Den sitter altså ikke bak nedre grill. Delenummeret er Nissan 98581-3JA0A (Bosch). Sensoren er retningsbestemt, har orienteringspil og monteres samme vei som originalen. Den er støtfølsom.
Sub-tilstanden til B0094 skiller mellom sensor og kabling:
SENSOR FAIL / UNMATCH -> intern sensorfeil, bytt sensorDen endelige testen er å montere ny sensor, kjøre slettesekvensen og se om B0094 holder seg borte. Kommer koden tilbake, ligger feilen i kabelstrekket fram til sensorkontakten eller i ACU-kontakten under midtkonsollen.
DISCONNECT / COMM / GND-SHORT -> kabling/kontakt/jord, ikke bytt sensor
Jeg tar oppdrag på kjøretøydiagnostikk, CAN-reverse-engineering og integrasjon mellom bil og andre systemer, se kontaktsiden.


