NOTICE: The Processors Wiki will End-of-Life on January 15, 2021. It is recommended to download any files or other content you may need that are hosted on processors.wiki.ti.com. The site is now set to read only.
WiLink8 Linux Getting Started Guide
Contents
- 1 Overview
- 2 WiLink™ 8 Wi-Fi® evaluation using Processor SDK on TI Sitara platforms (AM335x, AM437x, AM57x, BeagleBone or other custom Sitara board)
- 3 WiLink™ 8 Wi-Fi® evaluation on Non-TI platforms
- 4 WiLink™ 8 Wi-Fi® Upgrade Process Using the System Build Script
- 5 WiLink™ 8 Wi-Fi® Build Process (Mainline Linux)
- 6 Integrating TI Bluetooth Stack
- 7 Demos
- 8 Power Sequencing
- 9 Applications/Use cases
- 10 Appendix A: uSD boot for Users of BeagleBone Black
Overview[edit]
This wiki page describes all of the required steps to integrate WiLink™ 8 Wi-Fi and Bluetooth drivers in to the Linux Kernel for easy out of box experience/evaluation or integration into a final product. There are several different hardware and software package configurations to use WiLink™ 8. Below is an index of the different options discussed in this wiki:
- WiLink™ 8 Wi-Fi® evaluation using Processor SDK on TI Sitara platforms (AM335x, AM437x, AM57x, BeagleBone or other custom Sitara board)
- WiLink™ 8 Wi-Fi® evaluation on other platforms (i.MX6 or other)
- WiLink™ 8 Wi-Fi® Build Process (Mainline Linux)
Once you have brought up Wi-Fi, you may optionally install the TI Bluetooth Stack to add Bluetooth functionality (WL183xMOD only):
and get started with some quick demos:
For questions or feedback on this page, please visit the WiLink E2E forums.
WiLink™ 8 Wi-Fi® evaluation using Processor SDK on TI Sitara platforms
(AM335x, AM437x, AM57x, BeagleBone or other custom Sitara board)[edit]
Getting started with WiLink™ 8 on any TI Sitara processor (AM335x, AM437x, or AM57x) is easy due to the WiLink™ 8 software components being integrated as part of the TI Processor SDK.
If using the TI Processor SDK, follow the flowchart below to determine which steps to take in order to get started, based on each hardware platform:
Although the Processor SDKs include WiLink software components, the WiLink™ 8 firmware and software drivers may not be the most up-to-date. The table below provides the hardware-specific details including the links to download the proper SDK, step-by-step guides and which WiLink driver version is included in the most up to date release:
Platform | Getting started description & links | Processor SDK Download Link |
---|---|---|
AM335x EVM | 1. Follow Processor SDK Guide for Windows or Linux 2. Add kernel patch to ensure proper Wi-Fi functionality ( Appendix A) 3. Integrate TI Bluetooth Stack |
Linux Processor SDK for AM335x |
AM437x EVM | 1. Follow Processor SDK Guide for Windows or Linux 2. Add kernel patch to ensure proper Wi-Fi functionality ( Appendix A) 3. For the Starter Kit only, patch Device Tree to enable Bluetooth (Appendix B) 4. Integrate TI Bluetooth Stack |
AM437x Processor SDK |
AM57x EVM | 1. Follow Processor SDK Guide for Windows or Linux 2. Add kernel patch to ensure proper Wi-Fi functionality ( Appendix A) 3. Integrate TI Bluetooth Stack |
AM57x Processor SDK |
BeagleBone | 1. Configure host as described in the WiFi Build Process 2. Follow Processor SDK Guide for Linux 3.Add kernel patch to ensure proper Wi-Fi functionality ( Appendix A) 4. Patch Device Tree to enable Wi-Fi and Bluetooth (Appendix B) 5. Integrate TI Bluetooth Stack |
Linux Processor SDK for AM335x |
Custom Sitara board | 1. Configure host as described in the WiFi Build Process 2. Follow Processor SDK Guide for Linux 3. Add kernel patch to ensure proper Wi-Fi functionality ( Appendix A) 4. Update Device Tree to enable Bluetooth (Appendix B) 5. Integrate TI Bluetooth Stack |
Processor SDK |
For additional info specific to the BeagleBone platform please see the following: Appendix
Note: If you want to use Debian based Open Source solution use this article
WiLink™ 8 Wi-Fi® evaluation on Non-TI platforms[edit]
Below are a few getting started guides for non-TI platforms:
- For a guide on getting started on i.MX6 Sabre: Getting Started with iMX6
- For a guide on getting started on i.MX6SL EVK: Gettting Started with iMX6SL
- For a guide on getting started on Hawthorn Development Platform: Gettting Started with Hawthorn
- For a guide on getting started on SAMA5D2-Xplained Platform: Gettting Started with SAMA5D2-Xplained
- For a guide on getting started on other platforms that aren't mentioned in this wiki: WiLink™ 8 Platform Integration Guide
If further assistance is still needed after stepping through the getting started guides please search our E2E forum.
WiLink™ 8 Wi-Fi® Upgrade Process Using the System Build Script[edit]
This section describes how to obtain and upgrade an existing kernel with the latest WiLink™ 8 features.
Note: The kernel does not have to be from the TI SDK. The only requirement is that the kernel version is > 3.12.
In the previous guide, we have shown how to configure and compile a kernel using the TI SDK.
For further instructions on how to get your device to work with a WiLink™ 8, refer to WL18xx System Build Scripts.
WiLink™ 8 Wi-Fi® Build Process (Mainline Linux)[edit]
This section describes the steps required to integrate the WL18xx software manually into other Linux-based builds. It can also be used for upgrading the existing WiLink™ 8 driver version of an existing SDK to use a newer release.
Getting started with WiLink™ 8 on mainline Linux (4.1+) is easy due to the WiLink™ 8 software driver (ex: R8.5) being integrated as part of the kernel.
Here is a summarized overview of the steps and (deliverables) needed when using mainline Linux:
Note: This assumes that you already have a Linux host environment up and running. For more information on setting up your Linux host PC, follow the WiLink build process which is linked below.
Please visit the following wiki for more information on the WiLink™ 8 high level build process and how to configure your Linux host: WL18xx_WiFi_Build_Process
Or if you already have your Linux host setup, you can skip to building the WiLink 8 components here: WL18xx_System_Build_Scripts.
Note: The "calibrator" tool requires the "CONFIG_NL80211_TESTMODE" to be enabled in the kernel configuration. The default kernel config that comes with >= Processor 2.0 SDK has it disabled.
Integrating TI Bluetooth Stack[edit]
TI Bluetooth Stack[edit]
The TI Bluetooth Stack (based on Bluetopia) is provided with the WL18xx and CC256x devices. It is composed of the Bluetooth protocol stack, profiles stack, and Platform Manager. The stack is not part of platform SDK but is available as add-on in the following link: WiLink 8 Linux Add-On Packages for Sitara AM335X
Once the Add-on is installed, please follow the instructions in the TI Bluetooth Getting Started Guide. The Getting Started Guide will guide you through all the steps required to integrate the Bluetooth stack into the Linux SDK.
More Technical Information[edit]
For instructions for compiling customized BT applications, please refer to TI Bluetooth Stack Build Process.
Follow the below link for a step by step guide for the available sample applications: TI Bluetooth Stack Demo Guide.
Demos[edit]
Now that you have the Linux running evaluate the capabilities with the following Wi-Fi/Bleutooth/BLE/Zigbee Demos:
- WiLink Wi-Fi Capabilities Demos (Basic scripts)
- Advanced Wi-Fi Demos (hostapd, wpa_supplicant & iw)
- Bluetooth Demo Guide
Power Sequencing[edit]
The most crucial point during integration of the WiLink Module is ensuring that proper power-up and power-down sequences are followed in order to avoid damage to the device. If utilizing one of the TI evaluation boards, these required sequences are being met. However, when designing custom hardware, please refer to the diagram below:
For more information, please refer to the datasheet:
Applications/Use cases[edit]
- Audio Multiroom Wi-Fi Streaming (Demo Kit)
- Portable Wireless Gateway
- Wireless Hard Drive
- CoEx-WiFi/Bluetooth Streaming + BT music
- CoEx-WiFi/BLE - Smart Sensor Gateway
Appendix A: uSD boot for Users of BeagleBone Black[edit]
When working with a BBB there is a hardware limitation when using the WL8 cape. As the WL8 cape uses the same MMC as the eMMC for the BBB ,once you apply the device tree patch (or use the pre-built images) you can only use the uSD card of the BBB and the EMMC is disabled. So, similar to working with BBW, you need to flash the images (boot and rootfs) to a uSD card and set the board to boot from it.
For the BBB to boot from uSD you need to press the “S2” switch while applying power to the board.
- Other option is to perform hardware change on the board ECO
Note: For hardware integration please refer to to the WL8 Module - Beagle Bone Integration table