2.5. Setup WiFi

2.5.1. Overview

WiFi enabled boards turn on WiFi as part of Linux start up. The AM62x Starter Kit (SK), is a WiFi enabled board.

../_images/sk-am62-angled-wifi.png

The ifconfig command can be used to check the available WiFi interfaces in Linux on the SK:

# ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500  metric 1
        inet 192.168.2.19  netmask 255.255.255.0  broadcast 192.168.2.255
        inet6 fe80::f684:4cff:fef9:7c17  prefixlen 64  scopeid 0x20<link>
        ether f4:84:4c:f9:7c:17  txqueuelen 1000  (Ethernet)
        RX packets 8  bytes 1046 (1.0 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 67  bytes 10018 (9.7 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

eth1: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500  metric 1
        ether 70:ff:76:1d:f1:a3  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536  metric 1
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 82  bytes 6220 (6.0 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 82  bytes 6220 (6.0 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

wlan0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500  metric 1
        ether 38:0b:3c:f1:bc:79  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

wlan1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500  metric 1
        inet 192.168.43.1  netmask 255.255.255.0  broadcast 192.168.43.255
        inet6 fe80::3a0b:3cff:fef1:bc7a  prefixlen 64  scopeid 0x20<link>
        ether 38:0b:3c:f1:bc:7a  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 43  bytes 5962 (5.8 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

If running the command above does not show any “wlanx” interfaces, it is likely that either the board does not support WiFi, or something is not working correctly.

In the above output, there are two WiFi interfaces present, wlan0 and wlan1. The wlan0 interface represents the wireless station (sta) capability of the TI WiLink device that is on the board. The wlan0 inferface does not have an IP address because it is currently not connected to an Access Point. The wlan1 interface represents the Access Point (AP). The default Processor SDK configuration assigns an IP address of 192.168.43.1 to the AP interface.

2.5.2. Setting Up the Access Point

The AP on the AM62x Starter Kit behaves just like any other wireless Access Point (examples of other wireless Access Points include the wifi at coffee shops, hot spots, or a home wireless router). Any wireless enabled device (like a phone, tablet, or computer) can connect to the AM62x Starter Kit AP.

Here are the details needed to connect:

  • SSID - AM64xSK-AP_nnnnnn (where nnnnnn is unique for each AP)

  • Password - tiwilink8

Once connected, the device that connected to the AP should have an IP address of 192.168.43.xx. The SDK includes a DHCP server configured to serve IP addresses to devices that connect to the AP. This process is very similar to a wireless router. The connected device can run networking commands like ping, iperf, and ssh. Note that the SK will not have internet access, unless internet access has been set up separately. Therefore, the connected device will not be able to access the internet through the SK by default.

Here is an example of pinging a connected device:

# ping 192.168.43.20
PING 192.168.43.20 (192.168.43.20): 56 data bytes
64 bytes from 192.168.43.20: seq=0 ttl=64 time=49.868 ms
64 bytes from 192.168.43.20: seq=1 ttl=64 time=74.097 ms
64 bytes from 192.168.43.20: seq=2 ttl=64 time=97.936 ms
64 bytes from 192.168.43.20: seq=3 ttl=64 time=18.742 ms
64 bytes from 192.168.43.20: seq=4 ttl=64 time=43.313 ms
64 bytes from 192.168.43.20: seq=5 ttl=64 time=80.561 ms
64 bytes from 192.168.43.20: seq=6 ttl=64 time=191.995 ms
^C
--- 192.168.43.20 ping statistics ---
7 packets transmitted, 7 packets received, 0% packet loss
round-trip min/avg/max = 18.742/79.501/191.995 ms

Now that wireless is setup, feel free to run the Matrix Demo using wireless.

2.5.3. Connecting to an Access Point from the Starter Kit using Station Mode

Using the station capability of the TI WiLink device on the Starter Kit is similar to connecting a phone, tablet, or PC to a home wireless router or hot spot. There is no display on the Starter Kit, and thus no GUI to enter the SSID and password to connect to an external Access Point. A file is used to store this connection information instead. This file, wificfg is on the boot partition of an SD Card used to boot the SK. wificfg can be accessed from Linux running on the SK using the /media/mmcblk1p1 directory. The file can also be accessed by plugging the card into a Linux development host.

Here is how to view the default contents of the wificfg file on an SK running Linux:

# cat /media/mmcblk1p1/wificfg
# This file is used for configuring the credentials required when the
# board is acting as a WiFi station.
# Customize this as per your need
# Set the demo_enable to yes so that the board connects to the AP automatically
# after the boot

[Wifi-STA]
demo_enable = no
ssid = homewifi
password = password123

In order to have the SK attempt to connect to an Access Point as a station, make the following changes:

  • demo_enable: change “no” to “yes”.

  • ssid: set to the SSID of the Access Point to connect to.

  • password: set to the correct password.

Here is an example of a file modified to connect to “MyHomeWifi” using password “Password123”.

# This file is used for configuring the credentials required when the
# board is acting as a WiFi station.
# Customize this as per your need
# Set the demo_enable to yes so that the board connects to the AP automatically
# after the boot

[Wifi-STA]
demo_enable = yes
ssid = MyHomeWifi
password = Password123

If the file is modified using a Linux development host, safely remove the SD card from the Linux Development Host, put the SD card in an SK, and boot the board. If changes were made to the file from the target SK terminal, simply reboot the SK to apply the changes.

Once the board is booted, it should automatically connect to the configured Access Point. The connection can be checked with the below command:

# iw wlan0 link
Connected to f4:f2:6d:2d:64:35 (on wlan0)
        SSID: MyHomeWifi
        freq: 2462
        RX: 11555 bytes (55 packets)
        TX: 6050 bytes (37 packets)signal: -50 dBm
        rx bitrate: 39.0 MBit/s MCS 4
        tx bitrate: 65.0 MBit/s MCS 7

        bss flags:       short-preamble short-slot-time
        dtim period:     0
        beacon int:      100

Note

If there is trouble connecting to the Access Point, please make sure the AP is broadcasting its SSID “MyHomeWifi”. If the AP is not broadcasting, or if the AP is “hidden”, then this simple connection method will not work and there will be no connection made.

The IP address of the connection can be checked with the ifconfig command:

# ifconfig wlan0
wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500  metric 1
        inet 192.168.200.164  netmask 255.255.255.0  broadcast 192.168.200.255
        inet6 fe80::3a0b:3cff:fef1:bc79  prefixlen 64  scopeid 0x20<link>
        ether 38:0b:3c:f1:bc:79  txqueuelen 1000  (Ethernet)
        RX packets 2658  bytes 679188 (663.2 KiB)
        RX errors 0  dropped 15  overruns 0  frame 0
        TX packets 66  bytes 9622 (9.3 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

With the IP address, a simple ping command is a good way to validate connectivity. With connectivity established, feel free to run the Matrix Demo using wireless.