This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

LAUNCHXL-CC1350: Smart RF Sniffer - configure custom PHY settings

Part Number: LAUNCHXL-CC1350
Other Parts Discussed in Thread: CC1350

Hi - 

I'm using a LAUNCHXL-CC1350, and am trying to capture packets from a device communicating over 802.15.4g. I think the device I'm trying to capture uses FEC and data whitening, but I'm not completely sure yet.

I've done some work to understand the radio parameters of the target device I want to capture, and the radio channel system has the following characteristics:

  • 915.0 MHz center frequency
  • 64 channels
  • Channel 0 @ 902.4 MHz
  • 400 kHz channel spacing
  • 2-FSK modulation
  • 150 kbps symbol/chip rate
  • Frequency Deviation 75.0 kHz

I'm trying to eventually make a system that can inter-operate with this channel system, but for right now my first goal is to be able to sniff the packets and retrieve the de-whitened data.

I made some changes to sniffer_agent_config.xml from the Smart RF Sniffer agent. I wasn't completely sure how to plug those changes into corresponding changes in the firmware. I saw another thread that seemed to give an example XML configuration file. (https://e2e.ti.com/support/wireless-connectivity/sub-1-ghz/f/156/p/765723/2830526?tisearch=e2e-sitesearch&keymatch=sniffer_agent_config.xml#2830526)

I think I understand the changes in the XML file, but I cannot tell what firmware changes were made. I'm able to build the firmware, and using Smart RF studio, I exported configuration files (in .c and .h) and have imported them into my CCS project. But I'm unsure how to make Smart RF Sniffer and the firmware cooperate.

Is there any documentation I can reference on how to get packet sniffing that matches my required parameters?

Thanks in advance.

