Difference between revisions of "CL-SOM-iMX7: Yocto Linux: User Space"
(→WiFi Initialization) |
(→WiFi) |
||
| Line 22: | Line 22: | ||
=== WiFi === | === WiFi === | ||
| + | CL-SOM-iMX7 features 802.11b/g/n wireless connectivity solution, implemented with a TI WiLink8 Combo module. The device driver name is {{cmd|wl18xx}}.<br> | ||
| + | UCM-iMX7 features 802.11b/g/n wireless connectivity solution, implemented with a Broadcom BCM4343W chipset. The device driver name is {{cmd|bcmdhd}}.<br> | ||
By default all wireless interfaces are soft blocked. Use the {{cmd|rfkill}} utility to block/unblock wireless interfaces and display their status. | By default all wireless interfaces are soft blocked. Use the {{cmd|rfkill}} utility to block/unblock wireless interfaces and display their status. | ||
==== WiFi Initialization ==== | ==== WiFi Initialization ==== | ||
| − | * The | + | * The {{cmd|wl18xx}} driver gets loaded automatically. Make sure that the WiFi driver is loaded. |
| − | |||
<pre> | <pre> | ||
root@cl-rootfs:~# lsmod | grep wl18xx | root@cl-rootfs:~# lsmod | grep wl18xx | ||
wl18xx 84190 0 | wl18xx 84190 0 | ||
</pre> | </pre> | ||
| − | + | <blockquote> | |
| + | The {{cmd|wl18xx}} driver can be loaded manually: | ||
<pre> | <pre> | ||
root@cl-rootfs:~# modprobe wl18xx | root@cl-rootfs:~# modprobe wl18xx | ||
</pre> | </pre> | ||
| + | </blockquote> | ||
| + | * The {{cmd|bcmdhd}} should be loaded manually: | ||
| + | <blockquote> | ||
| + | The driver options are specified in an options file: | ||
| + | <pre> | ||
| + | root@cl-rootfs:~# cat /etc/modprobe.d/bcmdhd.conf | ||
| + | options bcmdhd firmware_path=/lib/firmware/brcm/1DX/fw_bcmdhd.bin | ||
| + | options bcmdhd nvram_path=/lib/firmware/brcm/1DX/bcmdhd.1DX.SDIO.cal | ||
| + | options bcmdhd dhd_msg_level=0x1 | ||
| + | </pre> | ||
| + | Load the {{cmd|bcmdhd}} driver module: | ||
| + | <pre> | ||
| + | root@cl-rootfs:~# modprobe bcmdhd | ||
| + | dhd_module_init in | ||
| + | ... | ||
| + | Register interface [wlan0] MAC: b0:72:bf:09:b5:fc | ||
| + | </pre> | ||
| + | </blockquote> | ||
| + | |||
* Configure wpa_supplicant to connect to SSID with no key management. Put the network name into the "ssid" fields: | * Configure wpa_supplicant to connect to SSID with no key management. Put the network name into the "ssid" fields: | ||
<pre> | <pre> | ||
Revision as of 13:23, 31 October 2017
Contents
Overview
The example run-time Yocto Linux filesystem image for the CompuLab CL-SOM-iMX7 System-on-Module / Computer-on-Module is based on NXP Community Yocto Project BSP for i.MX based boards.
The Yocto Linux manual installation on SD card page provides a brief introduction on how to install the run-time Yocto Linux image.
| The article uses cl-rootfs hostname. A real hostname may be different. |
Using Yocto Linux on CL-SOM-iMX7
Connection and Logging In
Use the root username to login:
cl-rootfs login: root
Networking
The networking configuration in the example Yocto Linux image is almost the same as in the Debian Linux image.
Analog Audio
Use aplay -l to list all sound cards and digital audio devices registered on the system:
root@cl-rootfs:~# aplay -l **** List of PLAYBACK Hardware Devices **** card 0: clsomimx7 [cl-som-imx7], device 0: 308a0000.sai-wm8731-hifi wm8731-hifi-0 [] Subdevices: 1/1 Subdevice #0: subdevice #0
Analog Audio Playback
In order to play back a sound file make use of the aplay application.
- aplay -L can be used for listing of all pcm devices.
Here is a sample output of aplay -L command:
root@cl-rootfs:~# aplay -L
null
Discard all samples (playback) or generate zero samples (capture)
default:CARD=clsomimx7
cl-som-imx7,
Default Audio Device
sysdefault:CARD=clsomimx7
cl-som-imx7,
Default Audio Device
dmix:CARD=clsomimx7,DEV=0
cl-som-imx7,
Direct sample mixing device
dsnoop:CARD=clsomimx7,DEV=0
cl-som-imx7,
Direct sample snooping device
hw:CARD=clsomimx7,DEV=0
cl-som-imx7,
Direct hardware device without any conversions
plughw:CARD=clsomimx7,DEV=0
cl-som-imx7,
Hardware device with all software conversions
The next command can be used for audio play back:
root@cl-rootfs:~# aplay -D sysdefault <wav-file>
Audio Input Settings
CL-SOM-iMX7 provides an audio capturing feature from either Mic or Line In input sources. alsamixer or amixer can be used in order to switch between these inputs.
Mic
- alsamixer
- Capture Volume => 100
- Line Capture Switch => off
- Mic Capture Switch => on
- Input Mux => Mic
- amixer
amixer cset numid=1 65536 amixer -c 0 cset numid=3 31,31 amixer -c 0 cset numid=4 0 amixer -c 0 cset numid=6 1 amixer -c 0 cset numid=14 1
Line In
- alsamixer
- Capture Volume => 100
- Line Capture Switch => on
- Mic Capture Switch => off
- Input Mux => Line In
- amixer
amixer cset numid=1 65536 amixer -c 0 cset numid=3 31 amixer -c 0 cset numid=4 1 amixer -c 0 cset numid=6 0 amixer -c 0 cset numid=14 0
Sample Audio Recording
As soon as the correct input values have been set, audio signal can be captured. Here is a sample command that shows the arecord usage for capturing audio signal from the selected input line.
root@cl-rootfs:~# arecord -D sysdefault -d 10 -f dat -t wav /tmp/out.wav
WiFi
CL-SOM-iMX7 features 802.11b/g/n wireless connectivity solution, implemented with a TI WiLink8 Combo module. The device driver name is wl18xx.
UCM-iMX7 features 802.11b/g/n wireless connectivity solution, implemented with a Broadcom BCM4343W chipset. The device driver name is bcmdhd.
By default all wireless interfaces are soft blocked. Use the rfkill utility to block/unblock wireless interfaces and display their status.
WiFi Initialization
- The wl18xx driver gets loaded automatically. Make sure that the WiFi driver is loaded.
root@cl-rootfs:~# lsmod | grep wl18xx wl18xx 84190 0
The wl18xx driver can be loaded manually:
root@cl-rootfs:~# modprobe wl18xx
- The bcmdhd should be loaded manually:
The driver options are specified in an options file:
root@cl-rootfs:~# cat /etc/modprobe.d/bcmdhd.conf options bcmdhd firmware_path=/lib/firmware/brcm/1DX/fw_bcmdhd.bin options bcmdhd nvram_path=/lib/firmware/brcm/1DX/bcmdhd.1DX.SDIO.cal options bcmdhd dhd_msg_level=0x1Load the bcmdhd driver module:
root@cl-rootfs:~# modprobe bcmdhd dhd_module_init in ... Register interface [wlan0] MAC: b0:72:bf:09:b5:fc
- Configure wpa_supplicant to connect to SSID with no key management. Put the network name into the "ssid" fields:
root@cl-rootfs:~# cat << EOF > /etc/wpa_supplicant.conf
network={
scan_ssid=1
ssid="wireless_network_name"
key_mgmt=NONE
}
EOF
- or with key management. Put the network name and the password into the "ssid/psk" fields:
root@cl-rootfs:~# cat << EOF > /etc/wpa_supplicant.conf
network={
scan_ssid=1
ssid="wireless_network_name"
key_mgmt=WPA-PSK
psk="wireless_network_password"
}
EOF
- Unblock the interface:
root@cl-rootfs:~# rfkill unblock 1
root@cl-rootfs:~# rfkill list 1
1: phy0: wlan
Soft blocked: no
Hard blocked: no
- Bring the wireless interface up:
root@cl-rootfs:~# ifup wlan0
- Obtain an IP address:
root@cl-rootfs:~# udhcpc -i wlan0