3 Replies Latest reply on Sep 5, 2019 6:03 AM by KotnaniK_71

    [CYW43907] Transmitting and receiving raw 802.11 frames


      I'm using a CYW943907AEVAL1F board to evaluate using CYW43907 in an upcoming board design.  I'm using the latest release of WICED Studio.


      My application needs to transmit and receive raw 802.11 frames including the layer 2 (MAC) header.  I have a working example of receiving frames in monitor mode using wwd_wifi_set_raw_packet_processor() and wwd_wifi_enable_monitor_mode(). This is based on the snip.packet_filter example code.  Unfortunately, I need a few hooks that I can't find digging through the SDK which may make this part not feasible for this project.


      1. If I call wwd_wifi_set_channel() before entering monitor mode, will the transceiver stay tuned to the requested channel while monitor mode is active?  If so, can I later call wwd_wifi_set_channel() again without exiting monitor mode, so I can capture packets for fixed time intervals on different channels?
      2. When I'm receiving raw frames in monitor mode, how can I query RSSI for each received frame, or in some way differentiate the receive power of incoming frames?
      3. This question is not related to monitor mode - it is about raw frame transmission.  How can I transmit a raw 802.11 frame that is not data.  My application will create a custom 802.11 management frame (providing its own complete and valid 802.11 MAC header) that I need to transmit on a specified channel.  This is not a data frame and does not have an Ethernet header, so the wwd_network_send_ethernet_data() function does not seem appropriate.


      For what it's worth, I also sent these questions in a direct technical support case and received a terse and discouraging response, "We do not recommend using Monitor mode in CYW43907 as it is not tested."  I'm not exactly sure what to make of that.


      Finally, if the CYW43907 cannot do what I need, are there any other Wireless MCU parts that you'd recommend for this use case?  The application will be RTOS-based or bare-metal.  The CYW43907 is a very enticing solution with its Cortex-R application core, plentiful on-chip SRAM, and rich set of I/O peripheral support.  Other Wireless MCUs on the market are much less performant.


      Thank you,