Difference between revisions of "iMX8M Industrial Accessing and Testing Peripherals"

From Voipac Wiki
Jump to navigation Jump to search
 
(117 intermediate revisions by 2 users not shown)
Line 6: Line 6:
 
<div style="float:right">__TOC__</div>
 
<div style="float:right">__TOC__</div>
  
The initial operations with the iMX8M Industrial Development Kit interfaces are presented on this page. For more specific information such as display options, camera capabilities or industrial modular extensions, refer to the dedicated [[iMX8M Industrial Max#Peripherals|Peripherals section]].
+
The initial operations with the iMX8M Industrial Development Kit interfaces are presented on this page. For more specific information such as display options, camera capabilities or industrial modular extensions, refer to the dedicated [[iMX8M Industrial Max#Peripherals_and_Accessories|Peripherals and Accessories section]].
  
 
== Mandatory components ==
 
== Mandatory components ==
 
=== Hardware ===
 
=== Hardware ===
 
* iMX8M Industrial Module
 
* iMX8M Industrial Module
* iMX8M Development Baseboard
+
* iMX Development Baseboard
 
* [https://www.voipac.com/power-supply-5v-40w DC power supply (5V, 8A, 40W)]
 
* [https://www.voipac.com/power-supply-5v-40w DC power supply (5V, 8A, 40W)]
  
Line 17: Line 17:
 
* 1x FullHD HDMI monitor with Audio output (default)
 
* 1x FullHD HDMI monitor with Audio output (default)
 
* 1x FullHD DisplayPort monitor with Audio output (optional)
 
* 1x FullHD DisplayPort monitor with Audio output (optional)
* [https://www.voipac.com/wifi-and-bluetooth-antennas-set Wifi and Bluetooth antenna set]
+
* [https://www.voipac.com/imx8m-wifi-and-bluetooth-antennas-set iMX8M Wifi and Bluetooth antennas set]
 
* 1x MicroSDHC card Class 10 or higher
 
* 1x MicroSDHC card Class 10 or higher
 
* 1x USB Flash drive 3.0
 
* 1x USB Flash drive 3.0
Line 31: Line 31:
  
 
== Audio ==
 
== Audio ==
 +
'''''Note:''''' This audio section was tested with the iMX8M Industrial Module in Max and Pro configurations. For Basic configuration, audio capabilities can be achieved via SAI header located on the baseboard. For more information see [[iMX8M Industrial Development Kit|the iMX8M Industrial Module comparison]].<br /><br />
 +
 
'''''Input:''''' Search kernel log for wm8904 chip<br />
 
'''''Input:''''' Search kernel log for wm8904 chip<br />
'''''Output:''''' Audio chip is detected and bound as an input device
+
'''''Output:''''' Audio chip is detected and bound as an output and input device
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
 +
root@imx8mq-voipac:~# dmesg | grep wm8904
 
[    1.864809] fsl-asoc-card sound-wm8904: failed to find codec device
 
[    1.864809] fsl-asoc-card sound-wm8904: failed to find codec device
 
[    2.155773] wm8904 0-001a: 0-001a supply DCVDD not found, using dummy regulator
 
[    2.155773] wm8904 0-001a: 0-001a supply DCVDD not found, using dummy regulator
Line 48: Line 51:
  
 
'''''Input:''''' Run amixer command<br />
 
'''''Input:''''' Run amixer command<br />
'''''Output:''''' Controls for card are available
+
'''''Output:''''' Current audio chip settings are displayed
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
 
root@imx8mq-voipac:~# amixer -c1
 
root@imx8mq-voipac:~# amixer -c1
Line 80: Line 83:
 
</syntaxhighlight>
 
</syntaxhighlight>
  
'''''Input:''''' Boot-up the board with HDMI cable plugged in, connect headphones into HP_OUT connector and plug-in USB flash drive with wav file on it<br />
+
'''''Input:''''' Connect headphones into LINE OUT jack connector<br />
'''''Output:''''' Sound is played and heard
+
'''''Output:''''' Audio file is played and heard
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
 
root@imx8mq-voipac:~# aplay multimedia/sample.wav
 
root@imx8mq-voipac:~# aplay multimedia/sample.wav
Line 92: Line 95:
 
</syntaxhighlight>
 
</syntaxhighlight>
  
 +
'''''Input:''''' Boot-up the board with HDMI cable plugged into the monitor<br />
 +
'''''Output:''''' Audio file is played and heard
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
 
root@imx8mq-voipac:~# aplay -D sysdefault:CARD=imxaudiohdmi multimedia/sample.wav  
 
root@imx8mq-voipac:~# aplay -D sysdefault:CARD=imxaudiohdmi multimedia/sample.wav  
Line 97: Line 102:
 
</syntaxhighlight>
 
</syntaxhighlight>
  
'''''Input:''''' Plug headphones with microphone input into HP_OUT connector and microphone to MIC<br />
+
'''''Input:''''' Plug headphones into HEADPHONES jack connector and analog external microphone to MIC jack connector<br />
'''''Output:''''' Microphone sound is played in headphones
+
'''''Output:''''' Sound recorder by microphone is played in headphones
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
 +
root@imx8mq-voipac:~# amixer set 'Capture' '31'
 +
root@imx8mq-voipac:~# amixer set 'Capture Input' ADC
 +
root@imx8mq-voipac:~# amixer set 'Left Capture Inverting Mux' 'IN2L'
 +
root@imx8mq-voipac:~# amixer set 'Right Capture Inverting Mux' 'IN2R'
 
root@imx8mq-voipac:~# arecord -D sysdefault:CARD=wm8904audio -t wav -f cd | aplay -D sysdefault:CARD=wm8904audio
 
root@imx8mq-voipac:~# arecord -D sysdefault:CARD=wm8904audio -t wav -f cd | aplay -D sysdefault:CARD=wm8904audio
 
</syntaxhighlight>
 
</syntaxhighlight>
  
'''''Input:''''' Verify Digital microphone <br />
+
'''''Note:''''' Microphone and headphones setup can also be graphically displayed and adjusted:
'''''Output:''''' Microphone sound is played in headphones
 
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
root@imx8mq-voipac:~# amixer -c1 sset "Capture Input" "DMIC"
+
root@imx8mq-voipac:~# alsamixer
root@imx8mq-voipac:~# arecord -D sysdefault:CARD=wm8904audio -t wav -f cd | aplay -D sysdefault:CARD=wm8904audio
 
 
</syntaxhighlight>
 
</syntaxhighlight>
 +
[[image:iMX8M_Industrial_Development_Kit-AlsaMixer_setup.png|800px]]<br /><br />
  
== User buttons ==
+
'''''Input:''''' Verify digital microphones (Mic Left, Mic Mid, Mic Right) <br />
'''''Input:''''' Press Enter/Left/Right/Up/Down buttons<br />
+
'''''Output:''''' Microphone sound is played in headphones
'''''Output:''''' Button events 1 and 0 are generated
 
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
root@imx8mq-voipac:~# evtest /dev/input/by-path/platform-gpio-buttons-event
+
root@imx8mq-voipac:~# amixer -c1 set "Capture Input" "DMIC"
Input driver version is 1.0.1
+
root@imx8mq-voipac:~# arecord -D sysdefault:CARD=wm8904audio -t wav -f cd | aplay -D sysdefault:CARD=wm8904audio
Input device ID: bus 0x19 vendor 0x1 product 0x1 version 0x100
 
Input device name: "gpio-buttons"
 
Supported events:
 
  Event type 0 (EV_SYN)
 
  Event type 1 (EV_KEY)
 
    Event code 28 (KEY_ENTER)
 
    Event code 103 (KEY_UP)
 
    Event code 105 (KEY_LEFT)
 
    Event code 106 (KEY_RIGHT)
 
    Event code 108 (KEY_DOWN)
 
Properties:
 
Testing ... (interrupt to exit)
 
 
</syntaxhighlight>
 
</syntaxhighlight>
  
== Reset button ==
+
== WiFi ==
'''''Input:''''' Press the RESET button<br />
+
'''''Note:''''' This WiFi section was tested with the iMX8M Industrial Module in Max and Pro configurations. For Basic configuration, wireless connectivity can be achieved via [[#PCI Express socket + Micro SIM slot|PCIe Mini]] and/or [[#M.2 key B socket + Micro SIM slot|M.2 key B]] slots located on the baseboard. For more information see [[iMX8M Industrial Development Kit|the iMX8M Industrial Module comparison]].<br /><br />
'''''Output:''''' The board will execute bootloader immediately with "Reset cause: POR"<br />
 
'''''Note:''''' iMX8M Industrial Development Kit should never freeze or hang after the reset button was pressed. Testing the operation 10 times gives a reliable result
 
<syntaxhighlight lang="bash">
 
U-Boot 2020.04-imx_v2020.04_5.4.24_2.1.0+g4979a99482 (May 30 2020 - 06:50:01 +0000)
 
 
 
CPU:  i.MX8MQLite rev2.1 1300 MHz (running at 800 MHz)
 
CPU:  Industrial temperature grade (-40C to 105C) at 62C
 
Reset cause: POR
 
Model: Voipac i.MX8MQ EVK
 
DRAM:  2 GiB
 
MMC:  FSL_SDHC: 0, FSL_SDHC: 1
 
Loading Environment from MMC... OK
 
[*]-Video Link 0imx8m_hdmi_probe
 
....
 
</syntaxhighlight>
 
 
 
== Power button ==
 
'''''Input:''''' Press the POWER button<br />
 
'''''Output:''''' The board will shutdown. By pressing longer again, the board starts booting.<br />
 
 
 
<syntaxhighlight lang="bash">
 
[ OK  ] Stopped target Sound Card.
 
[  OK  ] Stopped target System Time Synchronized.
 
[  OK  ] Stopped target System Time Set.
 
[  OK  ] Stopped target Timers.
 
[  OK  ] Stopped Daily Cleanup of Temporary Directories.
 
        Stopping Save/Restore Sound Card State...
 
        Stopping Kernel Logging Service...
 
        Stopping System Logging Service...
 
        Stopping Getty on tty1...
 
        Stopping Serial Getty on ttymxc0...
 
        Stopping Hostname Service...
 
        Stopping Load/Save Random Seed...
 
[  OK  ] Stopped Kernel Logging Service.
 
[  OK  ] Stopped System Logging Service.
 
[  OK  ] Stopped Getty on tty1.
 
[  OK  ] Stopped Serial Getty on ttymxc0.
 
[  OK  ] Stopped Hostname Service.
 
[  OK  ] Stopped Save/Restore Sound Card State.
 
[  OK  ] Stopped Load/Save Random Seed.
 
[  OK  ] Stopped Session c1 of user root.
 
[  OK  ] Removed slice system-getty.slice.
 
[  OK  ] Removed slice system-serial\x2dgetty.slice.
 
        Stopping Login Service...
 
        Stopping User Manager for UID 0...
 
[  OK  ] Stopped User Manager for UID 0.
 
        Stopping User Runtime Directory /run/user/0...
 
[  OK  ] Unmounted /run/user/0.
 
[  OK  ] Stopped User Runtime Directory /run/user/0.
 
[  OK  ] Removed slice User Slice of UID 0.
 
        Stopping D-Bus System Message Bus...
 
        Stopping Permit User Sessions...
 
[  OK  ] Stopped D-Bus System Message Bus.
 
[  OK  ] Stopped Login Service.
 
[  OK  ] Stopped Permit User Sessions.
 
[  OK  ] Stopped target Basic System.
 
[  OK  ] Stopped target Network.
 
[  OK  ] Stopped target Paths.                                           
 
[  OK  ] Stopped Dispatch Password ��…ts to Console Directory Watch.     
 
[  OK  ] Stopped Forward Password R��…uests to Wall Directory Watch.     
 
[  OK  ] Stopped target Remote File Systems.                             
 
[  OK  ] Stopped target Slices.                                           
 
[  OK  ] Removed slice User and Session Slice.
 
[  OK  ] Stopped target Sockets.
 
[  OK  ] Closed D-Bus System Message Bus Socket.
 
[  OK  ] Closed dropbear.socket.
 
[  OK  ] Stopped target System Initialization.
 
[  OK  ] Closed Syslog Socket.
 
        Stopping Network Name Resolution...
 
        Stopping Network Time Synchronization...
 
[  OK  ] Stopped Network Name Resolution.
 
[  OK  ] Stopped Network Time Synchronization.
 
        Stopping Network Service...
 
[  OK  ] Stopped Create Volatile Files and Directories.
 
[  OK  ] Stopped target Local File Systems.
 
        Unmounting Temporary Directory (/tmp)...
 
        Unmounting /var/volatile...
 
[  OK  ] Stopped Network Service.
 
[  OK  ] Unmounted Temporary Directory (/tmp).
 
[  OK  ] Unmounted /var/volatile.
 
[  OK  ] Stopped target Local File Systems (Pre).
 
[  OK  ] Stopped target Swap.
 
[  OK  ] Reached target Unmount All Filesystems.
 
[  OK  ] Stopped Remount Root and Kernel File Systems.
 
[  OK  ] Stopped Apply Kernel Variables.
 
[  OK  ] Stopped Load Kernel Modules.
 
[  OK  ] Stopped Create Static Device Nodes in /dev.
 
[  OK  ] Reached target Shutdown.
 
[  OK  ] Reached target Final Step.
 
[  OK  ] Started Power-Off.
 
[  OK  ] Reached target Power-Off.
 
[  15.911216] systemd-shutdown[1]: Syncing filesystems and block devices.
 
[  15.920832] systemd-shutdown[1]: Sending SIGTERM to remaining processes...
 
[  15.936588] systemd-journald[247]: Received SIGTERM from PID 1 (systemd-shutdow).
 
[  15.959340] systemd-shutdown[1]: Sending SIGKILL to remaining processes...
 
[  15.975454] systemd-shutdown[1]: Unmounting file systems.
 
[  15.982656] [353]: Remounting '/' read-only in with options '(null)'.
 
[   16.020576] EXT4-fs (mmcblk0p2): re-mounted. Opts: (null)
 
[  16.031646] systemd-shutdown[1]: All filesystems unmounted.
 
[  16.037301] systemd-shutdown[1]: Deactivating swaps.
 
[  16.042421] systemd-shutdown[1]: All swaps deactivated.
 
[  16.047678] systemd-shutdown[1]: Detaching loop devices.
 
[  16.055830] systemd-shutdown[1]: All loop devices detached.
 
[  16.061424] systemd-shutdown[1]: Detaching DM devices.
 
[  16.066794] systemd-shutdown[1]: All DM devices detached.
 
[  16.072226] systemd-shutdown[1]: All filesystems, swaps, loop devices and DM devices detached.
 
[  16.086744] systemd-shutdown[1]: Syncing filesystems and block devices.
 
[  16.093483] systemd-shutdown[1]: Powering off.
 
[  16.097961] kvm: exiting hardware virtualization
 
[  16.097991] imx-sdma 30bd0000.sdma: external firmware not found, using ROM firmware
 
[  16.098546] cfg80211: failed to load regulatory.db
 
[  16.101341] imx-sdma 302c0000.sdma: loaded firmware 4.5
 
[  16.166426] mwifiex_pcie 0000:01:00.0: info: shutdown mwifiex...
 
[  16.173169] mwifiex_pcie 0000:01:00.0: PREP_CMD: card is removed
 
[  16.240963] mwifiex_pcie 0000:01:00.0: performing cancel_work_sync()...
 
[  16.247595] mwifiex_pcie 0000:01:00.0: cancel_work_sync() done
 
[  16.288309] reboot: Power down
 
</syntaxhighlight>
 
 
 
Then pressing POWER button again:
 
 
 
<syntaxhighlight lang="bash">
 
U-Boot 2020.04-imx_v2020.04_5.4.24_2.1.0+g4979a99482 (May 30 2020 - 06:50:01 +0000)
 
 
 
CPU:  i.MX8MQLite rev2.1 1300 MHz (running at 800 MHz)
 
CPU:  Industrial temperature grade (-40C to 105C) at 62C
 
Reset cause: POR
 
Model: Voipac i.MX8MQ EVK
 
DRAM:  2 GiB
 
MMC:  FSL_SDHC: 0, FSL_SDHC: 1
 
Loading Environment from MMC... OK
 
[*]-Video Link 0imx8m_hdmi_probe
 
....
 
</syntaxhighlight>
 
 
 
== CAN ==
 
'''''Input:''''' None<br />
 
'''''Output:''''' Device driver is available
 
 
 
<syntaxhighlight lang="bash">
 
root@imx8mq-voipac:~# ip addr show dev can0
 
1: can0: <NOARP,ECHO> mtu 16 qdisc noop state DOWN group default qlen 10
 
    link/can
 
</syntaxhighlight>
 
 
 
To setup can interface to 500kB bitrate use following command:
 
<syntaxhighlight lang="bash">
 
ip link set can0 up type can bitrate 500000
 
</syntaxhighlight>
 
 
 
To test send data use following command:
 
<syntaxhighlight lang="bash">
 
cansend can0 365#AA.11.11
 
</syntaxhighlight>
 
 
 
To test receiving data use following command:
 
<syntaxhighlight lang="bash">
 
candump can0
 
</syntaxhighlight>
 
 
 
== Camera Input  ==
 
'''''Input:''''' Connect DIGILENT Pcam 5C camera module into CSI-2 interface and check if it is detected on I2C bus<br />
 
'''''Output:''''' Camera is found<br />
 
 
 
<syntaxhighlight lang="bash">
 
root@imx8mq-voipac:~# dmesg | grep ov56
 
[    2.383324] ov5640_mipi 1-003c: No pin available
 
[    2.387976] ov5640_mipi 1-003c: No sensor pwdn pin available
 
[    2.393683] ov5640_mipi 1-003c: No sensor reset pin available
 
[    2.399479] ov5640_regulator_enable: cannot get io voltage error - err:-517
 
[    3.018132] ov5640_mipi 1-003c: No pin available
 
[    3.033972] ov5640_mipi 1-003c: No sensor pwdn pin available
 
[    3.046488] ov5640_mipi 1-003c: No sensor reset pin available
 
[    3.062091] ov5640_mipi 1-003c: 1-003c supply DVDD not found, using dummy regulator
 
[    3.072436] ov5640_mipi 1-003c: 1-003c supply AVDD not found, using dummy regulator
 
[    4.325257] mxc-mipi-csi2_yav 30b60000.mipi_csi: Registered sensor subdevice: ov5640_mipi 1-003c
 
[    4.337288] ov5640_mipi 1-003c: Camera is found
 
</syntaxhighlight>
 
 
 
 
 
'''''Input:''''' Connect DIGILENT Pcam 5C camera module into CSI-2 interface and capture image<br />
 
'''''Output:''''' The image stored in local media with name sample_image.jpeg
 
<syntaxhighlight lang="bash">
 
root@imx8mq-voipac:~# gst-launch-1.0 v4l2src num-buffers=1 device=/dev/video1 ! jpegenc ! filesink location=sample_image_digi.jpeg
 
Setting pipeline to PAUSED ...
 
Pipeline is live and does not need PREROLL ...
 
Setting pipeline to PLAYING ...
 
New clock: GstSystemClock
 
[ 1023.907274] ov5640_mipi 1-003c: s_stream: 1
 
[ 1024.609769] skip frame 1
 
Got EOS from element "pipeline0".[ 1026.497200] ov5640_mipi 1-003c: s_stream: 0
 
 
 
Execution ended after 0:00:03.075026264
 
Setting pipeline to PAUSED ...
 
Setting pipeline to READY ...
 
Setting pipeline to NULL ...
 
Freeing pipeline ...
 
</syntaxhighlight>
 
 
 
'''''Input:''''' Connect DIGILENT Pcam 5C camera module into CSI-2 interface and capture video<br />
 
'''''Output:''''' The image displayed on display/monitor
 
<syntaxhighlight lang="bash">
 
root@imx8mq-voipac:~# GST_DEBUG=GST_BUFFER:5 gst-launch-1.0 v4l2src device=/dev/video1 ! 'video/x-raw,framerate=30/1' ! autovideosink
 
Setting pipeline to PAUSED ...
 
Pipeline is live and does not need PREROLL ...
 
Setting pipeline to PLAYING ...
 
New clock: GstSystemClock
 
0:00:00.817426914  433 0xaaaacb3d5c00 DEBUG            GST_BUFFER gstbuffer.c:2279:gst_buffer_add_meta: alloc metadata 0xaaaacb4873c0 (GstVideoMeta) of size 112
 
0:00:00.817551951  433 0xaaaacb3d5c00 DEBUG            GST_BUFFER gstbuffer.c:2279:gst_buffer_add_meta: alloc metadata 0xaaaacb487440 (GstVideoMeta) of size 112
 
0:00:00.817603069  4[ 1575.384649] ov5640_mipi 1-003c: s_stream: 1
 
33 0xaaaacb3d5c00 DEBUG            GST_BUFFER gstbuffer.c:2279:gst_buffer_add_meta: alloc metadata 0xaaaacb4874c0 (GstVideoMeta) of size 112
 
0:00:00.817651068  433 0xaaaacb3d5c00 DEBUG            GST_BUFFER gstbuffer.c:2279:gst_buffer_add_meta: alloc metadata 0xaaaacb487540 (GstVideoMeta) of size 112
 
[ 1576.002044] skip frame 1
 
 
 
CAPTURE INTERRUPTION:
 
 
 
[ 1582.847027] ov5640_mipi 1-003c: s_stream: 0
 
 
 
Execution ended after 0:00:08.249177743
 
Setting pipeline to PAUSED ...
 
Setting pipeline to READY ...
 
0:00:08.326703325  433 0xaaaacb468180 DEBUG            GST_BUFFER gstbuffer.c:1448:gst_buffer_is_memory_range_writable: idx 0, length -1
 
0:00:08.326764524  433 0xaaaacb468180 DEBUG            GST_BUFFER gstbuffer.c:1448:gst_buffer_is_memory_range_writable: idx 0, length -1
 
0:00:08.326792003  433 0xaaaacb468180 DEBUG            GST_BUFFER gstbuffer.c:1448:gst_buffer_is_memory_range_writable: idx 0, length -1
 
Setting pipeline to NULL ...
 
Total showed frames (78), playing for (0:00:08.249372377), fps (9.455).
 
Freeing pipeline ...
 
 
 
</syntaxhighlight>
 
 
 
Video should be displayed on video output (hdmi or lvds display)
 
 
 
== Ethernet ==
 
'''''Input:''''' None<br />
 
'''''Output:''''' Device driver is available<br />
 
'''''Note:''''' MAC address should be identical with the address on the sticker placed on the board
 
<syntaxhighlight lang="bash">
 
root@imx8mq-voipac:~# ip addr show dev eth0
 
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
 
    link/ether 00:0d:15:01:50:92 brd ff:ff:ff:ff:ff:ff
 
    inet 192.168.10.122/24 brd 192.168.10.255 scope global dynamic eth0
 
      valid_lft 86103sec preferred_lft 86103sec
 
    inet6 fe80::20d:15ff:fe01:5092/64 scope link
 
      valid_lft forever preferred_lft forever
 
</syntaxhighlight>
 
 
 
'''''Input:''''' Plug Ethernet cable into connector<br />
 
'''''Output:''''' IPv4 address is assigned
 
<syntaxhighlight lang="bash">
 
[  348.300585] fec 30be0000.ethernet eth0: Link is Down
 
[ 350.350853] fec 30be0000.ethernet eth0: Link is Up - 100Mbps/Full - flow control off
 
</syntaxhighlight>
 
 
 
== HDMI Output ==
 
'''''Input:''''' Connect LCD monitor to the development kit<br />
 
'''''Output:''''' Desktop UI is displayed correctly<br />
 
[[image:iMX6_TinyRex_Development_Kit-HDMI_terminal.png|580px]]
 
 
 
== DisplayPort Output ==
 
NOTE: A different boot file image and/or device tree is required!<br /><br />
 
'''''Input:''''' Connect LCD monitor with DisplayPort to the development kit<br />
 
'''''Output:''''' Desktop UI is displayed correctly<br />
 
[[image:iMX6_TinyRex_Development_Kit-HDMI_terminal.png|580px]]
 
 
 
== User LED ==
 
'''''Input:''''' None<br />
 
'''''Output:''''' Script switches User LED on baseboard ON and OFF in one second intervals
 
<syntaxhighlight lang="bash">
 
root@imx8mq-voipac:~#
 
for LED in /sys/class/leds/user
 
do
 
echo Testing ${LED}
 
echo -n "1" > ${LED}/brightness
 
sleep 1
 
echo -n "0" > ${LED}/brightness
 
sleep 1
 
done
 
</syntaxhighlight>
 
 
 
'''''Input:''''' None<br />
 
'''''Output:''''' User LED on baseboard is set to heartbeat blinking sequence
 
<syntaxhighlight lang="bash">
 
root@imx8mq-voipac:~# echo heartbeat > /sys/class/leds/user/trigger
 
</syntaxhighlight>
 
 
 
'''''Input:''''' None<br />
 
'''''Output:''''' User LED on SOM is set to heartbeat blinking sequence
 
<syntaxhighlight lang="bash">
 
root@imx8mq-voipac:~# echo heartbeat > /sys/class/leds/user-som/trigger
 
</syntaxhighlight>
 
  
== Wifi ==
+
'''''Note:''''' Only the Basic configuration of iMX8M Industrial Module provides access to PCI Express signals via PCIe Mini and M.2 key B sockets soldered on the baseboard, instead of using the interface for WiFi and Bluetooth module on the COM.<br /><br />
NOTE: Describe how WiFi + Bluetooth module is used on the Max / Pro configuration. Explain Basic Wireless capabilities.<br /><br />
 
'''''Input:''''' None<br />
 
'''''Output:''''' Device driver is available<br />
 
  
 +
Check if the device driver is available:
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
root@imx8mq-voipac:~# dmesg | grep mwifiex
+
root@imx8mq-voipac:~# dmesg | grep wlan
[    5.145232] mwifiex_pcie 0000:01:00.0: enabling device (0000 -> 0002)
+
[    6.329574] wlan: Loading MWLAN driver
[    5.166217] mwifiex_pcie: PCI memory map Virt0: (____ptrval____) PCI memory map Virt2: (____ptrval____)
+
[    6.333853] wlan: Register to Bus Driver...
[    6.133666] mwifiex_pcie 0000:01:00.0: info: FW download over, size 632240 bytes
+
[    6.338344] wlan_pcie 0000:01:00.0: enabling device (0000 -> 0002)
[    7.004061] mwifiex_pcie 0000:01:00.0: WLAN FW is active
+
[    8.500582] wlan: version = PCIE8997--16.92.21.p76.2-MM5X16368.p2-(FP92)
[    7.049670] mwifiex_pcie 0000:01:00.0: Unknown api_id: 3
+
[    8.517033] wlan: Register to Bus Driver Done
[    7.055024] mwifiex_pcie 0000:01:00.0: Unknown api_id: 4
+
[    8.521409] wlan: Driver loaded successfully
[    7.060385] mwifiex_pcie 0000:01:00.0: Unknown GET_HW_SPEC TLV type: 0x217
+
[    8.533204] wlan_pcie 0000:01:00.0 wlp1s0: renamed from mlan0
[    7.075700] mwifiex_pcie 0000:01:00.0: info: MWIFIEX VERSION: mwifiex 1.0 (16.68.1.p179)
 
[    7.080505] mwifiex_pcie 0000:01:00.0 wlp1s0: renamed from mlan0
 
[    7.083959] mwifiex_pcie 0000:01:00.0: driver_version = mwifiex 1.0 (16.68.1.p179)
 
 
</syntaxhighlight>
 
</syntaxhighlight>
  
Chek if interface is present
+
Check if the WiFi interface is present:
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
 
root@imx8mq-voipac:~# ip addr show dev wlp1s0
 
root@imx8mq-voipac:~# ip addr show dev wlp1s0
Line 449: Line 149:
 
</syntaxhighlight>
 
</syntaxhighlight>
  
=== Check connection ===
 
 
'''''Input:''''' Scan the available WiFi networks<br />
 
'''''Input:''''' Scan the available WiFi networks<br />
'''''Output:''''' Network with their associated SSID are scanned and dispalyed<br />
+
'''''Output:''''' Networks are scanned and in-depth information are displayed<br />
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
 
root@imx8mq-voipac:~# ifconfig wlp1s0 up && iw dev wlp1s0 scan
 
root@imx8mq-voipac:~# ifconfig wlp1s0 up && iw dev wlp1s0 scan
BSS ec:08:6b:f7:f2:b0(on wlp1s0)
 
        TSF: 1203778321664 usec (13d, 22:22:58)
 
        freq: 2412
 
        beacon interval: 100 TUs
 
        capability: ESS Privacy ShortPreamble ShortSlotTime (0x0431)
 
        signal: -94.00 dBm
 
        last seen: 4600 ms ago
 
        SSID: Autoservis HAVRAN
 
        Supported rates: 1.0* 2.0* 5.5* 11.0* 6.0 9.0 12.0 18.0
 
        DS Parameter set: channel 1
 
        ERP: <no flags>
 
        RSN:    * Version: 1
 
                * Group cipher: CCMP
 
                * Pairwise ciphers: CCMP
 
                * Authentication suites: PSK
 
                * Capabilities: 1-PTKSA-RC 1-GTKSA-RC (0x0000)
 
        Extended supported rates: 24.0 36.0 48.0 54.0
 
        HT capabilities:
 
                Capabilities: 0x11ef
 
                        RX LDPC
 
                        HT20/HT40
 
                        SM Power Save disabled
 
                        RX HT20 SGI
 
                        RX HT40 SGI
 
                        TX STBC
 
                        RX STBC 1-stream
 
                        Max AMSDU length: 3839 bytes
 
                        DSSS/CCK HT40
 
                Maximum RX AMPDU length 65535 bytes (exponent: 0x003)
 
                Minimum RX AMPDU time spacing: 8 usec (0x06)
 
                HT TX/RX MCS rate indexes supported: 0-15
 
        HT operation:
 
                * primary channel: 1
 
                * secondary channel offset: above
 
                * STA channel width: any
 
                * RIFS: 1
 
                * HT protection: 20 MHz
 
                * non-GF present: 1
 
                * OBSS non-GF present: 0
 
                * dual beacon: 0
 
                * dual CTS protection: 0
 
                * STBC beacon: 0
 
                * L-SIG TXOP Prot: 0
 
                * PCO active: 0
 
                * PCO phase: 0
 
        Extended capabilities:
 
                * Operating Mode Notification
 
        WMM:    * Parameter version 1
 
                * u-APSD
 
                * BE: CW 15-1023, AIFSN 3
 
                * BK: CW 15-1023, AIFSN 7
 
                * VI: CW 7-15, AIFSN 2, TXOP 3008 usec
 
                * VO: CW 3-7, AIFSN 2, TXOP 1504 usec
 
        WPS:    * Version: 1.0
 
                * Wi-Fi Protected Setup State: 2 (Configured)
 
                * Response Type: 3 (AP)
 
                * UUID: 00010203-0405-0607-0809-0a0b0c0d0e0f
 
                * Manufacturer: TP-LINK
 
                * Model: TL-WR841N
 
                * Model Number: 10.0
 
                * Serial Number: 1.0
 
                * Primary Device Type: 6-0050f204-1
 
                * Device name: Wireless Router TL-WR841N
 
                * Config methods: Ethernet, Label, PBC
 
                * RF Bands: 0x1
 
                * Unknown TLV (0x1049, 20 bytes): 00 24 e2 60 02 00 01 01 60 00 00 02 00 01 60 01 00 02 00 01
 
BSS 06:18:0a:d0:02:83(on wlp1s0)
 
        TSF: 10360592079461 usec (119d, 21:56:32)
 
        freq: 2412
 
        beacon interval: 100 TUs
 
        capability: ESS Privacy ShortPreamble ShortSlotTime RadioMeasure (0x1431)
 
        signal: -90.00 dBm
 
        last seen: 4600 ms ago
 
        SSID:
 
        Supported rates: 1.0* 2.0* 5.5* 11.0* 6.0 9.0 12.0 18.0
 
        DS Parameter set: channel 1
 
        TIM: DTIM Count 0 DTIM Period 1 Bitmap Control 0x0 Bitmap[0] 0x0
 
        Country: SK    Environment: Indoor/Outdoor
 
                Channels [1 - 13] @ 20 dBm
 
        TPC report: TX power: 17 dBm
 
        ERP: Use_Protection
 
        RSN:    * Version: 1
 
                * Group cipher: TKIP
 
                * Pairwise ciphers: CCMP TKIP
 
                * Authentication suites: PSK
 
                * Capabilities: 1-PTKSA-RC 1-GTKSA-RC (0x0000)
 
        Extended supported rates: 24.0 36.0 48.0 54.0
 
        BSS Load:
 
                * station count: 0
 
                * channel utilisation: 30/255
 
                * available admission capacity: 0 [*32us]
 
        HT capabilities:
 
                Capabilities: 0x11ad
 
                        RX LDPC
 
                        HT20
 
                        SM Power Save disabled
 
                        RX HT20 SGI
 
                        TX STBC
 
                        RX STBC 1-stream
 
                        Max AMSDU length: 3839 bytes
 
                        DSSS/CCK HT40
 
                Maximum RX AMPDU length 65535 bytes (exponent: 0x003)
 
                Minimum RX AMPDU time spacing: No restriction (0x00)
 
                HT RX MCS rate indexes supported: 0-15
 
                HT TX MCS rate indexes are undefined
 
        HT operation:
 
                * primary channel: 1
 
                * secondary channel offset: no secondary
 
                * STA channel width: 20 MHz
 
                * RIFS: 0
 
                * HT protection: nonmember
 
                * non-GF present: 0
 
                * OBSS non-GF present: 0
 
                * dual beacon: 0
 
                * dual CTS protection: 0
 
                * STBC beacon: 0
 
                * L-SIG TXOP Prot: 0
 
                * PCO active: 0
 
                * PCO phase: 0
 
        Extended capabilities:
 
                * Extended Channel Switching
 
                * TFS
 
                * WNM-Sleep Mode
 
                * TIM Broadcast
 
                * BSS Transition
 
        WPA:    * Version: 1
 
                * Group cipher: TKIP
 
                * Pairwise ciphers: CCMP TKIP
 
                * Authentication suites: PSK
 
        WMM:    * Parameter version 1
 
                * u-APSD
 
                * BE: CW 15-1023, AIFSN 3
 
                * BK: CW 15-1023, AIFSN 7
 
                * VI: CW 7-15, AIFSN 2, TXOP 3008 usec
 
                * VO: CW 3-7, AIFSN 2, TXOP 1504 usec
 
BSS 94:27:90:70:7d:fc(on wlp1s0)
 
        TSF: 1210142159262 usec (14d, 00:09:02)
 
        freq: 2422
 
        beacon interval: 100 TUs
 
        capability: ESS Privacy ShortPreamble ShortSlotTime (0x0431)
 
        signal: -41.00 dBm
 
        last seen: 4396 ms ago
 
        SSID: HH40V_7DFC
 
        Supported rates: 1.0* 2.0* 5.5* 11.0* 6.0 9.0 12.0 18.0
 
        DS Parameter set: channel 3
 
        Country: SK    Environment: Indoor/Outdoor
 
                Channels [1 - 13] @ 20 dBm
 
        ERP: <no flags>
 
        Extended supported rates: 24.0 36.0 48.0 54.0
 
        HT capabilities:
 
                Capabilities: 0x1ad
 
                        RX LDPC
 
                        HT20
 
                        SM Power Save disabled
 
                        RX HT20 SGI
 
                        TX STBC
 
                        RX STBC 1-stream
 
                        Max AMSDU length: 3839 bytes
 
                        No DSSS/CCK HT40
 
                Maximum RX AMPDU length 65535 bytes (exponent: 0x003)
 
                Minimum RX AMPDU time spacing: 8 usec (0x06)
 
                HT TX/RX MCS rate indexes supported: 0-15
 
        HT operation:
 
                * primary channel: 3
 
                * secondary channel offset: no secondary
 
                * STA channel width: 20 MHz
 
                * RIFS: 1
 
                * HT protection: no
 
                * non-GF present: 1
 
                * OBSS non-GF present: 0
 
                * dual beacon: 0
 
                * dual CTS protection: 0
 
                * STBC beacon: 0
 
                * L-SIG TXOP Prot: 0
 
                * PCO active: 0
 
                * PCO phase: 0
 
        Overlapping BSS scan params:
 
                * passive dwell: 20 TUs
 
                * active dwell: 10 TUs
 
                * channel width trigger scan interval: 300 s
 
                * scan passive total per channel: 200 TUs
 
                * scan active total per channel: 20 TUs
 
                * BSS width channel transition delay factor: 5
 
                * OBSS Scan Activity Threshold: 0.25 %
 
        Extended capabilities:
 
                * HT Information Exchange Supported
 
                * Extended Channel Switching
 
                * SSID List
 
                * Operating Mode Notification
 
        WMM:    * Parameter version 1
 
                * BE: CW 15-1023, AIFSN 3
 
                * BK: CW 15-1023, AIFSN 7
 
                * VI: CW 7-15, AIFSN 2, TXOP 3008 usec
 
                * VO: CW 3-7, AIFSN 2, TXOP 1504 usec
 
        WPA:    * Version: 1
 
                * Group cipher: TKIP
 
                * Pairwise ciphers: CCMP TKIP
 
                * Authentication suites: PSK
 
        RSN:    * Version: 1
 
                * Group cipher: TKIP
 
                * Pairwise ciphers: CCMP TKIP
 
                * Authentication suites: PSK
 
                * Capabilities: 1-PTKSA-RC 1-GTKSA-RC (0x0000)
 
        WPS:    * Version: 1.0
 
                * Wi-Fi Protected Setup State: 2 (Configured)
 
                * Response Type: 3 (AP)
 
                * UUID: 87654321-9abc-def0-1234-9427906d6fa0
 
                * Manufacturer: TCL.org
 
                * Model: WAP
 
                * Model Number: 123
 
                * Serial Number: 12345
 
                * Primary Device Type: 6-0050f204-1
 
                * Device name: TCL AP
 
                * Config methods:
 
                * Unknown TLV (0x1049, 6 bytes): 00 37 2a 00 01 20
 
BSS 50:d4:f7:ba:b6:70(on wlp1s0)
 
        TSF: 4125052819242 usec (47d, 17:50:52)
 
        freq: 2427
 
        beacon interval: 100 TUs
 
        capability: ESS Privacy ShortPreamble (0x0031)
 
        signal: -80.00 dBm
 
        last seen: 4396 ms ago
 
        SSID: ZepelinMerina
 
        Supported rates: 1.0* 2.0* 5.5* 11.0* 6.0 9.0 12.0 18.0
 
        DS Parameter set: channel 4
 
        ERP: Use_Protection
 
        RSN:    * Version: 1
 
                * Group cipher: TKIP
 
                * Pairwise ciphers: CCMP TKIP
 
                * Authentication suites: PSK
 
                * Capabilities: 1-PTKSA-RC 1-GTKSA-RC (0x0000)
 
        Extended supported rates: 24.0 36.0 48.0 54.0
 
        HT capabilities:
 
                Capabilities: 0x11ee
 
                        HT20/HT40
 
                        SM Power Save disabled
 
                        RX HT20 SGI
 
                        RX HT40 SGI
 
                        TX STBC
 
                        RX STBC 1-stream
 
                        Max AMSDU length: 3839 bytes
 
                        DSSS/CCK HT40
 
                Maximum RX AMPDU length 65535 bytes (exponent: 0x003)
 
                Minimum RX AMPDU time spacing: 8 usec (0x06)
 
                HT TX/RX MCS rate indexes supported: 0-23
 
        HT operation:
 
                * primary channel: 4
 
                * secondary channel offset: above
 
                * STA channel width: any
 
                * RIFS: 1
 
                * HT protection: 20 MHz
 
                * non-GF present: 1
 
                * OBSS non-GF present: 0
 
                * dual beacon: 0
 
                * dual CTS protection: 0
 
                * STBC beacon: 0
 
                * L-SIG TXOP Prot: 0
 
                * PCO active: 0
 
                * PCO phase: 0
 
        Extended capabilities:
 
                * Operating Mode Notification
 
        WPA:    * Version: 1
 
                * Group cipher: TKIP
 
                * Pairwise ciphers: CCMP TKIP
 
                * Authentication suites: PSK
 
        WMM:    * Parameter version 1
 
                * u-APSD
 
                * BE: CW 15-1023, AIFSN 3
 
                * BK: CW 15-1023, AIFSN 7
 
                * VI: CW 7-15, AIFSN 2, TXOP 3008 usec
 
                * VO: CW 3-7, AIFSN 2, TXOP 1504 usec
 
        WPS:    * Version: 1.0
 
                * Wi-Fi Protected Setup State: 2 (Configured)
 
                * Response Type: 3 (AP)
 
                * UUID: 00010203-0405-0607-0809-0a0b0c0d0e0f
 
                * Manufacturer: TP-LINK
 
                * Model: TL-WA901ND
 
                * Model Number: 5.0
 
                * Serial Number: 1.0
 
                * Primary Device Type: 6-0050f204-1
 
                * Device name: Wireless N AP TL-WA901ND
 
                * Config methods: Ethernet, Label, PBC
 
                * RF Bands: 0x1
 
                * Unknown TLV (0x1049, 20 bytes): 00 24 e2 60 02 00 01 01 60 00 00 02 00 01 60 01 00 02 00 01
 
BSS b4:b0:24:13:7a:de(on wlp1s0)
 
        TSF: 346265909569 usec (4d, 00:11:05)
 
        freq: 2422
 
        beacon interval: 100 TUs
 
        capability: ESS Privacy ShortSlotTime (0x0411)
 
        signal: -89.00 dBm
 
        last seen: 4396 ms ago
 
        SSID: byt 4
 
        Supported rates: 1.0* 2.0* 5.5* 11.0* 9.0 18.0 36.0 54.0
 
        DS Parameter set: channel 3
 
        Extended supported rates: 6.0 12.0 24.0 48.0
 
        TIM: DTIM Count 0 DTIM Period 1 Bitmap Control 0x0 Bitmap[0] 0x0
 
        RSN:    * Version: 1
 
                * Group cipher: CCMP
 
                * Pairwise ciphers: CCMP
 
                * Authentication suites: PSK
 
                * Capabilities: 1-PTKSA-RC 1-GTKSA-RC (0x0000)
 
        WPS:    * Version: 1.0
 
                * Wi-Fi Protected Setup State: 2 (Configured)
 
                * UUID: 38833092-3092-1883-9c77-b4b024137ac4
 
                * RF Bands: 0x1
 
                * Unknown TLV (0x1049, 6 bytes): 00 37 2a 00 01 20
 
        ERP: Barker_Preamble_Mode
 
        HT capabilities:
 
                Capabilities: 0x106e
 
                        HT20/HT40
 
                        SM Power Save disabled
 
                        RX HT20 SGI
 
                        RX HT40 SGI
 
                        No RX STBC
 
                        Max AMSDU length: 3839 bytes
 
                        DSSS/CCK HT40
 
                Maximum RX AMPDU length 65535 bytes (exponent: 0x003)
 
                Minimum RX AMPDU time spacing: 4 usec (0x05)
 
                HT RX MCS rate indexes supported: 0-15, 32
 
                HT TX MCS rate indexes are undefined
 
        HT operation:
 
                * primary channel: 3
 
                * secondary channel offset: above
 
                * STA channel width: any
 
                * RIFS: 0
 
                * HT protection: no
 
                * non-GF present: 0
 
                * OBSS non-GF present: 0
 
                * dual beacon: 0
 
                * dual CTS protection: 0
 
                * STBC beacon: 0
 
                * L-SIG TXOP Prot: 0
 
                * PCO active: 0
 
                * PCO phase: 0
 
        Overlapping BSS scan params:
 
                * passive dwell: 20 TUs
 
                * active dwell: 10 TUs
 
                * channel width trigger scan interval: 300 s
 
                * scan passive total per channel: 200 TUs
 
                * scan active total per channel: 20 TUs
 
                * BSS width channel transition delay factor: 5
 
                * OBSS Scan Activity Threshold: 0.25 %
 
        WMM:    * Parameter version 1
 
                * BE: CW 15-1023, AIFSN 3
 
                * BK: CW 15-1023, AIFSN 7
 
                * VI: CW 7-15, AIFSN 2, TXOP 3008 usec
 
                * VO: CW 3-7, AIFSN 2, TXOP 1504 usec
 
        BSS Load:
 
                * station count: 0
 
                * channel utilisation: 0/255
 
                * available admission capacity: 31250 [*32us]
 
 
BSS 94:27:90:7f:c3:d3(on wlp1s0)
 
BSS 94:27:90:7f:c3:d3(on wlp1s0)
 
         TSF: 1213185029341 usec (14d, 00:59:45)
 
         TSF: 1213185029341 usec (14d, 00:59:45)
Line 881: Line 229:
 
                 * Config methods:
 
                 * Config methods:
 
                 * Unknown TLV (0x1049, 6 bytes): 00 37 2a 00 01 20
 
                 * Unknown TLV (0x1049, 6 bytes): 00 37 2a 00 01 20
BSS 50:0f:f5:be:22:21(on wlp1s0)
 
        TSF: 184731886 usec (0d, 00:03:04)
 
        freq: 2437
 
        beacon interval: 100 TUs
 
        capability: ESS Privacy ShortPreamble ShortSlotTime (0x0431)
 
        signal: -83.00 dBm
 
        last seen: 4296 ms ago
 
        SSID: SpinTNdoprava
 
        Supported rates: 1.0* 2.0* 5.5* 11.0* 6.0 9.0 12.0 18.0
 
        DS Parameter set: channel 6
 
        TIM: DTIM Count 0 DTIM Period 1 Bitmap Control 0x0 Bitmap[0] 0x0
 
        Country: US    Environment: Indoor/Outdoor
 
                Channels [1 - 11] @ 30 dBm
 
        ERP: <no flags>
 
        Extended supported rates: 24.0 36.0 48.0 54.0
 
        HT capabilities:
 
                Capabilities: 0x11ed
 
                        RX LDPC
 
                        HT20
 
                        SM Power Save disabled
 
                        RX HT20 SGI
 
                        RX HT40 SGI
 
                        TX STBC
 
                        RX STBC 1-stream
 
                        Max AMSDU length: 3839 bytes
 
                        DSSS/CCK HT40
 
                Maximum RX AMPDU length 65535 bytes (exponent: 0x003)
 
                Minimum RX AMPDU time spacing: 8 usec (0x06)
 
                HT RX MCS rate indexes supported: 0-15
 
                HT TX MCS rate indexes are undefined
 
        HT operation:
 
                * primary channel: 6
 
                * secondary channel offset: no secondary
 
                * STA channel width: 20 MHz
 
                * RIFS: 1
 
                * HT protection: no
 
                * non-GF present: 0
 
                * OBSS non-GF present: 0
 
                * dual beacon: 0
 
                * dual CTS protection: 0
 
                * STBC beacon: 0
 
                * L-SIG TXOP Prot: 0
 
                * PCO active: 0
 
                * PCO phase: 0
 
        Overlapping BSS scan params:
 
                * passive dwell: 20 TUs
 
                * active dwell: 10 TUs
 
                * channel width trigger scan interval: 300 s
 
                * scan passive total per channel: 200 TUs
 
                * scan active total per channel: 20 TUs
 
                * BSS width channel transition delay factor: 5
 
                * OBSS Scan Activity Threshold: 0.25 %
 
        Extended capabilities:
 
                * HT Information Exchange Supported
 
        WMM:    * Parameter version 1
 
                * BE: CW 15-1023, AIFSN 3
 
                * BK: CW 15-1023, AIFSN 7
 
                * VI: CW 7-15, AIFSN 2, TXOP 3008 usec
 
                * VO: CW 3-7, AIFSN 2, TXOP 1504 usec
 
        RSN:    * Version: 1
 
                * Group cipher: CCMP
 
                * Pairwise ciphers: CCMP
 
                * Authentication suites: PSK
 
                * Capabilities: 1-PTKSA-RC 1-GTKSA-RC (0x0000)
 
        WPA:    * Version: 1
 
                * Group cipher: CCMP
 
                * Pairwise ciphers: CCMP
 
                * Authentication suites: PSK
 
 
BSS 34:e8:94:5c:06:80(on wlp1s0)
 
BSS 34:e8:94:5c:06:80(on wlp1s0)
 
         TSF: 787677017722 usec (9d, 02:47:57)
 
         TSF: 787677017722 usec (9d, 02:47:57)
Line 1,104: Line 384:
 
                 * channel utilisation: 47/255
 
                 * channel utilisation: 47/255
 
                 * available admission capacity: 31250 [*32us]
 
                 * available admission capacity: 31250 [*32us]
BSS 62:a6:e6:87:bc:5a(on wlp1s0)
 
        TSF: 1203179522943 usec (13d, 22:12:59)
 
        freq: 2467
 
        beacon interval: 100 TUs
 
        capability: ESS Privacy ShortPreamble ShortSlotTime RadioMeasure (0x1431)
 
        signal: -80.00 dBm
 
        last seen: 3432 ms ago
 
        SSID:
 
        Supported rates: 1.0* 2.0* 5.5* 11.0* 6.0 9.0 12.0 18.0
 
        DS Parameter set: channel 12
 
        TIM: DTIM Count 0 DTIM Period 1 Bitmap Control 0x0 Bitmap[0] 0x0
 
        Country: DE    Environment: Indoor/Outdoor
 
                Channels [1 - 13] @ 20 dBm
 
        ERP: <no flags>
 
        Extended supported rates: 24.0 36.0 48.0 54.0
 
        HT capabilities:
 
                Capabilities: 0x19ef
 
                        RX LDPC
 
                        HT20/HT40
 
                        SM Power Save disabled
 
                        RX HT20 SGI
 
                        RX HT40 SGI
 
                        TX STBC
 
                        RX STBC 1-stream
 
                        Max AMSDU length: 7935 bytes
 
                        DSSS/CCK HT40
 
                Maximum RX AMPDU length 65535 bytes (exponent: 0x003)
 
                Minimum RX AMPDU time spacing: No restriction (0x00)
 
                HT TX/RX MCS rate indexes supported: 0-15
 
        HT operation:
 
                * primary channel: 12
 
                * secondary channel offset: below
 
                * STA channel width: any
 
                * RIFS: 0
 
                * HT protection: non-HT mixed
 
                * non-GF present: 1
 
                * OBSS non-GF present: 1
 
                * dual beacon: 0
 
                * dual CTS protection: 0
 
                * STBC beacon: 0
 
                * L-SIG TXOP Prot: 0
 
                * PCO active: 0
 
                * PCO phase: 0
 
        Extended capabilities:
 
                * TFS
 
                * WNM-Sleep Mode
 
                * TIM Broadcast
 
                * BSS Transition
 
                * SSID List
 
                * Operating Mode Notification
 
                * Max Number Of MSDUs In A-MSDU is unlimited
 
        VHT capabilities:
 
                VHT Capabilities (0x338959b2):
 
                        Max MPDU length: 11454
 
                        Supported Channel Width: neither 160 nor 80+80
 
                        RX LDPC
 
                        short GI (80 MHz)
 
                        TX STBC
 
                        SU Beamformer
 
                        SU Beamformee
 
                        MU Beamformer
 
                        RX antenna pattern consistency
 
                        TX antenna pattern consistency
 
                VHT RX MCS set:
 
                        1 streams: MCS 0-9
 
                        2 streams: MCS 0-9
 
                        3 streams: not supported
 
                        4 streams: not supported
 
                        5 streams: not supported
 
                        6 streams: not supported
 
                        7 streams: not supported
 
                        8 streams: not supported
 
                VHT RX highest supported: 0 Mbps
 
                VHT TX MCS set:
 
                        1 streams: MCS 0-9
 
                        2 streams: MCS 0-9
 
                        3 streams: not supported
 
                        4 streams: not supported
 
                        5 streams: not supported
 
                        6 streams: not supported
 
                        7 streams: not supported
 
                        8 streams: not supported
 
                VHT TX highest supported: 0 Mbps
 
        VHT operation:
 
                * channel width: 0 (20 or 40 MHz)
 
                * center freq segment 1: 0
 
                * center freq segment 2: 0
 
                * VHT basic MCS set: 0xfffc
 
        WMM:    * Parameter version 1
 
                * u-APSD
 
                * BE: CW 15-1023, AIFSN 3
 
                * BK: CW 15-1023, AIFSN 7
 
                * VI: CW 7-15, AIFSN 2, TXOP 3008 usec
 
                * VO: CW 3-7, AIFSN 2, TXOP 1504 usec
 
        RSN:    * Version: 1
 
                * Group cipher: CCMP
 
                * Pairwise ciphers: CCMP
 
                * Authentication suites: PSK
 
                * Capabilities: 1-PTKSA-RC 1-GTKSA-RC (0x0000)
 
BSS 5c:a6:e6:87:bc:5a(on wlp1s0)
 
        TSF: 1203179727593 usec (13d, 22:12:59)
 
        freq: 2467
 
        beacon interval: 100 TUs
 
        capability: ESS Privacy ShortPreamble ShortSlotTime RadioMeasure (0x1431)
 
        signal: -81.00 dBm
 
        last seen: 3432 ms ago
 
        SSID: AutoZ
 
        Supported rates: 1.0* 2.0* 5.5* 11.0* 6.0 9.0 12.0 18.0
 
        DS Parameter set: channel 12
 
        TIM: DTIM Count 0 DTIM Period 1 Bitmap Control 0x1 Bitmap[0] 0x80
 
        Country: DE    Environment: Indoor/Outdoor
 
                Channels [1 - 13] @ 20 dBm
 
        ERP: <no flags>
 
        Extended supported rates: 24.0 36.0 48.0 54.0
 
        HT capabilities:
 
                Capabilities: 0x19ef
 
                        RX LDPC
 
                        HT20/HT40
 
                        SM Power Save disabled
 
                        RX HT20 SGI
 
                        RX HT40 SGI
 
                        TX STBC
 
                        RX STBC 1-stream
 
                        Max AMSDU length: 7935 bytes
 
                        DSSS/CCK HT40
 
                Maximum RX AMPDU length 65535 bytes (exponent: 0x003)
 
                Minimum RX AMPDU time spacing: No restriction (0x00)
 
                HT TX/RX MCS rate indexes supported: 0-15
 
        HT operation:
 
                * primary channel: 12
 
                * secondary channel offset: below
 
                * STA channel width: any
 
                * RIFS: 0
 
                * HT protection: non-HT mixed
 
                * non-GF present: 1
 
                * OBSS non-GF present: 1
 
                * dual beacon: 0
 
                * dual CTS protection: 0
 
                * STBC beacon: 0
 
                * L-SIG TXOP Prot: 0
 
                * PCO active: 0
 
                * PCO phase: 0
 
        Extended capabilities:
 
                * TFS
 
                * WNM-Sleep Mode
 
                * TIM Broadcast
 
                * BSS Transition
 
                * SSID List
 
                * Operating Mode Notification
 
                * Max Number Of MSDUs In A-MSDU is unlimited
 
        VHT capabilities:
 
                VHT Capabilities (0x338959b2):
 
                        Max MPDU length: 11454
 
                        Supported Channel Width: neither 160 nor 80+80
 
                        RX LDPC
 
                        short GI (80 MHz)
 
                        TX STBC
 
                        SU Beamformer
 
                        SU Beamformee
 
                        MU Beamformer
 
                        RX antenna pattern consistency
 
                        TX antenna pattern consistency
 
                VHT RX MCS set:
 
                        1 streams: MCS 0-9
 
                        2 streams: MCS 0-9
 
                        3 streams: not supported
 
                        4 streams: not supported
 
                        5 streams: not supported
 
                        6 streams: not supported
 
                        7 streams: not supported
 
                        8 streams: not supported
 
                VHT RX highest supported: 0 Mbps
 
                VHT TX MCS set:
 
                        1 streams: MCS 0-9
 
                        2 streams: MCS 0-9
 
                        3 streams: not supported
 
                        4 streams: not supported
 
                        5 streams: not supported
 
                        6 streams: not supported
 
                        7 streams: not supported
 
                        8 streams: not supported
 
                VHT TX highest supported: 0 Mbps
 
        VHT operation:
 
                * channel width: 0 (20 or 40 MHz)
 
                * center freq segment 1: 0
 
                * center freq segment 2: 0
 
                * VHT basic MCS set: 0xfffc
 
        WMM:    * Parameter version 1
 
                * u-APSD
 
                * BE: CW 15-1023, AIFSN 3
 
                * BK: CW 15-1023, AIFSN 7
 
                * VI: CW 7-15, AIFSN 2, TXOP 3008 usec
 
                * VO: CW 3-7, AIFSN 2, TXOP 1504 usec
 
        RSN:    * Version: 1
 
                * Group cipher: CCMP
 
                * Pairwise ciphers: CCMP
 
                * Authentication suites: PSK FT/PSK
 
                * Capabilities: 1-PTKSA-RC 1-GTKSA-RC (0x0000)
 
        WPS:    * Version: 1.0
 
                * Wi-Fi Protected Setup State: 2 (Configured)
 
                * RF Bands: 0x3
 
                * Unknown TLV (0x1049, 6 bytes): 00 37 2a 00 01 20
 
BSS 34:e8:94:5c:06:82(on wlp1s0)
 
        TSF: 691743130145 usec (8d, 00:09:03)
 
        freq: 5560
 
        beacon interval: 100 TUs
 
        capability: ESS Privacy SpectrumMgmt (0x0111)
 
        signal: -88.00 dBm
 
        last seen: 1352 ms ago
 
        SSID: OrangeFlybox_0680
 
        Supported rates: 6.0* 9.0 12.0* 18.0 24.0* 36.0 48.0 54.0
 
        DS Parameter set: channel 112
 
        TIM: DTIM Count 0 DTIM Period 1 Bitmap Control 0x0 Bitmap[0] 0x4
 
        WPS:    * Version: 1.0
 
                * Wi-Fi Protected Setup State: 2 (Configured)
 
                * AP setup locked: 0x01
 
                * UUID: 38833092-3092-1883-9c77-34e8945c06c4
 
                * RF Bands: 0x2
 
                * Unknown TLV (0x1049, 6 bytes): 00 37 2a 00 01 20
 
        HT capabilities:
 
                Capabilities: 0x6e
 
                        HT20/HT40
 
                        SM Power Save disabled
 
                        RX HT20 SGI
 
                        RX HT40 SGI
 
                        No RX STBC
 
                        Max AMSDU length: 3839 bytes
 
                        No DSSS/CCK HT40
 
                Maximum RX AMPDU length 32767 bytes (exponent: 0x002)
 
                Minimum RX AMPDU time spacing: 4 usec (0x05)
 
                HT RX MCS rate indexes supported: 0-7, 32
 
                HT TX MCS rate indexes are undefined
 
        HT operation:
 
                * primary channel: 112
 
                * secondary channel offset: below
 
                * STA channel width: any
 
                * RIFS: 0
 
                * HT protection: no
 
                * non-GF present: 0
 
                * OBSS non-GF present: 0
 
                * dual beacon: 0
 
                * dual CTS protection: 0
 
                * STBC beacon: 0
 
                * L-SIG TXOP Prot: 0
 
                * PCO active: 0
 
                * PCO phase: 0
 
        VHT capabilities:
 
                VHT Capabilities (0x31c00020):
 
                        Max MPDU length: 3895
 
                        Supported Channel Width: neither 160 nor 80+80
 
                        short GI (80 MHz)
 
                        +HTC-VHT
 
                        RX antenna pattern consistency
 
                        TX antenna pattern consistency
 
                VHT RX MCS set:
 
                        1 streams: MCS 0-9
 
                        2 streams: not supported
 
                        3 streams: not supported
 
                        4 streams: not supported
 
                        5 streams: not supported
 
                        6 streams: not supported
 
                        7 streams: not supported
 
                        8 streams: not supported
 
                VHT RX highest supported: 292 Mbps
 
                VHT TX MCS set:
 
                        1 streams: MCS 0-9
 
                        2 streams: not supported
 
                        3 streams: not supported
 
                        4 streams: not supported
 
                        5 streams: not supported
 
                        6 streams: not supported
 
                        7 streams: not supported
 
                        8 streams: not supported
 
                VHT TX highest supported: 292 Mbps
 
        VHT operation:
 
                * channel width: 1 (80 MHz)
 
                * center freq segment 1: 106
 
                * center freq segment 2: 0
 
                * VHT basic MCS set: 0xfffe
 
        WPA:    * Version: 1
 
                * Group cipher: TKIP
 
                * Pairwise ciphers: TKIP CCMP
 
                * Authentication suites: PSK
 
        RSN:    * Version: 1
 
                * Group cipher: TKIP
 
                * Pairwise ciphers: TKIP CCMP
 
                * Authentication suites: PSK
 
                * Capabilities: 1-PTKSA-RC 1-GTKSA-RC (0x0000)
 
        WMM:    * Parameter version 1
 
                * BE: CW 15-1023, AIFSN 3
 
                * BK: CW 15-1023, AIFSN 7
 
                * VI: CW 7-15, AIFSN 2, TXOP 3008 usec
 
                * VO: CW 3-7, AIFSN 2, TXOP 1504 usec
 
        BSS Load:
 
                * station count: 0
 
                * channel utilisation: 1/255
 
                * available admission capacity: 31250 [*32us]
 
        Power constraint: 0 dB
 
 
</syntaxhighlight>
 
</syntaxhighlight>
  
NOTE: Consider adding command to screen all the available WiFi networks.
+
To set up the network login data, edit file located in /etc/wpa_supplicant.conf and update '''''ssid''''' and passphrase '''''psk''''' fields.
 
 
* edit in /etc/wpa_supplicant.conf ssid and passphrase fields
 
NOTE: Describe the network string a bit in detail so that costumers can adjust it easier.
 
  
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
Line 1,416: Line 395:
  
 
network={
 
network={
         ssid="AAA"
+
         ssid="SSID_FOR_WIFI_NETWORK"
 
         scan_ssid=1
 
         scan_ssid=1
 
         key_mgmt=WPA-PSK
 
         key_mgmt=WPA-PSK
         psk="BBB"
+
         psk="WIFI_NETWORK_PASSWORD"
 
}
 
}
  
 
</syntaxhighlight>
 
</syntaxhighlight>
  
* start wpa_supplicant
+
To connect to the desired WiFi network, start wpa_supplicant:
 
 
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
 
root@imx8mq-voipac:~# wpa_supplicant -i wlp1s0 -c/etc/wpa_supplicant.conf &
 
root@imx8mq-voipac:~# wpa_supplicant -i wlp1s0 -c/etc/wpa_supplicant.conf &
Line 1,441: Line 419:
 
</syntaxhighlight>
 
</syntaxhighlight>
  
* run udhcpc
+
To obtain an IP address and other network settings, run dhcp client:
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
 
udhcpc -i wlp1s0
 
udhcpc -i wlp1s0
 +
</syntaxhighlight>
 +
 +
 +
At this point the bandwidth measurement can be tested, showing that WiFi connection was established and is performed very reliably.<br /><br />
 +
'''''Configuration:''''' iMX8M Industrial Module in Commercial and Extended temperature range (AzureWave AW-CM276NF used):
 +
<syntaxhighlight lang="bash">
 +
root@imx8mq-voipac:~# iperf3 -c 192.168.241.235 -t 30 -i1
 +
Connecting to host 192.168.241.235, port 5201
 +
[  5] local 192.168.241.109 port 55212 connected to 192.168.241.235 port 5201
 +
[ ID] Interval          Transfer    Bitrate        Retr  Cwnd
 +
[  5]  0.00-1.00  sec  3.60 MBytes  30.2 Mbits/sec    2  58.0 KBytes     
 +
[  5]  1.00-2.00  sec  3.91 MBytes  32.8 Mbits/sec    0  96.2 KBytes     
 +
[  5]  2.00-3.00  sec  4.04 MBytes  33.9 Mbits/sec    1  97.6 KBytes     
 +
[  5]  3.00-4.00  sec  3.91 MBytes  32.8 Mbits/sec    0  90.5 KBytes     
 +
[  5]  4.00-5.00  sec  3.73 MBytes  31.3 Mbits/sec    1  96.2 KBytes     
 +
[  5]  5.00-6.00  sec  4.16 MBytes  34.9 Mbits/sec    0    126 KBytes     
 +
[  5]  6.00-7.00  sec  3.73 MBytes  31.3 Mbits/sec    0    147 KBytes     
 +
[  5]  7.00-8.00  sec  4.60 MBytes  38.6 Mbits/sec    0    167 KBytes     
 +
[  5]  8.00-9.00  sec  3.73 MBytes  31.3 Mbits/sec    0    182 KBytes     
 +
[  5]  9.00-10.00  sec  4.04 MBytes  33.9 Mbits/sec    0    199 KBytes     
 +
[  5]  10.00-11.00  sec  4.35 MBytes  36.5 Mbits/sec    0    215 KBytes     
 +
[  5]  11.00-12.00  sec  4.04 MBytes  33.9 Mbits/sec    0    229 KBytes     
 +
[  5]  12.00-13.00  sec  4.41 MBytes  37.0 Mbits/sec    0    242 KBytes     
 +
[  5]  13.00-14.00  sec  2.92 MBytes  24.5 Mbits/sec    0    270 KBytes     
 +
[  5]  14.00-15.00  sec  3.98 MBytes  33.4 Mbits/sec    1    226 KBytes     
 +
[  5]  15.00-16.00  sec  3.91 MBytes  32.8 Mbits/sec    0    250 KBytes     
 +
[  5]  16.00-17.00  sec  4.72 MBytes  39.6 Mbits/sec    0    264 KBytes     
 +
[  5]  17.00-18.00  sec  3.54 MBytes  29.7 Mbits/sec    0    270 KBytes     
 +
[  5]  18.00-19.00  sec  4.41 MBytes  37.0 Mbits/sec    1    225 KBytes     
 +
[  5]  19.00-20.00  sec  4.04 MBytes  33.9 Mbits/sec    0    252 KBytes     
 +
[  5]  20.00-21.00  sec  4.16 MBytes  34.9 Mbits/sec    0    264 KBytes     
 +
[  5]  21.00-22.00  sec  3.79 MBytes  31.8 Mbits/sec    0    272 KBytes     
 +
[  5]  22.00-23.00  sec  4.04 MBytes  33.9 Mbits/sec    0    272 KBytes     
 +
[  5]  23.00-24.00  sec  3.73 MBytes  31.3 Mbits/sec    0    272 KBytes     
 +
[  5]  24.00-25.00  sec  4.29 MBytes  36.0 Mbits/sec    0    273 KBytes     
 +
[  5]  25.00-26.00  sec  4.60 MBytes  38.6 Mbits/sec    0    286 KBytes     
 +
[  5]  26.00-27.00  sec  3.73 MBytes  31.3 Mbits/sec    0    298 KBytes     
 +
[  5]  27.00-28.00  sec  4.23 MBytes  35.4 Mbits/sec    0    327 KBytes     
 +
[  5]  28.00-29.00  sec  4.23 MBytes  35.4 Mbits/sec    0    369 KBytes     
 +
[  5]  29.00-30.00  sec  4.47 MBytes  37.5 Mbits/sec    0    436 KBytes     
 +
- - - - - - - - - - - - - - - - - - - - - - - - -
 +
[ ID] Interval          Transfer    Bitrate        Retr
 +
[  5]  0.00-30.00  sec  121 MBytes  33.8 Mbits/sec    6            sender
 +
[  5]  0.00-30.00  sec  119 MBytes  33.4 Mbits/sec                  receiver
 +
 +
iperf Done.
 +
</syntaxhighlight>
 +
 +
'''''Configuration:''''' iMX8M Industrial Module in Industrial temperature range (H&D Wireless SPB228-D-2 used):
 +
<syntaxhighlight lang="bash">
 +
root@imx8mq-voipac:~# iperf3 -c 192.168.241.235 -t30 -i1
 +
Connecting to host 192.168.241.235, port 5201
 +
[  5] local 192.168.241.115 port 44276 connected to 192.168.241.235 port 5201
 +
[ ID] Interval          Transfer    Bitrate        Retr  Cwnd
 +
[  5]  0.00-1.00  sec  3.15 MBytes  26.4 Mbits/sec    4  72.1 KBytes     
 +
[  5]  1.00-2.00  sec  3.73 MBytes  31.3 Mbits/sec    1    100 KBytes     
 +
[  5]  2.00-3.00  sec  3.29 MBytes  27.6 Mbits/sec    0    124 KBytes     
 +
[  5]  3.00-4.00  sec  3.48 MBytes  29.2 Mbits/sec    0    144 KBytes     
 +
[  5]  4.00-5.00  sec  3.60 MBytes  30.2 Mbits/sec    0    160 KBytes     
 +
[  5]  5.00-6.00  sec  3.17 MBytes  26.6 Mbits/sec    1    122 KBytes     
 +
[  5]  6.00-7.00  sec  2.86 MBytes  24.0 Mbits/sec    2    146 KBytes     
 +
[  5]  7.00-8.00  sec  3.42 MBytes  28.7 Mbits/sec    0    163 KBytes     
 +
[  5]  8.00-9.00  sec  3.67 MBytes  30.8 Mbits/sec    0    178 KBytes     
 +
[  5]  9.00-10.00  sec  3.42 MBytes  28.7 Mbits/sec    0    192 KBytes     
 +
[  5]  10.00-11.00  sec  3.36 MBytes  28.1 Mbits/sec    0    206 KBytes     
 +
[  5]  11.00-12.00  sec  3.98 MBytes  33.4 Mbits/sec    0    219 KBytes     
 +
[  5]  12.00-13.00  sec  3.23 MBytes  27.1 Mbits/sec    0    272 KBytes     
 +
[  5]  13.00-14.00  sec  3.79 MBytes  31.8 Mbits/sec    0    344 KBytes     
 +
[  5]  14.00-15.00  sec  4.16 MBytes  34.9 Mbits/sec    0    441 KBytes     
 +
[  5]  15.00-16.00  sec  3.29 MBytes  27.6 Mbits/sec    0    567 KBytes     
 +
[  5]  16.00-17.00  sec  3.75 MBytes  31.4 Mbits/sec    0    279 KBytes     
 +
[  5]  17.00-18.00  sec  2.50 MBytes  21.0 Mbits/sec    1    564 KBytes     
 +
[  5]  18.00-19.00  sec  2.50 MBytes  21.0 Mbits/sec    0    612 KBytes     
 +
[  5]  19.00-20.00  sec  3.75 MBytes  31.5 Mbits/sec    1    474 KBytes     
 +
[  5]  20.00-21.00  sec  5.00 MBytes  42.0 Mbits/sec    0    503 KBytes     
 +
[  5]  21.00-22.00  sec  2.50 MBytes  21.0 Mbits/sec    0    519 KBytes     
 +
[  5]  22.00-23.00  sec  3.75 MBytes  31.5 Mbits/sec    0    527 KBytes     
 +
[  5]  23.00-24.00  sec  3.75 MBytes  31.5 Mbits/sec    0    529 KBytes     
 +
[  5]  24.00-25.00  sec  3.75 MBytes  31.5 Mbits/sec    1    414 KBytes     
 +
[  5]  25.00-26.00  sec  3.75 MBytes  31.5 Mbits/sec    0    462 KBytes     
 +
[  5]  26.00-27.00  sec  3.75 MBytes  31.5 Mbits/sec    0    495 KBytes     
 +
[  5]  27.00-28.00  sec  2.50 MBytes  21.0 Mbits/sec    0    513 KBytes     
 +
[  5]  28.00-29.00  sec  3.75 MBytes  31.5 Mbits/sec    0    526 KBytes     
 +
[  5]  29.00-30.00  sec  3.75 MBytes  31.5 Mbits/sec    1    369 KBytes     
 +
- - - - - - - - - - - - - - - - - - - - - - - - -
 +
[ ID] Interval          Transfer    Bitrate        Retr
 +
[  5]  0.00-30.00  sec  104 MBytes  29.2 Mbits/sec  12            sender
 +
[  5]  0.00-30.00  sec  101 MBytes  28.2 Mbits/sec                  receiver
 +
 +
iperf Done.
 
</syntaxhighlight>
 
</syntaxhighlight>
  
 
== Bluetooth ==
 
== Bluetooth ==
 +
'''''Note:''''' This audio section was tested with the iMX8M Industrial Module in Max and Pro configurations. For Basic configuration, audio capabilities can be achieved via SAI header located on the baseboard. For more information see [[iMX8M Industrial Development Kit|the iMX8M Industrial Module comparison]].<br /><br />
 +
 
'''''Input:''''' None<br />
 
'''''Input:''''' None<br />
 
'''''Output:''''' Remote device is recognized after scan<br />
 
'''''Output:''''' Remote device is recognized after scan<br />
Line 1,473: Line 543:
 
</syntaxhighlight>
 
</syntaxhighlight>
  
== SATA ==
+
== Ethernet ==
NOTE: Add descriptions / pictures / visual guide how to connect the card to the board. Do not forget to mention requirement of additional power signals are required to be connected from one of the baseboard headers to the card.<br /><br />
+
'''''Input:''''' None<br />
'''''Input:''''' Plug sata disk to M2 extension board and power on<br />
+
'''''Output:''''' Device driver is available<br />
'''''Output:''''' Sata device is recognized<br />
+
'''''Note:''''' MAC address should be identical with the address on the sticker placed on the board
 +
<syntaxhighlight lang="bash">
 +
root@imx8mq-voipac:~# ip addr show dev eth0
 +
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
 +
    link/ether 00:0d:15:01:50:92 brd ff:ff:ff:ff:ff:ff
 +
    inet 192.168.10.122/24 brd 192.168.10.255 scope global dynamic eth0
 +
      valid_lft 86103sec preferred_lft 86103sec
 +
    inet6 fe80::20d:15ff:fe01:5092/64 scope link
 +
      valid_lft forever preferred_lft forever
 +
</syntaxhighlight>
 +
 
 +
'''''Input:''''' Plug Ethernet cable into connector<br />
 +
'''''Output:''''' IPv4 address is assigned
 +
<syntaxhighlight lang="bash">
 +
[  348.300585] fec 30be0000.ethernet eth0: Link is Down
 +
[  350.350853] fec 30be0000.ethernet eth0: Link is Up - 100Mbps/Full - flow control off
 +
</syntaxhighlight>
 +
 
 +
== PCI Express socket + Micro SIM slot ==
 +
'''''Note:''''' This audio section was tested with the iMX8M Industrial Module in Max and Pro configurations. For Basic configuration, audio capabilities can be achieved via SAI header located on the baseboard. For more information see [[iMX8M Industrial Development Kit|the iMX8M Industrial Module comparison]].<br /><br />
 +
 
 +
'''''Note:''''' Only the Basic configuration of iMX8M Industrial Module provides access to PCI Express signals via PCIe Mini and M.2 key B sockets soldered on the baseboard, instead of using the interface for WiFi and Bluetooth module on the COM.<br /><br />
 +
 
 +
NOTE: Add commands and logs while using this Wireless card<br /><br />
 +
[[image:iMX8M_Industrial_Module_Basic-mPCI_Express_Wireless_Card.jpg|800px]]
 +
<br /><br />
 +
After the successful software wireless card porting, the speed test was performed using Mini PCI Express card Intel 512AN_MMW, during which it reached more than 30 Mbps connection both on the sending and receiving end:
 +
<syntaxhighlight lang="bash">
 +
root@imx8mq-voipac:~# iperf3 -c 192.168.241.235 -t30 -i1
 +
Connecting to host 192.168.241.235, port 5201
 +
[  5] local 192.168.241.114 port 43638 connected to 192.168.241.235 port 5201
 +
[ ID] Interval          Transfer    Bitrate        Retr  Cwnd
 +
[  5]  0.00-1.00  sec  3.14 MBytes  26.3 Mbits/sec    0    204 KBytes     
 +
[  5]  1.00-2.00  sec  2.92 MBytes  24.5 Mbits/sec    0    325 KBytes     
 +
[  5]  2.00-3.00  sec  6.66 MBytes  55.8 Mbits/sec    0    568 KBytes     
 +
[  5]  3.00-4.00  sec  5.00 MBytes  41.9 Mbits/sec    0    795 KBytes     
 +
[  5]  4.00-5.00  sec  6.25 MBytes  52.4 Mbits/sec    1    765 KBytes     
 +
[  5]  5.00-6.00  sec  5.00 MBytes  41.9 Mbits/sec    0    850 KBytes     
 +
[  5]  6.00-7.00  sec  6.25 MBytes  52.4 Mbits/sec    1    649 KBytes     
 +
[  5]  7.00-8.00  sec  5.00 MBytes  41.9 Mbits/sec    7    494 KBytes     
 +
[  5]  8.00-9.00  sec  3.75 MBytes  31.5 Mbits/sec  54    119 KBytes     
 +
[  5]  9.00-10.00  sec  3.75 MBytes  31.5 Mbits/sec  25    454 KBytes     
 +
[  5]  10.00-11.00  sec  6.25 MBytes  52.5 Mbits/sec    0    684 KBytes     
 +
[  5]  11.00-12.00  sec  6.25 MBytes  52.4 Mbits/sec    1    631 KBytes     
 +
[  5]  12.00-13.00  sec  6.25 MBytes  52.4 Mbits/sec    0    708 KBytes     
 +
[  5]  13.00-14.00  sec  5.00 MBytes  41.9 Mbits/sec    0    772 KBytes     
 +
[  5]  14.00-15.00  sec  3.75 MBytes  31.5 Mbits/sec    1    564 KBytes     
 +
[  5]  15.00-16.00  sec  6.25 MBytes  52.5 Mbits/sec    0    614 KBytes     
 +
[  5]  16.00-17.00  sec  5.00 MBytes  41.9 Mbits/sec    0    641 KBytes     
 +
[  5]  17.00-18.00  sec  5.00 MBytes  41.9 Mbits/sec    0    662 KBytes     
 +
[  5]  18.00-19.00  sec  3.75 MBytes  31.5 Mbits/sec  84    175 KBytes     
 +
[  5]  19.00-20.00  sec  1.25 MBytes  10.5 Mbits/sec  198    161 KBytes     
 +
[  5]  20.00-21.00  sec  2.50 MBytes  21.0 Mbits/sec  30  90.5 KBytes     
 +
[  5]  21.00-22.00  sec  2.50 MBytes  21.0 Mbits/sec    2  90.5 KBytes     
 +
[  5]  22.00-23.00  sec  3.75 MBytes  31.5 Mbits/sec    0    120 KBytes     
 +
[  5]  23.00-24.00  sec  3.75 MBytes  31.5 Mbits/sec    0    141 KBytes     
 +
[  5]  24.00-25.00  sec  5.00 MBytes  42.0 Mbits/sec    0    160 KBytes     
 +
[  5]  25.00-26.00  sec  2.50 MBytes  21.0 Mbits/sec    0    174 KBytes     
 +
[  5]  26.00-27.00  sec  2.50 MBytes  21.0 Mbits/sec    0    184 KBytes     
 +
[  5]  27.00-28.00  sec  3.75 MBytes  31.5 Mbits/sec    0    198 KBytes     
 +
[  5]  28.00-29.00  sec  3.75 MBytes  31.5 Mbits/sec    0    211 KBytes     
 +
[  5]  29.00-30.00  sec  2.50 MBytes  21.0 Mbits/sec    0    219 KBytes     
 +
- - - - - - - - - - - - - - - - - - - - - - - - -
 +
[ ID] Interval          Transfer    Bitrate        Retr
 +
[  5]  0.00-30.00  sec  129 MBytes  36.1 Mbits/sec  404            sender
 +
[  5]  0.00-30.00  sec  126 MBytes  35.3 Mbits/sec                  receiver
 +
 
 +
iperf Done.
 +
</syntaxhighlight>
 +
 
 +
== M.2 key B socket + Micro SIM slot ==
 +
'''''Note:''''' Only the Basic configuration of iMX8M Industrial Module provides access to PCI Express signals via PCIe Mini and M.2 key B sockets soldered on the baseboard, instead of using the interface for WiFi and Bluetooth module on the COM.<br /><br />
 +
 
 +
Note: Use SATA M.2 card as testing example?
 +
 
 +
== USB 3.0 ==
 +
NOTE: Perform read/write performance test
 +
'''''Input:''''' Plug USB flash drive into USB connector<br />
 +
'''''Output:''''' Plugged USB device is listed
 +
<syntaxhighlight lang="bash">
 +
root@vmx25:~# lsusb
 +
Bus 001 Device 002: ID 0424:2514 Standard Microsystems Corp. USB 2.0 Hub
 +
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
 +
Bus 002 Device 003: ID 125f:d31a A-DATA Technology Co., Ltd.
 +
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
 +
</syntaxhighlight>
 +
 
 +
'''''Input:''''' Generate a dummy file and copy it into USB flash drive<br />
 +
'''''Output:''''' Generated file and copied file have the same checksum
 +
<syntaxhighlight lang="bash">
 +
root@imx8mq-voipac:~# mount /dev/sda1 /media/
 +
root@imx8mq-voipac:~# rm -f file.txt /media/file.txt
 +
root@imx8mq-voipac:~# dd if=/dev/urandom of=file.txt count=1024 bs=1024
 +
1024+0 records in
 +
1024+0 records out
 +
root@imx8mq-voipac:~# cp file.txt /media/
 +
root@imx8mq-voipac:~# md5sum file.txt /media/file.txt
 +
200a9fd3e9850fcedf85ed50d4c4733d  file.txt
 +
200a9fd3e9850fcedf85ed50d4c4733d  /media/file.txt
 +
root@imx8mq-voipac:~# rm file.txt /media/file.txt
 +
root@imx8mq-voipac:~# umount /media
 +
</syntaxhighlight>
 +
 
 +
== USB-C ==
 +
This connector is primarily used for flashing new binaries into the iMX8M Industrial Module. More information can be found on the dedicated [[iMX8M Industrial Flashing Procedure|module flashing page]].<br /><br />
  
 +
Alternatively, USB-C connector can be utilised as general USB storage:<br />
 +
[[image:iMX8M_Industrial_Development_Kit_-_USB-C_flash_drive_plugged_in.png|800px]]
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
root@imx8mq-voipac:~# ls -la /dev/sda
+
root@imx8mq-voipac:~# fdisk -l /dev/sda
brw-rw---- 1 root disk 8, 0 Feb 22 07:13 /dev/sda
+
Disk /dev/sda: 29 GB, 30784094208 bytes, 60125184 sectors
# run speed test - write
+
3742 cylinders, 255 heads, 63 sectors/track
root@imx8mq-voipac:~# time dd if=/dev/urandom of=/dev/sdb bs=4096 status=progress count=200000
+
Units: sectors of 1 * 512 = 512 bytes
#NOTE: "of=/dev/sdb" is correct? + Consider using a printout from testing a better SATA disk - higher speeds were achieved.
 
812093440 bytes (812 MB, 774 MiB) copied, 29 s, 28.0 MB/s
 
200000+0 records in
 
200000+0 records out
 
819200000 bytes (819 MB, 781 MiB) copied, 34.1491 s, 24.0 MB/s
 
real    0m 34.15s
 
user    0m 0.30s
 
sys    0m 12.74s
 
  
# run speed test - read
+
Device  Boot StartCHS    EndCHS        StartLBA    EndLBA    Sectors  Size Id Type
root@imx8mq-voipac:~# time dd if=/dev/sdb of=/tmp/test.bin bs=4096 status=progress count=100000
+
/dev/sda1    0,0,33      1023,254,63        32  60125183  60125152 28.6G  c Win95 FAT32 (LBA)
#NOTE: "if=/dev/sdb" is correct? + Consider using a printout from testing a better SATA disk - higher speeds were achieved.
 
364503040 bytes (365 MB, 348 MiB) copied, 4 s, 91.1 MB/s
 
100000+0 records in
 
100000+0 records out
 
409600000 bytes (410 MB, 391 MiB) copied, 4.5828 s, 89.4 MB/s
 
real    0m 4.79s
 
user    0m 0.06s
 
sys    0m 2.15s
 
 
</syntaxhighlight>
 
</syntaxhighlight>
  
We achieved aw write speed ~ 24MB/s and read speed ~90MB/s
+
'''''Input:''''' Generate a dummy file and copy it into USB flash drive<br />
 +
'''''Output:''''' Generated file and copied file have the same checksum
 +
<syntaxhighlight lang="bash">
 +
root@imx8mq-voipac:~# mount /dev/sda1 /media/
 +
root@imx8mq-voipac:~# rm -f file.txt /media/file.txt
 +
root@imx8mq-voipac:~# dd if=/dev/urandom of=file.txt count=1024 bs=1024
 +
1024+0 records in
 +
1024+0 records out
 +
root@imx8mq-voipac:~# cp file.txt /media/
 +
root@imx8mq-voipac:~# md5sum file.txt /media/file.txt
 +
200a9fd3e9850fcedf85ed50d4c4733d  file.txt
 +
200a9fd3e9850fcedf85ed50d4c4733d  /media/file.txt
 +
root@imx8mq-voipac:~# rm file.txt /media/file.txt
 +
root@imx8mq-voipac:~# umount /media
 +
</syntaxhighlight>
 +
 
 +
== USB Micro-B serial console ==
 +
'''''Input:''''' Connect USB console cable into the baseboard connector and open serial console with baud rate 115200 8n1<br />
 +
'''''Output:''''' The board is controlled and responsive to serial terminal commands
 +
<syntaxhighlight lang="bash">
 +
root@imx8mq-voipac:~# uname -a
 +
Linux imx8mq-voipac 5.4.147-imx-5.4.24-2.1.0+ga9d96bff565a #1 SMP PREEMPT Thu Sep 16 20:18:09 UTC 2021 aarch64 aarch64 aarch64 GNU/Linux
 +
</syntaxhighlight>
 +
 
 +
== UART serial console ==
 +
Serial console is utilized via USB Micro-B connector by default. Alternatively, the communication can be established using UART headers and TTL-232R-3V3 - FTDI cable.<br /><br />
 +
NOTE:Describe jumpers position<br /><br />
 +
[[image:iMX8M_Industrial_Development_Kit-Serial_console_via_UART1.jpg|800px]]<br /><br />
 +
'''''Note:'''''Usage of UART2 CONSOLE to communicate by default requires changes in Yocto binaries and new compilation of image files. <br /><br />
 +
[[image:iMX8M_Industrial_Development_Kit-Serial_console_via_UART2.jpg|800px]]
  
 
== SD card ==
 
== SD card ==
 
NOTE: Perform read/write performance test
 
NOTE: Perform read/write performance test
 +
<syntaxhighlight lang="bash">
 +
root@imx8mq-voipac:~# fdisk -l
 +
Disk /dev/mmcblk0: 15 GB, 15758000128 bytes, 30777344 sectors
 +
240448 cylinders, 4 heads, 32 sectors/track
 +
Units: sectors of 1 * 512 = 512 bytes
 +
 +
Device      Boot StartCHS    EndCHS        StartLBA    EndLBA    Sectors  Size Id Type
 +
/dev/mmcblk0p1 *  128,0,1    1023,3,32        16384    186775    170392 83.1M  c Win95 FAT32 (LBA)
 +
/dev/mmcblk0p2    1023,3,32  1023,3,32      196608    1030993    834386  407M 83 Linux
 +
Disk /dev/mmcblk1: 14 GB, 15485370368 bytes, 30244864 sectors
 +
236288 cylinders, 4 heads, 32 sectors/track
 +
Units: sectors of 1 * 512 = 512 bytes
 +
 +
Device      Boot StartCHS    EndCHS        StartLBA    EndLBA    Sectors  Size Id Type
 +
/dev/mmcblk1p1 *  128,0,1    1023,3,32        16384    186775    170392 83.1M  c Win95 FAT32 (LBA)
 +
/dev/mmcblk1p2    1023,3,32  1023,3,32      196608    1030993    834386  407M 83 Linux
 +
Disk /dev/sda: 14 GB, 15376318464 bytes, 30031872 sectors
 +
1869 cylinders, 255 heads, 63 sectors/track
 +
Units: sectors of 1 * 512 = 512 bytes
 +
 +
Device  Boot StartCHS    EndCHS        StartLBA    EndLBA    Sectors  Size Id Type
 +
/dev/sda1    0,0,33      1023,254,63        32  30031871  30031840 14.3G  c Win95 FAT32 (LBA)
 +
root@imx8mq-voipac:~#
 +
</syntaxhighlight>
 +
 +
== HDMI Output ==
 +
'''''Input:''''' Connect LCD monitor to the development kit<br />
 +
'''''Output:''''' Desktop UI is displayed correctly<br />
 +
[[image:iMX6_TinyRex_Development_Kit-HDMI_terminal.png|580px]]
 +
 +
== DisplayPort Output ==
 +
NOTE: A different boot file image and/or device tree is required!<br /><br />
 +
'''''Input:''''' Connect LCD monitor with DisplayPort to the development kit<br />
 +
'''''Output:''''' Desktop UI is displayed correctly<br />
 +
[[image:iMX6_TinyRex_Development_Kit-HDMI_terminal.png|580px]]
 +
 +
== JTAG ==
 +
[[image:iMX8M Industrial Development Kit-JTAG communication setup.jpg|800px]]<br /><br />
 +
To verify that i.MX8M CPU JTAG is functional, following command identifies and connects to the CPU's debug point:
 +
<syntaxhighlight lang="bash">
 +
J-Link> jtagid
 +
</syntaxhighlight>
 +
[[image:iMX8M Industrial Development Kit-JTAG communication log.jpg|800px]]
 +
 +
== Real Time Clock ==
 +
RTC chip is detected by Linux kernel after start-up:
 +
<syntaxhighlight lang="bash">
 +
root@imx8mq-voipac:~# dmesg | grep rtc
 +
[    1.562666] snvs_rtc 30370000.snvs:snvs-rtc-lp: registered as rtc0
 +
[    2.289791] rtc-pcf8563 1-0051: low voltage detected, date/time is not reliable.
 +
[    2.297832] rtc-pcf8563 1-0051: registered as rtc1
 +
[    2.392900] [drm] Cannot find any crtc or sizes
 +
[    2.400347] [drm] Cannot find any crtc or sizes
 +
[    2.401383] [drm] Cannot find any crtc or sizes
 +
[    3.053517] snvs_rtc 30370000.snvs:snvs-rtc-lp: setting system clock to 1970-01-01T00:09:04 UTC (544)
 +
[  60.247133] rtc-pcf8563 1-0051: low voltage detected, date/time is not reliable.
 +
</syntaxhighlight>
 +
 +
CPU correctly recognises RTC on the I2C1 bus, the chip is under usage by the kernel:
 +
<syntaxhighlight lang="bash">
 +
root@imx8mq-voipac:~# i2cdetect  -r -y 1
 +
    0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
 +
00:          -- -- -- -- -- -- -- -- -- -- -- -- --
 +
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
 +
20: -- -- -- UU -- -- -- UU -- -- -- -- -- -- -- --
 +
30: -- -- -- -- -- -- -- -- -- -- -- -- -- UU -- --
 +
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
 +
50: -- UU -- UU -- -- -- -- -- -- -- -- -- -- -- --
 +
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
 +
70: -- -- -- -- -- -- -- --
 +
</syntaxhighlight>
 +
 +
Set up the current date and time, show the actual values:
 +
 +
<syntaxhighlight lang="bash">
 +
root@imx8mq-voipac:~# date -s "2023-1-24 18:37:05"
 +
Tue Jan 24 18:37:05 UTC 2023
 +
root@imx8mq-voipac:~# timedatectl
 +
              Local time: Tue 2023-01-24 18:37:09 UTC
 +
          Universal time: Tue 2023-01-24 18:37:09 UTC
 +
                RTC time: Thu 1970-01-01 00:11:24
 +
                Time zone: UTC (UTC, +0000)
 +
System clock synchronized: no
 +
              NTP service: active
 +
          RTC in local TZ: no
 +
root@imx8mq-voipac:~# grep pcf8563 /proc/interrupts
 +
140:          0          0          0          0  gpio-mxc  5 Level    rtc-pcf8563
 +
root@imx8mq-voipac:~# echo +2 > /sys/class/rtc/rtc1/wakealarm
 +
[  154.338851] rtc-pcf8563 1-0051: low voltage detected, date/time is not reliable.
 +
sh: write error: Invalid argument
 +
root@imx8mq-voipac:~# grep pcf8563 /proc/interrupts
 +
140:          0          0          0          0  gpio-mxc  5 Level    rtc-pcf8563
 +
</syntaxhighlight>
 +
 +
== I2C EEPROM Memory - on module ==
 +
'''''Note:''''' This audio section was tested with the iMX8M Industrial Module in Max and Pro configurations. For Basic configuration, audio capabilities can be achieved via SAI header located on the baseboard. For more information see [[iMX8M Industrial Development Kit|the iMX8M Industrial Module comparison]].
 +
 +
== SPI Flash Memory - on baseboard ==
 +
'''''Input:''''' Trigger M25P80 flash detection<br />
 +
'''''Output:''''' SPI Flash sst25vf032b is detected
 +
<syntaxhighlight lang="bash">
 +
root@imx6-openrexultra:~# echo -n "spi2.1" > /sys/bus/spi/drivers/m25p80/unbind
 +
root@imx6-openrexultra:~# echo -n "spi2.1" > /sys/bus/spi/drivers/m25p80/bind
 +
m25p80 spi2.1: found sst26vf032b, expected m25p32
 +
m25p80 spi2.1: sst26vf032b (4096 Kbytes)
 +
</syntaxhighlight>
 +
 +
'''''Input:''''' Write and read data from M25P80 flash memory<br />
 +
'''''Output:''''' If successful, console text 'Data are the same' should appear
 +
<syntaxhighlight lang="bash">
 +
root@imx6-openrexultra:~# echo -n "0123" > mtd_in
 +
root@imx6-openrexultra:~# mtd_debug write /dev/mtd0 0 4 mtd_in
 +
Copied 4 bytes from mtd_in to address 0x00000000 in flash
 +
root@imx6-openrexultra:~# mtd_debug read /dev/mtd0 0 4 mtd_out
 +
Copied 4 bytes from address 0x00000000 in flash to mtd_out
 +
root@imx6-openrexultra:~# diff mtd_in mtd_out && echo "Data are the same"
 +
Data are the same
 +
</syntaxhighlight>
 +
 +
NOTE: Choose which code to keep!
 +
<syntaxhighlight lang="bash">
 +
root@imx8mq-voipac:~# chmod +x devmem2
 +
root@imx8mq-voipac:~# .devmem2
 +
-sh: .devmem2: not found
 +
root@imx8mq-voipac:~# ./devmem2
 +
 +
Usage:  ./devmem2 { address } [ type [ data ] ]
 +
        address : memory address to act upon
 +
        type    : access operation type : [b]yte, [h]alfword, [w]ord
 +
        data    : data to be written
 +
 +
root@imx8mq-voipac:~# ./devmem2 0x30340008 w
 +
/dev/mem opened.
 +
Memory mapped at address 0xffff90879000.
 +
Value at address 0x30340008 (0xffff90879008): 0x0
 +
root@imx8mq-voipac:~# ./devmem2 0x30340014 w
 +
/dev/mem opened.[  565.553857] audit: type=1701 audit(1660073163.857:3): auid=42                                                                        94967295 uid=0 gid=0 ses=4294967295 pid=389 comm="devmem2" exe="/home/root/devme                                                                        m2" sig=7 res=1
 +
 +
Memory mapped at address 0xffff97f2c000.
 +
Bus error
 +
root@imx8mq-voipac:~# ./devmem2 0x3033018 w
 +
/dev/mem opened.[  791.295664] audit: type=1701 audit(1660073389.596:4): auid=42                                                                        94967295 uid=0 gid=0 ses=4294967295 pid=391 comm="devmem2" exe="/home/root/devme                                                                        m2" sig=7 res=1
 +
 +
Memory mapped at address 0xffffa6ec6000.
 +
Bus error
 +
</syntaxhighlight>
 +
 +
== ON/OFF button ==
 +
'''''Input:''''' Press the ON/OFF button<br />
 +
'''''Output:''''' The board will shutdown. By pressing longer again, the board starts booting.<br />
  
== USB ==
+
<syntaxhighlight lang="bash">
NOTE: Perform read/write performance test
+
[  OK  ] Stopped target Sound Card.
 +
[  OK  ] Stopped target System Time Synchronized.
 +
[  OK  ] Stopped target System Time Set.
 +
[  OK  ] Stopped target Timers.
 +
[  OK  ] Stopped Daily Cleanup of Temporary Directories.
 +
        Stopping Save/Restore Sound Card State...
 +
        Stopping Kernel Logging Service...
 +
        Stopping System Logging Service...
 +
        Stopping Getty on tty1...
 +
        Stopping Serial Getty on ttymxc0...
 +
        Stopping Hostname Service...
 +
        Stopping Load/Save Random Seed...
 +
[  OK  ] Stopped Kernel Logging Service.
 +
[  OK  ] Stopped System Logging Service.
 +
[  OK  ] Stopped Getty on tty1.
 +
[  OK  ] Stopped Serial Getty on ttymxc0.
 +
[  OK  ] Stopped Hostname Service.
 +
[  OK  ] Stopped Save/Restore Sound Card State.
 +
[  OK  ] Stopped Load/Save Random Seed.
 +
[  OK  ] Stopped Session c1 of user root.
 +
[  OK  ] Removed slice system-getty.slice.
 +
[  OK  ] Removed slice system-serial\x2dgetty.slice.
 +
        Stopping Login Service...
 +
        Stopping User Manager for UID 0...
 +
[  OK  ] Stopped User Manager for UID 0.
 +
        Stopping User Runtime Directory /run/user/0...
 +
[  OK  ] Unmounted /run/user/0.
 +
[  OK  ] Stopped User Runtime Directory /run/user/0.
 +
[  OK  ] Removed slice User Slice of UID 0.
 +
        Stopping D-Bus System Message Bus...
 +
        Stopping Permit User Sessions...
 +
[  OK  ] Stopped D-Bus System Message Bus.
 +
[  OK  ] Stopped Login Service.
 +
[  OK  ] Stopped Permit User Sessions.
 +
[  OK  ] Stopped target Basic System.
 +
[  OK  ] Stopped target Network.
 +
[  OK  ] Stopped target Paths.                                           
 +
[  OK  ] Stopped Dispatch Password ��…ts to Console Directory Watch.     
 +
[  OK  ] Stopped Forward Password R��…uests to Wall Directory Watch.     
 +
[  OK  ] Stopped target Remote File Systems.                             
 +
[  OK  ] Stopped target Slices.                                           
 +
[  OK  ] Removed slice User and Session Slice.
 +
[  OK  ] Stopped target Sockets.
 +
[  OK  ] Closed D-Bus System Message Bus Socket.
 +
[  OK  ] Closed dropbear.socket.
 +
[  OK  ] Stopped target System Initialization.
 +
[  OK  ] Closed Syslog Socket.
 +
        Stopping Network Name Resolution...
 +
        Stopping Network Time Synchronization...
 +
[  OK  ] Stopped Network Name Resolution.
 +
[  OK  ] Stopped Network Time Synchronization.
 +
        Stopping Network Service...
 +
[  OK  ] Stopped Create Volatile Files and Directories.
 +
[  OK  ] Stopped target Local File Systems.
 +
        Unmounting Temporary Directory (/tmp)...
 +
        Unmounting /var/volatile...
 +
[  OK  ] Stopped Network Service.
 +
[  OK  ] Unmounted Temporary Directory (/tmp).
 +
[  OK  ] Unmounted /var/volatile.
 +
[  OK  ] Stopped target Local File Systems (Pre).
 +
[  OK  ] Stopped target Swap.
 +
[  OK  ] Reached target Unmount All Filesystems.
 +
[  OK  ] Stopped Remount Root and Kernel File Systems.
 +
[  OK  ] Stopped Apply Kernel Variables.
 +
[  OK  ] Stopped Load Kernel Modules.
 +
[  OK  ] Stopped Create Static Device Nodes in /dev.
 +
[  OK  ] Reached target Shutdown.
 +
[  OK  ] Reached target Final Step.
 +
[  OK  ] Started Power-Off.
 +
[  OK  ] Reached target Power-Off.
 +
[  15.911216] systemd-shutdown[1]: Syncing filesystems and block devices.
 +
[  15.920832] systemd-shutdown[1]: Sending SIGTERM to remaining processes...
 +
[  15.936588] systemd-journald[247]: Received SIGTERM from PID 1 (systemd-shutdow).
 +
[  15.959340] systemd-shutdown[1]: Sending SIGKILL to remaining processes...
 +
[  15.975454] systemd-shutdown[1]: Unmounting file systems.
 +
[  15.982656] [353]: Remounting '/' read-only in with options '(null)'.
 +
[  16.020576] EXT4-fs (mmcblk0p2): re-mounted. Opts: (null)
 +
[  16.031646] systemd-shutdown[1]: All filesystems unmounted.
 +
[  16.037301] systemd-shutdown[1]: Deactivating swaps.
 +
[  16.042421] systemd-shutdown[1]: All swaps deactivated.
 +
[  16.047678] systemd-shutdown[1]: Detaching loop devices.
 +
[  16.055830] systemd-shutdown[1]: All loop devices detached.
 +
[  16.061424] systemd-shutdown[1]: Detaching DM devices.
 +
[  16.066794] systemd-shutdown[1]: All DM devices detached.
 +
[  16.072226] systemd-shutdown[1]: All filesystems, swaps, loop devices and DM devices detached.
 +
[  16.086744] systemd-shutdown[1]: Syncing filesystems and block devices.
 +
[  16.093483] systemd-shutdown[1]: Powering off.
 +
[  16.097961] kvm: exiting hardware virtualization
 +
[  16.097991] imx-sdma 30bd0000.sdma: external firmware not found, using ROM firmware
 +
[  16.098546] cfg80211: failed to load regulatory.db
 +
[  16.101341] imx-sdma 302c0000.sdma: loaded firmware 4.5
 +
[  16.166426] mwifiex_pcie 0000:01:00.0: info: shutdown mwifiex...
 +
[  16.173169] mwifiex_pcie 0000:01:00.0: PREP_CMD: card is removed
 +
[  16.240963] mwifiex_pcie 0000:01:00.0: performing cancel_work_sync()...
 +
[  16.247595] mwifiex_pcie 0000:01:00.0: cancel_work_sync() done
 +
[  16.288309] reboot: Power down
 +
</syntaxhighlight>
 +
 
 +
Then pressing ON/OFF button again:
 +
 
 +
<syntaxhighlight lang="bash">
 +
U-Boot 2020.04-imx_v2020.04_5.4.24_2.1.0+g4979a99482 (May 30 2020 - 06:50:01 +0000)
 +
 
 +
CPU:  i.MX8MQLite rev2.1 1300 MHz (running at 800 MHz)
 +
CPU:  Industrial temperature grade (-40C to 105C) at 62C
 +
Reset cause: POR
 +
Model: Voipac i.MX8MQ EVK
 +
DRAM:  2 GiB
 +
MMC:  FSL_SDHC: 0, FSL_SDHC: 1
 +
Loading Environment from MMC... OK
 +
[*]-Video Link 0imx8m_hdmi_probe
 +
....
 +
</syntaxhighlight>
 +
 
 +
== Reset button ==
 +
'''''Input:''''' Press the RESET button<br />
 +
'''''Output:''''' The board will execute bootloader immediately with "Reset cause: POR"<br />
 +
'''''Note:''''' iMX8M Industrial Development Kit should never freeze or hang after the reset button was pressed. Testing the operation 10 times gives a reliable result
 +
<syntaxhighlight lang="bash">
 +
U-Boot 2020.04-imx_v2020.04_5.4.24_2.1.0+g4979a99482 (May 30 2020 - 06:50:01 +0000)
 +
 
 +
CPU:  i.MX8MQLite rev2.1 1300 MHz (running at 800 MHz)
 +
CPU:  Industrial temperature grade (-40C to 105C) at 62C
 +
Reset cause: POR
 +
Model: Voipac i.MX8MQ EVK
 +
DRAM:  2 GiB
 +
MMC:  FSL_SDHC: 0, FSL_SDHC: 1
 +
Loading Environment from MMC... OK
 +
[*]-Video Link 0imx8m_hdmi_probe
 +
....
 +
</syntaxhighlight>
 +
 
 +
== User buttons ==
 +
'''''Input:''''' Press Enter/Left/Right/Up/Down buttons<br />
 +
'''''Output:''''' Button events 1 and 0 are generated
 +
<syntaxhighlight lang="bash">
 +
root@imx8mq-voipac:~# evtest /dev/input/by-path/platform-gpio-buttons-event
 +
Input driver version is 1.0.1
 +
Input device ID: bus 0x19 vendor 0x1 product 0x1 version 0x100
 +
Input device name: "gpio-buttons"
 +
Supported events:
 +
  Event type 0 (EV_SYN)
 +
  Event type 1 (EV_KEY)
 +
    Event code 28 (KEY_ENTER)
 +
    Event code 103 (KEY_UP)
 +
    Event code 105 (KEY_LEFT)
 +
    Event code 106 (KEY_RIGHT)
 +
    Event code 108 (KEY_DOWN)
 +
Properties:
 +
Testing ... (interrupt to exit)
 +
</syntaxhighlight>
 +
 
 +
== User LED ==
 +
'''''Input:''''' None<br />
 +
'''''Output:''''' Script switches User LED on baseboard ON and OFF in one second intervals
 +
<syntaxhighlight lang="bash">
 +
root@imx8mq-voipac:~#
 +
for LED in /sys/class/leds/user
 +
do
 +
echo Testing ${LED}
 +
echo -n "1" > ${LED}/brightness
 +
sleep 1
 +
echo -n "0" > ${LED}/brightness
 +
sleep 1
 +
done
 +
</syntaxhighlight>
 +
 
 +
'''''Input:''''' None<br />
 +
'''''Output:''''' User LED on baseboard is set to heartbeat blinking sequence
 +
<syntaxhighlight lang="bash">
 +
root@imx8mq-voipac:~# echo heartbeat > /sys/class/leds/user/trigger
 +
</syntaxhighlight>
 +
 
 +
'''''Input:''''' None<br />
 +
'''''Output:''''' User LED on SOM is set to heartbeat blinking sequence
 +
<syntaxhighlight lang="bash">
 +
root@imx8mq-voipac:~# echo heartbeat > /sys/class/leds/user-som/trigger
 +
</syntaxhighlight>

Latest revision as of 16:28, 11 September 2024

The initial operations with the iMX8M Industrial Development Kit interfaces are presented on this page. For more specific information such as display options, camera capabilities or industrial modular extensions, refer to the dedicated Peripherals and Accessories section.

Mandatory components

Hardware

Peripherals and Accessories

  • 1x FullHD HDMI monitor with Audio output (default)
  • 1x FullHD DisplayPort monitor with Audio output (optional)
  • iMX8M Wifi and Bluetooth antennas set
  • 1x MicroSDHC card Class 10 or higher
  • 1x USB Flash drive 3.0
  • Headphones
  • Analog external microphone

Cables

  • USB Micro-B cable for serial console
  • USB-C cable for module flashing
  • Ethernet cable
  • HDMI cable (default)
  • DisplayPort cable (optional)

Audio

Note: This audio section was tested with the iMX8M Industrial Module in Max and Pro configurations. For Basic configuration, audio capabilities can be achieved via SAI header located on the baseboard. For more information see the iMX8M Industrial Module comparison.

Input: Search kernel log for wm8904 chip
Output: Audio chip is detected and bound as an output and input device

root@imx8mq-voipac:~# dmesg | grep wm8904
[    1.864809] fsl-asoc-card sound-wm8904: failed to find codec device
[    2.155773] wm8904 0-001a: 0-001a supply DCVDD not found, using dummy regulator
[    2.163163] wm8904 0-001a: 0-001a supply DBVDD not found, using dummy regulator
[    2.170561] wm8904 0-001a: 0-001a supply AVDD not found, using dummy regulator
[    2.177846] wm8904 0-001a: 0-001a supply CPVDD not found, using dummy regulator
[    2.185209] wm8904 0-001a: 0-001a supply MICVDD not found, using dummy regulator
[    2.197860] wm8904 0-001a: revision A
[    2.699093] debugfs: Directory '308b0000.sai' with parent 'wm8904-audio' already present!
[    2.707395] fsl-asoc-card sound-wm8904: wm8904-hifi <-> 308b0000.sai mapping ok
[    2.714808] fsl-asoc-card sound-wm8904: ASoC: no DMI vendor name!
[    3.145901]   #1: wm8904-audio

Input: Run amixer command
Output: Current audio chip settings are displayed

root@imx8mq-voipac:~# amixer -c1
Simple mixer control 'Headphone',0
  Capabilities: volume pswitch
  Playback channels: Front Left - Front Right
  Capture channels: Front Left - Front Right
  Limits: 0 - 63
  Front Left: 46 [73%] [-11.00dB] Playback [on]
  Front Right: 45 [71%] [-12.00dB] Playback [on]
Simple mixer control 'Headphone ZC',0
  Capabilities: pswitch
  Playback channels: Front Left - Front Right
  Mono:
  Front Left: Playback [on]
  Front Right: Playback [on]
Simple mixer control 'Line Output',0
  Capabilities: volume pswitch
  Playback channels: Front Left - Front Right
  Capture channels: Front Left - Front Right
  Limits: 0 - 63
  Front Left: 57 [90%] [0.00dB] Playback [on]
  Front Right: 57 [90%] [0.00dB] Playback [on]
Simple mixer control 'Line Output ZC',0
  Capabilities: pswitch
  Playback channels: Front Left - Front Right
  Mono:
  Front Left: Playback [on]
  Front Right: Playback [on]
...

Input: Connect headphones into LINE OUT jack connector
Output: Audio file is played and heard

root@imx8mq-voipac:~# aplay multimedia/sample.wav
Playing WAVE 'multimedia/sample.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, Stereo
root@imx8mq-voipac:~# aplay -D sysdefault:CARD=wm8904audio multimedia/sample.wav
Playing WAVE 'multimedia/sample.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, Stereo

Input: Boot-up the board with HDMI cable plugged into the monitor
Output: Audio file is played and heard

root@imx8mq-voipac:~# aplay -D sysdefault:CARD=imxaudiohdmi multimedia/sample.wav 
Playing WAVE 'multimedia/sample.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, Stereo

Input: Plug headphones into HEADPHONES jack connector and analog external microphone to MIC jack connector
Output: Sound recorder by microphone is played in headphones

root@imx8mq-voipac:~# amixer set 'Capture' '31'
root@imx8mq-voipac:~# amixer set 'Capture Input' ADC
root@imx8mq-voipac:~# amixer set 'Left Capture Inverting Mux' 'IN2L'
root@imx8mq-voipac:~# amixer set 'Right Capture Inverting Mux' 'IN2R'
root@imx8mq-voipac:~# arecord -D sysdefault:CARD=wm8904audio -t wav -f cd | aplay -D sysdefault:CARD=wm8904audio

Note: Microphone and headphones setup can also be graphically displayed and adjusted:

root@imx8mq-voipac:~# alsamixer

iMX8M Industrial Development Kit-AlsaMixer setup.png

Input: Verify digital microphones (Mic Left, Mic Mid, Mic Right)
Output: Microphone sound is played in headphones

root@imx8mq-voipac:~# amixer -c1 set "Capture Input" "DMIC"
root@imx8mq-voipac:~# arecord -D sysdefault:CARD=wm8904audio -t wav -f cd | aplay -D sysdefault:CARD=wm8904audio

WiFi

Note: This WiFi section was tested with the iMX8M Industrial Module in Max and Pro configurations. For Basic configuration, wireless connectivity can be achieved via PCIe Mini and/or M.2 key B slots located on the baseboard. For more information see the iMX8M Industrial Module comparison.

Note: Only the Basic configuration of iMX8M Industrial Module provides access to PCI Express signals via PCIe Mini and M.2 key B sockets soldered on the baseboard, instead of using the interface for WiFi and Bluetooth module on the COM.

Check if the device driver is available:

root@imx8mq-voipac:~# dmesg | grep wlan
[    6.329574] wlan: Loading MWLAN driver
[    6.333853] wlan: Register to Bus Driver...
[    6.338344] wlan_pcie 0000:01:00.0: enabling device (0000 -> 0002)
[    8.500582] wlan: version = PCIE8997--16.92.21.p76.2-MM5X16368.p2-(FP92) 
[    8.517033] wlan: Register to Bus Driver Done
[    8.521409] wlan: Driver loaded successfully
[    8.533204] wlan_pcie 0000:01:00.0 wlp1s0: renamed from mlan0

Check if the WiFi interface is present:

root@imx8mq-voipac:~# ip addr show dev wlp1s0
3: wlp1s0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
    link/ether 78:c4:0e:a0:32:16 brd ff:ff:ff:ff:ff:ff

Input: Scan the available WiFi networks
Output: Networks are scanned and in-depth information are displayed

root@imx8mq-voipac:~# ifconfig wlp1s0 up && iw dev wlp1s0 scan
BSS 94:27:90:7f:c3:d3(on wlp1s0)
        TSF: 1213185029341 usec (14d, 00:59:45)
        freq: 2442
        beacon interval: 100 TUs
        capability: ESS Privacy ShortPreamble ShortSlotTime (0x0431)
        signal: -73.00 dBm
        last seen: 4056 ms ago
        SSID: HH40V_C3D3
        Supported rates: 1.0* 2.0* 5.5* 11.0* 6.0 9.0 12.0 18.0
        DS Parameter set: channel 7
        Country: SK     Environment: Indoor/Outdoor
                Channels [1 - 13] @ 20 dBm
        ERP: <no flags>
        Extended supported rates: 24.0 36.0 48.0 54.0
        HT capabilities:
                Capabilities: 0x1ad
                        RX LDPC
                        HT20
                        SM Power Save disabled
                        RX HT20 SGI
                        TX STBC
                        RX STBC 1-stream
                        Max AMSDU length: 3839 bytes
                        No DSSS/CCK HT40
                Maximum RX AMPDU length 65535 bytes (exponent: 0x003)
                Minimum RX AMPDU time spacing: 8 usec (0x06)
                HT TX/RX MCS rate indexes supported: 0-15
        HT operation:
                 * primary channel: 7
                 * secondary channel offset: no secondary
                 * STA channel width: 20 MHz
                 * RIFS: 1
                 * HT protection: no
                 * non-GF present: 1
                 * OBSS non-GF present: 0
                 * dual beacon: 0
                 * dual CTS protection: 0
                 * STBC beacon: 0
                 * L-SIG TXOP Prot: 0
                 * PCO active: 0
                 * PCO phase: 0
        Overlapping BSS scan params:
                 * passive dwell: 20 TUs
                 * active dwell: 10 TUs
                 * channel width trigger scan interval: 300 s
                 * scan passive total per channel: 200 TUs
                 * scan active total per channel: 20 TUs
                 * BSS width channel transition delay factor: 5
                 * OBSS Scan Activity Threshold: 0.25 %
        Extended capabilities:
                 * HT Information Exchange Supported
                 * Extended Channel Switching
                 * SSID List
                 * Operating Mode Notification
        WMM:     * Parameter version 1
                 * BE: CW 15-1023, AIFSN 3
                 * BK: CW 15-1023, AIFSN 7
                 * VI: CW 7-15, AIFSN 2, TXOP 3008 usec
                 * VO: CW 3-7, AIFSN 2, TXOP 1504 usec
        RSN:     * Version: 1
                 * Group cipher: CCMP
                 * Pairwise ciphers: CCMP
                 * Authentication suites: PSK
                 * Capabilities: 1-PTKSA-RC 1-GTKSA-RC (0x0000)
        WPS:     * Version: 1.0
                 * Wi-Fi Protected Setup State: 2 (Configured)
                 * Response Type: 3 (AP)
                 * UUID: 87654321-9abc-def0-1234-942790c36dc7
                 * Manufacturer: TCL.org
                 * Model: WAP
                 * Model Number: 123
                 * Serial Number: 12345
                 * Primary Device Type: 6-0050f204-1
                 * Device name: TCL AP
                 * Config methods:
                 * Unknown TLV (0x1049, 6 bytes): 00 37 2a 00 01 20
BSS 34:e8:94:5c:06:80(on wlp1s0)
        TSF: 787677017722 usec (9d, 02:47:57)
        freq: 2462
        beacon interval: 100 TUs
        capability: ESS Privacy ShortSlotTime (0x0411)
        signal: -73.00 dBm
        last seen: 3952 ms ago
        SSID: OrangeFlybox_0680
        Supported rates: 1.0* 2.0* 5.5* 11.0* 9.0 18.0 36.0 54.0
        DS Parameter set: channel 11
        ERP: Barker_Preamble_Mode
        Extended supported rates: 6.0 12.0 24.0 48.0
        HT capabilities:
                Capabilities: 0x106e
                        HT20/HT40
                        SM Power Save disabled
                        RX HT20 SGI
                        RX HT40 SGI
                        No RX STBC
                        Max AMSDU length: 3839 bytes
                        DSSS/CCK HT40
                Maximum RX AMPDU length 65535 bytes (exponent: 0x003)
                Minimum RX AMPDU time spacing: 4 usec (0x05)
                HT RX MCS rate indexes supported: 0-15, 32
                HT TX MCS rate indexes are undefined
        HT operation:
                 * primary channel: 11
                 * secondary channel offset: no secondary
                 * STA channel width: 20 MHz
                 * RIFS: 0
                 * HT protection: 20 MHz
                 * non-GF present: 1
                 * OBSS non-GF present: 0
                 * dual beacon: 0
                 * dual CTS protection: 0
                 * STBC beacon: 0
                 * L-SIG TXOP Prot: 0
                 * PCO active: 0
                 * PCO phase: 0
        WPA:     * Version: 1
                 * Group cipher: TKIP
                 * Pairwise ciphers: TKIP CCMP
                 * Authentication suites: PSK
        RSN:     * Version: 1
                 * Group cipher: TKIP
                 * Pairwise ciphers: TKIP CCMP
                 * Authentication suites: PSK
                 * Capabilities: 1-PTKSA-RC 1-GTKSA-RC (0x0000)
        WMM:     * Parameter version 1
                 * BE: CW 15-1023, AIFSN 3
                 * BK: CW 15-1023, AIFSN 7
                 * VI: CW 7-15, AIFSN 2, TXOP 3008 usec
                 * VO: CW 3-7, AIFSN 2, TXOP 1504 usec
        BSS Load:
                 * station count: 3
                 * channel utilisation: 27/255
                 * available admission capacity: 31250 [*32us]
        Overlapping BSS scan params:
                 * passive dwell: 20 TUs
                 * active dwell: 10 TUs
                 * channel width trigger scan interval: 300 s
                 * scan passive total per channel: 200 TUs
                 * scan active total per channel: 20 TUs
                 * BSS width channel transition delay factor: 5
                 * OBSS Scan Activity Threshold: 0.25 %
        Extended capabilities:
                 * HT Information Exchange Supported
        WPS:     * Version: 1.0
                 * Wi-Fi Protected Setup State: 2 (Configured)
                 * AP setup locked: 0x01
                 * Response Type: 3 (AP)
                 * UUID: 38833092-3092-1883-9c77-34e8945c06c4
                 * Manufacturer: TP-LINK
                 * Model: Archer MR200
                 * Model Number: 1.0
                 * Serial Number: 1.0
                 * Primary Device Type: 6-0050f204-1
                 * Device name: AC750 Wireless Dual Band 4G LTE
                 * Config methods: Label, Display, Keypad
                 * RF Bands: 0x1
                 * Unknown TLV (0x1049, 6 bytes): 00 37 2a 00 01 20
BSS 34:e8:94:5b:f8:04(on wlp1s0)
        TSF: 1210179077454 usec (14d, 00:09:39)
        freq: 2462
        beacon interval: 100 TUs
        capability: ESS Privacy ShortSlotTime (0x0411)
        signal: -50.00 dBm
        last seen: 3432 ms ago
        SSID: REDARROW
        Supported rates: 1.0* 2.0* 5.5* 11.0* 9.0 18.0 36.0 54.0
        DS Parameter set: channel 11
        Extended supported rates: 6.0 12.0 24.0 48.0
        TIM: DTIM Count 0 DTIM Period 1 Bitmap Control 0x0 Bitmap[0] 0x2
        WPS:     * Version: 1.0
                 * Wi-Fi Protected Setup State: 2 (Configured)
                 * AP setup locked: 0x01
                 * UUID: 38833092-3092-1883-9c77-34e8945bf8c4
                 * RF Bands: 0x1
                 * Unknown TLV (0x1049, 6 bytes): 00 37 2a 00 01 20
        ERP: Barker_Preamble_Mode
        HT capabilities:
                Capabilities: 0x106e
                        HT20/HT40
                        SM Power Save disabled
                        RX HT20 SGI
                        RX HT40 SGI
                        No RX STBC
                        Max AMSDU length: 3839 bytes
                        DSSS/CCK HT40
                Maximum RX AMPDU length 65535 bytes (exponent: 0x003)
                Minimum RX AMPDU time spacing: 4 usec (0x05)
                HT RX MCS rate indexes supported: 0-15, 32
                HT TX MCS rate indexes are undefined
        HT operation:
                 * primary channel: 11
                 * secondary channel offset: no secondary
                 * STA channel width: 20 MHz
                 * RIFS: 0
                 * HT protection: no
                 * non-GF present: 0
                 * OBSS non-GF present: 0
                 * dual beacon: 0
                 * dual CTS protection: 0
                 * STBC beacon: 0
                 * L-SIG TXOP Prot: 0
                 * PCO active: 0
                 * PCO phase: 0
        Overlapping BSS scan params:
                 * passive dwell: 20 TUs
                 * active dwell: 10 TUs
                 * channel width trigger scan interval: 300 s
                 * scan passive total per channel: 200 TUs
                 * scan active total per channel: 20 TUs
                 * BSS width channel transition delay factor: 5
                 * OBSS Scan Activity Threshold: 0.25 %
        Extended capabilities:
                 * HT Information Exchange Supported
        WPA:     * Version: 1
                 * Group cipher: TKIP
                 * Pairwise ciphers: TKIP CCMP
                 * Authentication suites: PSK
        RSN:     * Version: 1
                 * Group cipher: TKIP
                 * Pairwise ciphers: TKIP CCMP
                 * Authentication suites: PSK
                 * Capabilities: 1-PTKSA-RC 1-GTKSA-RC (0x0000)
        WMM:     * Parameter version 1
                 * BE: CW 15-1023, AIFSN 3
                 * BK: CW 15-1023, AIFSN 7
                 * VI: CW 7-15, AIFSN 2, TXOP 3008 usec
                 * VO: CW 3-7, AIFSN 2, TXOP 1504 usec
        BSS Load:
                 * station count: 0
                 * channel utilisation: 47/255
                 * available admission capacity: 31250 [*32us]

To set up the network login data, edit file located in /etc/wpa_supplicant.conf and update ssid and passphrase psk fields.

root@imx8mq-voipac:~# cat /etc/wpa_supplicant.conf 
ctrl_interface=/var/run/wpa_supplicant
ctrl_interface_group=0
update_config=1

network={
        ssid="SSID_FOR_WIFI_NETWORK"
        scan_ssid=1
        key_mgmt=WPA-PSK
        psk="WIFI_NETWORK_PASSWORD"
}

To connect to the desired WiFi network, start wpa_supplicant:

root@imx8mq-voipac:~# wpa_supplicant -i wlp1s0 -c/etc/wpa_supplicant.conf &
root@imx8mq-voipac:~# Successfully initialized wpa_supplicant
rfkill: Cannot open RFKILL control device
wlp1s0: Trying to associate with 40:a5:ef:c0:70:62 (SSID='CPE_C0[  188.254851] mwifiex_pcie 0000:01:00.0: info: trying 
to associate to 'CPE_C07061' bssid 40:a5:ef:c0:70:62
7061' freq=2462 MHz)
[  188.334475] mwifiex_pcie 0000:01:00.0: info: associated to bssid 40:a5:ef:c0:70:62 successfully
wlp1s0: Associated with 40:a5:ef:c0:70:62
wlp1s0: CTRL-EVENT-SUBNET-STATUS-UPDATE status=0
[  188.351598] IPv6: ADDRCONF(NETDEV_CHANGE): wlp1s0: link becomes ready
wlp1s0: WPA: Key negotiation completed with 40:a5:ef:c0:70:62 [PTK=CCMP GTK=CCMP]
wlp1s0: CTRL-EVENT-CONNECTED - Connection to 40:a5:ef:c0:70:62 completed [id=0 id_str=]

To obtain an IP address and other network settings, run dhcp client:

udhcpc -i wlp1s0


At this point the bandwidth measurement can be tested, showing that WiFi connection was established and is performed very reliably.

Configuration: iMX8M Industrial Module in Commercial and Extended temperature range (AzureWave AW-CM276NF used):

root@imx8mq-voipac:~# iperf3 -c 192.168.241.235 -t 30 -i1
Connecting to host 192.168.241.235, port 5201
[  5] local 192.168.241.109 port 55212 connected to 192.168.241.235 port 5201
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec  3.60 MBytes  30.2 Mbits/sec    2   58.0 KBytes      
[  5]   1.00-2.00   sec  3.91 MBytes  32.8 Mbits/sec    0   96.2 KBytes       
[  5]   2.00-3.00   sec  4.04 MBytes  33.9 Mbits/sec    1   97.6 KBytes      
[  5]   3.00-4.00   sec  3.91 MBytes  32.8 Mbits/sec    0   90.5 KBytes      
[  5]   4.00-5.00   sec  3.73 MBytes  31.3 Mbits/sec    1   96.2 KBytes      
[  5]   5.00-6.00   sec  4.16 MBytes  34.9 Mbits/sec    0    126 KBytes      
[  5]   6.00-7.00   sec  3.73 MBytes  31.3 Mbits/sec    0    147 KBytes      
[  5]   7.00-8.00   sec  4.60 MBytes  38.6 Mbits/sec    0    167 KBytes      
[  5]   8.00-9.00   sec  3.73 MBytes  31.3 Mbits/sec    0    182 KBytes      
[  5]   9.00-10.00  sec  4.04 MBytes  33.9 Mbits/sec    0    199 KBytes      
[  5]  10.00-11.00  sec  4.35 MBytes  36.5 Mbits/sec    0    215 KBytes      
[  5]  11.00-12.00  sec  4.04 MBytes  33.9 Mbits/sec    0    229 KBytes      
[  5]  12.00-13.00  sec  4.41 MBytes  37.0 Mbits/sec    0    242 KBytes      
[  5]  13.00-14.00  sec  2.92 MBytes  24.5 Mbits/sec    0    270 KBytes      
[  5]  14.00-15.00  sec  3.98 MBytes  33.4 Mbits/sec    1    226 KBytes       
[  5]  15.00-16.00  sec  3.91 MBytes  32.8 Mbits/sec    0    250 KBytes      
[  5]  16.00-17.00  sec  4.72 MBytes  39.6 Mbits/sec    0    264 KBytes      
[  5]  17.00-18.00  sec  3.54 MBytes  29.7 Mbits/sec    0    270 KBytes      
[  5]  18.00-19.00  sec  4.41 MBytes  37.0 Mbits/sec    1    225 KBytes      
[  5]  19.00-20.00  sec  4.04 MBytes  33.9 Mbits/sec    0    252 KBytes      
[  5]  20.00-21.00  sec  4.16 MBytes  34.9 Mbits/sec    0    264 KBytes      
[  5]  21.00-22.00  sec  3.79 MBytes  31.8 Mbits/sec    0    272 KBytes      
[  5]  22.00-23.00  sec  4.04 MBytes  33.9 Mbits/sec    0    272 KBytes      
[  5]  23.00-24.00  sec  3.73 MBytes  31.3 Mbits/sec    0    272 KBytes      
[  5]  24.00-25.00  sec  4.29 MBytes  36.0 Mbits/sec    0    273 KBytes      
[  5]  25.00-26.00  sec  4.60 MBytes  38.6 Mbits/sec    0    286 KBytes      
[  5]  26.00-27.00  sec  3.73 MBytes  31.3 Mbits/sec    0    298 KBytes      
[  5]  27.00-28.00  sec  4.23 MBytes  35.4 Mbits/sec    0    327 KBytes      
[  5]  28.00-29.00  sec  4.23 MBytes  35.4 Mbits/sec    0    369 KBytes      
[  5]  29.00-30.00  sec  4.47 MBytes  37.5 Mbits/sec    0    436 KBytes      
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-30.00  sec   121 MBytes  33.8 Mbits/sec    6             sender
[  5]   0.00-30.00  sec   119 MBytes  33.4 Mbits/sec                  receiver

iperf Done.

Configuration: iMX8M Industrial Module in Industrial temperature range (H&D Wireless SPB228-D-2 used):

root@imx8mq-voipac:~# iperf3 -c 192.168.241.235 -t30 -i1
Connecting to host 192.168.241.235, port 5201
[  5] local 192.168.241.115 port 44276 connected to 192.168.241.235 port 5201
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec  3.15 MBytes  26.4 Mbits/sec    4   72.1 KBytes      
[  5]   1.00-2.00   sec  3.73 MBytes  31.3 Mbits/sec    1    100 KBytes      
[  5]   2.00-3.00   sec  3.29 MBytes  27.6 Mbits/sec    0    124 KBytes       
[  5]   3.00-4.00   sec  3.48 MBytes  29.2 Mbits/sec    0    144 KBytes      
[  5]   4.00-5.00   sec  3.60 MBytes  30.2 Mbits/sec    0    160 KBytes      
[  5]   5.00-6.00   sec  3.17 MBytes  26.6 Mbits/sec    1    122 KBytes      
[  5]   6.00-7.00   sec  2.86 MBytes  24.0 Mbits/sec    2    146 KBytes      
[  5]   7.00-8.00   sec  3.42 MBytes  28.7 Mbits/sec    0    163 KBytes      
[  5]   8.00-9.00   sec  3.67 MBytes  30.8 Mbits/sec    0    178 KBytes      
[  5]   9.00-10.00  sec  3.42 MBytes  28.7 Mbits/sec    0    192 KBytes      
[  5]  10.00-11.00  sec  3.36 MBytes  28.1 Mbits/sec    0    206 KBytes      
[  5]  11.00-12.00  sec  3.98 MBytes  33.4 Mbits/sec    0    219 KBytes      
[  5]  12.00-13.00  sec  3.23 MBytes  27.1 Mbits/sec    0    272 KBytes      
[  5]  13.00-14.00  sec  3.79 MBytes  31.8 Mbits/sec    0    344 KBytes      
[  5]  14.00-15.00  sec  4.16 MBytes  34.9 Mbits/sec    0    441 KBytes      
[  5]  15.00-16.00  sec  3.29 MBytes  27.6 Mbits/sec    0    567 KBytes       
[  5]  16.00-17.00  sec  3.75 MBytes  31.4 Mbits/sec    0    279 KBytes      
[  5]  17.00-18.00  sec  2.50 MBytes  21.0 Mbits/sec    1    564 KBytes      
[  5]  18.00-19.00  sec  2.50 MBytes  21.0 Mbits/sec    0    612 KBytes      
[  5]  19.00-20.00  sec  3.75 MBytes  31.5 Mbits/sec    1    474 KBytes      
[  5]  20.00-21.00  sec  5.00 MBytes  42.0 Mbits/sec    0    503 KBytes      
[  5]  21.00-22.00  sec  2.50 MBytes  21.0 Mbits/sec    0    519 KBytes      
[  5]  22.00-23.00  sec  3.75 MBytes  31.5 Mbits/sec    0    527 KBytes      
[  5]  23.00-24.00  sec  3.75 MBytes  31.5 Mbits/sec    0    529 KBytes      
[  5]  24.00-25.00  sec  3.75 MBytes  31.5 Mbits/sec    1    414 KBytes      
[  5]  25.00-26.00  sec  3.75 MBytes  31.5 Mbits/sec    0    462 KBytes      
[  5]  26.00-27.00  sec  3.75 MBytes  31.5 Mbits/sec    0    495 KBytes      
[  5]  27.00-28.00  sec  2.50 MBytes  21.0 Mbits/sec    0    513 KBytes      
[  5]  28.00-29.00  sec  3.75 MBytes  31.5 Mbits/sec    0    526 KBytes      
[  5]  29.00-30.00  sec  3.75 MBytes  31.5 Mbits/sec    1    369 KBytes      
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-30.00  sec   104 MBytes  29.2 Mbits/sec   12             sender
[  5]   0.00-30.00  sec   101 MBytes  28.2 Mbits/sec                  receiver

iperf Done.

Bluetooth

Note: This audio section was tested with the iMX8M Industrial Module in Max and Pro configurations. For Basic configuration, audio capabilities can be achieved via SAI header located on the baseboard. For more information see the iMX8M Industrial Module comparison.

Input: None
Output: Remote device is recognized after scan

# attach module
root@imx8mq-voipac:~# hciattach /dev/ttymxc2 any 115200 flow                                                    
[   63.137693] Bluetooth: HCI UART driver ver 2.3                                                               
[   63.142196] Bluetooth: HCI UART protocol H4 registered                                                       
[   63.147407] Bluetooth: HCI UART protocol BCSP registered                                                     
[   63.153061] Bluetooth: HCI UART protocol LL registered                                                       
[   63.158263] Bluetooth: HCI UART protocol ATH3K registered                                                    
[   63.163719] Bluetooth: HCI UART protocol Three-wire (H5) registered                                          
[   63.170309] Bluetooth: HCI UART protocol Broadcom registered                                                 
[   63.176113] Bluetooth: HCI UART protocol QCA registered                                                      
Device setup complete                                             

# put hci0 device up
root@imx8mq-voipac:~# hciconfig hci0 up

# scan for remote bluetooth devices (enable bluetooth on phone and make it discoverable)
root@imx8mq-voipac:~# hcitool  scan                                                                             
Scanning ...                     
Devices:
    hci0    00:0D:18:01:5A:B3

Ethernet

Input: None
Output: Device driver is available
Note: MAC address should be identical with the address on the sticker placed on the board

root@imx8mq-voipac:~# ip addr show dev eth0
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 00:0d:15:01:50:92 brd ff:ff:ff:ff:ff:ff
    inet 192.168.10.122/24 brd 192.168.10.255 scope global dynamic eth0
       valid_lft 86103sec preferred_lft 86103sec
    inet6 fe80::20d:15ff:fe01:5092/64 scope link 
       valid_lft forever preferred_lft forever

Input: Plug Ethernet cable into connector
Output: IPv4 address is assigned

[  348.300585] fec 30be0000.ethernet eth0: Link is Down
[  350.350853] fec 30be0000.ethernet eth0: Link is Up - 100Mbps/Full - flow control off

PCI Express socket + Micro SIM slot

Note: This audio section was tested with the iMX8M Industrial Module in Max and Pro configurations. For Basic configuration, audio capabilities can be achieved via SAI header located on the baseboard. For more information see the iMX8M Industrial Module comparison.

Note: Only the Basic configuration of iMX8M Industrial Module provides access to PCI Express signals via PCIe Mini and M.2 key B sockets soldered on the baseboard, instead of using the interface for WiFi and Bluetooth module on the COM.

NOTE: Add commands and logs while using this Wireless card

iMX8M Industrial Module Basic-mPCI Express Wireless Card.jpg

After the successful software wireless card porting, the speed test was performed using Mini PCI Express card Intel 512AN_MMW, during which it reached more than 30 Mbps connection both on the sending and receiving end:

root@imx8mq-voipac:~# iperf3 -c 192.168.241.235 -t30 -i1
Connecting to host 192.168.241.235, port 5201
[  5] local 192.168.241.114 port 43638 connected to 192.168.241.235 port 5201
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec  3.14 MBytes  26.3 Mbits/sec    0    204 KBytes       
[  5]   1.00-2.00   sec  2.92 MBytes  24.5 Mbits/sec    0    325 KBytes       
[  5]   2.00-3.00   sec  6.66 MBytes  55.8 Mbits/sec    0    568 KBytes       
[  5]   3.00-4.00   sec  5.00 MBytes  41.9 Mbits/sec    0    795 KBytes       
[  5]   4.00-5.00   sec  6.25 MBytes  52.4 Mbits/sec    1    765 KBytes       
[  5]   5.00-6.00   sec  5.00 MBytes  41.9 Mbits/sec    0    850 KBytes       
[  5]   6.00-7.00   sec  6.25 MBytes  52.4 Mbits/sec    1    649 KBytes       
[  5]   7.00-8.00   sec  5.00 MBytes  41.9 Mbits/sec    7    494 KBytes       
[  5]   8.00-9.00   sec  3.75 MBytes  31.5 Mbits/sec   54    119 KBytes       
[  5]   9.00-10.00  sec  3.75 MBytes  31.5 Mbits/sec   25    454 KBytes       
[  5]  10.00-11.00  sec  6.25 MBytes  52.5 Mbits/sec    0    684 KBytes       
[  5]  11.00-12.00  sec  6.25 MBytes  52.4 Mbits/sec    1    631 KBytes       
[  5]  12.00-13.00  sec  6.25 MBytes  52.4 Mbits/sec    0    708 KBytes       
[  5]  13.00-14.00  sec  5.00 MBytes  41.9 Mbits/sec    0    772 KBytes       
[  5]  14.00-15.00  sec  3.75 MBytes  31.5 Mbits/sec    1    564 KBytes       
[  5]  15.00-16.00  sec  6.25 MBytes  52.5 Mbits/sec    0    614 KBytes       
[  5]  16.00-17.00  sec  5.00 MBytes  41.9 Mbits/sec    0    641 KBytes       
[  5]  17.00-18.00  sec  5.00 MBytes  41.9 Mbits/sec    0    662 KBytes       
[  5]  18.00-19.00  sec  3.75 MBytes  31.5 Mbits/sec   84    175 KBytes       
[  5]  19.00-20.00  sec  1.25 MBytes  10.5 Mbits/sec  198    161 KBytes       
[  5]  20.00-21.00  sec  2.50 MBytes  21.0 Mbits/sec   30   90.5 KBytes       
[  5]  21.00-22.00  sec  2.50 MBytes  21.0 Mbits/sec    2   90.5 KBytes       
[  5]  22.00-23.00  sec  3.75 MBytes  31.5 Mbits/sec    0    120 KBytes       
[  5]  23.00-24.00  sec  3.75 MBytes  31.5 Mbits/sec    0    141 KBytes       
[  5]  24.00-25.00  sec  5.00 MBytes  42.0 Mbits/sec    0    160 KBytes       
[  5]  25.00-26.00  sec  2.50 MBytes  21.0 Mbits/sec    0    174 KBytes       
[  5]  26.00-27.00  sec  2.50 MBytes  21.0 Mbits/sec    0    184 KBytes       
[  5]  27.00-28.00  sec  3.75 MBytes  31.5 Mbits/sec    0    198 KBytes       
[  5]  28.00-29.00  sec  3.75 MBytes  31.5 Mbits/sec    0    211 KBytes       
[  5]  29.00-30.00  sec  2.50 MBytes  21.0 Mbits/sec    0    219 KBytes       
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-30.00  sec   129 MBytes  36.1 Mbits/sec  404             sender
[  5]   0.00-30.00  sec   126 MBytes  35.3 Mbits/sec                  receiver

iperf Done.

M.2 key B socket + Micro SIM slot

Note: Only the Basic configuration of iMX8M Industrial Module provides access to PCI Express signals via PCIe Mini and M.2 key B sockets soldered on the baseboard, instead of using the interface for WiFi and Bluetooth module on the COM.

Note: Use SATA M.2 card as testing example?

USB 3.0

NOTE: Perform read/write performance test Input: Plug USB flash drive into USB connector
Output: Plugged USB device is listed

root@vmx25:~# lsusb
Bus 001 Device 002: ID 0424:2514 Standard Microsystems Corp. USB 2.0 Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 003: ID 125f:d31a A-DATA Technology Co., Ltd. 
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Input: Generate a dummy file and copy it into USB flash drive
Output: Generated file and copied file have the same checksum

root@imx8mq-voipac:~# mount /dev/sda1 /media/
root@imx8mq-voipac:~# rm -f file.txt /media/file.txt 
root@imx8mq-voipac:~# dd if=/dev/urandom of=file.txt count=1024 bs=1024
1024+0 records in
1024+0 records out
root@imx8mq-voipac:~# cp file.txt /media/
root@imx8mq-voipac:~# md5sum file.txt /media/file.txt 
200a9fd3e9850fcedf85ed50d4c4733d  file.txt
200a9fd3e9850fcedf85ed50d4c4733d  /media/file.txt
root@imx8mq-voipac:~# rm file.txt /media/file.txt
root@imx8mq-voipac:~# umount /media

USB-C

This connector is primarily used for flashing new binaries into the iMX8M Industrial Module. More information can be found on the dedicated module flashing page.

Alternatively, USB-C connector can be utilised as general USB storage:
iMX8M Industrial Development Kit - USB-C flash drive plugged in.png

root@imx8mq-voipac:~# fdisk -l /dev/sda
Disk /dev/sda: 29 GB, 30784094208 bytes, 60125184 sectors
3742 cylinders, 255 heads, 63 sectors/track
Units: sectors of 1 * 512 = 512 bytes

Device  Boot StartCHS    EndCHS        StartLBA     EndLBA    Sectors  Size Id Type
/dev/sda1    0,0,33      1023,254,63         32   60125183   60125152 28.6G  c Win95 FAT32 (LBA)

Input: Generate a dummy file and copy it into USB flash drive
Output: Generated file and copied file have the same checksum

root@imx8mq-voipac:~# mount /dev/sda1 /media/
root@imx8mq-voipac:~# rm -f file.txt /media/file.txt 
root@imx8mq-voipac:~# dd if=/dev/urandom of=file.txt count=1024 bs=1024
1024+0 records in
1024+0 records out
root@imx8mq-voipac:~# cp file.txt /media/
root@imx8mq-voipac:~# md5sum file.txt /media/file.txt 
200a9fd3e9850fcedf85ed50d4c4733d  file.txt
200a9fd3e9850fcedf85ed50d4c4733d  /media/file.txt
root@imx8mq-voipac:~# rm file.txt /media/file.txt
root@imx8mq-voipac:~# umount /media

USB Micro-B serial console

Input: Connect USB console cable into the baseboard connector and open serial console with baud rate 115200 8n1
Output: The board is controlled and responsive to serial terminal commands

root@imx8mq-voipac:~# uname -a
Linux imx8mq-voipac 5.4.147-imx-5.4.24-2.1.0+ga9d96bff565a #1 SMP PREEMPT Thu Sep 16 20:18:09 UTC 2021 aarch64 aarch64 aarch64 GNU/Linux

UART serial console

Serial console is utilized via USB Micro-B connector by default. Alternatively, the communication can be established using UART headers and TTL-232R-3V3 - FTDI cable.

NOTE:Describe jumpers position

iMX8M Industrial Development Kit-Serial console via UART1.jpg

Note:Usage of UART2 CONSOLE to communicate by default requires changes in Yocto binaries and new compilation of image files.

iMX8M Industrial Development Kit-Serial console via UART2.jpg

SD card

NOTE: Perform read/write performance test

root@imx8mq-voipac:~# fdisk -l
Disk /dev/mmcblk0: 15 GB, 15758000128 bytes, 30777344 sectors
240448 cylinders, 4 heads, 32 sectors/track
Units: sectors of 1 * 512 = 512 bytes

Device       Boot StartCHS    EndCHS        StartLBA     EndLBA    Sectors  Size Id Type
/dev/mmcblk0p1 *  128,0,1     1023,3,32        16384     186775     170392 83.1M  c Win95 FAT32 (LBA)
/dev/mmcblk0p2    1023,3,32   1023,3,32       196608    1030993     834386  407M 83 Linux
Disk /dev/mmcblk1: 14 GB, 15485370368 bytes, 30244864 sectors
236288 cylinders, 4 heads, 32 sectors/track
Units: sectors of 1 * 512 = 512 bytes

Device       Boot StartCHS    EndCHS        StartLBA     EndLBA    Sectors  Size Id Type
/dev/mmcblk1p1 *  128,0,1     1023,3,32        16384     186775     170392 83.1M  c Win95 FAT32 (LBA)
/dev/mmcblk1p2    1023,3,32   1023,3,32       196608    1030993     834386  407M 83 Linux
Disk /dev/sda: 14 GB, 15376318464 bytes, 30031872 sectors
1869 cylinders, 255 heads, 63 sectors/track
Units: sectors of 1 * 512 = 512 bytes

Device  Boot StartCHS    EndCHS        StartLBA     EndLBA    Sectors  Size Id Type
/dev/sda1    0,0,33      1023,254,63         32   30031871   30031840 14.3G  c Win95 FAT32 (LBA)
root@imx8mq-voipac:~#

HDMI Output

Input: Connect LCD monitor to the development kit
Output: Desktop UI is displayed correctly
iMX6 TinyRex Development Kit-HDMI terminal.png

DisplayPort Output

NOTE: A different boot file image and/or device tree is required!

Input: Connect LCD monitor with DisplayPort to the development kit
Output: Desktop UI is displayed correctly
iMX6 TinyRex Development Kit-HDMI terminal.png

JTAG

iMX8M Industrial Development Kit-JTAG communication setup.jpg

To verify that i.MX8M CPU JTAG is functional, following command identifies and connects to the CPU's debug point:

J-Link> jtagid

iMX8M Industrial Development Kit-JTAG communication log.jpg

Real Time Clock

RTC chip is detected by Linux kernel after start-up:

root@imx8mq-voipac:~# dmesg | grep rtc
[    1.562666] snvs_rtc 30370000.snvs:snvs-rtc-lp: registered as rtc0
[    2.289791] rtc-pcf8563 1-0051: low voltage detected, date/time is not reliable.
[    2.297832] rtc-pcf8563 1-0051: registered as rtc1
[    2.392900] [drm] Cannot find any crtc or sizes
[    2.400347] [drm] Cannot find any crtc or sizes
[    2.401383] [drm] Cannot find any crtc or sizes
[    3.053517] snvs_rtc 30370000.snvs:snvs-rtc-lp: setting system clock to 1970-01-01T00:09:04 UTC (544)
[   60.247133] rtc-pcf8563 1-0051: low voltage detected, date/time is not reliable.

CPU correctly recognises RTC on the I2C1 bus, the chip is under usage by the kernel:

root@imx8mq-voipac:~# i2cdetect  -r -y 1
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- UU -- -- -- UU -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- UU -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- UU -- UU -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --

Set up the current date and time, show the actual values:

root@imx8mq-voipac:~# date -s "2023-1-24 18:37:05"
Tue Jan 24 18:37:05 UTC 2023
root@imx8mq-voipac:~# timedatectl
               Local time: Tue 2023-01-24 18:37:09 UTC
           Universal time: Tue 2023-01-24 18:37:09 UTC
                 RTC time: Thu 1970-01-01 00:11:24
                Time zone: UTC (UTC, +0000)
System clock synchronized: no
              NTP service: active
          RTC in local TZ: no
root@imx8mq-voipac:~# grep pcf8563 /proc/interrupts
140:          0          0          0          0  gpio-mxc   5 Level     rtc-pcf8563
root@imx8mq-voipac:~# echo +2 > /sys/class/rtc/rtc1/wakealarm
[  154.338851] rtc-pcf8563 1-0051: low voltage detected, date/time is not reliable.
sh: write error: Invalid argument
root@imx8mq-voipac:~# grep pcf8563 /proc/interrupts
140:          0          0          0          0  gpio-mxc   5 Level     rtc-pcf8563

I2C EEPROM Memory - on module

Note: This audio section was tested with the iMX8M Industrial Module in Max and Pro configurations. For Basic configuration, audio capabilities can be achieved via SAI header located on the baseboard. For more information see the iMX8M Industrial Module comparison.

SPI Flash Memory - on baseboard

Input: Trigger M25P80 flash detection
Output: SPI Flash sst25vf032b is detected

root@imx6-openrexultra:~# echo -n "spi2.1" > /sys/bus/spi/drivers/m25p80/unbind
root@imx6-openrexultra:~# echo -n "spi2.1" > /sys/bus/spi/drivers/m25p80/bind 
m25p80 spi2.1: found sst26vf032b, expected m25p32
m25p80 spi2.1: sst26vf032b (4096 Kbytes)

Input: Write and read data from M25P80 flash memory
Output: If successful, console text 'Data are the same' should appear

root@imx6-openrexultra:~# echo -n "0123" > mtd_in
root@imx6-openrexultra:~# mtd_debug write /dev/mtd0 0 4 mtd_in 
Copied 4 bytes from mtd_in to address 0x00000000 in flash
root@imx6-openrexultra:~# mtd_debug read /dev/mtd0 0 4 mtd_out
Copied 4 bytes from address 0x00000000 in flash to mtd_out
root@imx6-openrexultra:~# diff mtd_in mtd_out && echo "Data are the same"
Data are the same

NOTE: Choose which code to keep!

root@imx8mq-voipac:~# chmod +x devmem2
root@imx8mq-voipac:~# .devmem2
-sh: .devmem2: not found
root@imx8mq-voipac:~# ./devmem2

Usage:  ./devmem2 { address } [ type [ data ] ]
        address : memory address to act upon
        type    : access operation type : [b]yte, [h]alfword, [w]ord
        data    : data to be written

root@imx8mq-voipac:~# ./devmem2 0x30340008 w
/dev/mem opened.
Memory mapped at address 0xffff90879000.
Value at address 0x30340008 (0xffff90879008): 0x0
root@imx8mq-voipac:~# ./devmem2 0x30340014 w
/dev/mem opened.[  565.553857] audit: type=1701 audit(1660073163.857:3): auid=42                                                                         94967295 uid=0 gid=0 ses=4294967295 pid=389 comm="devmem2" exe="/home/root/devme                                                                         m2" sig=7 res=1

Memory mapped at address 0xffff97f2c000.
Bus error
root@imx8mq-voipac:~# ./devmem2 0x3033018 w
/dev/mem opened.[  791.295664] audit: type=1701 audit(1660073389.596:4): auid=42                                                                         94967295 uid=0 gid=0 ses=4294967295 pid=391 comm="devmem2" exe="/home/root/devme                                                                         m2" sig=7 res=1

Memory mapped at address 0xffffa6ec6000.
Bus error

ON/OFF button

Input: Press the ON/OFF button
Output: The board will shutdown. By pressing longer again, the board starts booting.

[  OK  ] Stopped target Sound Card.
[  OK  ] Stopped target System Time Synchronized.
[  OK  ] Stopped target System Time Set.
[  OK  ] Stopped target Timers.
[  OK  ] Stopped Daily Cleanup of Temporary Directories.
         Stopping Save/Restore Sound Card State...
         Stopping Kernel Logging Service...
         Stopping System Logging Service...
         Stopping Getty on tty1...
         Stopping Serial Getty on ttymxc0...
         Stopping Hostname Service...
         Stopping Load/Save Random Seed...
[  OK  ] Stopped Kernel Logging Service.
[  OK  ] Stopped System Logging Service.
[  OK  ] Stopped Getty on tty1.
[  OK  ] Stopped Serial Getty on ttymxc0.
[  OK  ] Stopped Hostname Service.
[  OK  ] Stopped Save/Restore Sound Card State.
[  OK  ] Stopped Load/Save Random Seed.
[  OK  ] Stopped Session c1 of user root.
[  OK  ] Removed slice system-getty.slice.
[  OK  ] Removed slice system-serial\x2dgetty.slice.
         Stopping Login Service...
         Stopping User Manager for UID 0...
[  OK  ] Stopped User Manager for UID 0.
         Stopping User Runtime Directory /run/user/0...
[  OK  ] Unmounted /run/user/0.
[  OK  ] Stopped User Runtime Directory /run/user/0.
[  OK  ] Removed slice User Slice of UID 0.
         Stopping D-Bus System Message Bus...
         Stopping Permit User Sessions...
[  OK  ] Stopped D-Bus System Message Bus.
[  OK  ] Stopped Login Service.
[  OK  ] Stopped Permit User Sessions.
[  OK  ] Stopped target Basic System.
[  OK  ] Stopped target Network.
[  OK  ] Stopped target Paths.                                             
[  OK  ] Stopped Dispatch Password ��…ts to Console Directory Watch.       
[  OK  ] Stopped Forward Password R��…uests to Wall Directory Watch.       
[  OK  ] Stopped target Remote File Systems.                               
[  OK  ] Stopped target Slices.                                            
[  OK  ] Removed slice User and Session Slice.
[  OK  ] Stopped target Sockets.
[  OK  ] Closed D-Bus System Message Bus Socket.
[  OK  ] Closed dropbear.socket.
[  OK  ] Stopped target System Initialization.
[  OK  ] Closed Syslog Socket.
         Stopping Network Name Resolution...
         Stopping Network Time Synchronization...
[  OK  ] Stopped Network Name Resolution.
[  OK  ] Stopped Network Time Synchronization.
         Stopping Network Service...
[  OK  ] Stopped Create Volatile Files and Directories.
[  OK  ] Stopped target Local File Systems.
         Unmounting Temporary Directory (/tmp)...
         Unmounting /var/volatile...
[  OK  ] Stopped Network Service.
[  OK  ] Unmounted Temporary Directory (/tmp).
[  OK  ] Unmounted /var/volatile.
[  OK  ] Stopped target Local File Systems (Pre).
[  OK  ] Stopped target Swap.
[  OK  ] Reached target Unmount All Filesystems.
[  OK  ] Stopped Remount Root and Kernel File Systems.
[  OK  ] Stopped Apply Kernel Variables.
[  OK  ] Stopped Load Kernel Modules.
[  OK  ] Stopped Create Static Device Nodes in /dev.
[  OK  ] Reached target Shutdown.
[  OK  ] Reached target Final Step.
[  OK  ] Started Power-Off.
[  OK  ] Reached target Power-Off.
[   15.911216] systemd-shutdown[1]: Syncing filesystems and block devices.
[   15.920832] systemd-shutdown[1]: Sending SIGTERM to remaining processes...
[   15.936588] systemd-journald[247]: Received SIGTERM from PID 1 (systemd-shutdow).
[   15.959340] systemd-shutdown[1]: Sending SIGKILL to remaining processes...
[   15.975454] systemd-shutdown[1]: Unmounting file systems.
[   15.982656] [353]: Remounting '/' read-only in with options '(null)'.
[   16.020576] EXT4-fs (mmcblk0p2): re-mounted. Opts: (null)
[   16.031646] systemd-shutdown[1]: All filesystems unmounted.
[   16.037301] systemd-shutdown[1]: Deactivating swaps.
[   16.042421] systemd-shutdown[1]: All swaps deactivated.
[   16.047678] systemd-shutdown[1]: Detaching loop devices.
[   16.055830] systemd-shutdown[1]: All loop devices detached.
[   16.061424] systemd-shutdown[1]: Detaching DM devices.
[   16.066794] systemd-shutdown[1]: All DM devices detached.
[   16.072226] systemd-shutdown[1]: All filesystems, swaps, loop devices and DM devices detached.
[   16.086744] systemd-shutdown[1]: Syncing filesystems and block devices.
[   16.093483] systemd-shutdown[1]: Powering off.
[   16.097961] kvm: exiting hardware virtualization
[   16.097991] imx-sdma 30bd0000.sdma: external firmware not found, using ROM firmware
[   16.098546] cfg80211: failed to load regulatory.db
[   16.101341] imx-sdma 302c0000.sdma: loaded firmware 4.5
[   16.166426] mwifiex_pcie 0000:01:00.0: info: shutdown mwifiex...
[   16.173169] mwifiex_pcie 0000:01:00.0: PREP_CMD: card is removed
[   16.240963] mwifiex_pcie 0000:01:00.0: performing cancel_work_sync()...
[   16.247595] mwifiex_pcie 0000:01:00.0: cancel_work_sync() done
[   16.288309] reboot: Power down

Then pressing ON/OFF button again:

U-Boot 2020.04-imx_v2020.04_5.4.24_2.1.0+g4979a99482 (May 30 2020 - 06:50:01 +0000)

CPU:   i.MX8MQLite rev2.1 1300 MHz (running at 800 MHz)
CPU:   Industrial temperature grade (-40C to 105C) at 62C
Reset cause: POR
Model: Voipac i.MX8MQ EVK
DRAM:  2 GiB
MMC:   FSL_SDHC: 0, FSL_SDHC: 1
Loading Environment from MMC... OK
[*]-Video Link 0imx8m_hdmi_probe
....

Reset button

Input: Press the RESET button
Output: The board will execute bootloader immediately with "Reset cause: POR"
Note: iMX8M Industrial Development Kit should never freeze or hang after the reset button was pressed. Testing the operation 10 times gives a reliable result

U-Boot 2020.04-imx_v2020.04_5.4.24_2.1.0+g4979a99482 (May 30 2020 - 06:50:01 +0000)

CPU:   i.MX8MQLite rev2.1 1300 MHz (running at 800 MHz)
CPU:   Industrial temperature grade (-40C to 105C) at 62C
Reset cause: POR
Model: Voipac i.MX8MQ EVK
DRAM:  2 GiB
MMC:   FSL_SDHC: 0, FSL_SDHC: 1
Loading Environment from MMC... OK
[*]-Video Link 0imx8m_hdmi_probe
....

User buttons

Input: Press Enter/Left/Right/Up/Down buttons
Output: Button events 1 and 0 are generated

root@imx8mq-voipac:~# evtest /dev/input/by-path/platform-gpio-buttons-event 
Input driver version is 1.0.1
Input device ID: bus 0x19 vendor 0x1 product 0x1 version 0x100
Input device name: "gpio-buttons"
Supported events:
  Event type 0 (EV_SYN)
  Event type 1 (EV_KEY)
    Event code 28 (KEY_ENTER)
    Event code 103 (KEY_UP)
    Event code 105 (KEY_LEFT)
    Event code 106 (KEY_RIGHT)
    Event code 108 (KEY_DOWN)
Properties:
Testing ... (interrupt to exit)

User LED

Input: None
Output: Script switches User LED on baseboard ON and OFF in one second intervals

root@imx8mq-voipac:~#
for LED in /sys/class/leds/user
do
	echo Testing ${LED}
	echo -n "1" > ${LED}/brightness
	sleep 1
	echo -n "0" > ${LED}/brightness
	sleep 1
done

Input: None
Output: User LED on baseboard is set to heartbeat blinking sequence

root@imx8mq-voipac:~# echo heartbeat > /sys/class/leds/user/trigger

Input: None
Output: User LED on SOM is set to heartbeat blinking sequence

root@imx8mq-voipac:~# echo heartbeat > /sys/class/leds/user-som/trigger