TLIMX6U-EVM Core Board IoT Module Development

Table of Contents

Tronlong-TLIMX6U-EVM-evaluation-board-based-on-NXP-i.MX-6ULL

The TLIMX6U-EVM by Tronlong® Technology is an evaluation board designed around the NXP i.MX 6ULL, featuring an ARM Cortex-A7 high-performance, low-power processor. Consisting of a core board and an evaluation baseboard, the TLIMX6U-EVM has undergone professional PCB layout and rigorous temperature testing, ensuring stability and reliability for various industrial applications.

This article primarily introduces an IoT module development case based on the Tronlong® Technology TLIMX6U-EVM evaluation board. The applicable development environments are as follows:

  • Windows Development Environment: Windows 7 64-bit, Windows 10 64-bit
  • Virtual Machine: VMware 15.1.0
  • Linux Development Environment: Ubuntu 18.04.4 64-bit
  • U-Boot: U-Boot-2020.04
  • Kernel: Linux-5.4.70
  • Linux SDK: 5.4.70_2.3.0

Unless otherwise specified, the default configuration uses USB TO UART1 as the debugging serial port, Linux SD boot mode to start the system, and network connectivity through a router to a PC.

SDIO WIFI Module Testing

This case uses the RTL8189 SDIO WIFI module model. Insert the SDIO WIFI module into the evaluation board’s SDIO interface as shown in the diagram below.

SDIO WIFI module RTL8189 for Tronlong TLIMX6U-EVM board
SDIO WIFI module RTL8189 for Tronlong TLIMX6U-EVM board

The SDIO WIFI module supports both STA and AP modes:

  1. STA Mode: In STA mode, the WIFI module can receive signals from wireless routers, enabling internet connectivity through the router.
  2. AP Mode: In AP mode, the WIFI module creates a wireless LAN hotspot, allowing devices like phones and computers to form a local network.

The test program for this case is located in the product documentation at “4-Software Information\Demo\module-demos\sdio_wifi_test”. The specific details are as follows:

DirectoryDescription
binTest scripts, program configuration files
driverSDIO WIFI module driver
srcSDIO WIFI module driver source code

Copy all files from the “bin” directory and the “driver” directory’s “8189fs.ko” driver file to the same paths in the evaluation board’s file system. Make sure to correctly connect the SDIO WIFI module to the evaluation board’s SDIO interface. Due to pin-sharing between the SDIO interface and the Micro SD interface, remove the Linux SD boot card from the evaluation board’s Micro SD card slot. Set the evaluation board’s boot mode to NAND FLASH boot mode by changing the DIP switch to “011000” (positions 1 to 6).

STA Mode Testing

Access the evaluation board’s file system, navigate to the path where the SDIO WIFI module driver “8189fs.ko” is located, and execute the following command to load the driver:

				
					Target# insmod 8189fs.ko
				
			
Load the driver by executing the Target# insmod 8189fs.ko
Load the driver by executing the Target# insmod 8189fs.ko

Execute the following commands to disable other networks and the “wpa_supplicant” process, leaving only the WIFI network:

				
					Target# ifconfig eth0 down
Target# ifconfig eth1 down
Target# killall -9 wpa_supplicant
Target# ifconfig wlan0 up
Target# ifconfig

				
			
Close the wpa_supplicant process by executing the Target#ifconfig series
Close the wpa_supplicant process by executing the Target#ifconfig series

In the directory of the “wifi_setup.sh” file, execute the following command to connect the evaluation board to the router using the WIFI module. Use the “-i” flag to specify the WIFI name and the “-p” flag to specify the WIFI password, modifying them as needed:

				
					Target# ./wifi_setup.sh -i Tronlong-test -p omapl138

				
			
Connect the evaluation board to the router through the WIFI module by executing Target#.wifi_setup.sh -i Tronlong-test -p omapl138
Connect the evaluation board to the router through the WIFI module by executing Target#.wifi_setup.sh -i Tronlong-test -p omapl138

Execute the following command to view the obtained IP address and test communication between the evaluation board and the PC using the “ping” command. Ensure that the evaluation board and PC are on the same local network. Here, 192.168.1.100 represents the actual IP address of the PC.

				
					Target# ifconfig
Target# ping 192.168.1.100
				
			
Test the communication between evaluation board and PC by ping command
Test the communication between evaluation board and PC by ping command

In the evaluation board’s file system, execute the following commands to view the board’s IP address and test network communication bandwidth with the PC using the Iperf3 tool:

				
					Target# ifconfig
Target# iperf3 -s

				
			
Check the IP address with Targetifconfig and test communication with Targetiperf3 s

In the Ubuntu system, use the following command to test network communication bandwidth. Replace “192.168.1.103” with the actual IP address of the evaluation board. The test results, which are affected by the network environment, are for reference only.

				
					Host# iperf3 -c 192.168.1.103 -i 1

				
			
Test the network communication bandwidth by executing the command Host#iperf3 -c 192.168.1.103 -i 1 in the Ubuntu system
Test the network communication bandwidth by executing the command Host#iperf3 -c 192.168.1.103 -i 1 in the Ubuntu system

