scapy.contrib.automotive.bmw.definitions

class scapy.contrib.automotive.bmw.definitions.ENMT_REQ(*args, **kargs)

Bases: scapy.packet.Packet

aliastypes
fields_desc
Display RFC-like schema
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|RESPONSEREQUIRE|
+-+-+-+-+-+-+-+-+

                          Fig. ENMT_REQ                           
ENMT_REQ fields

responseRequired

ByteEnumField

0

class scapy.contrib.automotive.bmw.definitions.IOCBLI_REQ(*args, **kargs)

Bases: scapy.packet.Packet

aliastypes
fields_desc
Display RFC-like schema
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|INPUTOUTPUTLOCA|INPUTOUTPUTCONT|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                         Fig. IOCBLI_REQ                          
IOCBLI_REQ fields

inputOutputLocalIdentifier

ByteField

1

inputOutputControlParameter

ByteEnumField

0

class scapy.contrib.automotive.bmw.definitions.RDBLI_REQ(*args, **kargs)

Bases: scapy.packet.Packet

aliastypes
fields_desc
Display RFC-like schema
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|RECORDLOCALIDEN|
+-+-+-+-+-+-+-+-+

                          Fig. RDBLI_REQ                          
RDBLI_REQ fields

recordLocalIdentifier

ByteField

0

class scapy.contrib.automotive.bmw.definitions.RDS2TCM_REQ(*args, **kargs)

Bases: scapy.packet.Packet

aliastypes
fields_desc
Display RFC-like schema
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| DS2FAULTNUMBER|
+-+-+-+-+-+-+-+-+

                         Fig. RDS2TCM_REQ                         
RDS2TCM_REQ fields

DS2faultNumber

ByteField

0

class scapy.contrib.automotive.bmw.definitions.RDTCBS_REQ(*args, **kargs)

Bases: scapy.packet.Packet

aliastypes
fields_desc
Display RFC-like schema
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|  STATUSOFDTC  |           GROUPOFDTC          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                         Fig. RDTCBS_REQ                          
RDTCBS_REQ fields

statusOfDTC

ByteEnumField

0

groupOfDTC

ShortField

0

class scapy.contrib.automotive.bmw.definitions.REI_IDENT_REQ(*args, **kargs)

Bases: scapy.packet.Packet

aliastypes
fields_desc
Display RFC-like schema
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|IDENTIFICATIOND|
+-+-+-+-+-+-+-+-+

                        Fig. REI_IDENT_REQ                        
REI_IDENT_REQ fields

identificationDataTable

ByteEnumField

0

class scapy.contrib.automotive.bmw.definitions.RRRBA_REQ(*args, **kargs)

Bases: scapy.packet.Packet

aliastypes
fields_desc
Display RFC-like schema
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                         ROUTINEADDRESS                        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|MEMORYTYPEIDENT|
+-+-+-+-+-+-+-+-+

                          Fig. RRRBA_REQ                          
RRRBA_REQ fields

routineAddress

X3BytesField

0

memoryTypeIdentifier

ByteEnumField

0

class scapy.contrib.automotive.bmw.definitions.RRRBLI_REQ(*args, **kargs)

Bases: scapy.packet.Packet

aliastypes
fields_desc
Display RFC-like schema
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| ROUTINELOCALID|
+-+-+-+-+-+-+-+-+

                         Fig. RRRBLI_REQ                          
RRRBLI_REQ fields

routineLocalID

ByteField

0

class scapy.contrib.automotive.bmw.definitions.RSODTC_REQ(*args, **kargs)

Bases: scapy.packet.Packet

aliastypes
fields_desc
Display RFC-like schema
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|           GROUPOFDTC          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                         Fig. RSODTC_REQ                          
RSODTC_REQ fields

groupOfDTC

ShortField

0

class scapy.contrib.automotive.bmw.definitions.SPRBA_REQ(*args, **kargs)

Bases: scapy.packet.Packet

