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

From Voipac Wiki
Jump to navigation Jump to search
Line 683: Line 683:
 
</syntaxhighlight>
 
</syntaxhighlight>
  
== USB ==
+
== USB 3.0 ==
 
NOTE: Perform read/write performance test
 
NOTE: Perform read/write performance test
 
'''''Input:''''' Plug USB flash drive into USB connector<br />
 
'''''Input:''''' Plug USB flash drive into USB connector<br />

Revision as of 15:40, 25 January 2023

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 section.

Mandatory components

Hardware

Peripherals and Accessories

  • 1x FullHD HDMI monitor with Audio output (default)
  • 1x FullHD DisplayPort monitor with Audio output (optional)
  • Wifi and Bluetooth antenna 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

Input: Search kernel log for wm8904 chip
Output: Audio chip is detected and bound as an input 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.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: Controls for card are available

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: 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
Output: Sound 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
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 with microphone input into HP_OUT connector and microphone to MIC
Output: Microphone sound is played in headphones

root@imx8mq-voipac:~# arecord -D sysdefault:CARD=wm8904audio -t wav -f cd | aplay -D sysdefault:CARD=wm8904audio

Input: Verify Digital microphone
Output: Microphone sound is played in headphones

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

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)

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
....

Power button

Input: Press the POWER 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 POWER 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
....

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

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

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

Wifi

NOTE: Describe how WiFi + Bluetooth module is used on the Max / Pro configuration. Explain Basic Wireless capabilities.

Input: None
Output: Device driver is available

root@imx8mq-voipac:~# dmesg | grep mwifiex
[    5.145232] mwifiex_pcie 0000:01:00.0: enabling device (0000 -> 0002)
[    5.166217] mwifiex_pcie: PCI memory map Virt0: (____ptrval____) PCI memory map Virt2: (____ptrval____)
[    6.133666] mwifiex_pcie 0000:01:00.0: info: FW download over, size 632240 bytes
[    7.004061] mwifiex_pcie 0000:01:00.0: WLAN FW is active
[    7.049670] mwifiex_pcie 0000:01:00.0: Unknown api_id: 3
[    7.055024] mwifiex_pcie 0000:01:00.0: Unknown api_id: 4
[    7.060385] mwifiex_pcie 0000:01:00.0: Unknown GET_HW_SPEC TLV type: 0x217
[    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)

Chek if 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

Check connection

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 connect to the desired WiFi network, edit file located in /etc/wpa_supplicant.conf and update ssid and passphrase 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"
}
  • 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=]
  • run udhcpc
udhcpc -i wlp1s0

Bluetooth

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

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:~#

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

Real Time CLock (RTC)

root@imx8mq-voipac:~# timedatectl
               Local time: Tue 2020-05-05 18:37:26 UTC
           Universal time: Tue 2020-05-05 18:37:26 UTC
                 RTC time: Thu 1970-01-01 00:10:56
                Time zone: UTC (UTC, +0000)
System clock synchronized: no
              NTP service: active
          RTC in local TZ: no
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: -- -- -- -- -- -- -- --
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.
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

PCI Express socket + Micro SIM slot

M.2 socket + Micro SIM slot