AP Mode Testing

Reboot the evaluation board’s system and execute the following command to load the SDIO WIFI module driver “8189fs.ko”:

				
					Target# insmod 8189fs.ko

				
			
Reload the driver via Target# insmod 8189fs.ko
Reload the driver via Target# insmod 8189fs.ko

Disable other networks and the “wpa_supplicant” process, leaving only the WIFI network, using similar commands as in the STA mode testing.

				
					Target#ifconfig eth0 down
Target#ifconfig eth1 down
Target#killall -9 wpa_supplicant
Target#ifconfig wlan0 up
Target#ifconfig
				
			
Close other networks and wpa_supplicant processes again by executing Target#ifconfig
Close other networks and wpa_supplicant processes again by executing Target#ifconfig

In the directory of the “ap_setup.sh” file, execute the following command to set the SDIO WIFI module to AP mode:

				
					Target# ./ap_setup.sh

				
			
Set the SDIO WIFI module to AP mode through Target#ap_setup.sh
Set the SDIO WIFI module to AP mode through Target#ap_setup.sh

If you encounter issues during the AP mode startup due to insufficient random entropy, you need to restart the evaluation board. Execute the following commands to change the entropy pool, and then retry the test:

				
					Target# mv /dev/random /dev/random_ori
Target# ln -s /dev/urandom /dev/random
				
			
Restart the evaluation board and replace the entropy pool
Restart the evaluation board and replace the entropy pool

The default WIFI name set in the program is “rtl8188fs”, and the password is “88888888”. Modify these settings in the “rtl_hostapd_2G.conf” configuration file. Connect a PC with WIFI capability (such as a laptop or a desktop PC with a USB WIFI adapter) to this wireless LAN hotspot and disconnect any wired network connections. Once connected, the serial debugging terminal will print information about the IP address assigned by Ubuntu. If using a virtual machine with Ubuntu, two IP addresses will be assigned – one for Windows and one for Ubuntu.

Get the IP address of Ubuntu
Get the IP address of Ubuntu

Execute the following command to test network connection between wireless LAN devices. If you encounter connection timeouts or failures, consider disabling the PC’s firewall and trying to reconnect:

				
					Target# ping 192.168.0.21 // 192.168.0.21 is the Ubuntu-side IP address
				
			
Test the network between wireless LAN devices through Target#ping
Test the network between wireless LAN devices through Target#ping

In the evaluation board’s file system, execute the following commands to view the board’s IP address and wait for the PC to connect:

				
					Target# ifconfig
Target# iperf3 -s
				
			

In the Ubuntu system, use the following command to test network communication bandwidth. Replace “192.168.0.1” with the actual IP address of the evaluation board. The test results, which are affected by the network environment, are for reference only.

				
					Host# iperf3 -c 192.168.0.1 -i 1
				
			
Test network communication bandwidth by executing Host#iperf3 in Ubuntu system
Test network communication bandwidth by executing Host#iperf3 in Ubuntu system

After testing, power off the evaluation board, remove the SDIO WIFI module, and insert the Linux SD boot card into the Micro SD card slot. Set the boot mode DIP switch to “010100” (positions 1 to 6) for SD boot mode.

Compiling the SDIO WIFI Driver

Please copy the driver source code “rtl8189FS.tar.gz” from the “src” directory of the example and place it in your Ubuntu working directory. Then, execute the following commands to extract the source code from the compressed archive:

				
					Host# tar -xf rtl8189FS.tar.gz
				
			
Unzip the source code package rtl8189FS.tar.gz to the Ubuntu directory
Unzip the source code package rtl8189FS.tar.gz to the Ubuntu directory

Next, navigate to the driver source code directory and modify the top-level “Makefile” using the following commands:

				
					Host# cd rtl8189FS/
Host# vim Makefile
				
			
Modify the top-level Makefile
Modify the top-level Makefile

Please modify the contents of the “Makefile” as instructed below:

				
					KSRC = /home/tronlong/IMX6/Kernel/Linux-5.4.70 // Specify the actual path to the kernel source code
				
			

In the directory where the driver source code is located, execute the following commands to set up the SDK environment variables and compile the SDIO WIFI driver:

				
					Host# source /home/tronlong/SDK/environment-setup-cortexa7t2hf-neon-poky-linux-gnueabi
Host# make
				
			
Set up the SDK environment and compile the SDIO WIFI driver
Set up the SDK environment and compile the SDIO WIFI driver

After the compilation is complete, the driver image will be generated in the current directory.

Subscribe

Join our subscribers list to get monthly blog updates, technology news, case studies. We will never send spam, and you can unsubscribe at any time.

About Author

Picture of Aidan Taylor
Aidan Taylor

I am Aidan Taylor and I have over 10 years of experience in the field of PCB Reverse Engineering, PCB design and IC Unlock.

Need Help?

Don't hesitate - Get in touch today to find out how we can help take your project to the next level.

Scroll to Top
welldone pcb manufacturer

Start to Achieve Your PCB Project