aliastypes
fields_desc
Display RFC-like schema
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                         ROUTINEADDRESS                        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|MEMORYTYPEIDENT|       ROUTINEEXITOPTION       |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                          Fig. SPRBA_REQ                          
SPRBA_REQ fields

routineAddress

X3BytesField

0

memoryTypeIdentifier

ByteEnumField

0

routineExitOption

StrField

0

class scapy.contrib.automotive.bmw.definitions.SPRBLI_REQ(*args, **kargs)

Bases: scapy.packet.Packet

aliastypes
fields_desc
Display RFC-like schema
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|LOCALIDENTIFIER|       ROUTINEEXITOPTION       |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                         Fig. SPRBLI_REQ                          
SPRBLI_REQ fields

localIdentifier

ByteEnumField

0

routineExitOption

StrField

b''

class scapy.contrib.automotive.bmw.definitions.STRBA_REQ(*args, **kargs)

Bases: scapy.packet.Packet

aliastypes
fields_desc
Display RFC-like schema
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                         ROUTINEADDRESS                        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|MEMORYTYPEIDENT|       ROUTINEENTRYOPTION      |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                          Fig. STRBA_REQ                          
STRBA_REQ fields

routineAddress

X3BytesField

0

memoryTypeIdentifier

ByteEnumField

0

routineEntryOption

StrField

0

class scapy.contrib.automotive.bmw.definitions.SVK(*args, **kargs)

Bases: scapy.packet.Packet

aliastypes
fields_desc
Display RFC-like schema
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|  PROG STATUS1 |  PROG STATUS2 |         ENTRIES COUNT         |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                           PROG DATE                           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|      PAD1     |                  PROG MILAGE                  |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|               |              PAD2             |    ENTRIES    |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|               |
+-+-+-+-+-+-+-+-+

                             Fig. SVK                             
SVK fields

prog_status1

ByteEnumField

0

prog_status2

ByteEnumField

0

entries_count

ShortField

0

prog_date

SVK_DateField

b'\x00\x00\x00'

pad1

ByteField

0

prog_milage

LEIntField

0

pad2

StrFixedLenField

0

entries

PacketListField

[]

prog_status_enum = {1: 'signature check and programming-dependencies check passed', 2: 'software entry invalid or programming-dependencies check failed', 3: 'software entry incompatible to hardware entry', 4: 'software entry incompatible with other software entry'}
class scapy.contrib.automotive.bmw.definitions.SVK_DateField(name, default)

Bases: scapy.fields.LEThreeBytesField

i2repr(pkt, x)
class scapy.contrib.automotive.bmw.definitions.SVK_Entry(*args, **kargs)

Bases: scapy.packet.Packet

aliastypes
extract_padding(p)
fields_desc
Display RFC-like schema
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|  PROCESSCLASS |             SVK ID            |  MAINVERSION  |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|   SUBVERSION  |  PATCHVERSION |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                          Fig. SVK_Entry                          
SVK_Entry fields

processClass

ByteEnumField

0

svk_id

StrFixedLenField

b''

mainVersion

ByteField

0

subVersion

ByteField

0

patchVersion

ByteField

0

class scapy.contrib.automotive.bmw.definitions.UDS2S_REQ(*args, **kargs)

Bases: scapy.packet.Packet

aliastypes
fields_desc
Display RFC-like schema
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| DS2ECUADDRESS |DS2REQUESTLENGT| DS2CONTROLBYTE|DS2REQUESTPARAM|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|               |
+-+-+-+-+-+-+-+-+

                          Fig. UDS2S_REQ                          
UDS2S_REQ fields

DS2ECUAddress

ByteField

0

DS2requestLength

ByteField

0

DS2ControlByte

ByteField

0

DS2requestParameters

StrField

0

class scapy.contrib.automotive.bmw.definitions.WDBLI_REQ(*args, **kargs)

Bases: scapy.packet.Packet

aliastypes
fields_desc
Display RFC-like schema
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|RECORDLOCALIDEN|          RECORDVALUE          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                          Fig. WDBLI_REQ                          
WDBLI_REQ fields

recordLocalIdentifier

ByteEnumField

0

recordValue

StrField

b''