|
15 | 15 | from scapy.contrib.automotive.uds import UDS, UDS_RDBI, UDS_DSC, UDS_IOCBI, \ |
16 | 16 | UDS_RC, UDS_RD, UDS_RSDBI, UDS_RDBIPR |
17 | 17 |
|
18 | | - |
19 | 18 | BMW_specific_enum = { |
20 | 19 | 0: "requestIdentifiedBCDDTCAndStatus", |
21 | 20 | 1: "requestSupportedBCDDTCAndStatus", |
@@ -252,10 +251,60 @@ def i2repr(self, pkt, x): |
252 | 251 |
|
253 | 252 |
|
254 | 253 | class SVK_Entry(Packet): |
| 254 | + process_classes = { |
| 255 | + "0x01": "HWEL", |
| 256 | + "0x02": "HWAP", |
| 257 | + "0x03": "HWFR", |
| 258 | + "0x05": "CAFD", |
| 259 | + "0x06": "BTLD", |
| 260 | + "0x08": "SWFL", |
| 261 | + "0x09": "SWFF", |
| 262 | + "0x0A": "SWPF", |
| 263 | + "0x0B": "ONPS", |
| 264 | + "0x0F": "FAFP", |
| 265 | + "0x1A": "TLRT", |
| 266 | + "0x1B": "TPRG", |
| 267 | + "0x07": "FLSL", |
| 268 | + "0x0C": "IBAD", |
| 269 | + "0x10": "FCFA", |
| 270 | + "0x1C": "BLUP", |
| 271 | + "0x1D": "FLUP", |
| 272 | + "0xC0": "SWUP", |
| 273 | + "0xC1": "SWIP", |
| 274 | + "0xA0": "ENTD", |
| 275 | + "0xA1": "NAVD", |
| 276 | + "0xA2": "FCFN", |
| 277 | + "0x04": "GWTB", |
| 278 | + "0x0D": "SWFK", |
| 279 | + } |
| 280 | + """ |
| 281 | + HWEL - Hardware (Elektronik) - Hardware (Electronics) |
| 282 | + HWAP - Hardwareauspraegung - Hardware Configuration |
| 283 | + HWFR - Hardwarefarbe - Hardware Color |
| 284 | + CAFD - Codierdaten - Coding Data |
| 285 | + BTLD - Bootloader - Bootloader |
| 286 | + SWFL - Software ECU Speicherimage - Software ECU Storage Image |
| 287 | + SWFF - Flash File Software - Flash File Software |
| 288 | + SWPF - Pruefsoftware - Testing Software |
| 289 | + ONPS - Onboard Programmiersystem - Onboard Programming System |
| 290 | + FAFP - FA2FP - FA2FP |
| 291 | + TLRT - Temporaere Loeschroutine - Temporary Deletion Routine |
| 292 | + TPRG - Temporaere Programmierroutine - Temporary Programming Routine |
| 293 | + FLSL - Flashloader Slave - Flashloader Slave |
| 294 | + IBAD - Interaktive Betriebsanleitung Daten - Interactive Operating Manual Data |
| 295 | + FCFA - Freischaltcode Fahrzeug-Auftrag - Vehicle Order Unlock Code |
| 296 | + BLUP - Bootloader-Update Applikation - Bootloader Update Application |
| 297 | + FLUP - Flashloader-Update Applikation - Flashloader Update Application |
| 298 | + SWUP - Software-Update Package - Software Update Package |
| 299 | + SWIP - Index Software-Update Package - Software Update Package Index |
| 300 | + ENTD - Entertainment Daten - Entertainment Data |
| 301 | + NAVD - Navigation Daten - Navigation Data |
| 302 | + FCFN - Freischaltcode Funktion - Function Unlock Code |
| 303 | + GWTB - Gateway-Tabelle - Gateway Table |
| 304 | + SWFK - BEGU: Detaillierung auf SWE-Ebene - BEGU: Detailing at SWE Level |
| 305 | + """ |
255 | 306 | fields_desc = [ |
256 | | - ByteEnumField("processClass", 0, {1: "HWEL", 2: "HWAP", 4: "GWTB", |
257 | | - 5: "CAFD", 6: "BTLD", 7: "FLSL", |
258 | | - 8: "SWFL"}), |
| 307 | + ByteEnumField("processClass", 0, process_classes), |
259 | 308 | XStrFixedLenField("svk_id", b"", length=4), |
260 | 309 | ByteField("mainVersion", 0), |
261 | 310 | ByteField("subVersion", 0), |
@@ -372,7 +421,6 @@ class WEBSERVER(Packet): |
372 | 421 | bind_layers(DEV_JOB, READ_MEM, identifier=0xffff) |
373 | 422 | bind_layers(DEV_JOB_PR, READ_MEM_PR, identifier=0xffff) |
374 | 423 |
|
375 | | - |
376 | 424 | bind_layers(UDS_RDBIPR, SVK, dataIdentifier=0xf101) |
377 | 425 | bind_layers(UDS_RDBIPR, SVK, dataIdentifier=0xf102) |
378 | 426 | bind_layers(UDS_RDBIPR, SVK, dataIdentifier=0xf103) |
@@ -438,7 +486,6 @@ class WEBSERVER(Packet): |
438 | 486 | bind_layers(UDS_RDBIPR, SVK, dataIdentifier=0xf13f) |
439 | 487 | bind_layers(UDS_RDBIPR, SVK, dataIdentifier=0xf140) |
440 | 488 |
|
441 | | - |
442 | 489 | UDS_RDBI.dataIdentifiers[0x0014] = "RDBCI_IS_LESEN_DETAIL_REQ" |
443 | 490 | UDS_RDBI.dataIdentifiers[0x0015] = "RDBCI_HS_LESEN_DETAIL_REQ" |
444 | 491 | UDS_RDBI.dataIdentifiers[0x0e80] = "AirbagLock" |
@@ -1505,7 +1552,7 @@ class WEBSERVER(Packet): |
1505 | 1552 | UDS_RDBI.dataIdentifiers[0x22fd] = "afterSalesServiceData_2200_22FF" |
1506 | 1553 | UDS_RDBI.dataIdentifiers[0x22fe] = "afterSalesServiceData_2200_22FF" |
1507 | 1554 | UDS_RDBI.dataIdentifiers[0x22ff] = "afterSalesServiceData_2200_22FF" |
1508 | | -UDS_RDBI.dataIdentifiers[0x2300] = "operatingData" # or RDBCI_BETRIEBSDATEN_LESEN_REQ # noqa E501 |
| 1555 | +UDS_RDBI.dataIdentifiers[0x2300] = "operatingData" # or RDBCI_BETRIEBSDATEN_LESEN_REQ # noqa E501 |
1509 | 1556 | UDS_RDBI.dataIdentifiers[0x2301] = "additionalOperatingData 2301-23FF" |
1510 | 1557 | UDS_RDBI.dataIdentifiers[0x2302] = "additionalOperatingData 2301-23FF" |
1511 | 1558 | UDS_RDBI.dataIdentifiers[0x2303] = "additionalOperatingData 2301-23FF" |
@@ -1831,13 +1878,13 @@ class WEBSERVER(Packet): |
1831 | 1878 | UDS_RDBI.dataIdentifiers[0x2503] = "ProgrammingCounterMax" |
1832 | 1879 | UDS_RDBI.dataIdentifiers[0x2504] = "FlashTimings" |
1833 | 1880 | UDS_RDBI.dataIdentifiers[0x2505] = "MaxBlocklength" |
1834 | | -UDS_RDBI.dataIdentifiers[0x2506] = "ReadMemoryAddress" # or maximaleBlockLaenge # noqa E501 |
| 1881 | +UDS_RDBI.dataIdentifiers[0x2506] = "ReadMemoryAddress" # or maximaleBlockLaenge # noqa E501 |
1835 | 1882 | UDS_RDBI.dataIdentifiers[0x2507] = "EcuSupportsDeleteSwe" |
1836 | 1883 | UDS_RDBI.dataIdentifiers[0x2508] = "GWRoutingStatus" |
1837 | 1884 | UDS_RDBI.dataIdentifiers[0x2509] = "RoutingTable" |
1838 | 1885 | UDS_RDBI.dataIdentifiers[0x2530] = "SubnetStatus" |
1839 | 1886 | UDS_RDBI.dataIdentifiers[0x2541] = "STATUS_CALCVN" |
1840 | | -UDS_RDBI.dataIdentifiers[0x3000] = "RDBI_CD_REQ" # or WDBI_CD_REQ |
| 1887 | +UDS_RDBI.dataIdentifiers[0x3000] = "RDBI_CD_REQ" # or WDBI_CD_REQ |
1841 | 1888 | UDS_RDBI.dataIdentifiers[0x300a] = "Codier-VIN" |
1842 | 1889 | UDS_RDBI.dataIdentifiers[0x37fe] = "Codierpruefstempel" |
1843 | 1890 | UDS_RDBI.dataIdentifiers[0x3f00] = "SVT-Ist" |
@@ -4864,7 +4911,7 @@ class WEBSERVER(Packet): |
4864 | 4911 | UDS_RC.routineControlIdentifiers[0x0f09] = "checkSignature" |
4865 | 4912 | UDS_RC.routineControlIdentifiers[0x0f0a] = "checkProgrammingStatus" |
4866 | 4913 | UDS_RC.routineControlIdentifiers[0x0f0b] = "ExecuteDiagnosticService" |
4867 | | -UDS_RC.routineControlIdentifiers[0x0f0c] = "SetEnergyMode" # or controlEnergySavingMode # noqa E501 |
| 4914 | +UDS_RC.routineControlIdentifiers[0x0f0c] = "SetEnergyMode" # or controlEnergySavingMode # noqa E501 |
4868 | 4915 | UDS_RC.routineControlIdentifiers[0x0f0d] = "resetSystemFaultMessage" |
4869 | 4916 | UDS_RC.routineControlIdentifiers[0x0f0e] = "timeControlledPowerDown" |
4870 | 4917 | UDS_RC.routineControlIdentifiers[0x0f0f] = "disableCommunicationOverGateway" |
|
0 commit comments