Revision as of 06:42, 10 January 2014 by Craig Peacock (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Budget 802.15.4 6LoWPAN Protocol Analyser using Wireshark

When I first started developing with the Microchip MRF24J40 802.15.4 Radio, I purchased Microchip's Zena Wireless Adapter and downloaded a copy of the Wireless Development Studio. It has been adequate for diagnosing issues at the raw 802.15.4 MAC layer, but less useful when it has come to protocols such as 6LoWPAN with IPv6 header compression.

Wireshark is the de facto standard for analysing IP based networks and has support to decode 802.15.4 and 6LoWPAN packets. The problem is finding suitable hardware to capture the 802.15.4 packets and pass them to Wirehark for decoding and display. Much of the existing hardware encapsulates the packets and sends them to Wireshark over an ethernet or TCP/IP connection.

The guys over at Freaklabs have a WSBridge open source application that acts as a bridge between Chibi/chibiArduino and Wireshark. It receives raw packets on a serial port and creates a pipe to feed the captured packets into Wireshark. STMicroelectronics have a similar application for the STM32W108-based boards

I've been using a cheap Explorer 2.4GHz Wireless UART 'Development Kit' (GP-GC500) from Sure Electronics. The boards consist of a Microchip MRF24J40 and Microchip PIC24FJ32GA002 for around $15 USD, and even cheaper on eBay. The documentation on these modules is not great, but I have previously spent the effort to work out the schematic.

Therefore it was relatively easy to turn these cheap modules into an 802.15.4 Protocol Analyser, dumping the raw packets out on the serial port. The only additional hardware required was an FTDI USB to serial cable. Freaklab's WSBridge was used on the PC to pipe the captured data to Wirehark.

To program the Sure Electronic's Explorer 2.4GHz Wireless UART Development Kit, users will need a Microchip PicKit3 or ICD3.

1. Start WSBridge:


2. Open Wireshark and add pipe interface:


3. Start capturing: