iMX6 Rex Ultra Accessing and Testing PeripheralsVoipac webshop
Elemental operations of iMX6 Rex Development kit interfaces in Ultra configuration are shown on this page.
Prerequisites
Hardware
- DC power supply (5V, 2A)
- iMX6 Rex Module Ultra
- iMX6 Rex Baseboard
Peripherals and Accessories
- 1x FullHD monitor with Audio output
- 1x LVDS touchscreen display
- 2x MicroSD card
- 1x MiniPCIe WiFi card
- 1x MiniPCIe 3G card
- 1x SATA HDD drive
- 2x USB FLASH drive
- 1x headphones
- 1x microphone
Cables
- Ethernet cable
- HDMI cable
- Micro USB cable
- RS-232 cable
Audio
Input: Search kernel log for SGTL5000 chip
Output: Audio chip is detected and bound as an input device
root@imx6-rexpro:~# dmesg | grep -i sgtl5000
sgtl5000 0-000a: sgtl5000 revision 0x11
sgtl5000 0-000a: Using internal LDO instead of VDDD
imx-sgtl5000 sound.23: sgtl5000 <-> 2028000.ssi mapping ok
#0: imx-audio-sgtl5000
Input: Run alsamixer command
Output: Card imx-audio-sgtl5000 is available
root@imx6-rexpro:~# alsamixer
lqqqqqqqqqqqqqqqqqqqqqqqqqqqqq AlsaMixer v1.0.28 qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqk
x Card: imx-audio-sgtl5000 F1: Help x
x Chip: F2: System information x
x View: F3:[Playback] F4: Capture F5: All F6: Select sound card x
x Item: Headphone [dB gain: -20.00, -20.00] Esc: Exit x
x x
x lqqk lqqk lqqk x
x x x x x x x x
x x x x x x x x
x x x x x x x x
x x x xaax x x x
x x x xaax x x x
x x x xaax x x x
x x x xaax x x x
x x x xaax x x x
x x x xaax x x x
x xaax xaax x x x
x xaax xaax x x x
x mqqj DAC lqqk mqqj mqqj lqqk MIC_IN lqqk x
x xOOx xMMx xOOx x
x mqqj mqqj mqqj x
x 23<>23 75<>75 0 x
x <Headphon>Headphon Headphon PCM Mic Capture Capture Capture x
mqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqj
Input: Boot-up module with HDMI cable plugged in, connect headphones into LINE_OUT connector and plug-in USB flash drive with mp3 file
Output: Sound is played and heard
root@imx6-rexultra:~# aplay -D sysdefault:CARD=sgtl5000audio multimedia/sample.wav
#root@imx6-rexultra:~# aplay -D sysdefault:CARD=imxaudiosgtl500 multimedia/sample.wav
Playing WAVE 'multimedia/sample.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, Stereo
root@imx6-rexultra:~# aplay -D sysdefault:CARD=imxhdmisoc multimedia/sample.wav
Playing WAVE 'multimedia/sample.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, Stereo
Input: Plug headphones into HEADPHONES connector and mic into MICROPHONE connector
Output: Microphone sound is played in headphones
root@imx6-rexultra:~# arecord -D sysdefault:CARD=sgtl5000audio -t wav -f cd | aplay -D sysdefault:CARD=imxaudiosgtl500
#root@imx6-rexultra:~# arecord -D sysdefault:CARD=imxaudiosgtl500 -t wav -f cd | aplay -D sysdefault:CARD=imxaudiosgtl500
Input: Plug headphones into HEADPHONES connector and mic into MICROPHONE connector
Output: Sound is recorded and played afterwards
root@imx6-rexultra:~# arecord -D sysdefault:CARD=sgtl5000audio -t wav -f cd -d 10 multimedia/recorded.wav
#root@imx6-rexultra:~# arecord -D sysdefault:CARD=imxaudiosgtl500 -t wav -f cd -d 10 multimedia/recorded.wav
Recording WAVE 'multimedia/recorded.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, Stereo
root@imx6-rexultra:~# aplay -D sysdefault:CARD=sgtl5000audio multimedia/recorded.wav
#root@imx6-rexultra:~# aplay -D sysdefault:CARD=imxaudiosgtl500 multimedia/recorded.wav
Playing WAVE 'multimedia/recorded.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, Stereo
User button
Input: Press and hold USER button (pca9535 driver is used)
Output: GPIO register is read and displayed state of the button
root@imx6-rexpro:~# echo 511 > /sys/class/gpio/export
root@imx6-rexpro:~# echo in > /sys/class/gpio/gpio511/direction
root@imx6-rexpro:~# cat /sys/class/gpio/gpio511/value
1
root@imx6-rexpro:~# cat /sys/class/gpio/gpio511/value
0
Alternative test
Input: Press the USER button
Output: Button events 1 and 0 are generated
root@imx6-tinyrexultra:~# hexdump -C /dev/input/event0
00000000 18 f4 d1 56 47 40 09 00 01 00 74 00 01 00 00 00 |...VG@....t.....|
00000010 18 f4 d1 56 47 40 09 00 00 00 00 00 00 00 00 00 |...VG@..........|
00000020 18 f4 d1 56 17 15 0b 00 01 00 74 00 00 00 00 00 |...V......t.....|
00000030 18 f4 d1 56 17 15 0b 00 00 00 00 00 00 00 00 00 |...V............|
Reset button
Input: Press the RESET button
Output: Module will execute bootloader immediately with "Reset cause: POR"
Note: Module should never freeze or hang after the reset button was pressed. Testing the operation 10 times gives a reliable result
U-Boot 2014.10-dirty (Mar 12 2016 - 11:34:54) CPU: Freescale i.MX6Q rev1.2 at 792 MHz Reset cause: POR Board: MX6 Rex - pro I2C: ready DRAM: 2 GiB MMC: FSL_SDHC: 0, FSL_SDHC: 1 SF: Detected SST25VF032B with page size 256 Bytes, erase size 4 KiB, total 4 MiB *** Warning - bad CRC, using default environment In: serial Out: serial Err: serial Net: FEC [PRIME] Hit any key to stop autoboot: 0
Ethernet
Input: None
Output: Device driver is available
Note: MAC address should be identical with the address on the sticker placed on module
root@imx6-rexpro:~# ip addr show dev eth0
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:0d:15:00:cc:e2 brd ff:ff:ff:ff:ff:ff
inet6 fe80::20d:15ff:fe00:cce2/64 scope link
Input: Plug Ethernet cable into connector and issue DHCP command
Output: IPv4 address is assigned
root@imx6-rexpro:~# dmesg | tail
...
libphy: 2188000.ethernet:03 - Link is Up - 100/Full
IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
root@imx6-rexpro:~# udhcpc -i eth0
udhcpc (v1.22.1) started
Sending discover...
Sending select for 192.168.0.178...
Lease of 192.168.0.178 obtained, lease time 600
HDMI Output
Input: Connect LCD monitor to baseboard
Output: Desktop UI is correctly displayed
600px
I2C
Input: Scan I2C bus 0
Output: Available devices:
- SGTL5000 audio (0x0A)
root@imx6-rexpro:~# i2cdetect -y 0
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: -- -- -- -- -- -- -- UU -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --
Input: Scan I2C bus 1
Output: Available devices:
- GPIO expander (0x27)
- touchscreen TSC2007 (0x48)
- HDMI Output EDID (0x50)
- RTC clock (0x51)
- EEPROM (0x57)
Note: HDMI monitor must be disconnected otherwise I2C bus 1 scanning bus might freeze.
root@imx6-rexpro:~# i2cdetect -y 1
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- 18 -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- UU -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- UU -- -- -- -- -- -- --
50: UU UU -- -- -- -- -- UU -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --
Input: Scan I2C bus 2
Output: I2C bus 2 is allocated for external use via System Header
root@imx6-rexpro:~# i2cdetect -y 2
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --
Input: Trigger I2C GPIO expander detection.
Output: GPIO expander is detected
root@imx6-rexpro:~# echo -n "1-0027" > /sys/bus/i2c/drivers/pca953x/unbind
root@imx6-rexpro:~# echo -n "1-0027" > /sys/bus/i2c/drivers/pca953x/bind
pca953x 1-0027: interrupt support not compiled in
Input: Trigger I2C RTC detection
Output: RTC is detected
root@imx6-rexpro:~# echo -n "1-0051" > /sys/bus/i2c/drivers/rtc-pcf8563/unbind
root@imx6-rexpro:~# echo -n "1-0051" > /sys/bus/i2c/drivers/rtc-pcf8563/bind
rtc-pcf8563 1-0051: chip found, driver version 0.4.3
rtc-pcf8563 1-0051: low voltage detected, date/time is not reliable.
rtc-pcf8563 1-0051: low voltage detected, date/time is not reliable.
rtc rtc1: invalid alarm value: 2030-10-20 41:58:0
rtc-pcf8563 1-0051: rtc core: registered rtc-pcf8563 as rtc1
Input: Trigger I2C EEPROM detection
Output: I2C EEPROM is detected
root@imx6-rexpro:~# echo -n "1-0057" > /sys/bus/i2c/drivers/at24/unbind
root@imx6-rexpro:~# echo -n "1-0057" > /sys/bus/i2c/drivers/at24/bind
at24 1-0057: 256 byte 24c02 EEPROM, writable, 1 bytes/write
Input: Write and Read data from I2C EEPROM
Output: If successful, console text 'Data are the same' should appear
root@imx6-rexpro:~# echo -n "0123" > eeprom_in
root@imx6-rexpro:~# cat eeprom_in > /sys/bus/i2c/devices/1-0057/eeprom
root@imx6-rexpro:~# head -c 4 /sys/bus/i2c/devices/1-0057/eeprom > eeprom_out
root@imx6-rexpro:~# diff eeprom_in eeprom_out && echo "Data are the same"
Data are the same
Altarnative test
Input: List I2C bus 0, 1 and 2
Output: Available devices are displayed
root@imx6-rexpro:~# ls /sys/bus/i2c/devices/i2c-0 | grep ^[0]
0-000a
root@imx6-rexpro:~# ls /sys/bus/i2c/devices/i2c-1 | grep ^[1]
1-0048
1-0050
root@imx6-rexpro:~# ls /sys/bus/i2c/devices/i2c-2 | grep ^[2]
User LED
Input: None
Output: Red LED assembled on module switches from ON to OFF state with heartbeat pulses afterwards
root@imx6-tinyrexultra:~# echo -n "none" > /sys/devices/soc0/leds*/leds/module-led/trigger
root@imx6-tinyrexultra:~# echo -n "1" > /sys/devices/soc0/leds*/leds/module-led/brightness
root@imx6-tinyrexultra:~# echo -n "0" > /sys/devices/soc0/leds*/leds/module-led/brightness
root@imx6-tinyrexultra:~# echo -n "heartbeat" > /sys/devices/soc0/leds*/leds/module-led/trigger
Input: GPIO expander PCA9535 driver
Output: Red LED assembled on baseboard switches from ON to OFF state
root@imx6-rexpro:~# echo 510 > /sys/class/gpio/export
root@imx6-rexpro:~# echo out > /sys/class/gpio/gpio510/direction
root@imx6-rexpro:~# echo 1 > /sys/class/gpio/gpio510/value
root@imx6-rexpro:~# echo 0 > /sys/class/gpio/gpio510/value
LVDS display
Details how to properly connect display with LVDS and touchsreen interfaces are described on Display Set page.
Input: Configure kernel command line in uboot and boot up the module
Output: GUI can be seen on LVDS screen
Rex U-Boot > setenv video 'video=mxcfb0:dev=ldb,edt570,if=RGB666 video=mxcfb1:off'
Rex U-Boot > boot
DDR memory
Input: None
Output: Memory test passes without any error
root@imx6-rexpro:~# memtester 2G 1
memtester version 4.1.3 (32-bit)
Copyright (C) 2010 Charles Cazabon.
Licensed under the GNU General Public License version 2 (only).
pagesize is 4096
pagesizemask is 0xfffff000
want 2048MB (2147483648 bytes)
got 267MB (280412160 bytes), trying mlock ...locked.
Loop 1/1:
Stuck Address : ok
Random Value : ok
Compare XOR : ok
Compare SUB : ok
Compare MUL : ok
Compare DIV : ok
Compare OR : ok
Compare AND : ok
Sequential Increment: ok
Solid Bits : ok
Block Sequential : ok
Checkerboard : ok
Bit Spread : ok
Bit Flip : ok
Walking Ones : ok
Walking Zeroes : ok
Done.
Further information about DDR3 memories and its calibration can be accessed in Memory Calibration details.
Modem
Input: Plug HE910 3G card into PCIe mini 2 slot and plug SIM card into SIM1 slot
Output: HE910 3G card is detected and AT commands executed
root@imx6-rexultra:~# lsusb | grep -i 1bc7
Bus 001 Device 003: ID 1bc7:0021 Telit HE910
root@imx6-rexultra:~# cat > /etc/minirc.he910 << EOF
pu port /dev/ttyACM0
pu baudrate 115200
pu bits 8
pu parity N
pu stopbits 1
pu rtscts No
pu xonxoff No
pu escape-key ^B
EOF
root@imx6-rexultra:~# echo "Press 'Ctrl+B z q' to exit"
root@imx6-rexultra:~# minicom -o he910
AT
AT+CPIN?
AT+CREG?
AT+COPS?
Log:
AT
OK
AT+CPIN?
+CPIN: READY
OK
AT+CREG?
+CREG: 0,1
OK
AT+COPS?
+COPS: 0,0,"Vodafone",0
OK
PCI Express
The procedure uses to a WiFi wireless card to test PCIe interface. More details concerning wireless cards are located on WiFi and Bluetooth Cards page .
Input: Plug Wireless WiFi Link 4965AGN mini PCIe card into mini PCIe slot 1
Output: Card is detected by system
root@imx6-rexpro:~# lspci
00:00.0 PCI bridge: Device 16c3:abcd (rev 01)
01:00.0 Network controller: Intel Corporation PRO/Wireless 4965 AG or AGN [Kedron] Network Connection (rev 61)
Input: Plug Wireless WiFi Link 4965AGN mini PCIe card into mini PCIe slot
Output: Wireless WiFi card firmware is loaded
root@imx6-rexpro:~# dmesg | grep iwl4965
iwl4965: Intel(R) Wireless WiFi 4965 driver for Linux, in-tree:
iwl4965: Copyright(c) 2003-2011 Intel Corporation
iwl4965 0000:01:00.0: Detected Intel(R) Wireless WiFi Link 4965AGN, REV=0x4
iwl4965 0000:01:00.0: device EEPROM VER=0x36, CALIB=0x5
iwl4965 0000:01:00.0: Tunable channels: 13 802.11bg, 19 802.11a channels
iwl4965 0000:01:00.0: loaded firmware version 228.61.2.24
Input: Plug Wireless WiFi Link 4965AGN mini PCIe card into mini PCIe slot
Output: Card scans neighbour networks
root@imx6-rexpro:~# rfkill unblock wlan
root@imx6-rexpro:~# ip link set wlan0 up
IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not ready
root@imx6-rexpro:~# iw dev wlan0 scan
BSS 20:aa:4b:7e:21:97(on wlan0)
TSF: 9263203904202 usec (107d, 05:06:43)
freq: 5220
beacon interval: 100 TUs
capability: ESS Privacy ShortPreamble (0x0031)
signal: -69.00 dBm
last seen: 0 ms ago
SSID: OpenWrt5g
Supported rates: 6.0* 9.0 12.0* 18.0 24.0* 36.0 48.0 54.0
DS Parameter set: channel 44
Country: CZ Environment: Indoor/Outdoor
Channels [36 - 48] @ 23 dBm
RSN: * Version: 1
* Group cipher: CCMP
* Pairwise ciphers: CCMP
* Authentication suites: PSK
* Capabilities: 16-PTKSA-RC 1-GTKSA-RC (0x000c)
WPA: * Version: 1
* Group cipher: CCMP
* Pairwise ciphers: CCMP
* Authentication suites: PSK
Extended capabilities: 6
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
Alternative test
Input: Plug Wireless WiFi Link 4965AGN mini PCIe card into mini PCIe slot
Output: Card scans neighbour networks
root@imx6-rexpro:~# ip link set wlan0 up
IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not ready
root@imx6-rexpro:~# iwlist wlan0 scan
wlan0 Scan completed :
Cell 01 - Address: 20:AA:4B:7E:21:97
Channel:44
Frequency:5.22 GHz (Channel 44)
Quality=39/70 Signal level=-71 dBm
Encryption key:on
ESSID:"OpenWrt5g"
Bit Rates:6 Mb/s; 9 Mb/s; 12 Mb/s; 18 Mb/s; 24 Mb/s
36 Mb/s; 48 Mb/s; 54 Mb/s
Mode:Master
Extra:tsf=0000086d2e342cf9
Extra: Last beacon: 40ms ago
IE: Unknown: 00094F70656E5772743567
IE: Unknown: 01088C129824B048606C
IE: Unknown: 03012C
IE: Unknown: 0706435A20240417
IE: IEEE 802.11i/WPA2 Version 1
Group Cipher : CCMP
Pairwise Ciphers (1) : CCMP
Authentication Suites (1) : PSK
IE: WPA Version 1
Group Cipher : CCMP
Pairwise Ciphers (1) : CCMP
Authentication Suites (1) : PSK
IE: Unknown: 7F080000000000000040
IE: Unknown: DD180050F2020101000003A4000027A4000042435E0062322F00
SATA
Input: Power off the baseboard, connect HDD to SATA connector, provide power for the hard drive and turn on the board
Output: HDD is detected
root@imx6-rexultra:~# dmesg | grep -i -e sata -e ata1
ahci-imx 2200000.sata: fsl,transmit-level-mV not specified, using 00000024
ahci-imx 2200000.sata: fsl,transmit-boost-mdB not specified, using 00000480
ahci-imx 2200000.sata: fsl,transmit-atten-16ths not specified, using 00002000
ahci-imx 2200000.sata: fsl,receive-eq-mdB not specified, using 05000000
ahci-imx 2200000.sata: SSS flag set, parallel bus scan disabled
ahci-imx 2200000.sata: AHCI 0001.0300 32 slots 1 ports 3 Gbps 0x1 impl platform mode
ahci-imx 2200000.sata: flags: ncq sntf stag pm led clo only pmp pio slum part ccc apst
ata1: SATA max UDMA/133 mmio [mem 0x02200000-0x02203fff] port 0x100 irq 306
ata1: SATA link down (SStatus 0 SControl 300)
ahci-imx 2200000.sata: no device found, disabling link.
ahci-imx 2200000.sata: pass ahci_imx..hotplug=1 to enable hotplug
SATA device can be used as a default bootlader and filesystem source. SATA Interface page contains detailed steps to follow.
SD card
Top slot SD card (mmcblk1)
Input: Plug and unplug SD card
Output: Kernel log shows that mmc1 device is added and removed
root@imx6-rexpro:~# dmesg | tail
...
mmc1: new high speed SDHC card at address e624
mmcblk1: mmc1:e624 SU08G 7.40 GiB
mmcblk1: p1 p2
FAT-fs (mmcblk1p1): Volume was not properly unmounted. Some data may be corrupt. Please run fsck.
EXT4-fs (mmcblk1p2): recovery complete
EXT4-fs (mmcblk1p2): mounted filesystem with ordered data mode. Opts: (null)
mmc1: card e624 removed
Bottom slot SD card (mmcblk2)
Input: Plug SD card with a filesystem and boot-up the module
Output: Module boots up successfully
root@imx6-rexpro:~# dmesg | grep -i "Kernel command line"
Kernel command line: console=ttymxc0,115200 root=/dev/mmcblk2p2 rootwait rw
SPI Flash Memory
Input: Trigger M25P80 flash detection
Output: SPI Flash sst25vf016b(sst25vf032b) is detected
root@imx6-rexpro:~# echo -n "spi2.0" > /sys/bus/spi/drivers/m25p80/unbind
root@imx6-rexpro:~# echo -n "spi2.0" > /sys/bus/spi/drivers/m25p80/bind
m25p80 spi2.0: found sst25vf032b, expected m25p32
m25p80 spi2.0: sst25vf032b (4096 Kbytes)
Suspend
Input: Put module into suspend state (mem state). Wait 10s and then press USER button
Output: Module wakes up
root@imx6-tinyrexultra:~# echo mem > /sys/power/state
PM: Syncing filesystems ... done.
Freezing user space processes ... (elapsed 0.005 seconds) done.
Freezing remaining freezable tasks ... (elapsed 0.001 seconds) done.
Suspending console(s) (use no_console_suspend to debug)
fec 2188000.ethernet eth0: Graceful transmit stop did not complete!
PM: suspend of devices complete after 31.996 msecs
PM: suspend devices took 0.030 seconds
PM: late suspend of devices complete after 0.511 msecs
PM: noirq suspend of devices complete after 11.941 msecs
Disabling non-boot CPUs ...
PM: noirq resume of devices complete after 20.111 msecs
PM: early resume of devices complete after 0.399 msecs
PM: resume of devices complete after 412.384 msecs
PM: resume devices took 0.410 seconds
Restarting tasks ... done.
root@imx6-tinyrexultra:~#
Input: Put module into suspend state (standby state). Wait 10s and then press USER button
Output: Module wakes up
root@imx6-tinyrexultra:~# echo standby > /sys/power/state
PM: Syncing filesystems ... done.
Freezing user space processes ... (elapsed 0.005 seconds) done.
Freezing remaining freezable tasks ... (elapsed 0.001 seconds) done.
Suspending console(s) (use no_console_suspend to debug)
fec 2188000.ethernet eth0: Graceful transmit stop did not complete!
PM: suspend of devices complete after 31.989 msecs
PM: suspend devices took 0.030 seconds
PM: late suspend of devices complete after 0.532 msecs
PM: noirq suspend of devices complete after 11.862 msecs
Disabling non-boot CPUs ...
PM: noirq resume of devices complete after 20.186 msecs
PM: early resume of devices complete after 0.397 msecs
PM: resume of devices complete after 412.337 msecs
PM: resume devices took 0.410 seconds
Restarting tasks ... done.
root@imx6-tinyrexultra:~#
Input: Set RTC wakeup event after 10s and put module into suspend state (standby state)
Output: Module wakes up by itself
root@imx6-tinyrexultra:~# echo +10 > /sys/class/rtc/rtc0/wakealarm && echo standby > /sys/power/state
PM: Syncing filesystems ... done.
Freezing user space processes ... (elapsed 0.005 seconds) done.
Freezing remaining freezable tasks ... (elapsed 0.001 seconds) done.
Suspending console(s) (use no_console_suspend to debug)
fec 2188000.ethernet eth0: Graceful transmit stop did not complete!
PM: suspend of devices complete after 32.020 msecs
PM: suspend devices took 0.030 seconds
PM: late suspend of devices complete after 0.515 msecs
PM: noirq suspend of devices complete after 11.887 msecs
Disabling non-boot CPUs ...
PM: noirq resume of devices complete after 19.990 msecs
PM: early resume of devices complete after 0.392 msecs
PM: resume of devices complete after 412.311 msecs
PM: resume devices took 0.410 seconds
Restarting tasks ... done.
root@imx6-tinyrexultra:~#
UART serial console
Input: Connect USB to UART cable into baseboard connector and open serial console with baud rate 115200 8n1
Output: The board is controlled and responsive to serial terminal commands
root@imx6-tinyrexultra:~# uname -a
Linux imx6-tinyrexultra 3.14.43-yocto+g4b13aeb #1 SMP PREEMPT Tue Jan 19 21:42:39 CET 2016 armv7l GNU/Linux
USB
Input: Plug USB flash drive with single VFAT partition into bottom USB connector
Output: Filesystem recognises the flash drive and automatically mounts it
root@imx6-tinyrexultra:~# lsusb
Bus 001 Device 002: ID 125f:d31a A-DATA Technology Co., Ltd.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
root@imx6-tinyrexultra:~# mount | grep /run/media/sd*
/dev/sda1 on /run/media/sda1 type vfat (rw,relatime,gid=6,fmask=0007,dmask=0007,allow_utime=0020,codepage=437,iocharset=iso8859-1,shortname=mixed,errors=remount-ro)
Input: Generate a dummy file and copy it into USB flash drive
Output: Generated file and copied file have the same checksum
root@imx6-tinyrexultra:~# rm -f file.txt /run/media/sda1/file.txt
root@imx6-tinyrexultra:~# dd if=/dev/urandom of=file.txt count=1024 bs=1024
1024+0 records in
1024+0 records out
1048576 bytes (1.0 MB) copied, 0.435065 s, 2.4 MB/s
root@imx6-tinyrexultra:~# cp file.txt /run/media/sda1/
root@imx6-tinyrexultra:~# md5sum file.txt /run/media/sda1/file.txt
b8e8141b61813fcc08a6164833729e3b file.txt
b8e8141b61813fcc08a6164833729e3b /run/media/sda1/file.txt
root@imx6-tinyrexultra:~# rm file.txt /run/media/sda1/file.txt
USB OTG
Input: Load USB serial gadget driver and connect baseboard to host PC over micro USB cable
Output: Driver is successfully loaded and host PC detects a new USB serial gadget device
iMX6 Rex Development kit:
root@imx6-tinyrexultra:~# modprobe -i g_serial
g_serial gadget: Gadget Serial v2.4
g_serial gadget: g_serial ready
root@imx6-tinyrexultra:~# g_serial gadget: high-speed config #2: CDC ACM config
Host PC:
user@voipac:~$ lsusb ... Bus 001 Device 014: ID 0525:a4a7 Netchip Technology, Inc. Linux-USB Serial Gadget (CDC ACM mode) ...