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 (12V, 1A)
- iMX6 Rex Module Ultra
- iMX6 Rex Base Board
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-rexultra:~# 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-rexultra:~# 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-rexultra:~# echo 511 > /sys/class/gpio/export
root@imx6-rexultra:~# echo in > /sys/class/gpio/gpio511/direction
root@imx6-rexultra:~# cat /sys/class/gpio/gpio511/value
1
root@imx6-rexultra:~# cat /sys/class/gpio/gpio511/value
0
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 - ultra 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-rexultra:~# 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-rexultra:~# dmesg | tail
...
libphy: 2188000.ethernet:03 - Link is Up - 100/Full
IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
root@imx6-rexultra:~# 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 the base board
Output: Desktop UI is displayed correctly
I2C
Input: Scan I2C bus 0
Output: Available devices:
- SGTL5000 audio (0x0A)
root@imx6-rexultra:~# 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-rexultra:~# 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-rexultra:~# 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-rexultra:~# echo -n "1-0027" > /sys/bus/i2c/drivers/pca953x/unbind
root@imx6-rexultra:~# 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-rexultra:~# echo -n "1-0051" > /sys/bus/i2c/drivers/rtc-pcf8563/unbind
root@imx6-rexultra:~# 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-rexultra:~# echo -n "1-0057" > /sys/bus/i2c/drivers/at24/unbind
root@imx6-rexultra:~# 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-rexultra:~# echo -n "0123" > eeprom_in
root@imx6-rexultra:~# cat eeprom_in > /sys/bus/i2c/devices/1-0057/eeprom
root@imx6-rexultra:~# head -c 4 /sys/bus/i2c/devices/1-0057/eeprom > eeprom_out
root@imx6-rexultra:~# diff eeprom_in eeprom_out && echo "Data are the same"
Data are the same
Alternative test
Input: List I2C bus 0, 1 and 2
Output: Available devices are displayed
root@imx6-rexultra:~# ls /sys/bus/i2c/devices/i2c-0 | grep ^[0]
0-000a
root@imx6-rexultra:~# ls /sys/bus/i2c/devices/i2c-1 | grep ^[1]
1-0048
1-0050
root@imx6-rexultra:~# 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-rexultra:~# echo -n "none" > /sys/devices/soc0/leds*/leds/module-led/trigger
root@imx6-rexultra:~# echo -n "1" > /sys/devices/soc0/leds*/leds/module-led/brightness
root@imx6-rexultra:~# echo -n "0" > /sys/devices/soc0/leds*/leds/module-led/brightness
root@imx6-rexultra:~# echo -n "heartbeat" > /sys/devices/soc0/leds*/leds/module-led/trigger
Input: GPIO expander PCA9535 driver
Output: Red LED assembled on the base board switches from ON to OFF state
root@imx6-rexultra:~# echo 510 > /sys/class/gpio/export
root@imx6-rexultra:~# echo out > /sys/class/gpio/gpio510/direction
root@imx6-rexultra:~# echo 1 > /sys/class/gpio/gpio510/value
root@imx6-rexultra:~# 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 U-Boot video environment 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 errors
root@imx6-rexultra:~# 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 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-rexultra:~# 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 1
Output: Wireless WiFi card firmware is loaded
root@imx6-rexultra:~# 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 1
Output: Card scans neighbour networks
root@imx6-rexultra:~# rfkill unblock wlan
root@imx6-rexultra:~# ip link set wlan0 up
IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not ready
root@imx6-rexultra:~# 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 1
Output: Card scans neighbour networks
root@imx6-rexultra:~# ip link set wlan0 up
IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not ready
root@imx6-rexultra:~# 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 base board, 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 filesystem source. SATA Interface page contains detailed steps to follow. iMX6 Rex Deveploment Kit gives an alternate option of utilizing SATA interface and reliabale storage by supporting CFast Cards.
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-rexultra:~# 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-rexultra:~# 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-rexultra:~# echo -n "spi2.0" > /sys/bus/spi/drivers/m25p80/unbind
root@imx6-rexultra:~# echo -n "spi2.0" > /sys/bus/spi/drivers/m25p80/bind
m25p80 spi2.0: found sst25vf032b, expected m25p32
m25p80 spi2.0: sst25vf032b (4096 Kbytes)
Input: Write and read data from M25P80 flash
Output: If successful, console text 'Data are the same' should appear
root@imx6-rexultra:~# echo -n "0123" > mtd_in
root@imx6-rexultra:~# mtd_debug write /dev/mtd0 0 4 mtd_in
Copied 4 bytes from mtd_in to address 0x00000000 in flash
root@imx6-rexultra:~# mtd_debug read /dev/mtd0 0 4 mtd_out
Copied 4 bytes from address 0x00000000 in flash to mtd_out
root@imx6-rexultra:~# diff mtd_in mtd_out && echo "Data are the same"
Data are the same
UART serial console
Input: Connect RS-232 cable into the base board connector and open serial console with baud rate 115200 8n1
Output: The board is controlled and responsive to serial terminal commands
root@imx6-rexultra:~# uname -a
Linux imx6-rexultra 3.14.58-yocto+g11e5ba3 #1 SMP PREEMPT Sun Mar 13 20:20:31 CET 2016 armv7l GNU/Linux
USB
Input: Plug USB flash drive with single VFAT partition into the bottom USB connector
Output: Filesystem recognises the flash drive and automatically mounts it. SMC Hub with ID 0424:2514 is mounted
root@imx6-rexultra:~# lsusb
Bus 001 Device 003: ID 1bc7:0021 Telit HE910
Bus 001 Device 005: ID 054c:0243 Sony Corp. MicroVault Flash Drive
Bus 001 Device 004: ID 0930:6544 Toshiba Corp. Kingston DataTraveler 2.0 Stick (2GB)
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
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
root@imx6-rexultra:~# 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-rexultra:~# rm -f file.txt /run/media/sda1/file.txt
root@imx6-rexultra:~# 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.435456 s, 2.4 MB/s
root@imx6-rexultra:~# cp file.txt /run/media/sda1/
root@imx6-rexultra:~# md5sum file.txt /run/media/sda1/file.txt
33ef96efccbbf570bfce477735ed2068 file.txt
33ef96efccbbf570bfce477735ed2068 /run/media/sda1/file.txt
root@imx6-rexultra:~# rm file.txt /run/media/sda1/file.txt
USB OTG
Input: Load USB serial gadget driver and connect base board 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-rexultra:~# modprobe -i g_serial
g_serial gadget: Gadget Serial v2.4
g_serial gadget: g_serial ready
root@imx6-rexultra:~# 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) ...
Touchscreen
Details how to properly connect display with LVDS and touchsreen interfaces are described on Display Set page.
Input: Search kernel log for TSC2007 chip
Output: TSC2007 chip is detected and bound as an input device
root@imx6-rexultra:~# dmesg | grep -i tsc2007
input: TSC2007 Touchscreen as /devices/soc0/soc.0/2100000.aips-bus/21a4000.i2c/i2c-1/1-0048/input/input0
evbug: Connected device: input0 (TSC2007 Touchscreen at 1-0048/input0)
Input: Press the touchscreen
Output: Touchscreen events are generated
root@imx6-rexultra:~# evtest /dev/input/by-path/platform-21a4000.i2c-event
Input driver version is 1.0.1
Input device ID: bus 0x18 vendor 0x0 product 0x0 version 0x0
Input device name: "TSC2007 Touchscreen"
Supported events:
Event type 0 (EV_SYN)
Event type 1 (EV_KEY)
Event code 330 (BTN_TOUCH)
Event type 3 (EV_ABS)
Event code 0 (ABS_X)
Value 3529
Min 0
Max 4095
Event code 1 (ABS_Y)
Value 375
Min 0
Max 4095
Event code 24 (ABS_PRESSURE)
Value 0
Min 0
Max 4095
Properties:
Testing ... (interrupt to exit)
Event: time 1457899907.959665, type 1 (EV_KEY), code 330 (BTN_TOUCH), value 1
Event: time 1457899907.959665, type 3 (EV_ABS), code 0 (ABS_X), value 1657
Event: time 1457899907.959665, type 3 (EV_ABS), code 1 (ABS_Y), value 2486
Event: time 1457899907.959665, type 3 (EV_ABS), code 24 (ABS_PRESSURE), value 3268
Event: time 1457899907.959665, -------------- EV_SYN ------------
Event: time 1457899907.969094, type 1 (EV_KEY), code 330 (BTN_TOUCH), value 0
Event: time 1457899907.969094, type 3 (EV_ABS), code 24 (ABS_PRESSURE), value 0
Event: time 1457899907.969094, -------------- EV_SYN ------------
Alternative test
Input: Press the touchscreen
Output: Touchscreen events are generated
root@imx6-rexultra:~# hexdump -C /dev/input/event0
00000000 79 ca e5 56 cd a3 07 00 01 00 4a 01 01 00 00 00 |y..V......J.....|
00000010 79 ca e5 56 cd a3 07 00 03 00 00 00 2f 08 00 00 |y..V......../...|
00000020 79 ca e5 56 cd a3 07 00 03 00 01 00 a7 07 00 00 |y..V............|
00000030 79 ca e5 56 cd a3 07 00 03 00 18 00 64 06 00 00 |y..V........d...|
00000040 79 ca e5 56 cd a3 07 00 00 00 00 00 00 00 00 00 |y..V............|
00000050 79 ca e5 56 a7 c4 07 00 01 00 4a 01 00 00 00 00 |y..V......J.....|
00000060 79 ca e5 56 a7 c4 07 00 03 00 18 00 00 00 00 00 |y..V............|
00000070 79 ca e5 56 a7 c4 07 00 00 00 00 00 00 00 00 00 |y..V............|