scapy.contrib.loraphy2wan¶
Copyright (C) 2020 Sebastien Dudek (@FlUxIuS @PentHertz)
-
class
scapy.contrib.loraphy2wan.ADRParamSetupAns(*args, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
fields_desc¶
-
-
class
scapy.contrib.loraphy2wan.ADRParamSetupReq(*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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |LIMIT E|DELAY E| +-+-+-+-+-+-+-+-+ Fig. ADRParamSetupReqADRParamSetupReq fields¶ Limit_exp
BitField(4 bits)0Delay_exp
BitField(4 bits)0
-
-
class
scapy.contrib.loraphy2wan.ADRparam(*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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |LIMIT E|DELAY E| +-+-+-+-+-+-+-+-+ Fig. ADRparamADRparam fields¶ Limit_exp
BitField(4 bits)0Delay_exp
BitField(4 bits)0
-
-
class
scapy.contrib.loraphy2wan.DLsettings(*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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |O|RX1DR|RX2 DAT| +-+-+-+-+-+-+-+-+ Fig. DLsettingsDLsettings fields¶ OptNeg
BitField(1 bit)0RX1DRoffset
XBitField(3 bits)0RX2_Data_rate
XBitField(4 bits)0
-
-
class
scapy.contrib.loraphy2wan.DataRate_TXPower(*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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |DATARAT|TXPOWER| +-+-+-+-+-+-+-+-+ Fig. DataRate_TXPowerDataRate_TXPower fields¶ DataRate
XBitField(4 bits)0TXPower
XBitField(4 bits)0
-
-
class
scapy.contrib.loraphy2wan.DevAddrElem(*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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | NWKID | NWKADDR | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+ Fig. DevAddrElemDevAddrElem fields¶ NwkID
0NwkAddr
b'\x00\x00\x00'
-
-
class
scapy.contrib.loraphy2wan.DevLoraWANversion(*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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | RFU | MINOR | +-+-+-+-+-+-+-+-+ Fig. DevLoraWANversionDevLoraWANversion fields¶ RFU
BitField(4 bits)0Minor
BitField(4 bits)1
-
-
class
scapy.contrib.loraphy2wan.DevStatusAns(*args, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
-
class
scapy.contrib.loraphy2wan.DevStatusAns_Status(*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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |RFU| MARGIN | +-+-+-+-+-+-+-+-+ Fig. DevStatusAns_StatusDevStatusAns_Status fields¶ RFU
XBitField(2 bits)0Margin
XBitField(6 bits)0
-
-
class
scapy.contrib.loraphy2wan.DevStatusReq(*args, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
-
class
scapy.contrib.loraphy2wan.DeviceTimeAns(*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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | SECONDSSINCEEPOCH | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | FRACSECOND | +-+-+-+-+-+-+-+-+ Fig. DeviceTimeAnsDeviceTimeAns fields¶ SecondsSinceEpoch
0FracSecond
0
-
-
class
scapy.contrib.loraphy2wan.DeviceTimeReq(*args, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
fields_desc¶
-
-
class
scapy.contrib.loraphy2wan.DlChannelAns(*args, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
-
class
scapy.contrib.loraphy2wan.DlChannelReq(*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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | CHINDEX | FREQ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+ Fig. DlChannelReqDlChannelReq fields¶ ChIndex
0Freq
0
-
-
class
scapy.contrib.loraphy2wan.DrRange(*args, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
-
class
scapy.contrib.loraphy2wan.DutyCycleAns(*args, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
fields_desc¶
-
-
class
scapy.contrib.loraphy2wan.DutyCyclePL(*args, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
-
class
scapy.contrib.loraphy2wan.DutyCycleReq(*args, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
-
class
scapy.contrib.loraphy2wan.EIRP_DwellTime(*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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |RFU|D|U|MAXEIRP| +-+-+-+-+-+-+-+-+ Fig. EIRP_DwellTimeEIRP_DwellTime fields¶ RFU
BitField(2 bits)0DownlinkDwellTime
BitEnumField(1 bit)0UplinkDwellTime
BitEnumField(1 bit)0MaxEIRP
BitEnumField(4 bits)0
-
-
class
scapy.contrib.loraphy2wan.FCtrl_DownLink(*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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |A|A|A|F|FOPTSLE| +-+-+-+-+-+-+-+-+ Fig. FCtrl_DownLinkFCtrl_DownLink fields¶ ADR
BitField(1 bit)0ADRACKReq
BitField(1 bit)0ACK
BitField(1 bit)0FPending
BitField(1 bit)0FOptsLen
BitFieldLenField(4 bits)0
-
-
class
scapy.contrib.loraphy2wan.FCtrl_UpLink(*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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |A|A|A|C|FOPTSLE| +-+-+-+-+-+-+-+-+ Fig. FCtrl_UpLinkFCtrl_UpLink fields¶ ADR
BitField(1 bit)0ADRACKReq
BitField(1 bit)0ACK
BitField(1 bit)0ClassB
BitField(1 bit)0FOptsLen
BitFieldLenField(4 bits)0
-
-
class
scapy.contrib.loraphy2wan.FHDR(*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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | DEVADDR | FCTRL | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | FCTRL | FCNT | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | FOPTS UP | FOPTS DOWN | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. FHDRFHDR fields¶ DevAddr
PacketListField(Cond)[b'']FCtrl
PacketListField(Cond)[b'']FCtrl
PacketListField(Cond)[b'']FCnt
LEShortField(Cond)0FOpts_up
PacketListField(Cond)[b'']FOpts_down
PacketListField(Cond)[b'']
-
-
class
scapy.contrib.loraphy2wan.FOpts(*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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | FOPTS UP | FOPTS DOWN | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. FOptsFOpts fields¶ FOpts_up
PacketListField(Cond)[b'']FOpts_down
PacketListField(Cond)[b'']
-
-
scapy.contrib.loraphy2wan.FOptsDownShow(pkt)¶
-
scapy.contrib.loraphy2wan.FOptsUpShow(pkt)¶
-
class
scapy.contrib.loraphy2wan.FRMPayload(*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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | DATAPAYLOAD | DATAPAYLOAD | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | JOIN REQUEST FIELD | JOIN ACCEPT FIELD | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | JOIN ACCEPT ENCRYPTED | REJOIN REQUEST FIELD | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. FRMPayloadFRMPayload fields¶ DataPayload
StrField(Cond)b''DataPayload
StrField(Cond)b''Join_Request_Field
PacketListField(Cond)[b'']Join_Accept_Field
PacketListField(Cond)[b'']Join_Accept_Encrypted
StrField(Cond)0ReJoin_Request_Field
PacketListField(Cond)[b'']
-
-
class
scapy.contrib.loraphy2wan.ForceRejoinReq(*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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |RFU|PERIO|MAX R|R|REJOI| DR | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. ForceRejoinReqForceRejoinReq fields¶ RFU
BitField(2 bits)0Period
BitField(3 bits)0Max_Retries
BitField(3 bits)0RFU
BitField(1 bit)0RejoinType
BitField(3 bits)0DR
BitField(4 bits)0
-
-
class
scapy.contrib.loraphy2wan.Join_Accept(*args, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
dcflist= False¶
-
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | JOINAPPNONCE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | NETID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | DEVADDR | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |O|RX1DR|RX2 DAT| RXDELAY | CFLIST | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. Join_AcceptJoin_Accept fields¶ JoinAppNonce
0NetID
0DevAddr
0OptNeg
BitField(1 bit)0RX1DRoffset
XBitField(3 bits)0RX2_Data_rate
XBitField(4 bits)0RxDelay
0CFList
StrFixedLenField(Cond)b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
-
-
class
scapy.contrib.loraphy2wan.Join_Request(*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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | APPEUI | DEVEUI | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | DEVNONCE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. Join_RequestJoin_Request fields¶ AppEUI
b'\x00\x00\x00\x00\x00\x00\x00\x00'DevEUI
b'\x00\x00\x00\x00\x00\x00\x00\x00'DevNonce
0
-
-
class
scapy.contrib.loraphy2wan.LinkADRAns(*args, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
-
class
scapy.contrib.loraphy2wan.LinkADRAns_Status(*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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | RFU |P|D|C| +-+-+-+-+-+-+-+-+ Fig. LinkADRAns_StatusLinkADRAns_Status fields¶ RFU
BitField(5 bits)0PowerACK
BitField(1 bit)0DataRate
BitField(1 bit)0ChannelMaskACK
BitField(1 bit)0
-
-
class
scapy.contrib.loraphy2wan.LinkADRReq(*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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |DATARAT|TXPOWER| CHMASK |R|CHMAS|NBTRANS| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. LinkADRReqLinkADRReq fields¶ DataRate
XBitField(4 bits)0TXPower
XBitField(4 bits)0ChMask
0RFU
XBitField(1 bit)0ChMaskCntl
XBitField(3 bits)0NbTrans
XBitField(4 bits)0
-
-
class
scapy.contrib.loraphy2wan.LinkCheckAns(*args, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
-
class
scapy.contrib.loraphy2wan.LinkCheckReq(*args, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
-
class
scapy.contrib.loraphy2wan.LoRa(*args, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
encrypted= True¶
-
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |PREAMBL| PHDR |PHDR CR|MTYPE| RFU |MAJ| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | DEVADDR | FCTRL | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | FCTRL | FCNT | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | FOPTS UP | FOPTS DOWN | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | FPORT | DATAPAYLOAD | DATAPAYLOAD | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | JOIN REQUEST FIELD |JOIN ACCEPT FIE| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | JOIN ACCEPT ENCRYPTED |REJOIN REQUEST | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | MIC | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | CRC | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. LoRaLoRa fields¶ Preamble
XBitField(4 bits)0PHDR
XBitField(16 bits)0PHDR_CRC
XBitField(4 bits)0MType
BitEnumField(3 bits)0RFU
BitField(3 bits)0Major
BitField(2 bits)0DevAddr
PacketListField(Cond)[b'']FCtrl
PacketListField(Cond)[b'']FCtrl
PacketListField(Cond)[b'']FCnt
LEShortField(Cond)0FOpts_up
PacketListField(Cond)[b'']FOpts_down
PacketListField(Cond)[b'']FPort
ByteEnumField(Cond)0DataPayload
StrField(Cond)b''DataPayload
StrField(Cond)b''Join_Request_Field
PacketListField(Cond)[b'']Join_Accept_Field
PacketListField(Cond)[b'']Join_Accept_Encrypted
StrField(Cond)0ReJoin_Request_Field
PacketListField(Cond)[b'']MIC
XIntField(Cond)0CRC
XShortField(Cond)0
-
version= '1.1'¶
-
-
class
scapy.contrib.loraphy2wan.MACCommand_down(*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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | CID | RESET | LINKCHECK | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | LINKADR | DUTYCYCLE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | RXPARAMSETUP | DEVSTATUSANS | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | NEWCHANNEL | RXTIMINGSETUP | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | TXPARAMSETUP | DLCHANNEL | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | REKEY | ADRPARAMSETUP | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | DEVICETIME |REJOINPARAMSETU| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+ Fig. MACCommand_downMACCommand_down fields¶ CID
0Reset
PacketListField(Cond)[b'']LinkCheck
PacketListField(Cond)[b'']LinkADR
PacketListField(Cond)[b'']DutyCycle
PacketListField(Cond)[b'']RXParamSetup
PacketListField(Cond)[b'']DevStatusAns
PacketListField(Cond)[b'']NewChannel
PacketListField(Cond)[b'']RXTimingSetup
PacketListField(Cond)[b'']TxParamSetup
PacketListField(Cond)[b'']DlChannel
PacketListField(Cond)[b'']Rekey
PacketListField(Cond)[b'']ADRParamSetup
PacketListField(Cond)[b'']DeviceTime
PacketListField(Cond)[b'']RejoinParamSetup
PacketListField(Cond)[b'']
-
-
class
scapy.contrib.loraphy2wan.MACCommand_up(*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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | CID | RESET | LINKCHECK | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | LINKADR | DUTYCYCLE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | RXPARAMSETUP | DEVSTATUS | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | NEWCHANNEL | RXTIMINGSETUP | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | TXPARAMSETUP | DLCHANNEL | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | REKEY | ADRPARAMSETUP | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | DEVICETIME | FORCEREJOIN | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | REJOINPARAMSETUP | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. MACCommand_upMACCommand_up fields¶ CID
0Reset
PacketListField(Cond)[b'']LinkCheck
PacketListField(Cond)[b'']LinkADR
PacketListField(Cond)[b'']DutyCycle
PacketListField(Cond)[b'']RXParamSetup
PacketListField(Cond)[b'']DevStatus
PacketListField(Cond)[b'']NewChannel
PacketListField(Cond)[b'']RXTimingSetup
PacketListField(Cond)[b'']TxParamSetup
PacketListField(Cond)[b'']DlChannel
PacketListField(Cond)[b'']Rekey
PacketListField(Cond)[b'']ADRParamSetup
PacketListField(Cond)[b'']DeviceTime
PacketListField(Cond)[b'']ForceRejoin
PacketListField(Cond)[b'']RejoinParamSetup
PacketListField(Cond)[b'']
-
-
class
scapy.contrib.loraphy2wan.MACPayload(*args, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
eFPort= False¶
-
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | DEVADDR | FCTRL | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | FCTRL | FCNT | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | FOPTS UP | FOPTS DOWN | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | FPORT | DATAPAYLOAD | DATAPAYLOAD | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | JOIN REQUEST FIELD |JOIN ACCEPT FIE| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | JOIN ACCEPT ENCRYPTED |REJOIN REQUEST | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+ Fig. MACPayloadMACPayload fields¶ DevAddr
PacketListField(Cond)[b'']FCtrl
PacketListField(Cond)[b'']FCtrl
PacketListField(Cond)[b'']FCnt
LEShortField(Cond)0FOpts_up
PacketListField(Cond)[b'']FOpts_down
PacketListField(Cond)[b'']FPort
ByteEnumField(Cond)0DataPayload
StrField(Cond)b''DataPayload
StrField(Cond)b''Join_Request_Field
PacketListField(Cond)[b'']Join_Accept_Field
PacketListField(Cond)[b'']Join_Accept_Encrypted
StrField(Cond)0ReJoin_Request_Field
PacketListField(Cond)[b'']
-
-
class
scapy.contrib.loraphy2wan.MHDR(*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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |MTYPE| RFU |MAJ| +-+-+-+-+-+-+-+-+ Fig. MHDRMHDR fields¶ MType
BitEnumField(3 bits)0RFU
BitField(3 bits)0Major
BitField(2 bits)0
-
-
class
scapy.contrib.loraphy2wan.NewChannelAns(*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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | RFU |D|C| +-+-+-+-+-+-+-+-+ Fig. NewChannelAnsNewChannelAns fields¶ RFU
XBitField(6 bits)0Dataraterangeok
BitField(1 bit)0Channelfrequencyok
BitField(1 bit)0
-
-
class
scapy.contrib.loraphy2wan.NewChannelAns_Status(*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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | RFU |D|C| +-+-+-+-+-+-+-+-+ Fig. NewChannelAns_StatusNewChannelAns_Status fields¶ RFU
XBitField(6 bits)0Dataraterangeok
BitField(1 bit)0Channelfrequencyok
BitField(1 bit)0
-
-
class
scapy.contrib.loraphy2wan.NewChannelReq(*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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | CHINDEX | FREQ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | MAXDR | MINDR | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. NewChannelReqNewChannelReq fields¶ ChIndex
0Freq
0MaxDR
XBitField(4 bits)0MinDR
XBitField(4 bits)0
-
-
class
scapy.contrib.loraphy2wan.PHYPayload(*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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |MTYPE| RFU |MAJ| DEVADDR | FCTRL | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | FCTRL | FCNT | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | FOPTS UP | FOPTS DOWN | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | FPORT | DATAPAYLOAD | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | DATAPAYLOAD | JOIN REQUEST FIELD | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | JOIN ACCEPT FIELD | JOIN ACCEPT ENCRYPTED | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | REJOIN REQUEST FIELD | MIC | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. PHYPayloadPHYPayload fields¶ MType
BitEnumField(3 bits)0RFU
BitField(3 bits)0Major
BitField(2 bits)0DevAddr
PacketListField(Cond)[b'']FCtrl
PacketListField(Cond)[b'']FCtrl
PacketListField(Cond)[b'']FCnt
LEShortField(Cond)0FOpts_up
PacketListField(Cond)[b'']FOpts_down
PacketListField(Cond)[b'']FPort
ByteEnumField(Cond)0DataPayload
StrField(Cond)b''DataPayload
StrField(Cond)b''Join_Request_Field
PacketListField(Cond)[b'']Join_Accept_Field
PacketListField(Cond)[b'']Join_Accept_Encrypted
StrField(Cond)0ReJoin_Request_Field
PacketListField(Cond)[b'']MIC
XIntField(Cond)0
-
-
class
scapy.contrib.loraphy2wan.RXParamSetupAns(*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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | RFU |R|R|C| +-+-+-+-+-+-+-+-+ Fig. RXParamSetupAnsRXParamSetupAns fields¶ RFU
XBitField(5 bits)0RX1DRoffsetACK
BitField(1 bit)0RX2DatarateACK
BitField(1 bit)0ChannelACK
BitField(1 bit)0
-
-
class
scapy.contrib.loraphy2wan.RXParamSetupAns_Status(*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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | RFU |R|R|C| +-+-+-+-+-+-+-+-+ Fig. RXParamSetupAns_StatusRXParamSetupAns_Status fields¶ RFU
XBitField(5 bits)0RX1DRoffsetACK
BitField(1 bit)0RX2DatarateACK
BitField(1 bit)0ChannelACK
BitField(1 bit)0
-
-
class
scapy.contrib.loraphy2wan.RXParamSetupReq(*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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |O|RX1DR|RX2 DAT| FREQUENCY | +-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+ Fig. RXParamSetupReqRXParamSetupReq fields¶ OptNeg
BitField(1 bit)0RX1DRoffset
XBitField(3 bits)0RX2_Data_rate
XBitField(4 bits)0Frequency
0
-
-
class
scapy.contrib.loraphy2wan.RXTimingSetupAns(*args, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
fields_desc¶
-
-
class
scapy.contrib.loraphy2wan.RXTimingSetupReq(*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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | RFU | DEL | +-+-+-+-+-+-+-+-+ Fig. RXTimingSetupReqRXTimingSetupReq fields¶ RFU
XBitField(4 bits)0Del
XBitField(4 bits)0
-
-
class
scapy.contrib.loraphy2wan.RXTimingSetupReq_Settings(*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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | RFU | DEL | +-+-+-+-+-+-+-+-+ Fig. RXTimingSetupReq_SettingsRXTimingSetupReq_Settings fields¶ RFU
XBitField(4 bits)0Del
XBitField(4 bits)0
-
-
class
scapy.contrib.loraphy2wan.Redundancy(*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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |R|CHMAS|NBTRANS| +-+-+-+-+-+-+-+-+ Fig. RedundancyRedundancy fields¶ RFU
XBitField(1 bit)0ChMaskCntl
XBitField(3 bits)0NbTrans
XBitField(4 bits)0
-
-
class
scapy.contrib.loraphy2wan.RejoinParamSetupAns(*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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | RFU |T| +-+-+-+-+-+-+-+-+ Fig. RejoinParamSetupAnsRejoinParamSetupAns fields¶ RFU
BitField(7 bits)0TimeOK
BitField(1 bit)0
-
-
class
scapy.contrib.loraphy2wan.RejoinParamSetupReq(*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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |MAXTIME|MAXCOUN| +-+-+-+-+-+-+-+-+ Fig. RejoinParamSetupReqRejoinParamSetupReq fields¶ MaxTimeN
BitField(4 bits)0MaxCountN
BitField(4 bits)0
-
-
class
scapy.contrib.loraphy2wan.RejoinReq(*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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TYPE | NETID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | DEVEUI | RJCOUNT0 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+ Fig. RejoinReqRejoinReq fields¶ Type
0NetID
0DevEUI
b'\x00\x00\x00\x00\x00\x00\x00\x00'RJcount0
0
-
-
class
scapy.contrib.loraphy2wan.RekeyConf(*args, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
-
class
scapy.contrib.loraphy2wan.RekeyInd(*args, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
-
class
scapy.contrib.loraphy2wan.ResetConf(*args, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
-
class
scapy.contrib.loraphy2wan.ResetInd(*args, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
-
class
scapy.contrib.loraphy2wan.TxParamSetupAns(*args, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
fields_desc¶
-
-
class
scapy.contrib.loraphy2wan.TxParamSetupReq(*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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |RFU|D|U|MAXEIRP| +-+-+-+-+-+-+-+-+ Fig. TxParamSetupReqTxParamSetupReq fields¶ RFU
BitField(2 bits)0DownlinkDwellTime
BitEnumField(1 bit)0UplinkDwellTime
BitEnumField(1 bit)0MaxEIRP
BitEnumField(4 bits)0
-