-t.

  • Thanks very much for the reply. I am having difficulty seeing in the link provided how I can build (or configure) a sniffer that matches my required parameters. For instance, there's no pre-built sniffer firmware using 150 Ksymbols/second. If you look in the linked document, Table 18 shows 5 different firmwares, but none of them support a 150Kbps GFSK PHY.

    What I'm looking for is a description of how to get the sniffer to use the radio parameters I described in my original post. I will try to describe in better detail what I have, and what help I'm asking for.

    Configuration changes made to Smart RF Sniffer Agent:

    I made edits to the file sniffer_agent_config.xml

    I added a description for a PHY that I want to use (FSK 150 Kbps), which I added to the phy_type table using KEY=6

        <phy_type>
          <key>00</key><name>No Phy</name>
          <key>01</key><name>GFSK 50 Kbps</name>   
          <key>02</key><name>Simplelink Long Range 5 Kbps</name>
          <key>03</key><name>O-QPSK</name>       
          <key>04</key><name>GFSK 200 Kbps</name>
          <key>05</key><name>BLE 1 Mbps</name>
          <key>06</key><name>FSK 150 Kbps (TManning)</name>
        </phy_type>

    I added an entry in the phy_info table to select my phy_type entry:

        <phy_info>
    
          <!-- [FSK 150 Kpbs TManning ]-->
          <key>01</key><protocol_type_key>01</protocol_type_key><phy_type_key>06</phy_type_key>
            <freq_band_range_key>01</freq_band_range_key>
    
        ...

    I added an entry to the phy_desc table. This entry describes the channel spacing, number of channels, and frequency of channel zero:
        <phy_desc>
    
          <!-- [FSK 150 Kbps TManning] -->
           <key>08</key><freq_band_key>01</freq_band_key><mod_info_key>00</mod_info_key>
            <spacing>0.4</spacing><channels>64</channels>  <first_ch_center>902.4</first_ch_center>
            <first_ch_num>0</first_ch_num>

    I added an entry to the fw_op_mode table:

        <fw_op_mode>
          
          ...  
    
          <!-- [802.15.4g] FSK 150 Kbps 915 MHz TManning -->
          <key>0x0019</key><fw_id>0x00</fw_id><fw_index>0x0B</fw_index><fw_type>CustomPhy</fw_type>
            <phy_info_key>01</phy_info_key><phy_desc_key>08</phy_desc_key><desc></desc>

    All these changes result in a new entry in Smart RF Sniffer Agent. I run the sniffer agent, and select the device configuration for my LaunchPad CC1350:

    My custom sniffer entry is at the end of that list. I noticed that none of the parameters are propogated into the fields of the UI:

    It seems like I have broken something by doing this because I am unable to start the sniffer. When I try to press start from the device configuration window, I receive an error:

    The questions I have at this point:

    Are there other configuration changes that I should make to sniffer_agent_config.xml?

    At this point, my question is how do I tie in these changes with the custom firmware I would need to run on the launchpad cc1350?

    Changes made to example sniffer_fw 

    I made a new project in TI CCS and imported the sniffer firmware included with the sniffer agent (SmartRF Packet Sniffer 2/sniffer_fw/source). I used the Code Export functionality in Smart RF Studio to export smartrf_settings.c/.h and added those two source files to my firmware project. I added the new include file to /source/devices/cc13x0lp/phy_tables.c:

    #include <15.4g/smartrf_asr_settings.h>

    I added my phy table entry:

    const Phy_Prop_15_4_g_Obj Phy_phyTableProp_15_4_g[] = 
    {
    ...
    {&ASRcmdPropRadioDivSetup, &ASRcmdFs, &ASRcmdPropRxAdv, &ASRcmdPropTxAdv, &ASRmode}, // TMANNING ADDED 802.15.4g entry
        {NULL, NULL, NULL, NULL, NULL}
    };
    

    And I modified the supported phy listing to include my new Phy:

    const Phy_Obj Phy_supportedPhys[] =
    {
    ...
    {PROPRIETARY_15_4_G, 5}
    };

    At this point, I'm somewhat stuck on how to link all this together so that the Sniffer agent can select the appropriate Phy to use when capturing.

    Any further assistance is greatly appreciated!

    -t.

  • As a follow up, I'm looking for something similar to the question asked in this thread:

    https://e2e.ti.com/support/wireless-connectivity/sub-1-ghz/f/156/t/765723?CCS-CC1310-Can-SmartRF-Sniffer-Agent-sniff-the-data-which-symbol-rate-is-500kbps-

    In the above, the request is made for a Phy that can support 500kbps symbol rate. The response included a new binary firmware and a sniffer_agent_config.xml to support it. 

    This is basically what I am looking for, but I want to know how to code the changes to the firmware myself.

    Thanks.

    -t.

  • Todd,

    I appreciate you providing all of this detailed information regarding your issue. I've consulted the subject matter expert and will get back to you shortly.

    Thanks,

    Seong

  • Thanks for the feedback. Is there any new information, or a new contact I can make to try and make progress on this issue?

    Thanks.

    -t.

  • Hi,

    Does fw_index = 0x0B (<fw_op_mode> in sniffer_agent_config.xml) match with item 10 (starting from 0) in the Phy_supportedPhys[] array (phy_tables.c)?

    The error indicate that sniffer agent do not find settings for the selected fw_index (0x0B in your case).

    Best Regards,

    R.M

  • Hi Todd,,

    Please find example for 150 Kbps below:

    2313.sniffer_agent_config.xml
    <?xml version="1.0" encoding="utf-8" ?>
    <!-- ***************************************************************************************************************** -->
    <!--
    SnifferAgent Config XML file
    
    <For Advanced User's Only>
    Valid ranges only indicate the range accepted by SnifferAgent.
    Values in the valid range may not work with target hardware or Wireshark. 
    
    Summary of XML tags:
    ====================
    <sniffer_agent_config>Config File Data<\sniffer_agent_config>
      
      ===================================================================
      Versions
      ===================================================================
    
      <xml_version>XML layout version</xml_version>
        Do Not Modify
    
      <program_version>Program version</program_version>
        Do Not Modify
      
      ===================================================================
      General Settings
      ===================================================================
    
      <general_cfg_data> Start general config data
    
        <max_ota_packet_size>Max ota packet size</max_ota_packet_size> 
          Valid Range:
            255 to Max Int32
              
        <max_zep_packet_size>Max (Wireshark) zep packet size</max_zep_packet_size> 
          Valid Range:
            127 to Max Int32
    
         <pipe_file_device_time>Pipe and file time</pipe_file_device_time>
          Changes time reported when a single device is selected and a file or pipe is used
          Default = Sniffer
          Valid Entries:
            Program - Time is based on UTS OS time, resolution is 100 nanoseconds
            Sniffer - Time is extacted from sniffer data to microsecods 
        
         <pipe_file_multiple_devices_time>Pipe and file time</pipe_file_multiple_devices_time>
          Changes time reported when multiple devices are selected and a file or pipe is used
          Default = Program
          Valid Entries:
            Program - Time is based on UTS OS time, resolution is 100 nanoseconds and works well one or multiple sniffers
            Sniffer - Time is extacted from sniffer data to microsecods, but times don't sync with multiple sniffers 
    
         <max_ws_queue_length>Max Wireshark queue length</max_ws_queue_length> 
          Maximum number of sniffer messages contained in the Wireshark processing thread
          Note = 0 is unlimited
          Valid Range:
            Int32 - 0 to Max Int32
    
        <max_filter_queue_length>Max capture filter length</max_filter_queue_length> 
          Maximum number of sniffer messages contained in the Filter processing thread
          Note = 0 is unlimited
          Valid Range:
            Int32 - 0 to Max Int32
    
        <max_rx tx_queue_length>Max capture rx tx length</max_rx tx_queue_length> 
          Maximum number of data packets messages contained in the rx tx processing threads
          Note = 0 is unlimited
          Valid Range:
            Int32 - 0 to Max Int32
    
        <udp_ping_timeout>Udp Ping Timeout</udp_ping_timeout> 
          Number of milliseconds to wait on a ping to keep arp entry active used by udp interface
          Default = 200
          Valid Range:
            Int32 - 0 to Max Int32
    
        <log_rx_bytes>Log incoming Rx bytes to operations log</log_rx_bytes>
         (Note using this option will slow down program performance) 
          Valid Range:
          true
          false (default)
    
        <log_rx_packets>Log incoming complete Rx packets to operations log</log_rx_packets>
         (Note using this option will slow down program performance) 
          Valid Range:
          true
          false (default)
    
        <log_tx_bytes>Log outgoing Tx bytes to operations log</log_tx_bytes>
         (Note using this option will slow down program performance) 
          Valid Range:
          true
          false (default) 
    
        <hide_ping_columns>Hide the device configuration ping data columns</hide_ping_columns>
          Valid Range:
          true
          false (default)
    
        <remove_status_rssi>Remove the last two payload bytes</remove_status_rssi> 
         (Note using this option will slow down OtaServer performance) 
          Valid Range:
          true  (default) 
          false 
    
         <max_packet_length>Maximum packet length</max_packet_length>
          Default = 2200
          Valid Range:
            UInt16 - 0 to Max UInt16
    
      </general_cfg_data> End general config data
    
      ===================================================================
      TI 802.15.4g
      ===================================================================
    
      <ti802_15_4g_cfg_data> Start TI 802.15.4g config data 
    
        <auto_reverse>Auto reverse Payload bytes as needed</auto_reverse> 
          Valid Range:
            true or false
    
        <fcs_24xx_format>Use FCS 24xx format</fcs_24xx_format> 
          Valid Range:
            true or false
    
        <add_channel>Add the channel number to the data stream</add_channel> 
          Valid Range:
            true or false
    
        <swap_hdr_bytes>Swap the message header bytes</swap_hdr_bytes> 
          Valid Range:
            true or false
    
        <reverse_fcs>Reverse the FCS if <auto_reverse> is true</reverse_fcs> 
          Valid Range:
            true or false
    
      </ti802_15_4g_cfg_data> End TI 802.15.4g config data  
    
      ===================================================================
      TI 802.15.4 
      ===================================================================
    
      <ti802_15_4_cfg_data> Start TI 802.15.4g config data  
    
        <remove_phy_header>Remove PHY header</remove_phy_header> 
          Valid Range:
            true or false
    
        <phy_header_length>Number PHY header bytes</phy_header_length> 
          Valid Range:
            UInt32 - 0 to Max UInt32
    
      </ti802_15_4_cfg_data> End TI 802.15.4g config data   
    
      ===================================================================
      Chip Set Settings
      ===================================================================
    
      <chip_set_name>Name for chip set data</chip_set_name> 
        Valid Entries:
          Ascii Text 
    
      <chip_set_data>Start chip set data
        
        <id>Chip number</id> 
          Valid Range:
            UInt16 -> Hexidecimal Number
            0x0000 - 0xFFFF
        
        <radio>Radio type</radio> 
          Valid Entries:
            DisplayOnly           - Display device info only
            Frequency             - COnfigure radio using frequencies
        
        <time>Packet time divisor</time> 
          Valid Range: 
            UInt32 -> Decimal Number
            (0 or empty -> No divisor needed)
        
        <rbit>Reverse Data Byte Bits</rbit> 
          Valid Range: 
            Yes          - Reverse data byte bits
            No           - Do not reverse data byte bits
    
        <lbnr>Leading Bytes Not To Reverse</lbnr> 
          Valid Range: 
            UInt16 -> Decimal Number
            0 - 65535
    
        <tbnr>Trailing Bytes Not To Reverse</tbnr> 
          Valid Range: 
            UInt16 -> Decimal Number
            0 - 65535
    
         <tlb>Trim Leading Bytes</tlb> 
          Valid Range:
            UInt16 -> Decimal Number
            0 - 65535
    
        <ttb>Trim Trailing Bytes</ttb> 
          Valid Range:
            UInt16 -> Decimal Number
            0 - 65535
    
      </chip_set_data>End chip set data
    
      ===================================================================
      Chip Names
      ===================================================================
    
      <chip_set_names>
    
        <chip_num_key>Unique chip number</chip_num_key>
          Valid Range:
            UInt16 - 0 to Max UInt16
    
        <chip_name>Chip name</chip_name>
          Valid Entries:
          ASCII text
    
      </chip_set_names>
    
      ===================================================================
      Firmware Description Data
      ===================================================================
      <fw_desc_data>
        Notes:
        Any field named <key> must a unique number for each line item in that table
        Any field named <xxxxxxxxx_key> must have a matching <key> int the supporting table.
        Any key values defined by other specs maybe less in size than the defined key range.
        Always use the spec data sizes when making keys.
    
        Basic table layout (Bottom Up)
        <fw_op_mode> uses <phy_info> <phy_desc>
          <phy_info> uses <protocol_type> <phy_type> <freq_band_range>
          <phy_desc> uses <freq_band> <mod_info>
    
        *******************************************************************
        Protocol Type
        Defined In TI Radio Packet Info Dissector
        *******************************************************************
    
        <protocol_type>
    
          <key>Unique protocol type key</key>
          Valid Range:
            UInt32 - 0 to Max UInt32
    
          <name>Protocol type name</name>           
          Valid Entries:
            Ascii Text
    
        </protocol_type>
    
        *******************************************************************
        Phy Type
        Defined In TI Radio Packet Info Dissector
        *******************************************************************
    
        <phy_type>
    
          <key>Unique phy type key/key>
          Valid Range:
            UInt32 - 0 to Max UInt32
    
          <name>Phy type name</name>           
          Valid Entries:
            Ascii Text
    
        </phy_type>
    
        *******************************************************************
        Freq Band Range
        Defined In TI Chameleon Sniffer
        *******************************************************************
    
        <freq_band_range>
    
          <key>Unique freq range band key</key>
          Valid Range:
            UInt32 - 0 to Max UInt32
    
          <name>Frequency band range name</name>           
          Valid Entries:
            Ascii Text
    
        </freq_band_range>
    
        *******************************************************************
        Frequency Band
        *******************************************************************
    
        <freq_band>
    
          <key>Unique freq band key</key>
          Valid Range:
            UInt32 - 0 to Max UInt32
    
          <name>Frequency band name</name>
          Valid Entries:
            Ascii Text
    
        </freq_band>
    
        *******************************************************************
        Modulation Info
        *******************************************************************
    
        <mod_info>
    
          <key>Unique modulation info key</key>
          Valid Range:
            UInt32 - 0 to Max UInt32
    
          <name>Modulation ame</name>
          Valid Entries:
            Ascii Text
    
        </freq_band>
    
        *******************************************************************
        Phy Info
        Defined In TI Chameleon Sniffer
        *******************************************************************
    
        <phy_info>
    
          <key>Unique firmware id key</key>
            UInt32 - 0 to Max UInt32
    
          <protocol_type_key>Unique protocol type key</protocol_type_key>
            Valid Entries:
              UInt32 - 0 to Max UInt32
    
          <phy_type_key>Phy type key</phy_type_key> 
            Valid Entries:
            UInt32 - 0 to Max UInt32
    
          <freq_band_range_key>Freq range band key</freq_band_range_key> 
            Valid Entries:
            UInt32 - 0 to Max UInt32
    
        </phy_info>
    
        *******************************************************************
        PHY Description
        *******************************************************************
    
        <phy_desc>
    
        <key>Unique phy desc key</key>
          Valid Range:
            UInt32 - 0 to Max UInt32
    
        <freq_band_key>Freq band key</freq_band_key>
          Valid Entries:
          UInt32 - 0 to Max UInt32
    
        <modulation>Modulation description</modulation>
          Valid Entries:
            Ascii Text
    
        <spacing>Channel spacing in MHz</spacing>
          Valid Entries:
            Double
    
        <channels>Total number of channels</channels> 
          Valid Range:
            UInt32 - 0 to Max UInt32
    
        <first_ch_center>First channel center frequency in MHz</first_ch_center> 
          Valid Entries:
            Double
    
        <first_ch_num>First channel number</first_ch_num> 
          Valid Entries:
            UInt32 - 0 to Max UInt32
    
        </phy_desc>
    
        *******************************************************************
        Firmware Operational Mode
        *******************************************************************
    
        <fw_op_mode>
    
          <key>Unique firmware operational mode key</key>
            UInt32 - 0 to Max UInt32
    
          <fw_id>Firmware id key</fw_id>
            Valid Entries:
            UInt32 - 0 to Max UInt32
    
          <fw_index>Firmware index</fw_index>
            Valid Entries:
            UInt32 - 0 to Max UInt32
    
          <fw_type>Firmware Type</fw_type>
            Valid Entries:
            NamedPhy
            CustomPhy
    
          <phy_info_key>Phy info key</phy_info_key>
            Valid Entries:
            UInt32 - 0 to Max UInt32
    
          <phy_desc_key>Phy desc key</phy_desc_key> 
            Valid Entries:
            UInt32 - 0 to Max UInt32
    
          <desc>Optional description</desc>
          Valid Entries:
           ASCII text string
    
        </fw_op_mode>
    
      </fw_desc_data>
    
      ===================================================================
      ===================================================================
       -->
    <!-- ***************************************************************************************************************** -->
    <sniffer_agent_config>
      <!-- ***************************************************************************************************************** -->
      <!-- Versions -->
      <!-- ***************************************************************************************************************** -->
      <xml_version>1.0.3</xml_version>
      <program_version> - v1.7.0</program_version>
    
      <!-- ***************************************************************************************************************** -->
      <!-- General --> 
      <!-- ***************************************************************************************************************** -->
      <general_cfg_data>
        <max_ota_packet_size>4096</max_ota_packet_size>
        <max_zep_packet_size>127</max_zep_packet_size>
        <pipe_file_device_time>Sniffer</pipe_file_device_time>
        <pipe_file_multiple_devices_time>Sniffer</pipe_file_multiple_devices_time>
        <max_ws_queue_length>1000000</max_ws_queue_length> 
        <max_filter_queue_length>1000000</max_filter_queue_length> 
        <max_rx_tx_queue_length>250000</max_rx_tx_queue_length> 
        <udp_ping_timeout>200</udp_ping_timeout> 
        <log_rx_bytes>true</log_rx_bytes>
        <log_rx_packets>true</log_rx_packets>
        <log_tx_bytes>true</log_tx_bytes>
        <log_msg_bytes_out>true</log_msg_bytes_out>
        <hide_ping_columns>false</hide_ping_columns>
        <remove_status_rssi>true</remove_status_rssi> 
        <max_packet_length>2200</max_packet_length> 
      </general_cfg_data>
    
      <!-- ***************************************************************************************************************** -->
      <!-- TI 802.15.4g --> 
      <!-- ***************************************************************************************************************** -->
      <ti802_15_4g_cfg_data>
        <auto_reverse>true</auto_reverse> 
        <fcs_24xx_format>false</fcs_24xx_format> 
        <add_channel>false</add_channel> 
        <swap_hdr_bytes>true</swap_hdr_bytes> 
        <reverse_fcs>true</reverse_fcs> 
      </ti802_15_4g_cfg_data>
    
      <!-- ***************************************************************************************************************** -->
      <!-- TI 802.15.4 --> 
      <!-- ***************************************************************************************************************** -->
      <ti802_15_4_cfg_data>
        <remove_phy_header>true</remove_phy_header> 
        <phy_header_length>1</phy_header_length> 
      </ti802_15_4_cfg_data>
    
      <!-- ***************************************************************************************************************** -->
      <!-- Chip Set Settings --> 
      <!-- ***************************************************************************************************************** -->
      <chip_set_name>SnifferAgent Chip Set Data</chip_set_name>
      <chip_set_data>
        <!-- Configure Additional Chip Set Handling (use only if needed) -->                                          
        <!-- This is an example
        <chipNum>0000</chipNum><radio>Frequency</radio><time>00</time><rbit>No </rbit><lbnr>0</lbnr><tbnr>0</tbnr><tlb>0</tlb><ttb>0</ttb>
        -->
      </chip_set_data>
    
      <!-- ***************************************************************************************************************** -->
      <!-- Chip Names -->
      <!-- ***************************************************************************************************************** -->
      <chip_names_name>SnifferAgent Chip Set Names</chip_names_name>
      <chip_set_names>
        <chip_num_key>0x1350</chip_num_key><chip_name>CC1350</chip_name>
        <chip_num_key>0x1310</chip_num_key><chip_name>CC1310</chip_name>
        <chip_num_key>0x1312</chip_num_key><chip_name>CC1312R</chip_name>
        <chip_num_key>0x2650</chip_num_key><chip_name>CC2650</chip_name>
        <chip_num_key>0x2642</chip_num_key><chip_name>CC2642R</chip_name>
        <chip_num_key>0x2652</chip_num_key><chip_name>CC2652R</chip_name>
        <chip_num_key>0x1352</chip_num_key><chip_name>CC1352R</chip_name>
        <chip_num_key>0x1353</chip_num_key><chip_name>CC1352P</chip_name>
      </chip_set_names>
    
      <!-- ***************************************************************************************************************** -->
      <!-- Firmware Description Data --> 
      <!-- ***************************************************************************************************************** -->
      <fw_desc_data>
        <!-- ******************************************************************* -->
        <!-- Protocol Type -->                                          
        <!-- Defined In TI Radio Packet Info Dissector -->                                          
        <!-- <Warning> - Should match enum in PacketInfoHdr.cs - public enum ProtocolType : byte -->                                          
        <!-- ******************************************************************* -->
        <protocol_type>
          <key>00</key><name>Generic</name>           
          <key>01</key><name>IEEE 802.15.4g</name>
          <key>02</key><name>IEEE 802.15.4</name>
          <key>03</key><name>BLE</name> 
        </protocol_type>
    
        <!-- ******************************************************************* -->
        <!-- Phy Type -->
        <!-- Defined In TI Radio Packet Info Dissector -->                                          
        <!-- <Warning> - Should match enum in PacketInfoHdr.cs - public enum PhyType : byte -->                                          
        <!-- ******************************************************************* -->
        <phy_type>
          <key>00</key><name>No Phy</name>
          <key>01</key><name>GFSK 50 Kbps</name>   
          <key>02</key><name>Simplelink Long Range 5 Kbps</name>
          <key>03</key><name>O-QPSK</name>            
          <key>04</key><name>GFSK 200 Kbps</name>
          <key>05</key><name>BLE 1 Mbps</name>
          <key>06</key><name>GFSK 150 Kbps</name>
        </phy_type>
    
        <!-- ******************************************************************* -->
        <!-- Freq Band Range -->                                          
        <!-- Defined In TI Chameleon Sniffer -->                                          
        <!-- ******************************************************************* -->
        <freq_band_range>
          <key>00</key><name>No Range</name>
          <key>01</key><name>868-915 MHz</name>         
          <key>02</key><name>433 MHz</name>   
          <key>03</key><name>2405-2480 MHz</name>
          <key>04</key><name>2402-2480 MHz</name> 
        </freq_band_range>
    
        <!-- ******************************************************************* -->
        <!-- Frequency Band -->
        <!-- ******************************************************************* -->
        <freq_band>
          <key>00</key><name>No Band</name>
          <key>01</key><name>915 MHz</name>
          <key>02</key><name>868 MHz</name>
          <key>03</key><name>433 MHz</name>
          <key>04</key><name>2405 MHz</name>
          <key>05</key><name>2402 MHz</name>
        </freq_band>
    
        <!-- ******************************************************************* -->
        <!-- Modulation Info -->
        <!-- ******************************************************************* -->
        <mod_info>
          <key>00</key><name>Custom Build Sniffer</name>
          <key>01</key><name>Freq Band</name>
        </mod_info>
    
        <!-- ******************************************************************* -->
        <!-- Phy Info -->
        <!-- ******************************************************************* -->
        <phy_info>
          <!-- Generic / Custom Build -->
          <key>00</key><protocol_type_key>00</protocol_type_key><phy_type_key>00</phy_type_key>
            <freq_band_range_key>00</freq_band_range_key>
    
          <!-- [RF proprietary] 868-915 MHz -->
          <!-- GFSK 50Kbps -->
          <key>10</key><protocol_type_key>00</protocol_type_key><phy_type_key>01</phy_type_key>
            <freq_band_range_key>01</freq_band_range_key>
          <!-- SLR 5Kbps -->
          <key>11</key><protocol_type_key>00</protocol_type_key><phy_type_key>02</phy_type_key>
            <freq_band_range_key>01</freq_band_range_key>
          <!-- GFSK 200Kbps -->
          <key>12</key><protocol_type_key>00</protocol_type_key><phy_type_key>04</phy_type_key>
            <freq_band_range_key>01</freq_band_range_key>
          <!-- GFSK 150Kbps -->
          <key>13</key><protocol_type_key>00</protocol_type_key><phy_type_key>06</phy_type_key>
            <freq_band_range_key>01</freq_band_range_key>
    
    
          <!-- [IEEE 802.15.4g] 868-915 MHz -->
          <!-- GFSK 50Kbps -->
          <key>20</key><protocol_type_key>01</protocol_type_key><phy_type_key>01</phy_type_key>
            <freq_band_range_key>01</freq_band_range_key>
          <!-- SLR 5Kbps -->
          <key>21</key><protocol_type_key>01</protocol_type_key><phy_type_key>02</phy_type_key>
            <freq_band_range_key>01</freq_band_range_key>
          <!-- GFSK 200Kbps -->
          <key>22</key><protocol_type_key>01</protocol_type_key><phy_type_key>04</phy_type_key>
            <freq_band_range_key>01</freq_band_range_key>
    
          <!-- [IEEE 802.15.4g] 433 MHz -->
          <!-- GFSK 50Kbps -->
          <key>30</key><protocol_type_key>01</protocol_type_key><phy_type_key>01</phy_type_key>
            <freq_band_range_key>02</freq_band_range_key>
          <!-- SLR 5Kbps -->
          <key>31</key><protocol_type_key>01</protocol_type_key><phy_type_key>02</phy_type_key>
            <freq_band_range_key>02</freq_band_range_key>
          <!-- GFSK 200Kbps -->
          <key>32</key><protocol_type_key>01</protocol_type_key><phy_type_key>04</phy_type_key>
            <freq_band_range_key>02</freq_band_range_key>
    
          <!-- [IEEE 802.15.4] 2405-2480 MHz -->
          <!-- O-QPSK -->
          <key>40</key><protocol_type_key>02</protocol_type_key><phy_type_key>03</phy_type_key>
            <freq_band_range_key>03</freq_band_range_key>
            
          <!-- [BLE 4] 2402-2480 MHz -->
          <!-- 1 Mbps -->
          <key>41</key><protocol_type_key>03</protocol_type_key><phy_type_key>05</phy_type_key>
            <freq_band_range_key>04</freq_band_range_key>
        </phy_info>
    
        <!-- ******************************************************************* -->
        <!-- PHY Description -->                                          
        <!-- ******************************************************************* -->
        <phy_desc>
          <!-- Custom Build -->
          <key>00</key><freq_band_key>00</freq_band_key><mod_info_key>00</mod_info_key>
            <spacing>0.0</spacing><channels>0</channels>  <first_ch_center>1000.0</first_ch_center>
            <first_ch_num>0</first_ch_num>
    
          <!-- SUN FSK Operating Mode #1 (US) -->
          <key>01</key><freq_band_key>01</freq_band_key><mod_info_key>01</mod_info_key>
            <spacing>0.2</spacing><channels>129</channels><first_ch_center>902.2</first_ch_center>
            <first_ch_num>0</first_ch_num>
          <!-- SUN FSK Operating Mode #1 (Europe) -->
          <key>02</key><freq_band_key>02</freq_band_key><mod_info_key>01</mod_info_key>
            <spacing>0.2</spacing><channels>34</channels> <first_ch_center>863.125</first_ch_center>
            <first_ch_num>0</first_ch_num>
    
          <!-- Proprietary (China) -->
          <key>03</key><freq_band_key>03</freq_band_key><mod_info_key>01</mod_info_key>
            <spacing>0.2</spacing><channels>7</channels>  <first_ch_center>433.3</first_ch_center>
            <first_ch_num>0</first_ch_num>
    
          <!-- IEEE 802.15.4 -->
          <key>04</key><freq_band_key>04</freq_band_key><mod_info_key>01</mod_info_key>
            <spacing>5.0</spacing><channels>16</channels> <first_ch_center>2405.0</first_ch_center>
            <first_ch_num>11</first_ch_num>
    
          <!-- GFSK 200 Kbps (US) -->
          <key>05</key><freq_band_key>01</freq_band_key><mod_info_key>01</mod_info_key>
            <spacing>0.4</spacing><channels>64</channels> <first_ch_center>902.4</first_ch_center>
            <first_ch_num>0</first_ch_num>
          <!-- GFSK 200 Kbps (Europe) -->
          <key>06</key><freq_band_key>02</freq_band_key><mod_info_key>01</mod_info_key>
            <spacing>0.4</spacing><channels>17</channels> <first_ch_center>863.225</first_ch_center>
            <first_ch_num>0</first_ch_num>
            
          <!-- BLE 1 Mbps -->
          <key>07</key><freq_band_key>05</freq_band_key><mod_info_key>01</mod_info_key>
            <spacing>2.0</spacing><channels>3</channels> <first_ch_center>2402.0</first_ch_center>
            <first_ch_num>37</first_ch_num>
    
          <!-- GFSK 150 Kbps (US) -->
          <key>08</key><freq_band_key>01</freq_band_key><mod_info_key>01</mod_info_key>
            <spacing>0.4</spacing><channels>64</channels> <first_ch_center>902.4</first_ch_center>
            <first_ch_num>0</first_ch_num>
    
            
        </phy_desc>
    
        <!-- ******************************************************************* -->
        <!-- Firmware Operational Mode -->                                          
        <!-- ******************************************************************* -->
        <fw_op_mode>
          <!-- ******************************* -->
          <!-- Firmware Id 0x00                -->
          <!-- LAUNCHXL-CC1350/LAUNCHXL-CC1310 -->
          <!-- ******************************* -->
          <!-- [802.15.4g] GFSK 50 Kbps 915 MHz -->
          <key>0x0001</key><fw_id>0x00</fw_id><fw_index>0x00</fw_index><fw_type>NamedPhy</fw_type>
            <phy_info_key>20</phy_info_key><phy_desc_key>01</phy_desc_key><desc></desc>
          <!-- [802.15.4g] GFSK 50 Kbps 868 MHz -->
          <key>0x0002</key><fw_id>0x00</fw_id><fw_index>0x00</fw_index><fw_type>NamedPhy</fw_type>
            <phy_info_key>20</phy_info_key><phy_desc_key>02</phy_desc_key><desc></desc>
    
          <!-- [802.15.4g] GFSK 50 Kbps 433 MHz -->
          <key>0x0003</key><fw_id>0x00</fw_id><fw_index>0x01</fw_index><fw_type>NamedPhy</fw_type>
            <phy_info_key>20</phy_info_key><phy_desc_key>03</phy_desc_key><desc></desc>
    
          <!-- [802.15.4g] SLR 5 Kbps 915 MHz -->
          <key>0x0004</key><fw_id>0x00</fw_id><fw_index>0x02</fw_index><fw_type>NamedPhy</fw_type>
            <phy_info_key>21</phy_info_key><phy_desc_key>01</phy_desc_key><desc></desc>
          <!-- [802.15.4g] SLR 5 Kbps 868 MHz -->
          <key>0x0005</key><fw_id>0x00</fw_id><fw_index>0x02</fw_index><fw_type>NamedPhy</fw_type>
            <phy_info_key>21</phy_info_key><phy_desc_key>02</phy_desc_key><desc></desc>
    
          <!-- [802.15.4g] SLR 5 Kbps 433 MHz -->
          <key>0x0006</key><fw_id>0x00</fw_id><fw_index>0x03</fw_index><fw_type>NamedPhy</fw_type>
            <phy_info_key>21</phy_info_key><phy_desc_key>03</phy_desc_key><desc></desc>
    
          <!-- [802.15.4g] GFSK 50 Kbps 915 MHz (Legacy Syncword) -->
          <key>0x0007</key><fw_id>0x00</fw_id><fw_index>0x04</fw_index><fw_type>NamedPhy</fw_type>
            <phy_info_key>20</phy_info_key><phy_desc_key>01</phy_desc_key><desc>(Legacy Syncword)</desc>
          <!-- [802.15.4g] GFSK 50 Kbps 868 MHz (Legacy Syncword) -->
          <key>0x0008</key><fw_id>0x00</fw_id><fw_index>0x04</fw_index><fw_type>NamedPhy</fw_type>
            <phy_info_key>20</phy_info_key><phy_desc_key>02</phy_desc_key><desc>(Legacy Syncword)</desc>
    
          <!-- [802.15.4g] GFSK 200 Kbps 915 MHz -->
          <key>0x0009</key><fw_id>0x00</fw_id><fw_index>0x05</fw_index><fw_type>NamedPhy</fw_type>
            <phy_info_key>22</phy_info_key><phy_desc_key>05</phy_desc_key><desc></desc>
          <!-- [802.15.4g] GFSK 200 Kbps 868 MHz -->
          <key>0x0010</key><fw_id>0x00</fw_id><fw_index>0x05</fw_index><fw_type>NamedPhy</fw_type>
            <phy_info_key>22</phy_info_key><phy_desc_key>06</phy_desc_key><desc></desc>
    
          <!-- [RF proprietary] GFSK 50 Kbps 915 MHz -->
          <key>0x0011</key><fw_id>0x00</fw_id><fw_index>0x06</fw_index><fw_type>CustomPhy</fw_type>
            <phy_info_key>10</phy_info_key><phy_desc_key>01</phy_desc_key><desc></desc>
          <!-- [RF proprietary] GFSK 50 Kbps 868 MHz -->
          <key>0x0012</key><fw_id>0x00</fw_id><fw_index>0x06</fw_index><fw_type>CustomPhy</fw_type>
            <phy_info_key>10</phy_info_key><phy_desc_key>02</phy_desc_key><desc></desc>
    
          <!-- [RF proprietary] GFSK 50 Kbps  433MHz -->
          <key>0x0013</key><fw_id>0x00</fw_id><fw_index>0x07</fw_index><fw_type>CustomPhy</fw_type>
            <phy_info_key>10</phy_info_key><phy_desc_key>03</phy_desc_key><desc></desc>
    
          <!-- [RF proprietary] SLR 5 Kbps 915 MHz -->
          <key>0x0014</key><fw_id>0x00</fw_id><fw_index>0x08</fw_index><fw_type>CustomPhy</fw_type>
            <phy_info_key>11</phy_info_key><phy_desc_key>01</phy_desc_key><desc></desc>
          <!-- [RF proprietary] SLR 5 Kbps 868 MHz -->
          <key>0x0015</key><fw_id>0x00</fw_id><fw_index>0x08</fw_index><fw_type>CustomPhy</fw_type>
            <phy_info_key>11</phy_info_key><phy_desc_key>02</phy_desc_key><desc></desc>
    
          <!-- [RF proprietary] SLR 5 Kbps 433 MHz -->
          <key>0x0016</key><fw_id>0x00</fw_id><fw_index>0x09</fw_index><fw_type>CustomPhy</fw_type>
            <phy_info_key>11</phy_info_key><phy_desc_key>03</phy_desc_key><desc></desc>
    
          <!-- [RF proprietary] GFSK 200 Kbps 915 MHz -->
          <key>0x0017</key><fw_id>0x00</fw_id><fw_index>0x0A</fw_index><fw_type>CustomPhy</fw_type>
            <phy_info_key>12</phy_info_key><phy_desc_key>05</phy_desc_key><desc></desc>
          <!-- [RF proprietary] GFSK 200 Kbps 868 MHz -->
          <key>0x0018</key><fw_id>0x00</fw_id><fw_index>0x0A</fw_index><fw_type>CustomPhy</fw_type>
            <phy_info_key>12</phy_info_key><phy_desc_key>06</phy_desc_key><desc></desc>
    
          <!-- [RF proprietary] GFSK 150 Kbps 915 MHz -->
          <key>0x0019</key><fw_id>0x00</fw_id><fw_index>0x0B</fw_index><fw_type>CustomPhy</fw_type>
            <phy_info_key>13</phy_info_key><phy_desc_key>05</phy_desc_key><desc></desc>
    
    
          <!-- ****************** -->
          <!-- Firmware Id 0x20   -->
          <!-- LAUNCHXL-CC2650    -->
          <!-- ****************** -->
          <!-- [802.15.4] O-QPSK 2405-2480 MHz -->
          <key>0x2001</key><fw_id>0x20</fw_id><fw_index>00</fw_index><fw_type>NamedPhy</fw_type>
            <phy_info_key>40</phy_info_key><phy_desc_key>04</phy_desc_key><desc></desc>
    
          <!-- ****************** -->
          <!-- Firmware Id 0x21   -->
          <!-- LAUNCHXL-CC26X2R1  -->
          <!-- ****************** -->
          <!-- [802.15.4] O-QPSK 2405-2480 MHz -->
          <key>0x2101</key><fw_id>0x21</fw_id><fw_index>00</fw_index><fw_type>NamedPhy</fw_type>
            <phy_info_key>40</phy_info_key><phy_desc_key>04</phy_desc_key><desc></desc>
            
          <!-- [BLE5] 1Mbps 2402-2480 MHz -->
          <key>0x2102</key><fw_id>0x21</fw_id><fw_index>01</fw_index><fw_type>NamedPhy</fw_type>
            <phy_info_key>41</phy_info_key><phy_desc_key>07</phy_desc_key><desc></desc>
    
          <!-- ****************** -->
          <!-- Firmware Id 0x30   -->
          <!-- LAUNCHXL-CC1352R1  -->
          <!-- ****************** -->
          <!-- [802.15.4g] GFSK 50 Kbps 915 MHz -->
          <key>0x3001</key><fw_id>0x30</fw_id><fw_index>00</fw_index><fw_type>NamedPhy</fw_type>
            <phy_info_key>20</phy_info_key><phy_desc_key>01</phy_desc_key><desc></desc>
          <!-- [802.15.4g] GFSK 50 Kbps 868 MHz -->
          <key>0x3002</key><fw_id>0x30</fw_id><fw_index>00</fw_index><fw_type>NamedPhy</fw_type>
            <phy_info_key>20</phy_info_key><phy_desc_key>02</phy_desc_key><desc></desc>
    
          <!-- [802.15.4g] SLR 5 Kbps 915 MHz -->
          <key>0x3003</key><fw_id>0x30</fw_id><fw_index>01</fw_index><fw_type>NamedPhy</fw_type>
            <phy_info_key>21</phy_info_key><phy_desc_key>01</phy_desc_key><desc></desc>
          <!-- [802.15.4g] SLR 5 Kbps 868 MHz -->
          <key>0x3004</key><fw_id>0x30</fw_id><fw_index>01</fw_index><fw_type>NamedPhy</fw_type>
            <phy_info_key>21</phy_info_key><phy_desc_key>02</phy_desc_key><desc></desc>
    
          <!-- [RF proprietary] GFSK 50 Kbps 915 MHz -->
          <key>0x3005</key><fw_id>0x30</fw_id><fw_index>02</fw_index><fw_type>CustomPhy</fw_type>
            <phy_info_key>10</phy_info_key><phy_desc_key>01</phy_desc_key><desc></desc>
          <!-- [RF proprietary] GFSK 50 Kbps 868 MHz -->
          <key>0x3006</key><fw_id>0x30</fw_id><fw_index>02</fw_index><fw_type>CustomPhy</fw_type>
            <phy_info_key>10</phy_info_key><phy_desc_key>02</phy_desc_key><desc></desc>
    
          <!-- [RF proprietary] SLR 5 Kbps 915 MHz -->
          <key>0x3007</key><fw_id>0x30</fw_id><fw_index>03</fw_index><fw_type>CustomPhy</fw_type>
            <phy_info_key>11</phy_info_key><phy_desc_key>01</phy_desc_key><desc></desc>
          <!-- [RF proprietary] SLR 5 Kbps 868 MHz -->
          <key>0x3008</key><fw_id>0x30</fw_id><fw_index>03</fw_index><fw_type>CustomPhy</fw_type>
            <phy_info_key>11</phy_info_key><phy_desc_key>02</phy_desc_key><desc></desc>
    
          <!-- [802.15.4] O-QPSK 2405-2480 MHz -->
          <key>0x3009</key><fw_id>0x30</fw_id><fw_index>04</fw_index><fw_type>NamedPhy</fw_type>
            <phy_info_key>40</phy_info_key><phy_desc_key>04</phy_desc_key><desc></desc>
            
          <!-- [BLE5] 1Mbps 2402-2480 MHz -->
          <key>0x3010</key><fw_id>0x30</fw_id><fw_index>05</fw_index><fw_type>NamedPhy</fw_type>
            <phy_info_key>41</phy_info_key><phy_desc_key>07</phy_desc_key><desc></desc>
    
          <!-- ****************** -->
          <!-- Firmware Id 0x40   -->
          <!-- LAUNCHXL-CC1312R1  -->
          <!-- ****************** -->
          <!-- [802.15.4g] GFSK 50 Kbps 915 MHz -->
          <key>0x4001</key><fw_id>0x40</fw_id><fw_index>00</fw_index><fw_type>NamedPhy</fw_type>
            <phy_info_key>20</phy_info_key><phy_desc_key>01</phy_desc_key><desc></desc>
          <!-- [802.15.4g] GFSK 50 Kbps 868 MHz -->
          <key>0x4002</key><fw_id>0x40</fw_id><fw_index>00</fw_index><fw_type>NamedPhy</fw_type>
            <phy_info_key>20</phy_info_key><phy_desc_key>02</phy_desc_key><desc></desc>
    
          <!-- [802.15.4g] SLR 5 Kbps 915 MHz -->
          <key>0x4003</key><fw_id>0x40</fw_id><fw_index>01</fw_index><fw_type>NamedPhy</fw_type>
            <phy_info_key>21</phy_info_key><phy_desc_key>01</phy_desc_key><desc></desc>
          <!-- [802.15.4g] SLR 5 Kbps 868 MHz -->
          <key>0x4004</key><fw_id>0x40</fw_id><fw_index>01</fw_index><fw_type>NamedPhy</fw_type>
            <phy_info_key>21</phy_info_key><phy_desc_key>02</phy_desc_key><desc></desc>
    
          <!-- [RF proprietary] GFSK 50 Kbps 915 MHz -->
          <key>0x4005</key><fw_id>0x40</fw_id><fw_index>02</fw_index><fw_type>CustomPhy</fw_type>
            <phy_info_key>10</phy_info_key><phy_desc_key>01</phy_desc_key><desc></desc>
          <!-- [RF proprietary] GFSK 50 Kbps 868 MHz -->
          <key>0x4006</key><fw_id>0x40</fw_id><fw_index>02</fw_index><fw_type>CustomPhy</fw_type>
            <phy_info_key>10</phy_info_key><phy_desc_key>02</phy_desc_key><desc></desc>
    
          <!-- [RF proprietary] SLR 5 Kbps 915 MHz -->
          <key>0x4007</key><fw_id>0x40</fw_id><fw_index>03</fw_index><fw_type>CustomPhy</fw_type>
            <phy_info_key>11</phy_info_key><phy_desc_key>01</phy_desc_key><desc></desc>
          <!-- [RF proprietary] SLR 5 Kbps 868 MHz -->
          <key>0x4008</key><fw_id>0x40</fw_id><fw_index>03</fw_index><fw_type>CustomPhy</fw_type>
            <phy_info_key>11</phy_info_key><phy_desc_key>02</phy_desc_key><desc></desc>
    
          <!-- ****************** -->
          <!-- Firmware Id 0x50   -->
          <!-- LAUNCHXL-CC1352P1  -->
          <!-- ****************** -->
          <!-- [802.15.4g] GFSK 50 Kbps 915 MHz -->
          <key>0x5001</key><fw_id>0x50</fw_id><fw_index>00</fw_index><fw_type>NamedPhy</fw_type>
            <phy_info_key>20</phy_info_key><phy_desc_key>01</phy_desc_key><desc></desc>
          <!-- [802.15.4g] GFSK 50 Kbps 868 MHz -->
          <key>0x5002</key><fw_id>0x50</fw_id><fw_index>00</fw_index><fw_type>NamedPhy</fw_type>
            <phy_info_key>20</phy_info_key><phy_desc_key>02</phy_desc_key><desc></desc>
            
          <!-- [802.15.4g] GFSK 50 Kbps 433 MHz -->
          <key>0x5003</key><fw_id>0x50</fw_id><fw_index>0x01</fw_index><fw_type>NamedPhy</fw_type>
            <phy_info_key>30</phy_info_key><phy_desc_key>03</phy_desc_key><desc></desc>
    
          <!-- [802.15.4g] SLR 5 Kbps 915 MHz -->
          <key>0x5004</key><fw_id>0x50</fw_id><fw_index>02</fw_index><fw_type>NamedPhy</fw_type>
            <phy_info_key>21</phy_info_key><phy_desc_key>01</phy_desc_key><desc></desc>
          <!-- [802.15.4g] SLR 5 Kbps 868 MHz -->
          <key>0x5005</key><fw_id>0x50</fw_id><fw_index>02</fw_index><fw_type>NamedPhy</fw_type>
            <phy_info_key>21</phy_info_key><phy_desc_key>02</phy_desc_key><desc></desc>
            
          <!-- [802.15.4g] SLR 5 Kbps 433 MHz -->
          <key>0x5006</key><fw_id>0x50</fw_id><fw_index>0x03</fw_index><fw_type>NamedPhy</fw_type>
            <phy_info_key>31</phy_info_key><phy_desc_key>03</phy_desc_key><desc></desc>
    
          <!-- [RF proprietary] GFSK 50 Kbps 915 MHz -->
          <key>0x5007</key><fw_id>0x50</fw_id><fw_index>04</fw_index><fw_type>CustomPhy</fw_type>
            <phy_info_key>10</phy_info_key><phy_desc_key>01</phy_desc_key><desc></desc>
          <!-- [RF proprietary] GFSK 50 Kbps 868 MHz -->
          <key>0x5008</key><fw_id>0x50</fw_id><fw_index>04</fw_index><fw_type>CustomPhy</fw_type>
            <phy_info_key>10</phy_info_key><phy_desc_key>02</phy_desc_key><desc></desc>
            
          <!-- [RF proprietary] GFSK 50 Kbps  433MHz -->
          <key>0x5009</key><fw_id>0x50</fw_id><fw_index>05</fw_index><fw_type>CustomPhy</fw_type>
            <phy_info_key>10</phy_info_key><phy_desc_key>03</phy_desc_key><desc></desc>
    
          <!-- [RF proprietary] SLR 5 Kbps 915 MHz -->
          <key>0x500A</key><fw_id>0x50</fw_id><fw_index>06</fw_index><fw_type>CustomPhy</fw_type>
            <phy_info_key>11</phy_info_key><phy_desc_key>01</phy_desc_key><desc></desc>
          <!-- [RF proprietary] SLR 5 Kbps 868 MHz -->
          <key>0x500B</key><fw_id>0x50</fw_id><fw_index>06</fw_index><fw_type>CustomPhy</fw_type>
            <phy_info_key>11</phy_info_key><phy_desc_key>02</phy_desc_key><desc></desc>
            
          <!-- [RF proprietary] SLR 5 Kbps 433 MHz -->
          <key>0x500C</key><fw_id>0x50</fw_id><fw_index>07</fw_index><fw_type>CustomPhy</fw_type>
            <phy_info_key>11</phy_info_key><phy_desc_key>03</phy_desc_key><desc></desc>
    
          <!-- [802.15.4] O-QPSK 2405-2480 MHz -->
          <key>0x500D</key><fw_id>0x50</fw_id><fw_index>08</fw_index><fw_type>NamedPhy</fw_type>
            <phy_info_key>40</phy_info_key><phy_desc_key>04</phy_desc_key><desc></desc>
            
          <!-- [BLE5] 1Mbps 2402-2480 MHz -->
          <key>0x500E</key><fw_id>0x50</fw_id><fw_index>09</fw_index><fw_type>NamedPhy</fw_type>
            <phy_info_key>41</phy_info_key><phy_desc_key>07</phy_desc_key><desc></desc>
    
          <!-- ****************** -->
          <!-- Firmware Id 0x64   -->
          <!-- ****************** -->
          <!-- [Custom Build] Sniffer --> 
          <key>0x6401</key><fw_id>0x64</fw_id><fw_index>00</fw_index><fw_type>CustomPhy</fw_type>
            <phy_info_key>00</phy_info_key><phy_desc_key>00</phy_desc_key><desc></desc>
        </fw_op_mode>
      </fw_desc_data>
    
      <!-- ***************************************************************************************************************** -->
      <!-- ***************************************************************************************************************** -->
    </sniffer_agent_config>
    
    

    sniffer_fw.hex

    Best Regards,

    R.M

  • Thanks very much for the reply and the firmware image. I'll take it for a spin and see how it does.

    Would it be possible to get the CCS source code for the firmware you provided above?

    Thanks.

    -t.

  • I'm digging into the example provided, and I'm not sure if the labels are wrong, or if the actual radio parameters differ from what I'm looking for. Does the firmware above correspond to the following channel system?

    • 915.0 MHz center frequency
    • 64 channels
    • Channel 0 @ 902.4 MHz
    • 400 kHz channel spacing
    • 2-FSK modulation
    • 150 kbps symbol/chip rate
    • Frequency Deviation 75.0 kHz

    Thanks again.

    -t.

  • Hi Todd,

    Yes, the setup of the firmware is as you describe (2-FSK, 150 kbps, 75KHz deviation) and I have tested it with two CC1350 Launchpads at 915MHz.

    C code:

    phy_tables.c
    /******************************************************************************
    *  Filename:       phy_tables.c
    *
    *  Description:    Source file PHY tables
    *
    * Copyright (C) 2018 Texas Instruments Incorporated - http://www.ti.com/
    *
    *
    *  Redistribution and use in source and binary forms, with or without
    *  modification, are permitted provided that the following conditions
    *  are met:
    *
    *    Redistributions of source code must retain the above copyright
    *    notice, this list of conditions and the following disclaimer.
    *
    *    Redistributions in binary form must reproduce the above copyright
    *    notice, this list of conditions and the following disclaimer in the
    *    documentation and/or other materials provided with the
    *    distribution.
    *
    *    Neither the name of Texas Instruments Incorporated nor the names of
    *    its contributors may be used to endorse or promote products derived
    *    from this software without specific prior written permission.
    *
    *  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
    *  "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
    *  LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
    *  A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
    *  OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
    *  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
    *  LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
    *  DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
    *  THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    *  (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
    *  OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    *
    ******************************************************************************/
    
    #include "../../phy_tables.h"
    #include <rf_prop/smartrf_settings_rf_prop_0.h>
    #include <rf_prop/smartrf_settings_rf_prop_1.h>
    #include <rf_prop/smartrf_settings_rf_prop_2.h>
    #include <rf_prop/smartrf_settings_rf_prop_3.h>
    #include <rf_prop/smartrf_settings_rf_prop_4.h>
    #include <rf_prop/smartrf_settings_rf_prop_5.h>
    #include <15.4g/smartrf_settings_15_4g_0.h>
    #include <15.4g/smartrf_settings_15_4g_1.h>
    #include <15.4g/smartrf_settings_15_4g_2.h>
    #include <15.4g/smartrf_settings_15_4g_3.h>
    #include <15.4g/smartrf_settings_15_4g_4.h>
    #include <15.4g/smartrf_settings_15_4g_5.h>
    
    // Table of RF Proprietary PHY settings (These settings use Proprietary RF core commands)
    const Phy_Prop_Obj Phy_phyTableProp[] = 
    {
        // 50 kbps, 2-GFSK, 868 and 915 MHz bands
        {&RFProp0_cmdPropRadioDivSetup, &RFProp0_cmdFs, &RFProp0_cmdPropRx, &RFProp0_cmdPropTx, &RFProp0_mode},
        // 50 kbps, 2-GFSK, 433 MHz band 
        {&RFProp1_cmdPropRadioDivSetup, &RFProp1_cmdFs, &RFProp1_cmdPropRx, &RFProp1_cmdPropTx, &RFProp1_mode}, 
        // 5 kbps, SimpleLink Long Range, 868 and 915 MHz band
        {&RFProp2_cmdPropRadioDivSetup, &RFProp2_cmdFs, &RFProp2_cmdPropRx, &RFProp2_cmdPropTx, &RFProp2_mode},
        // 5 kbps, SimpleLink Long Range, 433 MHz band
        {&RFProp3_cmdPropRadioDivSetup, &RFProp3_cmdFs, &RFProp3_cmdPropRx, &RFProp3_cmdPropTx, &RFProp3_mode},
        // 200 kbps, 2-GFSK, 868 and 915 MHz bands
        {&RFProp4_cmdPropRadioDivSetup, &RFProp4_cmdFs, &RFProp4_cmdPropRx, &RFProp4_cmdPropTx, &RFProp4_mode},
        // 150 kbps, 2-FSK, 868 and 915 MHz bands
        {&RFProp5_cmdPropRadioDivSetup, &RFProp5_cmdFs, &RFProp5_cmdPropRx, &RFProp5_cmdPropTx, &RFProp5_mode},
    //    {&RFProp4_cmdPropRadioDivSetup, &RFProp4_cmdFs, &RFProp4_cmdPropRx, &RFProp4_cmdPropTx, &RFProp4_mode},
        {NULL, NULL, NULL, NULL, NULL}
    };
    
    
    // Table of IEEE 15.4g PHY settings (These settings use Proprietary RF commands in IEEE 802.15.4g mode)
    const Phy_Prop_15_4_g_Obj Phy_phyTableProp_15_4_g[] = 
    {
        // 50 kbps, 2-GFSK, 868 and 915 MHz bands
        {&Ieee154g0_cmdPropRadioDivSetup, &Ieee154g0_cmdFs, &Ieee154g0_cmdPropRxAdv, &Ieee154g0_cmdPropTxAdv, &Ieee154g0_mode},
        // 50 kbps, 2-GFSK, 433 MHz band
        {&Ieee154g1_cmdPropRadioDivSetup, &Ieee154g1_cmdFs, &Ieee154g1_cmdPropRxAdv, &Ieee154g1_cmdPropTxAdv, &Ieee154g1_mode},
        // 5 kbps, SimpleLink Long Range, 868 and 915 MHz band
        {&Ieee154g2_cmdPropRadioDivSetup, &Ieee154g2_cmdFs, &Ieee154g2_cmdPropRxAdv, &Ieee154g2_cmdPropTxAdv, &Ieee154g2_mode},
        // 5 kbps, SimpleLink Long Range, 433 MHz band
        {&Ieee154g3_cmdPropRadioDivSetup, &Ieee154g3_cmdFs, &Ieee154g3_cmdPropRxAdv, &Ieee154g3_cmdPropTxAdv, &Ieee154g3_mode},
        // 50 kbps, 2-GFSK, 868 and 915 MHz bands, legacy syncword (0x0000904e)
        {&Ieee154g4_cmdPropRadioDivSetup, &Ieee154g4_cmdFs, &Ieee154g4_cmdPropRxAdv, &Ieee154g4_cmdPropTxAdv, &Ieee154g4_mode},
        // 200 kbps, 2-GFSK, 868 and 915 MHz bands
        {&Ieee154g5_cmdPropRadioDivSetup, &Ieee154g5_cmdFs, &Ieee154g5_cmdPropRxAdv, &Ieee154g5_cmdPropTxAdv, &Ieee154g5_mode},
        {NULL, NULL, NULL, NULL, NULL}
    };
    
    
    // Table of IEEE 15.4 PHY settings (These settings use IEEE 802.15.4 RF core commands)
    const Phy_Ieee_15_4_Obj Phy_phyTableIeee_15_4[] = 
    {
        // No IEEE 802.15.4 settings for this device
        {NULL, NULL, NULL, NULL, NULL}
    };
    
    
    // Table of BLE 5 PHY settings (These settings use BLE 5 RF core commands)
    const Phy_Ble_5_Obj Phy_phyTableBle_5[] = 
    {
        // BLE 5 is not supported for this device
        {NULL, NULL, NULL, NULL, NULL}
    };
    
    
    // Table of all supported Rf API and PHY setting combinations
    // Note: This table must match the PHY tables for each RF API 
    const Phy_Obj Phy_supportedPhys[] =
    {
        {PROPRIETARY_15_4_G, 0},
        {PROPRIETARY_15_4_G, 1},
        {PROPRIETARY_15_4_G, 2},
        {PROPRIETARY_15_4_G, 3},
        {PROPRIETARY_15_4_G, 4},
        {PROPRIETARY_15_4_G, 5},
        {PROPRIETARY, 0},
        {PROPRIETARY, 1},
        {PROPRIETARY, 2},
        {PROPRIETARY, 3},
        {PROPRIETARY, 4},
        {PROPRIETARY, 5},
    };
    
    
    
    uint8_t Phy_getNumSupportedPhys(void)
    {
        return sizeof(Phy_supportedPhys)/sizeof(Phy_supportedPhys[0]);
    }
    
    
    uint8_t Phy_getNumPropPhys(void)
    {
        return (sizeof(Phy_phyTableProp)/sizeof(Phy_phyTableProp[0])) - 1;
    }
    
    
    uint8_t Phy_getNumProp_15_4_g_Phys(void)
    {
        return (sizeof(Phy_phyTableProp_15_4_g)/sizeof(Phy_phyTableProp_15_4_g[0])) - 1;
    }
    
    
    uint8_t Phy_getNumIeee_15_4_Phys(void)
    {
        return 0;
    }
    
    
    uint8_t Phy_getNumBle_5_Phys(void)
    {
        return (sizeof(Phy_phyTableBle_5)/sizeof(Phy_phyTableBle_5[0])) - 1;
    }
    

    smartrf_settings_rf_prop_5.c
    //*********************************************************************************
    // Generated by SmartRF Studio version 2.7.0 (build #21)
    // Tested for SimpleLink SDK version: CC13x0 SDK 1.50.xx.xx
    // Device: CC1350 Rev. 2.1
    // 
    //*********************************************************************************
    
    
    //*********************************************************************************
    // Parameter summary
    // Address: off 
    // Address0: 0xAA 
    // Address1: 0xBB 
    // Frequency: 915.00000 MHz
    // Data Format: Serial mode disable 
    // Deviation: 75.000 kHz
    // Packet Length Config: Variable 
    // Max Packet Length: 255 
    // Packet Length: 20 
    // RX Filter BW: 311 kHz
    // Symbol Rate: 150.00000 kBaud
    // Sync Word Length: 32 Bits 
    // TX Power: 14 dBm (requires define CCFG_FORCE_VDDR_HH = 1 in ccfg.c, see CC13xx/CC26xx Technical Reference Manual)
    // Whitening: No whitening 
    
    #include <ti/devices/DeviceFamily.h>
    #include DeviceFamily_constructPath(driverlib/rf_mailbox.h)
    #include DeviceFamily_constructPath(driverlib/rf_common_cmd.h)
    #include DeviceFamily_constructPath(driverlib/rf_prop_cmd.h)
    #include <ti/drivers/rf/RF.h>
    #include DeviceFamily_constructPath(rf_patches/rf_patch_cpe_genfsk.h)
    #include DeviceFamily_constructPath(rf_patches/rf_patch_rfe_genfsk.h)
    #include "smartrf_settings_rf_prop_5.h"
    
    
    // TI-RTOS RF Mode Object
    RF_Mode RFProp5_mode =
    {
        .rfMode = RF_MODE_PROPRIETARY_SUB_1,
        .cpePatchFxn = &rf_patch_cpe_genfsk,
        .mcePatchFxn = 0,
        .rfePatchFxn = &rf_patch_rfe_genfsk,
    };
    
    // Overrides for CMD_PROP_RADIO_DIV_SETUP
    static uint32_t pOverrides[] =
    {
        // override_use_patch_prop_genfsk.xml
        // PHY: Use MCE ROM bank 4, RFE RAM patch
        MCE_RFE_OVERRIDE(0,4,0,1,0,0),
        // override_synth_prop_863_930_div5.xml
        // Synth: Set recommended RTRIM to 7
        HW_REG_OVERRIDE(0x4038,0x0037),
        // Synth: Set Fref to 4 MHz
        (uint32_t)0x000684A3,
        // Synth: Configure fine calibration setting
        HW_REG_OVERRIDE(0x4020,0x7F00),
        // Synth: Configure fine calibration setting
        HW_REG_OVERRIDE(0x4064,0x0040),
        // Synth: Configure fine calibration setting
        (uint32_t)0xB1070503,
        // Synth: Configure fine calibration setting
        (uint32_t)0x05330523,
        // Synth: Set loop bandwidth after lock to 20 kHz
        (uint32_t)0x0A480583,
        // Synth: Set loop bandwidth after lock to 20 kHz
        (uint32_t)0x7AB80603,
        // Synth: Configure VCO LDO (in ADI1, set VCOLDOCFG=0x9F to use voltage input reference)
        ADI_REG_OVERRIDE(1,4,0x9F),
        // Synth: Configure synth LDO (in ADI1, set SLDOCTL0.COMP_CAP=1)
        ADI_HALFREG_OVERRIDE(1,7,0x4,0x4),
        // Synth: Use 24 MHz XOSC as synth clock, enable extra PLL filtering
        (uint32_t)0x02010403,
        // Synth: Configure extra PLL filtering
        (uint32_t)0x00108463,
        // Synth: Increase synth programming timeout (0x04B0 RAT ticks = 300 us)
        (uint32_t)0x04B00243,
        // override_synth_disable_bias_div5.xml
        // Synth: Set divider bias to disabled
        HW32_ARRAY_OVERRIDE(0x405C,1),
        // Synth: Set divider bias to disabled (specific for loDivider=5)
        (uint32_t)0x18000200,
        // override_phy_rx_aaf_bw_0x0.xml
        // Rx: Set anti-aliasing filter bandwidth to 0x0 (in ADI0, set IFAMPCTL3[7:4]=0x0)
        ADI_HALFREG_OVERRIDE(0,61,0xF,0x0),
        // override_phy_gfsk_rx.xml
        // Rx: Set LNA bias current trim offset to 3
        (uint32_t)0x00038883,
        // Rx: Freeze RSSI on sync found event
        HW_REG_OVERRIDE(0x6084,0x35F1),
        // override_phy_gfsk_pa_ramp_5us_agc_reflevel_0x1c.xml
        // Tx: Configure PA ramping setting (0x10) for approximately 5 us PA ramp time. Rx: Set AGC reference level to 0x1C.
        HW_REG_OVERRIDE(0x6088,0x101C),
        // Tx: Configure PA ramping setting (0x08) for approximately 5 us PA ramp time
        HW_REG_OVERRIDE(0x608C,0x0813),
        // override_phy_rx_rssi_offset_5db.xml
        // Rx: Set RSSI offset to adjust reported RSSI by +5 dB
        (uint32_t)0x00FB88A3,
        // TX power override
        // Tx: Set PA trim to max (in ADI0, set PACTL0=0xF8)
        ADI_REG_OVERRIDE(0,12,0xF8),
        // Disable pointer check in RF Core to allow for using GPRAM for buffers
        (uint32_t)0x00018063,
        (uint32_t)0xFFFFFFFF,
    };
    
    
    // CMD_PROP_RADIO_DIV_SETUP
    // Proprietary Mode Radio Setup Command for All Frequency Bands
    rfc_CMD_PROP_RADIO_DIV_SETUP_t RFProp5_cmdPropRadioDivSetup =
    {
        .commandNo = 0x3807,
        .status = 0x0000,
        .pNextOp = 0, // INSERT APPLICABLE POINTER: (uint8_t*)&xxx
        .startTime = 0x00000000,
        .startTrigger.triggerType = 0x0,
        .startTrigger.bEnaCmd = 0x0,
        .startTrigger.triggerNo = 0x0,
        .startTrigger.pastTrig = 0x0,
        .condition.rule = 0x1,
        .condition.nSkip = 0x0,
        .modulation.modType = 0x0,
        .modulation.deviation = 0x12C,
        .symbolRate.preScale = 0xF,
        .symbolRate.rateWord = 0x18000,
        .rxBw = 0x29,
        .preamConf.nPreamBytes = 0x4,
        .preamConf.preamMode = 0x0,
        .formatConf.nSwBits = 0x20,
        .formatConf.bBitReversal = 0x0,
        .formatConf.bMsbFirst = 0x1,
        .formatConf.fecMode = 0x0,
        .formatConf.whitenMode = 0x0,
        .config.frontEndMode = 0x0,
        .config.biasMode = 0x1,
        .config.analogCfgMode = 0x0,
        .config.bNoFsPowerUp = 0x0,
        .txPower = 0xAB3F,
        .pRegOverride = pOverrides,
        .centerFreq = 0x0364,
        .intFreq = 0x8000,
        .loDivider = 0x05,
    };
    
    // CMD_FS
    // Frequency Synthesizer Programming Command
    rfc_CMD_FS_t RFProp5_cmdFs =
    {
        .commandNo = 0x0803,
        .status = 0x0000,
        .pNextOp = 0, // INSERT APPLICABLE POINTER: (uint8_t*)&xxx
        .startTime = 0x00000000,
        .startTrigger.triggerType = 0x0,
        .startTrigger.bEnaCmd = 0x0,
        .startTrigger.triggerNo = 0x0,
        .startTrigger.pastTrig = 0x0,
        .condition.rule = 0x1,
        .condition.nSkip = 0x0,
        .frequency = 0x0393,
        .fractFreq = 0x0000,
        .synthConf.bTxMode = 0x0,
        .synthConf.refFreq = 0x0,
        .__dummy0 = 0x00,
        .__dummy1 = 0x00,
        .__dummy2 = 0x00,
        .__dummy3 = 0x0000,
    };
    
    // CMD_PROP_TX
    // Proprietary Mode Transmit Command
    rfc_CMD_PROP_TX_t RFProp5_cmdPropTx =
    {
        .commandNo = 0x3801,
        .status = 0x0000,
        .pNextOp = 0, // INSERT APPLICABLE POINTER: (uint8_t*)&xxx
        .startTime = 0x00000000,
        .startTrigger.triggerType = 0x0,
        .startTrigger.bEnaCmd = 0x0,
        .startTrigger.triggerNo = 0x0,
        .startTrigger.pastTrig = 0x0,
        .condition.rule = 0x1,
        .condition.nSkip = 0x0,
        .pktConf.bFsOff = 0x0,
        .pktConf.bUseCrc = 0x1,
        .pktConf.bVarLen = 0x1,
        .pktLen = 0x14, // SET APPLICATION PAYLOAD LENGTH
        .syncWord = 0x930B51DE,
        .pPkt = 0, // INSERT APPLICABLE POINTER: (uint8_t*)&xxx
    };
    
    // CMD_PROP_RX
    // Proprietary Mode Receive Command
    rfc_CMD_PROP_RX_t RFProp5_cmdPropRx =
    {
        .commandNo = 0x3802,
        .status = 0x0000,
        .pNextOp = 0, // INSERT APPLICABLE POINTER: (uint8_t*)&xxx
        .startTime = 0x00000000,
        .startTrigger.triggerType = 0x0,
        .startTrigger.bEnaCmd = 0x0,
        .startTrigger.triggerNo = 0x0,
        .startTrigger.pastTrig = 0x0,
        .condition.rule = 0x1,
        .condition.nSkip = 0x0,
        .pktConf.bFsOff = 0x0,
        .pktConf.bRepeatOk = 0x0,
        .pktConf.bRepeatNok = 0x0,
        .pktConf.bUseCrc = 0x1,
        .pktConf.bVarLen = 0x1,
        .pktConf.bChkAddress = 0x0,
        .pktConf.endType = 0x0,
        .pktConf.filterOp = 0x0,
        .rxConf.bAutoFlushIgnored = 0x0,
        .rxConf.bAutoFlushCrcErr = 0x0,
        .rxConf.bIncludeHdr = 0x1,
        .rxConf.bIncludeCrc = 0x0,
        .rxConf.bAppendRssi = 0x0,
        .rxConf.bAppendTimestamp = 0x0,
        .rxConf.bAppendStatus = 0x1,
        .syncWord = 0x930B51DE,
        .maxPktLen = 0xFF, // MAKE SURE DATA ENTRY IS LARGE ENOUGH
        .address0 = 0xAA,
        .address1 = 0xBB,
        .endTrigger.triggerType = 0x1,
        .endTrigger.bEnaCmd = 0x0,
        .endTrigger.triggerNo = 0x0,
        .endTrigger.pastTrig = 0x0,
        .endTime = 0x00000000,
        .pQueue = 0, // INSERT APPLICABLE POINTER: (dataQueue_t*)&xxx
        .pOutput = 0, // INSERT APPLICABLE POINTER: (uint8_t*)&xxx
    };
    

    smartrf_settings_rf_prop_5.h

    Below you'll find an updated xml where you can configure the channel instead of the frequency:

    8816.sniffer_agent_config.xml
    <?xml version="1.0" encoding="utf-8" ?>
    <!-- ***************************************************************************************************************** -->
    <!--
    SnifferAgent Config XML file
    
    <For Advanced User's Only>
    Valid ranges only indicate the range accepted by SnifferAgent.
    Values in the valid range may not work with target hardware or Wireshark. 
    
    Summary of XML tags:
    ====================
    <sniffer_agent_config>Config File Data<\sniffer_agent_config>
      
      ===================================================================
      Versions
      ===================================================================
    
      <xml_version>XML layout version</xml_version>
        Do Not Modify
    
      <program_version>Program version</program_version>
        Do Not Modify
      
      ===================================================================
      General Settings
      ===================================================================
    
      <general_cfg_data> Start general config data
    
        <max_ota_packet_size>Max ota packet size</max_ota_packet_size> 
          Valid Range:
            255 to Max Int32
              
        <max_zep_packet_size>Max (Wireshark) zep packet size</max_zep_packet_size> 
          Valid Range:
            127 to Max Int32
    
         <pipe_file_device_time>Pipe and file time</pipe_file_device_time>
          Changes time reported when a single device is selected and a file or pipe is used
          Default = Sniffer
          Valid Entries:
            Program - Time is based on UTS OS time, resolution is 100 nanoseconds
            Sniffer - Time is extacted from sniffer data to microsecods 
        
         <pipe_file_multiple_devices_time>Pipe and file time</pipe_file_multiple_devices_time>
          Changes time reported when multiple devices are selected and a file or pipe is used
          Default = Program
          Valid Entries:
            Program - Time is based on UTS OS time, resolution is 100 nanoseconds and works well one or multiple sniffers
            Sniffer - Time is extacted from sniffer data to microsecods, but times don't sync with multiple sniffers 
    
         <max_ws_queue_length>Max Wireshark queue length</max_ws_queue_length> 
          Maximum number of sniffer messages contained in the Wireshark processing thread
          Note = 0 is unlimited
          Valid Range:
            Int32 - 0 to Max Int32
    
        <max_filter_queue_length>Max capture filter length</max_filter_queue_length> 
          Maximum number of sniffer messages contained in the Filter processing thread
          Note = 0 is unlimited
          Valid Range:
            Int32 - 0 to Max Int32
    
        <max_rx tx_queue_length>Max capture rx tx length</max_rx tx_queue_length> 
          Maximum number of data packets messages contained in the rx tx processing threads
          Note = 0 is unlimited
          Valid Range:
            Int32 - 0 to Max Int32
    
        <udp_ping_timeout>Udp Ping Timeout</udp_ping_timeout> 
          Number of milliseconds to wait on a ping to keep arp entry active used by udp interface
          Default = 200
          Valid Range:
            Int32 - 0 to Max Int32
    
        <log_rx_bytes>Log incoming Rx bytes to operations log</log_rx_bytes>
         (Note using this option will slow down program performance) 
          Valid Range:
          true
          false (default)
    
        <log_rx_packets>Log incoming complete Rx packets to operations log</log_rx_packets>
         (Note using this option will slow down program performance) 
          Valid Range:
          true
          false (default)
    
        <log_tx_bytes>Log outgoing Tx bytes to operations log</log_tx_bytes>
         (Note using this option will slow down program performance) 
          Valid Range:
          true
          false (default) 
    
        <hide_ping_columns>Hide the device configuration ping data columns</hide_ping_columns>
          Valid Range:
          true
          false (default)
    
        <remove_status_rssi>Remove the last two payload bytes</remove_status_rssi> 
         (Note using this option will slow down OtaServer performance) 
          Valid Range:
          true  (default) 
          false 
    
         <max_packet_length>Maximum packet length</max_packet_length>
          Default = 2200
          Valid Range:
            UInt16 - 0 to Max UInt16
    
      </general_cfg_data> End general config data
    
      ===================================================================
      TI 802.15.4g
      ===================================================================
    
      <ti802_15_4g_cfg_data> Start TI 802.15.4g config data 
    
        <auto_reverse>Auto reverse Payload bytes as needed</auto_reverse> 
          Valid Range:
            true or false
    
        <fcs_24xx_format>Use FCS 24xx format</fcs_24xx_format> 
          Valid Range:
            true or false
    
        <add_channel>Add the channel number to the data stream</add_channel> 
          Valid Range:
            true or false
    
        <swap_hdr_bytes>Swap the message header bytes</swap_hdr_bytes> 
          Valid Range:
            true or false
    
        <reverse_fcs>Reverse the FCS if <auto_reverse> is true</reverse_fcs> 
          Valid Range:
            true or false
    
      </ti802_15_4g_cfg_data> End TI 802.15.4g config data  
    
      ===================================================================
      TI 802.15.4 
      ===================================================================
    
      <ti802_15_4_cfg_data> Start TI 802.15.4g config data  
    
        <remove_phy_header>Remove PHY header</remove_phy_header> 
          Valid Range:
            true or false
    
        <phy_header_length>Number PHY header bytes</phy_header_length> 
          Valid Range:
            UInt32 - 0 to Max UInt32
    
      </ti802_15_4_cfg_data> End TI 802.15.4g config data   
    
      ===================================================================
      Chip Set Settings
      ===================================================================
    
      <chip_set_name>Name for chip set data</chip_set_name> 
        Valid Entries:
          Ascii Text 
    
      <chip_set_data>Start chip set data
        
        <id>Chip number</id> 
          Valid Range:
            UInt16 -> Hexidecimal Number
            0x0000 - 0xFFFF
        
        <radio>Radio type</radio> 
          Valid Entries:
            DisplayOnly           - Display device info only
            Frequency             - COnfigure radio using frequencies
        
        <time>Packet time divisor</time> 
          Valid Range: 
            UInt32 -> Decimal Number
            (0 or empty -> No divisor needed)
        
        <rbit>Reverse Data Byte Bits</rbit> 
          Valid Range: 
            Yes          - Reverse data byte bits
            No           - Do not reverse data byte bits
    
        <lbnr>Leading Bytes Not To Reverse</lbnr> 
          Valid Range: 
            UInt16 -> Decimal Number
            0 - 65535
    
        <tbnr>Trailing Bytes Not To Reverse</tbnr> 
          Valid Range: 
            UInt16 -> Decimal Number
            0 - 65535
    
         <tlb>Trim Leading Bytes</tlb> 
          Valid Range:
            UInt16 -> Decimal Number
            0 - 65535
    
        <ttb>Trim Trailing Bytes</ttb> 
          Valid Range:
            UInt16 -> Decimal Number
            0 - 65535
    
      </chip_set_data>End chip set data
    
      ===================================================================
      Chip Names
      ===================================================================
    
      <chip_set_names>
    
        <chip_num_key>Unique chip number</chip_num_key>
          Valid Range:
            UInt16 - 0 to Max UInt16
    
        <chip_name>Chip name</chip_name>
          Valid Entries:
          ASCII text
    
      </chip_set_names>
    
      ===================================================================
      Firmware Description Data
      ===================================================================
      <fw_desc_data>
        Notes:
        Any field named <key> must a unique number for each line item in that table
        Any field named <xxxxxxxxx_key> must have a matching <key> int the supporting table.
        Any key values defined by other specs maybe less in size than the defined key range.
        Always use the spec data sizes when making keys.
    
        Basic table layout (Bottom Up)
        <fw_op_mode> uses <phy_info> <phy_desc>
          <phy_info> uses <protocol_type> <phy_type> <freq_band_range>
          <phy_desc> uses <freq_band> <mod_info>
    
        *******************************************************************
        Protocol Type
        Defined In TI Radio Packet Info Dissector
        *******************************************************************
    
        <protocol_type>
    
          <key>Unique protocol type key</key>
          Valid Range:
            UInt32 - 0 to Max UInt32
    
          <name>Protocol type name</name>           
          Valid Entries:
            Ascii Text
    
        </protocol_type>
    
        *******************************************************************
        Phy Type
        Defined In TI Radio Packet Info Dissector
        *******************************************************************
    
        <phy_type>
    
          <key>Unique phy type key/key>
          Valid Range:
            UInt32 - 0 to Max UInt32
    
          <name>Phy type name</name>           
          Valid Entries:
            Ascii Text
    
        </phy_type>
    
        *******************************************************************
        Freq Band Range
        Defined In TI Chameleon Sniffer
        *******************************************************************
    
        <freq_band_range>
    
          <key>Unique freq range band key</key>
          Valid Range:
            UInt32 - 0 to Max UInt32
    
          <name>Frequency band range name</name>           
          Valid Entries:
            Ascii Text
    
        </freq_band_range>
    
        *******************************************************************
        Frequency Band
        *******************************************************************
    
        <freq_band>
    
          <key>Unique freq band key</key>
          Valid Range:
            UInt32 - 0 to Max UInt32
    
          <name>Frequency band name</name>
          Valid Entries:
            Ascii Text
    
        </freq_band>
    
        *******************************************************************
        Modulation Info
        *******************************************************************
    
        <mod_info>
    
          <key>Unique modulation info key</key>
          Valid Range:
            UInt32 - 0 to Max UInt32
    
          <name>Modulation ame</name>
          Valid Entries:
            Ascii Text
    
        </freq_band>
    
        *******************************************************************
        Phy Info
        Defined In TI Chameleon Sniffer
        *******************************************************************
    
        <phy_info>
    
          <key>Unique firmware id key</key>
            UInt32 - 0 to Max UInt32
    
          <protocol_type_key>Unique protocol type key</protocol_type_key>
            Valid Entries:
              UInt32 - 0 to Max UInt32
    
          <phy_type_key>Phy type key</phy_type_key> 
            Valid Entries:
            UInt32 - 0 to Max UInt32
    
          <freq_band_range_key>Freq range band key</freq_band_range_key> 
            Valid Entries:
            UInt32 - 0 to Max UInt32
    
        </phy_info>
    
        *******************************************************************
        PHY Description
        *******************************************************************
    
        <phy_desc>
    
        <key>Unique phy desc key</key>
          Valid Range:
            UInt32 - 0 to Max UInt32
    
        <freq_band_key>Freq band key</freq_band_key>
          Valid Entries:
          UInt32 - 0 to Max UInt32
    
        <modulation>Modulation description</modulation>
          Valid Entries:
            Ascii Text
    
        <spacing>Channel spacing in MHz</spacing>
          Valid Entries:
            Double
    
        <channels>Total number of channels</channels> 
          Valid Range:
            UInt32 - 0 to Max UInt32
    
        <first_ch_center>First channel center frequency in MHz</first_ch_center> 
          Valid Entries:
            Double
    
        <first_ch_num>First channel number</first_ch_num> 
          Valid Entries:
            UInt32 - 0 to Max UInt32
    
        </phy_desc>
    
        *******************************************************************
        Firmware Operational Mode
        *******************************************************************
    
        <fw_op_mode>
    
          <key>Unique firmware operational mode key</key>
            UInt32 - 0 to Max UInt32
    
          <fw_id>Firmware id key</fw_id>
            Valid Entries:
            UInt32 - 0 to Max UInt32
    
          <fw_index>Firmware index</fw_index>
            Valid Entries:
            UInt32 - 0 to Max UInt32
    
          <fw_type>Firmware Type</fw_type>
            Valid Entries:
            NamedPhy
            CustomPhy
    
          <phy_info_key>Phy info key</phy_info_key>
            Valid Entries:
            UInt32 - 0 to Max UInt32
    
          <phy_desc_key>Phy desc key</phy_desc_key> 
            Valid Entries:
            UInt32 - 0 to Max UInt32
    
          <desc>Optional description</desc>
          Valid Entries:
           ASCII text string
    
        </fw_op_mode>
    
      </fw_desc_data>
    
      ===================================================================
      ===================================================================
       -->
    <!-- ***************************************************************************************************************** -->
    <sniffer_agent_config>
      <!-- ***************************************************************************************************************** -->
      <!-- Versions -->
      <!-- ***************************************************************************************************************** -->
      <xml_version>1.0.3</xml_version>
      <program_version> - v1.7.0</program_version>
    
      <!-- ***************************************************************************************************************** -->
      <!-- General --> 
      <!-- ***************************************************************************************************************** -->
      <general_cfg_data>
        <max_ota_packet_size>4096</max_ota_packet_size>
        <max_zep_packet_size>127</max_zep_packet_size>
        <pipe_file_device_time>Sniffer</pipe_file_device_time>
        <pipe_file_multiple_devices_time>Sniffer</pipe_file_multiple_devices_time>
        <max_ws_queue_length>1000000</max_ws_queue_length> 
        <max_filter_queue_length>1000000</max_filter_queue_length> 
        <max_rx_tx_queue_length>250000</max_rx_tx_queue_length> 
        <udp_ping_timeout>200</udp_ping_timeout> 
        <log_rx_bytes>true</log_rx_bytes>
        <log_rx_packets>true</log_rx_packets>
        <log_tx_bytes>true</log_tx_bytes>
        <log_msg_bytes_out>true</log_msg_bytes_out>
        <hide_ping_columns>false</hide_ping_columns>
        <remove_status_rssi>true</remove_status_rssi> 
        <max_packet_length>2200</max_packet_length> 
      </general_cfg_data>
    
      <!-- ***************************************************************************************************************** -->
      <!-- TI 802.15.4g --> 
      <!-- ***************************************************************************************************************** -->
      <ti802_15_4g_cfg_data>
        <auto_reverse>true</auto_reverse> 
        <fcs_24xx_format>false</fcs_24xx_format> 
        <add_channel>false</add_channel> 
        <swap_hdr_bytes>true</swap_hdr_bytes> 
        <reverse_fcs>true</reverse_fcs> 
      </ti802_15_4g_cfg_data>
    
      <!-- ***************************************************************************************************************** -->
      <!-- TI 802.15.4 --> 
      <!-- ***************************************************************************************************************** -->
      <ti802_15_4_cfg_data>
        <remove_phy_header>true</remove_phy_header> 
        <phy_header_length>1</phy_header_length> 
      </ti802_15_4_cfg_data>
    
      <!-- ***************************************************************************************************************** -->
      <!-- Chip Set Settings --> 
      <!-- ***************************************************************************************************************** -->
      <chip_set_name>SnifferAgent Chip Set Data</chip_set_name>
      <chip_set_data>
        <!-- Configure Additional Chip Set Handling (use only if needed) -->                                          
        <!-- This is an example
        <chipNum>0000</chipNum><radio>Frequency</radio><time>00</time><rbit>No </rbit><lbnr>0</lbnr><tbnr>0</tbnr><tlb>0</tlb><ttb>0</ttb>
        -->
      </chip_set_data>
    
      <!-- ***************************************************************************************************************** -->
      <!-- Chip Names -->
      <!-- ***************************************************************************************************************** -->
      <chip_names_name>SnifferAgent Chip Set Names</chip_names_name>
      <chip_set_names>
        <chip_num_key>0x1350</chip_num_key><chip_name>CC1350</chip_name>
        <chip_num_key>0x1310</chip_num_key><chip_name>CC1310</chip_name>
        <chip_num_key>0x1312</chip_num_key><chip_name>CC1312R</chip_name>
        <chip_num_key>0x2650</chip_num_key><chip_name>CC2650</chip_name>
        <chip_num_key>0x2642</chip_num_key><chip_name>CC2642R</chip_name>
        <chip_num_key>0x2652</chip_num_key><chip_name>CC2652R</chip_name>
        <chip_num_key>0x1352</chip_num_key><chip_name>CC1352R</chip_name>
        <chip_num_key>0x1353</chip_num_key><chip_name>CC1352P</chip_name>
      </chip_set_names>
    
      <!-- ***************************************************************************************************************** -->
      <!-- Firmware Description Data --> 
      <!-- ***************************************************************************************************************** -->
      <fw_desc_data>
        <!-- ******************************************************************* -->
        <!-- Protocol Type -->                                          
        <!-- Defined In TI Radio Packet Info Dissector -->                                          
        <!-- <Warning> - Should match enum in PacketInfoHdr.cs - public enum ProtocolType : byte -->                                          
        <!-- ******************************************************************* -->
        <protocol_type>
          <key>00</key><name>Generic</name>           
          <key>01</key><name>IEEE 802.15.4g</name>
          <key>02</key><name>IEEE 802.15.4</name>
          <key>03</key><name>BLE</name> 
        </protocol_type>
    
        <!-- ******************************************************************* -->
        <!-- Phy Type -->
        <!-- Defined In TI Radio Packet Info Dissector -->                                          
        <!-- <Warning> - Should match enum in PacketInfoHdr.cs - public enum PhyType : byte -->                                          
        <!-- ******************************************************************* -->
        <phy_type>
          <key>00</key><name>No Phy</name>
          <key>01</key><name>GFSK 50 Kbps</name>   
          <key>02</key><name>Simplelink Long Range 5 Kbps</name>
          <key>03</key><name>O-QPSK</name>            
          <key>04</key><name>GFSK 200 Kbps</name>
          <key>05</key><name>BLE 1 Mbps</name>
          <key>06</key><name>GFSK 150 Kbps</name>
        </phy_type>
    
        <!-- ******************************************************************* -->
        <!-- Freq Band Range -->                                          
        <!-- Defined In TI Chameleon Sniffer -->                                          
        <!-- ******************************************************************* -->
        <freq_band_range>
          <key>00</key><name>No Range</name>
          <key>01</key><name>868-915 MHz</name>         
          <key>02</key><name>433 MHz</name>   
          <key>03</key><name>2405-2480 MHz</name>
          <key>04</key><name>2402-2480 MHz</name> 
        </freq_band_range>
    
        <!-- ******************************************************************* -->
        <!-- Frequency Band -->
        <!-- ******************************************************************* -->
        <freq_band>
          <key>00</key><name>No Band</name>
          <key>01</key><name>915 MHz</name>
          <key>02</key><name>868 MHz</name>
          <key>03</key><name>433 MHz</name>
          <key>04</key><name>2405 MHz</name>
          <key>05</key><name>2402 MHz</name>
        </freq_band>
    
        <!-- ******************************************************************* -->
        <!-- Modulation Info -->
        <!-- ******************************************************************* -->
        <mod_info>
          <key>00</key><name>Custom Build Sniffer</name>
          <key>01</key><name>Freq Band</name>
        </mod_info>
    
        <!-- ******************************************************************* -->
        <!-- Phy Info -->
        <!-- ******************************************************************* -->
        <phy_info>
          <!-- Generic / Custom Build -->
          <key>00</key><protocol_type_key>00</protocol_type_key><phy_type_key>00</phy_type_key>
            <freq_band_range_key>00</freq_band_range_key>
    
          <!-- [RF proprietary] 868-915 MHz -->
          <!-- GFSK 50Kbps -->
          <key>10</key><protocol_type_key>00</protocol_type_key><phy_type_key>01</phy_type_key>
            <freq_band_range_key>01</freq_band_range_key>
          <!-- SLR 5Kbps -->
          <key>11</key><protocol_type_key>00</protocol_type_key><phy_type_key>02</phy_type_key>
            <freq_band_range_key>01</freq_band_range_key>
          <!-- GFSK 200Kbps -->
          <key>12</key><protocol_type_key>00</protocol_type_key><phy_type_key>04</phy_type_key>
            <freq_band_range_key>01</freq_band_range_key>
          <!-- GFSK 150Kbps -->
          <key>13</key><protocol_type_key>00</protocol_type_key><phy_type_key>06</phy_type_key>
            <freq_band_range_key>01</freq_band_range_key>
    
    
          <!-- [IEEE 802.15.4g] 868-915 MHz -->
          <!-- GFSK 50Kbps -->
          <key>20</key><protocol_type_key>01</protocol_type_key><phy_type_key>01</phy_type_key>
            <freq_band_range_key>01</freq_band_range_key>
          <!-- SLR 5Kbps -->
          <key>21</key><protocol_type_key>01</protocol_type_key><phy_type_key>02</phy_type_key>
            <freq_band_range_key>01</freq_band_range_key>
          <!-- GFSK 200Kbps -->
          <key>22</key><protocol_type_key>01</protocol_type_key><phy_type_key>04</phy_type_key>
            <freq_band_range_key>01</freq_band_range_key>
    
          <!-- [IEEE 802.15.4g] 433 MHz -->
          <!-- GFSK 50Kbps -->
          <key>30</key><protocol_type_key>01</protocol_type_key><phy_type_key>01</phy_type_key>
            <freq_band_range_key>02</freq_band_range_key>
          <!-- SLR 5Kbps -->
          <key>31</key><protocol_type_key>01</protocol_type_key><phy_type_key>02</phy_type_key>
            <freq_band_range_key>02</freq_band_range_key>
          <!-- GFSK 200Kbps -->
          <key>32</key><protocol_type_key>01</protocol_type_key><phy_type_key>04</phy_type_key>
            <freq_band_range_key>02</freq_band_range_key>
    
          <!-- [IEEE 802.15.4] 2405-2480 MHz -->
          <!-- O-QPSK -->
          <key>40</key><protocol_type_key>02</protocol_type_key><phy_type_key>03</phy_type_key>
            <freq_band_range_key>03</freq_band_range_key>
            
          <!-- [BLE 4] 2402-2480 MHz -->
          <!-- 1 Mbps -->
          <key>41</key><protocol_type_key>03</protocol_type_key><phy_type_key>05</phy_type_key>
            <freq_band_range_key>04</freq_band_range_key>
        </phy_info>
    
        <!-- ******************************************************************* -->
        <!-- PHY Description -->                                          
        <!-- ******************************************************************* -->
        <phy_desc>
          <!-- Custom Build -->
          <key>00</key><freq_band_key>00</freq_band_key><mod_info_key>00</mod_info_key>
            <spacing>0.0</spacing><channels>0</channels>  <first_ch_center>1000.0</first_ch_center>
            <first_ch_num>0</first_ch_num>
    
          <!-- SUN FSK Operating Mode #1 (US) -->
          <key>01</key><freq_band_key>01</freq_band_key><mod_info_key>01</mod_info_key>
            <spacing>0.2</spacing><channels>129</channels><first_ch_center>902.2</first_ch_center>
            <first_ch_num>0</first_ch_num>
          <!-- SUN FSK Operating Mode #1 (Europe) -->
          <key>02</key><freq_band_key>02</freq_band_key><mod_info_key>01</mod_info_key>
            <spacing>0.2</spacing><channels>34</channels> <first_ch_center>863.125</first_ch_center>
            <first_ch_num>0</first_ch_num>
    
          <!-- Proprietary (China) -->
          <key>03</key><freq_band_key>03</freq_band_key><mod_info_key>01</mod_info_key>
            <spacing>0.2</spacing><channels>7</channels>  <first_ch_center>433.3</first_ch_center>
            <first_ch_num>0</first_ch_num>
    
          <!-- IEEE 802.15.4 -->
          <key>04</key><freq_band_key>04</freq_band_key><mod_info_key>01</mod_info_key>
            <spacing>5.0</spacing><channels>16</channels> <first_ch_center>2405.0</first_ch_center>
            <first_ch_num>11</first_ch_num>
    
          <!-- GFSK 200 Kbps (US) -->
          <key>05</key><freq_band_key>01</freq_band_key><mod_info_key>01</mod_info_key>
            <spacing>0.4</spacing><channels>64</channels> <first_ch_center>902.4</first_ch_center>
            <first_ch_num>0</first_ch_num>
          <!-- GFSK 200 Kbps (Europe) -->
          <key>06</key><freq_band_key>02</freq_band_key><mod_info_key>01</mod_info_key>
            <spacing>0.4</spacing><channels>17</channels> <first_ch_center>863.225</first_ch_center>
            <first_ch_num>0</first_ch_num>
            
          <!-- BLE 1 Mbps -->
          <key>07</key><freq_band_key>05</freq_band_key><mod_info_key>01</mod_info_key>
            <spacing>2.0</spacing><channels>3</channels> <first_ch_center>2402.0</first_ch_center>
            <first_ch_num>37</first_ch_num>
    
          <!-- GFSK 150 Kbps (US) -->
          <key>08</key><freq_band_key>01</freq_band_key><mod_info_key>01</mod_info_key>
            <spacing>0.4</spacing><channels>64</channels> <first_ch_center>902.4</first_ch_center>
            <first_ch_num>0</first_ch_num>
    
            
        </phy_desc>
    
        <!-- ******************************************************************* -->
        <!-- Firmware Operational Mode -->                                          
        <!-- ******************************************************************* -->
        <fw_op_mode>
          <!-- ******************************* -->
          <!-- Firmware Id 0x00                -->
          <!-- LAUNCHXL-CC1350/LAUNCHXL-CC1310 -->
          <!-- ******************************* -->
          <!-- [802.15.4g] GFSK 50 Kbps 915 MHz -->
          <key>0x0001</key><fw_id>0x00</fw_id><fw_index>0x00</fw_index><fw_type>NamedPhy</fw_type>
            <phy_info_key>20</phy_info_key><phy_desc_key>01</phy_desc_key><desc></desc>
          <!-- [802.15.4g] GFSK 50 Kbps 868 MHz -->
          <key>0x0002</key><fw_id>0x00</fw_id><fw_index>0x00</fw_index><fw_type>NamedPhy</fw_type>
            <phy_info_key>20</phy_info_key><phy_desc_key>02</phy_desc_key><desc></desc>
    
          <!-- [802.15.4g] GFSK 50 Kbps 433 MHz -->
          <key>0x0003</key><fw_id>0x00</fw_id><fw_index>0x01</fw_index><fw_type>NamedPhy</fw_type>
            <phy_info_key>20</phy_info_key><phy_desc_key>03</phy_desc_key><desc></desc>
    
          <!-- [802.15.4g] SLR 5 Kbps 915 MHz -->
          <key>0x0004</key><fw_id>0x00</fw_id><fw_index>0x02</fw_index><fw_type>NamedPhy</fw_type>
            <phy_info_key>21</phy_info_key><phy_desc_key>01</phy_desc_key><desc></desc>
          <!-- [802.15.4g] SLR 5 Kbps 868 MHz -->
          <key>0x0005</key><fw_id>0x00</fw_id><fw_index>0x02</fw_index><fw_type>NamedPhy</fw_type>
            <phy_info_key>21</phy_info_key><phy_desc_key>02</phy_desc_key><desc></desc>
    
          <!-- [802.15.4g] SLR 5 Kbps 433 MHz -->
          <key>0x0006</key><fw_id>0x00</fw_id><fw_index>0x03</fw_index><fw_type>NamedPhy</fw_type>
            <phy_info_key>21</phy_info_key><phy_desc_key>03</phy_desc_key><desc></desc>
    
          <!-- [802.15.4g] GFSK 50 Kbps 915 MHz (Legacy Syncword) -->
          <key>0x0007</key><fw_id>0x00</fw_id><fw_index>0x04</fw_index><fw_type>NamedPhy</fw_type>
            <phy_info_key>20</phy_info_key><phy_desc_key>01</phy_desc_key><desc>(Legacy Syncword)</desc>
          <!-- [802.15.4g] GFSK 50 Kbps 868 MHz (Legacy Syncword) -->
          <key>0x0008</key><fw_id>0x00</fw_id><fw_index>0x04</fw_index><fw_type>NamedPhy</fw_type>
            <phy_info_key>20</phy_info_key><phy_desc_key>02</phy_desc_key><desc>(Legacy Syncword)</desc>
    
          <!-- [802.15.4g] GFSK 200 Kbps 915 MHz -->
          <key>0x0009</key><fw_id>0x00</fw_id><fw_index>0x05</fw_index><fw_type>NamedPhy</fw_type>
            <phy_info_key>22</phy_info_key><phy_desc_key>05</phy_desc_key><desc></desc>
          <!-- [802.15.4g] GFSK 200 Kbps 868 MHz -->
          <key>0x0010</key><fw_id>0x00</fw_id><fw_index>0x05</fw_index><fw_type>NamedPhy</fw_type>
            <phy_info_key>22</phy_info_key><phy_desc_key>06</phy_desc_key><desc></desc>
    
          <!-- [RF proprietary] GFSK 50 Kbps 915 MHz -->
          <key>0x0011</key><fw_id>0x00</fw_id><fw_index>0x06</fw_index><fw_type>CustomPhy</fw_type>
            <phy_info_key>10</phy_info_key><phy_desc_key>01</phy_desc_key><desc></desc>
          <!-- [RF proprietary] GFSK 50 Kbps 868 MHz -->
          <key>0x0012</key><fw_id>0x00</fw_id><fw_index>0x06</fw_index><fw_type>CustomPhy</fw_type>
            <phy_info_key>10</phy_info_key><phy_desc_key>02</phy_desc_key><desc></desc>
    
          <!-- [RF proprietary] GFSK 50 Kbps  433MHz -->
          <key>0x0013</key><fw_id>0x00</fw_id><fw_index>0x07</fw_index><fw_type>CustomPhy</fw_type>
            <phy_info_key>10</phy_info_key><phy_desc_key>03</phy_desc_key><desc></desc>
    
          <!-- [RF proprietary] SLR 5 Kbps 915 MHz -->
          <key>0x0014</key><fw_id>0x00</fw_id><fw_index>0x08</fw_index><fw_type>CustomPhy</fw_type>
            <phy_info_key>11</phy_info_key><phy_desc_key>01</phy_desc_key><desc></desc>
          <!-- [RF proprietary] SLR 5 Kbps 868 MHz -->
          <key>0x0015</key><fw_id>0x00</fw_id><fw_index>0x08</fw_index><fw_type>CustomPhy</fw_type>
            <phy_info_key>11</phy_info_key><phy_desc_key>02</phy_desc_key><desc></desc>
    
          <!-- [RF proprietary] SLR 5 Kbps 433 MHz -->
          <key>0x0016</key><fw_id>0x00</fw_id><fw_index>0x09</fw_index><fw_type>CustomPhy</fw_type>
            <phy_info_key>11</phy_info_key><phy_desc_key>03</phy_desc_key><desc></desc>
    
          <!-- [RF proprietary] GFSK 200 Kbps 915 MHz -->
          <key>0x0017</key><fw_id>0x00</fw_id><fw_index>0x0A</fw_index><fw_type>CustomPhy</fw_type>
            <phy_info_key>12</phy_info_key><phy_desc_key>05</phy_desc_key><desc></desc>
          <!-- [RF proprietary] GFSK 200 Kbps 868 MHz -->
          <key>0x0018</key><fw_id>0x00</fw_id><fw_index>0x0A</fw_index><fw_type>CustomPhy</fw_type>
            <phy_info_key>12</phy_info_key><phy_desc_key>06</phy_desc_key><desc></desc>
    
          <!-- [RF proprietary] GFSK 150 Kbps 915 MHz -->
          <key>0x0019</key><fw_id>0x00</fw_id><fw_index>0x0B</fw_index><fw_type>NamedPhy</fw_type>
            <phy_info_key>13</phy_info_key><phy_desc_key>08</phy_desc_key><desc></desc>
    
    
          <!-- ****************** -->
          <!-- Firmware Id 0x20   -->
          <!-- LAUNCHXL-CC2650    -->
          <!-- ****************** -->
          <!-- [802.15.4] O-QPSK 2405-2480 MHz -->
          <key>0x2001</key><fw_id>0x20</fw_id><fw_index>00</fw_index><fw_type>NamedPhy</fw_type>
            <phy_info_key>40</phy_info_key><phy_desc_key>04</phy_desc_key><desc></desc>
    
          <!-- ****************** -->
          <!-- Firmware Id 0x21   -->
          <!-- LAUNCHXL-CC26X2R1  -->
          <!-- ****************** -->
          <!-- [802.15.4] O-QPSK 2405-2480 MHz -->
          <key>0x2101</key><fw_id>0x21</fw_id><fw_index>00</fw_index><fw_type>NamedPhy</fw_type>
            <phy_info_key>40</phy_info_key><phy_desc_key>04</phy_desc_key><desc></desc>
            
          <!-- [BLE5] 1Mbps 2402-2480 MHz -->
          <key>0x2102</key><fw_id>0x21</fw_id><fw_index>01</fw_index><fw_type>NamedPhy</fw_type>
            <phy_info_key>41</phy_info_key><phy_desc_key>07</phy_desc_key><desc></desc>
    
          <!-- ****************** -->
          <!-- Firmware Id 0x30   -->
          <!-- LAUNCHXL-CC1352R1  -->
          <!-- ****************** -->
          <!-- [802.15.4g] GFSK 50 Kbps 915 MHz -->
          <key>0x3001</key><fw_id>0x30</fw_id><fw_index>00</fw_index><fw_type>NamedPhy</fw_type>
            <phy_info_key>20</phy_info_key><phy_desc_key>01</phy_desc_key><desc></desc>
          <!-- [802.15.4g] GFSK 50 Kbps 868 MHz -->
          <key>0x3002</key><fw_id>0x30</fw_id><fw_index>00</fw_index><fw_type>NamedPhy</fw_type>
            <phy_info_key>20</phy_info_key><phy_desc_key>02</phy_desc_key><desc></desc>
    
          <!-- [802.15.4g] SLR 5 Kbps 915 MHz -->
          <key>0x3003</key><fw_id>0x30</fw_id><fw_index>01</fw_index><fw_type>NamedPhy</fw_type>
            <phy_info_key>21</phy_info_key><phy_desc_key>01</phy_desc_key><desc></desc>
          <!-- [802.15.4g] SLR 5 Kbps 868 MHz -->
          <key>0x3004</key><fw_id>0x30</fw_id><fw_index>01</fw_index><fw_type>NamedPhy</fw_type>
            <phy_info_key>21</phy_info_key><phy_desc_key>02</phy_desc_key><desc></desc>
    
          <!-- [RF proprietary] GFSK 50 Kbps 915 MHz -->
          <key>0x3005</key><fw_id>0x30</fw_id><fw_index>02</fw_index><fw_type>CustomPhy</fw_type>
            <phy_info_key>10</phy_info_key><phy_desc_key>01</phy_desc_key><desc></desc>
          <!-- [RF proprietary] GFSK 50 Kbps 868 MHz -->
          <key>0x3006</key><fw_id>0x30</fw_id><fw_index>02</fw_index><fw_type>CustomPhy</fw_type>
            <phy_info_key>10</phy_info_key><phy_desc_key>02</phy_desc_key><desc></desc>
    
          <!-- [RF proprietary] SLR 5 Kbps 915 MHz -->
          <key>0x3007</key><fw_id>0x30</fw_id><fw_index>03</fw_index><fw_type>CustomPhy</fw_type>
            <phy_info_key>11</phy_info_key><phy_desc_key>01</phy_desc_key><desc></desc>
          <!-- [RF proprietary] SLR 5 Kbps 868 MHz -->
          <key>0x3008</key><fw_id>0x30</fw_id><fw_index>03</fw_index><fw_type>CustomPhy</fw_type>
            <phy_info_key>11</phy_info_key><phy_desc_key>02</phy_desc_key><desc></desc>
    
          <!-- [802.15.4] O-QPSK 2405-2480 MHz -->
          <key>0x3009</key><fw_id>0x30</fw_id><fw_index>04</fw_index><fw_type>NamedPhy</fw_type>
            <phy_info_key>40</phy_info_key><phy_desc_key>04</phy_desc_key><desc></desc>
            
          <!-- [BLE5] 1Mbps 2402-2480 MHz -->
          <key>0x3010</key><fw_id>0x30</fw_id><fw_index>05</fw_index><fw_type>NamedPhy</fw_type>
            <phy_info_key>41</phy_info_key><phy_desc_key>07</phy_desc_key><desc></desc>
    
          <!-- ****************** -->
          <!-- Firmware Id 0x40   -->
          <!-- LAUNCHXL-CC1312R1  -->
          <!-- ****************** -->
          <!-- [802.15.4g] GFSK 50 Kbps 915 MHz -->
          <key>0x4001</key><fw_id>0x40</fw_id><fw_index>00</fw_index><fw_type>NamedPhy</fw_type>
            <phy_info_key>20</phy_info_key><phy_desc_key>01</phy_desc_key><desc></desc>
          <!-- [802.15.4g] GFSK 50 Kbps 868 MHz -->
          <key>0x4002</key><fw_id>0x40</fw_id><fw_index>00</fw_index><fw_type>NamedPhy</fw_type>
            <phy_info_key>20</phy_info_key><phy_desc_key>02</phy_desc_key><desc></desc>
    
          <!-- [802.15.4g] SLR 5 Kbps 915 MHz -->
          <key>0x4003</key><fw_id>0x40</fw_id><fw_index>01</fw_index><fw_type>NamedPhy</fw_type>
            <phy_info_key>21</phy_info_key><phy_desc_key>01</phy_desc_key><desc></desc>
          <!-- [802.15.4g] SLR 5 Kbps 868 MHz -->
          <key>0x4004</key><fw_id>0x40</fw_id><fw_index>01</fw_index><fw_type>NamedPhy</fw_type>
            <phy_info_key>21</phy_info_key><phy_desc_key>02</phy_desc_key><desc></desc>
    
          <!-- [RF proprietary] GFSK 50 Kbps 915 MHz -->
          <key>0x4005</key><fw_id>0x40</fw_id><fw_index>02</fw_index><fw_type>CustomPhy</fw_type>
            <phy_info_key>10</phy_info_key><phy_desc_key>01</phy_desc_key><desc></desc>
          <!-- [RF proprietary] GFSK 50 Kbps 868 MHz -->
          <key>0x4006</key><fw_id>0x40</fw_id><fw_index>02</fw_index><fw_type>CustomPhy</fw_type>
            <phy_info_key>10</phy_info_key><phy_desc_key>02</phy_desc_key><desc></desc>
    
          <!-- [RF proprietary] SLR 5 Kbps 915 MHz -->
          <key>0x4007</key><fw_id>0x40</fw_id><fw_index>03</fw_index><fw_type>CustomPhy</fw_type>
            <phy_info_key>11</phy_info_key><phy_desc_key>01</phy_desc_key><desc></desc>
          <!-- [RF proprietary] SLR 5 Kbps 868 MHz -->
          <key>0x4008</key><fw_id>0x40</fw_id><fw_index>03</fw_index><fw_type>CustomPhy</fw_type>
            <phy_info_key>11</phy_info_key><phy_desc_key>02</phy_desc_key><desc></desc>
    
          <!-- ****************** -->
          <!-- Firmware Id 0x50   -->
          <!-- LAUNCHXL-CC1352P1  -->
          <!-- ****************** -->
          <!-- [802.15.4g] GFSK 50 Kbps 915 MHz -->
          <key>0x5001</key><fw_id>0x50</fw_id><fw_index>00</fw_index><fw_type>NamedPhy</fw_type>
            <phy_info_key>20</phy_info_key><phy_desc_key>01</phy_desc_key><desc></desc>
          <!-- [802.15.4g] GFSK 50 Kbps 868 MHz -->
          <key>0x5002</key><fw_id>0x50</fw_id><fw_index>00</fw_index><fw_type>NamedPhy</fw_type>
            <phy_info_key>20</phy_info_key><phy_desc_key>02</phy_desc_key><desc></desc>
            
          <!-- [802.15.4g] GFSK 50 Kbps 433 MHz -->
          <key>0x5003</key><fw_id>0x50</fw_id><fw_index>0x01</fw_index><fw_type>NamedPhy</fw_type>
            <phy_info_key>30</phy_info_key><phy_desc_key>03</phy_desc_key><desc></desc>
    
          <!-- [802.15.4g] SLR 5 Kbps 915 MHz -->
          <key>0x5004</key><fw_id>0x50</fw_id><fw_index>02</fw_index><fw_type>NamedPhy</fw_type>
            <phy_info_key>21</phy_info_key><phy_desc_key>01</phy_desc_key><desc></desc>
          <!-- [802.15.4g] SLR 5 Kbps 868 MHz -->
          <key>0x5005</key><fw_id>0x50</fw_id><fw_index>02</fw_index><fw_type>NamedPhy</fw_type>
            <phy_info_key>21</phy_info_key><phy_desc_key>02</phy_desc_key><desc></desc>
            
          <!-- [802.15.4g] SLR 5 Kbps 433 MHz -->
          <key>0x5006</key><fw_id>0x50</fw_id><fw_index>0x03</fw_index><fw_type>NamedPhy</fw_type>
            <phy_info_key>31</phy_info_key><phy_desc_key>03</phy_desc_key><desc></desc>
    
          <!-- [RF proprietary] GFSK 50 Kbps 915 MHz -->
          <key>0x5007</key><fw_id>0x50</fw_id><fw_index>04</fw_index><fw_type>CustomPhy</fw_type>
            <phy_info_key>10</phy_info_key><phy_desc_key>01</phy_desc_key><desc></desc>
          <!-- [RF proprietary] GFSK 50 Kbps 868 MHz -->
          <key>0x5008</key><fw_id>0x50</fw_id><fw_index>04</fw_index><fw_type>CustomPhy</fw_type>
            <phy_info_key>10</phy_info_key><phy_desc_key>02</phy_desc_key><desc></desc>
            
          <!-- [RF proprietary] GFSK 50 Kbps  433MHz -->
          <key>0x5009</key><fw_id>0x50</fw_id><fw_index>05</fw_index><fw_type>CustomPhy</fw_type>
            <phy_info_key>10</phy_info_key><phy_desc_key>03</phy_desc_key><desc></desc>
    
          <!-- [RF proprietary] SLR 5 Kbps 915 MHz -->
          <key>0x500A</key><fw_id>0x50</fw_id><fw_index>06</fw_index><fw_type>CustomPhy</fw_type>
            <phy_info_key>11</phy_info_key><phy_desc_key>01</phy_desc_key><desc></desc>
          <!-- [RF proprietary] SLR 5 Kbps 868 MHz -->
          <key>0x500B</key><fw_id>0x50</fw_id><fw_index>06</fw_index><fw_type>CustomPhy</fw_type>
            <phy_info_key>11</phy_info_key><phy_desc_key>02</phy_desc_key><desc></desc>
            
          <!-- [RF proprietary] SLR 5 Kbps 433 MHz -->
          <key>0x500C</key><fw_id>0x50</fw_id><fw_index>07</fw_index><fw_type>CustomPhy</fw_type>
            <phy_info_key>11</phy_info_key><phy_desc_key>03</phy_desc_key><desc></desc>
    
          <!-- [802.15.4] O-QPSK 2405-2480 MHz -->
          <key>0x500D</key><fw_id>0x50</fw_id><fw_index>08</fw_index><fw_type>NamedPhy</fw_type>
            <phy_info_key>40</phy_info_key><phy_desc_key>04</phy_desc_key><desc></desc>
            
          <!-- [BLE5] 1Mbps 2402-2480 MHz -->
          <key>0x500E</key><fw_id>0x50</fw_id><fw_index>09</fw_index><fw_type>NamedPhy</fw_type>
            <phy_info_key>41</phy_info_key><phy_desc_key>07</phy_desc_key><desc></desc>
    
          <!-- ****************** -->
          <!-- Firmware Id 0x64   -->
          <!-- ****************** -->
          <!-- [Custom Build] Sniffer --> 
          <key>0x6401</key><fw_id>0x64</fw_id><fw_index>00</fw_index><fw_type>CustomPhy</fw_type>
            <phy_info_key>00</phy_info_key><phy_desc_key>00</phy_desc_key><desc></desc>
        </fw_op_mode>
      </fw_desc_data>
    
      <!-- ***************************************************************************************************************** -->
      <!-- ***************************************************************************************************************** -->
    </sniffer_agent_config>
    
    

    Best regards,

    R.M

  • Thanks again. There seems to be some parameters that might not be matching the device I'm trying to sniff, but this will help me get started.

    -t.