Prerequisites
Device
- DC power supply (5V 2A)
- imx6 TinyRex module
- TinyRex baseboard
Peripherals
- 1x FullHD monitor
- 1x HD signal generator
- 1x MicroSD card
- 1x MiniPCIe WiFi card
- 1x RPi camera module
- 1x SATA HDD drive
- 2x USB FLASH drive
Cables
- Ethernet cable
- HDMI cable
- Micro HDMI cable
- Micro Usb cable
- UART cable
USER (lite/basic/pro/max/ultra)
Input: Press the USER button.
Output: Button events 1 and 0 are generated.
[email protected]:~# evtest /dev/input/by-path/platform-gpio-keys*-event
Input driver version is 1.0.1
Input device ID: bus 0x19 vendor 0x1 product 0x1 version 0x100pio-keys.16-event .
Input device name:
"gpio-keys.16"Supported events:
Event
type 0
(EV_SYN
) Event
type 1
(EV_KEY
) Event code 116
(KEY_POWER
)Properties:
Testing ...
(interrupt to
exit)Event:
time 1453240251.571826,
type 1
(EV_KEY
), code 116
(KEY_POWER
), value 1
Event:
time 1453240251.571826, -------------- EV_SYN ------------
Event:
time 1453240251.711820,
type 1
(EV_KEY
), code 116
(KEY_POWER
), value 0
Event:
time 1453240251.711820, -------------- EV_SYN ------------
RESET (lite/basic/pro/max/ultra)
Input: Press the RESET button.
Output: Module will execute bootloader immediately with "Reset cause: POR".
Output: Module does not hangs.
Note: Repeat this test 10 times.
U-Boot 2014.10 (Jan 19 2016 - 20:37:48)
CPU: Freescale i.MX6SOLO rev1.1 at 792 MHz
Reset cause: POR
Board: MX6 TinyRex - basic
I2C: ready
DRAM: 512 MiB
MMC: FSL_SDHC: 0, FSL_SDHC: 1, FSL_SDHC: 2
*** Warning - bad CRC, using default environment
In: serial
Out: serial
Err: serial
Net: FEC [PRIME]
Hit any key to stop autoboot: 0
CAN (lite/basic/pro/max/ultra)
Input: None.
Output: Device driver is available.
[email protected]:~# ip addr show dev can0
2: can0: <NOARP,ECHO> mtu 16 qdisc noop state DOWN group default qlen 10
link/can
CSI (lite/basic/pro/max/ultra)
Input: Connect RPi camera module into CSI interface and check if it is detected on i2c bus.
Output: I2C address 0x36 is occupied.
[email protected]:~# i2cdetect -y 1
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- UU -- -- -- 3a -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: 50 -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --
Input: Connect RPi camera module into CSI interface and check kernel modules.
Output: Device driver ov5647_camera_mipi_int(or ov5647_camera_mipi) is loaded.
[email protected]:~# lsmod
Module Size Used by
mxc_v4l2_capture 28532 2
ipu_bg_overlay_sdc 5401 1 mxc_v4l2_capture
ipu_still 2528 1 mxc_v4l2_capture
ipu_prp_enc 5943 1 mxc_v4l2_capture
ipu_csi_enc 3863 1 mxc_v4l2_capture
ipu_fg_overlay_sdc 6217 1 mxc_v4l2_capture
ov5647_camera_mipi 30980 0
adv7610_video 6270 0
v4l2_int_device 2930 3 ov5647_camera_mipi_int,adv7610_video,mxc_v4l2_capture
mxc_dcic 6569 0
evbug 1875 0
Input: Connect RPi camera module into CSI interface and capture image.
Output: The image is displayed on LCD panel.
[email protected]:~#
echo 2 > /sys/bus/i2c/devices/1-0036/ov5647_mode
[email protected]:~# gst-launch-1.0 v4l2src
device="/dev/video1" ! video/x-bayer,width
=1920,height
=1080,framerate
=30/1 ! queue ! bayer2rgb ! videoconvert ! fbdevsink
display
(/dev/fb0
) resolution is
(1920x1080
).
ipu_csi_window_size_crop: Error
left=0
top=56595559
ERROR: unrecognized std! 0
(PAL=ff,
NTSC=b000
(gst-plugin-scanner:1175
): GStreamer-CRITICAL **: gst_caps_simplify: assertion
'GST_IS_CAPS (caps)' failed
(gst-plugin-scanner:1175
): GStreamer-CRITICAL **: gst_caps_append: assertion
'GST_IS_CAPS (caps2)' failed
(gst-plugin-scanner:1175
): GStreamer-CRITICAL **: gst_caps_simplify: assertion
'GST_IS_CAPS (caps)' failed
(gst-plugin-scanner:1175
): GStreamer-CRITICAL **: gst_caps_append: assertion
'GST_IS_CAPS (caps2)' failed
ipu_csi_window_size_crop: Error
left=0
top=56595559
ipu_csi_window_size_crop: Error
left=0
top=56595559
Setting pipeline to PAUSED ...
Pipeline is live and does not need PREROLL ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
ERROR: v4l2 capture: unsupported ioctrl!
WARNING: from element /GstPipeline:pipeline0/GstFBDEVSink:fbdevsink0: A lot of buffers are being dropped.
Additional debug info:
/home/marek/workdir/imx6/yocto/fsl-release-bsp-tinyrex/build-x11/tmp/work/cortexa9hf-vfp-neon-poky-linux-gnueabi/gstreamer1.0/1.4.1-r0/gstreamer-1.4.1/libs/gst/base/gstbasesin:
There may be a timestamping problem, or this computer is too slow.
power_down_callback: ipu0/csi0
^Chandling interrupt.
Interrupt: Stopping pipeline ...
Execution ended after 0:00:19.269515335
Setting pipeline to PAUSED ...
Setting pipeline to READY ...
Setting pipeline to NULL ...
Freeing pipeline ...
power_down_callback: ipu0/csi1
Ethernet (basic/pro/max/ultra)
Input: None.
Output: Device driver is available.
Output: MAC address is correct.
[email protected]:~# ip addr show dev eth0
3: eth0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN group default qlen 1000
link/ether 00:0d:15:00:db:b6 brd ff:ff:ff:ff:ff:ff
Input: Plug Ethernet cable into connector and issue DHCP command.
Output: IPv4 address is assigned.
[email protected]:~# dmesg | tail
...
libphy: 2188000.ethernet:03 - Link is Up - 1000/Full
IPv6: ADDRCONF
(NETDEV_CHANGE
): eth0: link becomes ready
[email protected]:~# udhcpc -i eth0
udhcpc
(v1.22.1
) started
Sending discover...
Sending
select for 192.168.0.115...
Lease of 192.168.0.115 obtained, lease
time 356
Input: Plug HD signal generator (1280x720p) into mirco-hdmi input connector and capture input signal.
Output: Input signal is visible on HDMI output.
[email protected]:~# gst-launch-1.0 v4l2src
device="/dev/video0" ! video/x-raw,width
=1280,height
=720,framerate
=30/1 ! videoconvert ! autovideosink
Setting pipeline to PAUSED ...
display
(/dev/fb0
) resolution is
(1920x1080
).
====== OVERLAYSINK: 4.1.4 build on Jan 23 2017 13:24:12.
======display
(/dev/fb0
) resolution is
(1920x1080
).
display
(/dev/fb0
) resolution is
(mxc_v4l2_output v4l2_out: Bypass IC.
1920x1080
).
mxc_v4l2_output v4l2_out: Bypass IC.
Pipeline is live and does not need PREROLL ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
ERROR: v4l2 capture: unsupported ioctrl!
ERROR: v4l2 capture: unsupported ioctrl!
^Chandling interrupt.
Interrupt: Stopping pipeline ...
Execution ended after 0:00:09.216782001
Setting pipeline to PAUSED ...
Setting pipeline to READY ...
Total showed frames
(256
), display master blited
(256
), playing
for (0:00:09.217285001
), fps
(27.774
).
Setting pipeline to NULL ...
Freeing pipeline ...
Or
[email protected]:~# gst-launch imxv4l2src ! autovideosink
ipu_csi_window_size_crop: Error
left=0
top=56595559
MAX resolution 1920x1080
(gst-plugin-scanner:1024
): GLib-GObject-WARNING **: cannot register existing
type 'GstVorbisDec'(gst-plugin-scanner:1024
): GLib-CRITICAL **: g_once_init_leave: assertion
'result != 0' failed
(gst-plugin-scanner:1024
): GStreamer-CRITICAL **: gst_element_register: assertion
'g_type_is_a (type, GST_TYPE_ELEMENT)' failed
power_down_callback: ipu0/csi0
MFW_GST_V4LSRC_PLUGIN 4.0.3 build on Jan 19 2016 21:47:11.
Setting pipeline to PAUSED ...
ipu_csi_window_size_crop: Error
left=0
top=56595559
MFW_GST_V4LSINK_PLUGIN 4.0.3 build on Jan 19 2016 21:46:56.
ipu_csi_window_size_crop: Error
left=0
top=56595559
ipu_csi_window_size_crop: Error
left=0
top=56595559
Pipeline is live and does not need PREROLL ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
full screen size:1920x1080
[V4L Update Display
]:
left=0,
top=0,
width=1920,
height=1080
set v4l display crop sucessfully
set v4l rotate sucessfully
>>V4L_SINK: Actually buffer status:
hardware buffer : 12
software buffer : 0
power_down_callback: ipu0/csi1
imx-ipuv3 2400000.ipu: IPU Warning -
IPU_INT_STAT_10 = 0x00080000
imx-ipuv3 2400000.ipu: IPU Warning -
IPU_INT_STAT_10 = 0x00080000
imx-ipuv3 2400000.ipu: IPU Warning -
IPU_INT_STAT_10 = 0x00080000
imx-ipuv3 2400000.ipu: IPU Warning -
IPU_INT_STAT_10 = 0x00080000
imx-ipuv3 2400000.ipu: IPU Warning -
IPU_INT_STAT_10 = 0x00080000
imx-ipuv3 2400000.ipu: IPU Warning -
IPU_INT_STAT_10 = 0x00080000
Caught interrupt -- handling interrupt.
Interrupt: Stopping pipeline ...
(gst-launch-0.10:1023
): GLib-CRITICAL **: Source ID 16 was not found when attempting to remove it
Execution ended after 186220685689 ns.
Setting pipeline to PAUSED ...
Running
time 0:03:06.221020022 render fps 16.131
Setting pipeline to READY ...
Setting pipeline to NULL ...
Total rendered:3004
[--->FINALIZE v4l_sink
Freeing pipeline ...
power_down_callback: ipu0/csi0
HDMI output (lite/basic/pro/max/ultra)
Input: Connect LCD monitor to baseboard.
Output: Desktop UI is correctly displayed.
I2C (lite/basic/pro/max/ultra)
Input: Scan I2C bus 0, 1 and 2.
Output: Available devices on bus 0: HDMI output edid(0x50) ,EEPROM(0x56).
Output: Available devices on bus 1: CSI camera(0x36), HDMI input HDCP(0x3a) HDMI input EDID(0x50).
Output: Available devices on bus 2: HDMI input chip(0x22 0x26 0x32 0x34 0x36 0x3e 0x40 0x4c).
[email protected]:~# i2cdetect -y 0
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: 30 -- -- -- -- -- -- 37 -- -- 3a -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: UU -- -- -- -- -- -- 57 -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --
[email protected]:~# i2cdetect -y 1
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- UU -- -- -- 3a -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: 50 -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --
[email protected]:~# i2cdetect -y 2
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- UU -- -- -- UU -- -- -- -- -- -- -- -- --
30: -- -- UU -- UU -- UU -- -- -- -- -- -- -- UU --
40: UU -- -- -- -- -- -- -- -- -- -- -- UU -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --
Input: Trigger I2C eeprom detection.
Output: I2C eeprom is detected.
[email protected]:~#
echo -n
"0-0056" > /sys/bus/i2c/drivers/at24/unbind
[email protected]:~#
echo -n
"0-0056" > /sys/bus/i2c/drivers/at24/bind
at24 0-0056: 131072 byte 24c1024 EEPROM, writable, 1 bytes/write
Input: Write and Read data from I2C eeprom.
Output: Data are the same.
LED (lite/basic/pro/max/ultra)
Input: None.
Output: Turn ON and OFF red LED assembled on module.
[email protected]:~#
echo -n
"none" > /sys/devices/soc0/leds*/leds/module-led/trigger
[email protected]:~#
echo -n
"1" > /sys/devices/soc0/leds*/leds/module-led/brightness
[email protected]:~#
echo -n
"0" > /sys/devices/soc0/leds*/leds/module-led/brightness
[email protected]:~#
echo -n
"heartbeat" > /sys/devices/soc0/leds*/leds/module-led/trigger
MEMORY (lite/basic/pro/max/ultra)
Input: None.
Output: Memory test passed without any error.
[email protected]:~# 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.
PCIe (lite/basic/pro/max/ultra)
Input: Plug Wireless WiFi Link 4965AGN mini PCIe card into mini PCIe slot.
Output: Card is detected by system.
[email protected]:~# 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.
[email protected]:~# 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 can scan neighbor networks.
[email protected]:~# rfkill unblock wlan
[email protected]:~# ip link
set wlan0 up
IPv6: ADDRCONF
(NETDEV_UP
): wlan0: link is not ready
[email protected]:~# iw dev wlan0 scan
BSS 20:aa:4b:7e:21:97
(on wlan0
) TSF: 4605781864521 usec
(53d, 07:23:01
) freq: 5220
beacon interval: 100 TUs
capability: ESS Privacy ShortPreamble
(0x0031
) signal: -76.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
SATA (pro/max/ultra)
Input: Power off the baseboard.
Input: Connect HDD to SATA connector.
Input: Power on the baseboard.
Output: HDD is detected.
[email protected]:~# 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 71
ata1: SATA link up 3.0 Gbps
(SStatus 123 SControl 300
)ata1.00: ATA-8: WDC WD1600BEVT-22ZCT0, 11.01A11, max UDMA/133
ata1.00: 312581808 sectors, multi 0: LBA48 NCQ
(depth 31/32
)ata1.00: configured
for UDMA/133
Input: Generate dummy file and copy this file into HDD and compare checksums.
Output: Generated file and copied file have the same checksum.
[email protected]:~# umount /dev/sda
[1-9
][email protected]:~# dd
if=/dev/zero
of=/dev/sda
bs=512
count=1
1+0 records in
1+0 records out
512 bytes
(512 B
) copied, 0.361743 s, 1.4 kB/s
[email protected]:~# fdisk /dev/sda
...
The number of cylinders
for this disk is
set to 19457.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1
) software that runs at boot
time (e.g., old versions of LILO
)2
) booting and partitioning software from other OSs
(e.g., DOS FDISK, OS/2 FDISK
)Command
(m
for help): n
Command action
e extended
p primary partition
(1-4
)p
Partition number
(1-4
): 1
First cylinder
(1-19457, default 1
): Using default value 1
Last cylinder or size or sizeM or sizeK
(1-19457, default 19457
): Using default value 19457
Command
(m
for help): t
Selected partition 1
Hex code
(type L to list codes
): c
Changed system
type of partition 1 to c
(Win95 FAT32
(LBA
))Command
(m
for help): w
The partition table has been altered.
Calling ioctl
() to re-read partition table
sda: sda1
[email protected]:~# umount /dev/sda1
[email protected]:~# mkfs.vfat -F32 /dev/sda1
[email protected]:~# mount /dev/sda1 /media/
[email protected]:~# rm -f file.txt /media/file.txt
[email protected]:~# 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.434573 s, 2.4 MB/s
[email protected]:~# cp file.txt /media/
[email protected]:~# md5sum file.txt /media/file.txt
b8e8141b61813fcc08a6164833729e3b file.txt
b8e8141b61813fcc08a6164833729e3b /media/file.txt
[email protected]:~# rm -f file.txt /media/file.txt
[email protected]:~# umount /dev/sda1
SD (lite/basic/pro/max/ultra)
SPI (lite/basic/pro/max/ultra)
Input: Trigger m25p80 flash detection.
Output: SPI flash sst25vf032b is detected.
[email protected]:~#
echo -n
"spi0.0" > /sys/bus/spi/drivers/m25p80/unbind
[email protected]:~#
echo -n
"spi0.0" > /sys/bus/spi/drivers/m25p80/bind
m25p80 spi0.0: found sst25vf032b, expected m25p32
m25p80 spi0.0: sst25vf032b
(4096 Kbytes
) SUSPEND (lite/basic/pro/max/ultra)
Input: Put module into suspend state (mem).
Input: Wait 10s and then press USER button.
Output: Module will wake up.
[email protected]:~#
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.
[email protected]:~#
Input: Put module into suspend state (standby).
Input: Wait 10s and then press USER button.
Output: Module will wake up.
[email protected]:~#
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.
[email protected]:~#
Input: Set RTC wakeup event after 10s.
Input: Put module into suspend state (standby).
Output: Module will wake up.
[email protected]:~#
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.
[email protected]:~#
UART (lite/basic/pro/max/ultra)
Input: Connect UART cable into baseboard connector.
Input: Open serial console with baud rate 115200 8n1.
Input: Type down command and observe the serial console output.
Output: Command is executed and some text is printed out.
[email protected]:~# uname -a
Linux imx6-tinyrexbasic 3.14.43-yocto+g4b13aeb
#1 SMP PREEMPT Tue Jan 19 21:42:39 CET 2016 armv7l GNU/Linux
USB (lite/basic/pro/max/ultra)
Input: Plug USB flash drive with single vfat partition into bottom USB connector.
Output: Check if filesystem is recognized and automatically mounted
[email protected]:~# 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
[email protected]:~# 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 dummy file and copy this file into USB flash drive and compare checksums.
Output: Generated file and copied file have the same checksum.
[email protected]:~# rm -f file.txt /run/media/sda1/file.txt
[email protected]:~# 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
[email protected]:~# cp file.txt /run/media/sda1/
[email protected]:~# md5sum file.txt /run/media/sda1/file.txt
b8e8141b61813fcc08a6164833729e3b file.txt
b8e8141b61813fcc08a6164833729e3b /run/media/sda1/file.txt
[email protected]:~# rm file.txt /run/media/sda1/file.txt
USB OTG (lite/basic/pro/max/ultra)
Input: Load usb serial gadget driver and interconnect baseboard and host pc over microUSB to USB cable.
Output: Driver is successfully loaded and host pc detect new usb serial gadget device.
Baseboard
[email protected]xbasic:~# modprobe -i g_serial
g_serial gadget: Gadget Serial v2.4
g_serial gadget: g_serial ready
[email protected]:~# g_serial gadget: high-speed config
#2: CDC ACM config
Host PC
[email protected]:~
$ lsusb
...
Bus 001 Device 014: ID 0525:a4a7 Netchip Technology, Inc. Linux-USB Serial Gadget
(CDC ACM mode
)...
Alternative tests
Input: Press the USER button.
Output: Button events 1 and 0 are generated.
[email protected]:~# hexdump -C /dev/input/event0
00000000 18 f4 d1 56 47 40 09 00 01 00 74 00 01 00 00 00 |
[email protected]|
00000010 18 f4 d1 56 47 40 09 00 00 00 00 00 00 00 00 00 |
[email protected]|
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............|
CSI (lite/basic/pro/max/ultra)
Input: Connect RPi camera module into CSI interface and check kernel modules.
Output: Device driver ov5647_camera_mipi is loaded.
[email protected]:~# lsmod
Module Size Used by
mxc_v4l2_capture 28713 2
ipu_bg_overlay_sdc 5401 1 mxc_v4l2_capture
ipu_still 2528 1 mxc_v4l2_capture
ipu_prp_enc 5943 1 mxc_v4l2_capture
ipu_csi_enc 4005 1 mxc_v4l2_capture
ipu_fg_overlay_sdc 6217 1 mxc_v4l2_capture
adv7610_video 6270 0
ov5647_camera_mipi 30980 0
v4l2_int_device 2888 4 ov5647_camera_mipi,adv7610_video,ipu_csi_enc,mxc_v4l2_capture
iwl4965 87594 0
iwlegacy 62018 1 iwl4965
mxc_dcic 6535 0
evbug 1875 0
Input: Connect RPi camera module into CSI interface and capture image.
Output: The image is displayed on LCD panel.
[email protected]:~#
echo 1 > /sys/bus/i2c/devices/1-0036/ov5647_mode
[email protected]:~# gst-launch-1.0 v4l2src
device="/dev/video1" ! video/x-bayer,width
=1280,height
=720,framerate
=30/1 ! queue ! bayer2rgb ! videoconvert ! fbdevsink
ipu_csi_window_size_crop: Error
left=0
top=56595559
Setting pipeline to PAUSED ...
Pipeline is live and does not need PREROLL ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
ERROR: v4l2 capture: unsupported ioctrl!
power_down_callback: ipu0/csi0
^Chandling interrupt.
Interrupt: Stopping pipeline ...
Execution ended after 0:00:09.472884668
Setting pipeline to PAUSED ...
Setting pipeline to READY ...
Setting pipeline to NULL ...
Freeing pipeline ...
[email protected]:~# power_down_callback: ipu0/csi1
I2C (lite/basic/pro/max/ultra)
Input: List I2C bus 0, 1 and 2.
Output: Available devices on bus 0: HDMI output edid(0x50), EEPROM(0x56 0x57).
Output: Available devices on bus 1: CSI camera(0x36).
Output: Available devices on bus 2: HDMI input chip(0x22 0x26 0x32 0x34 0x36 0x3e 0x40 0x4c).
[email protected]:~# ls /sys/bus/i2c/devices/i2c-0 | grep ^
[0
]0-0050
0-0056
0-0057
[email protected]:~# ls /sys/bus/i2c/devices/i2c-1 | grep ^
[1
]1-0036
[email protected]:~# ls /sys/bus/i2c/devices/i2c-2 | grep ^
[2
]2-0022
2-0026
2-0032
2-0034
2-0036
2-003e
2-0040
2-004c
PCIe (lite/basic/pro/max/ultra)
Input: Plug Wireless WiFi Link 4965AGN mini PCIe card into mini PCIe slot.
Output: Wireless WiFi card firmware is loaded.
[email protected]:~# 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 is detected by system.
[email protected]:~# 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: Card can scan neighbor networks.
[email protected]:~# ip link
set wlan0 up
IPv6: ADDRCONF
(NETDEV_UP
): wlan0: link is not ready
[email protected]:~# iwlist wlan0 scan
wlan0 Scan completed :
Cell 01 - Address: 20:AA:4B:7E:21:97
Channel:44
Frequency:5.22 GHz
(Channel 44
) Quality=38/70 Signal
level=-72 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
=0000072735a29d05
Extra: Last beacon: 30ms 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