I'm using a USB-KW41Z USB dongle to create a custom 802.15.4 sniffer application. Initially, I started with the mac_fsci_black_box, which can be found in the KW41Z SDK at SDK_2_2_3_USB-KW41Z\boards\usbkw41z_kw41z\wireless_examples\ieee_802_15_4\mac_fsci_black_box. I made good progress as I was able to receive 802.15.4 broadcast packets. I put the dongle in promiscuous mode by writing a 0x01 to the macPromiscuousMode PIB using a MacSetPIBAttribute.Request request and I started receiving device to device packets as I expected. However, I was not able to receive 802.15.4 ACK packets. I see this code in PhyPacketProcessor.c...
ZLL->RX_FRAME_FILTER |= (ZLL_RX_FRAME_FILTER_FRM_VER_FILTER_MASK |
ZLL_RX_FRAME_FILTER_EXTENDED_FT_MASK |
ZLL_RX_FRAME_FILTER_MULTIPURPOSE_FT_MASK |
ZLL_RX_FRAME_FILTER_LLDN_FT_MASK |
ZLL_RX_FRAME_FILTER_CMD_FT_MASK |
ZLL_RX_FRAME_FILTER_DATA_FT_MASK |
ZLL_RX_FRAME_FILTER_BEACON_FT_MASK |
ZLL_RX_FRAME_FILTER_ACK_FT_MASK |
ZLL_RX_FRAME_FILTER_NS_FT_MASK);
which leads me to believe ACK packets are to be forwarded up to the host via FSCI, but they are not.
I reprogrammed my USB-KW41Z dongle with the sniffer_usbkw41z_kw41z.bin firmware to get it back to the state I received it in. I pointed my sniffer application to its respective comm port and I was able to see the DATA and ACK 802.15.4 packets.
Here are my questions:
1. Why are 802.15.4 ACK packets not forwarded to the host using the mac_fsci_black_box firmware when it is configured for promiscuous mode? Can this be enabled? If so, how?
2. Is the source code for the sniffer_usbkw41z_kw41z.bin firmware available? If so, where is it located?
3. Is there a protocol specification for the sniffer_usbkw41z_kw41z.bin firmware? Obviously it communicates using FSCI over the serial port, that much I found out. However, I had to first get the dongle configured by running the Kinetis Protocol Analyzer Adapter PC application before I could communicate with it using my custom application. I suspect there are a few undocumented requests that are required to configure the dongle.
Thank you,
Ryan