Posted by Babar Hashim, March 31, 2017
Debugging techniques for the QCA9377 Wi-Fi driver
Two of our latest 802.11ac wireless modules, the SX-SDMAC and the SX-SDPAC are based on Qualcomm's QCA9377 chipset. The drivers for these QCA9377 based modules are made available via Qualcomm through their code aurora site, and may soon be available on their Qualcomm Developers Network site.
For our "Absolutely Must Connect" customers such as medical, industrial, and manufacturing – unstable wireless connectivity can lead to a stop in operations, loss of productivity and economic efficiency, or even significant threats of safety and health. Those mission-critical scenarios where it absolutely must connect are where engineers and designers rely on our propriety Silex reference driver where we have made enhancements to the Qualcomm reference driver.
One could choose either driver depending on their application, but when compiling Wi-Fi drivers for their devices, one of the most compelling problems they face is how to approach debugging. It is important to know how to debug code errors because it:
- Can be exceedingly hard to reproduce
- Can bring down the entire system
- Can destroy evidence that could be used to track the issue
Debugging the QCA93777 Driver Code?
The QCA9377 Wi-Fi driver code that is used for the SX-SDxAC, has existing debug functions that can help programmers diagnose or troubleshoot compile errors. To help our customers we have published an application note that helps programmers and software engineers to debug the driver code.
The application note focuses on two debug logging facilities in the SX-SDxAC source:
- AR_DEBUG_PRINTF(): This is a wrapper function of printk().
- VOS_TRACE(): This is a wrapper function of snprintf()
Download the complete application note to learn the mechanisms for controlling the debug message outputs, and how to manage debug logging.