Test Report vB0045

From ESS-WIKI
Revision as of 08:36, 4 May 2022 by Darren.huang (talk | contribs) (Created page with " {| style="border-collapse:collapse; width:1103pt; border:none" width="1469" |- height="21" style="height:15.75pt" | class="xl69" height="21" style="height:15.75pt; width:54pt...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search
      Project Test Image Version      
      RSB-3720 Linux imx8mprsb3720a1 5.10.35-3720A1AIM40LIVB0045      
               
  No Module Test Item Test Steps Remark Result Result Comment
  1 CPU CPU Cores $ cat /proc/cpuinfo A53 x 4 PASS
  CPU Max MHz $ cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq 1800000 PASS
  2 DDR Memory Size $ cat /proc/meminfo LPDDR4   6GB PASS MemTotal:        5748244 kB
  Memory Clocks Check memory clock under boot loader N/A
  DDR parameter Version Check info in bootloader PASS BL31: v2.4(release):lf-5.10.35-2.0.0-rc2-0-gec35fef92-dirty
U-Boot 2021.04-3720A1AIM40LIVB0045+g84d81e0e56
  3 Stress Test Stress Test Refer to /tools/stress.sh Need to verify w/o cooling  PASS 12 hours pass
  4 SD Card Access Mount and read/write/verify data under kernel PASS
  Write Protect Check WP function N/A Default Off
  5 Additional SD Slot Access Mount and read/write/verify data under kernel N/A
  Write Protect Check WP function N/A
  6 eMMC eMMC 16GB Write/Read/Verify data in the start/end 4 byte of flash PASS
  7 Debug UART UART 4 A53 control:
$ stty -F /dev/ttymxc3 -echo -onlcr 115200
$ cat /dev/ttymxc3 &
$ echo "Serial Port Test" > /dev/ttymxc3
M7_Debug:
(1) emmc boot:
U-Boot > fatload mmc 2:1 0x48000000 imx8mp_m7_TCM_hello_world.bin;cp.b 0x48000000 0x7e0000 20000;
U-Boot > bootaux 0x7e0000
(2) sd card boot:
U-Boot > fatload mmc 1:1 0x48000000 imx8mp_m7_TCM_hello_world.bin;cp.b 0x48000000 0x7e0000 20000;
U-Boot > bootaux 0x7e0000
A53 control: /dev/ttymxc3
or
M7_Debug
2 wire (EXTENSION I/O B - COM4)
UIO4032 COM_4
PASS
  UART 3 A53_Debug
4 wire (COM1 Pin Header)
PASS
  8 RS-232 UART 1 bcm43xx:
$ hciattach /dev/ttymxc0 bcm43xx 115200 flow
4 wire (M.2)
/dev/ttymxc0
PASS verify with AW-NB136NF
  UART 2 $ stty -F /dev/ttymxc1 -echo -onlcr 115200
$ cat /dev/ttymxc1 &
$ echo "Serial Port Test" > /dev/ttymxc1
2 wire (EXTENSION I/O B - COM2)
UIO4032 COM_3
/dev/ttymxc1
PASS
  9 RS-485/422 UART 3 1. Test RS-485 with Adam-4520. Adam-4520 Pin Data- and Pin Data+ connect to RSB-3720 COM1 Pin 1: COM_DCD and Pin 3: COM_RXD
2. Test RS-422 with Adam-4520. Adam-4520 RX- <-->DB9 Pin 1, Adam-4520 RX+ <-->DB9 Pin 2, Adam-4520 TX- <-->DB9 Pin 4, Adam-4520 TX+ <--> DB9 Pin 3
$ stty -F /dev/ttymxc2 speed 115200 ignbrk -brkint -icrnl -imaxbel -opost -onlcr -isig -icanon -iexten -echo -echoe -echok -echoctl -echoke
$ cat /dev/ttymxc2 &
$ echo "Serial Test" > /dev/ttymxc2
4 wire (COM1 Pin Header)
Set GPIO#496, #497
Set to 0,1 for RS-485
Set to 1,1 for RS-422
Set to 0,0 for loopback
Set to 1,0 for RS-232
Remember to set up RS-485 before test. RS-422 don't need to set up the following setting.
$ ./enable485 /dev/ttymxc2
PASS echo 496 > /sys/class/gpio/export
echo 497 > /sys/class/gpio/export
echo out > /sys/class/gpio/gpio1/direction
echo out > /sys/class/gpio/gpio2/direction
echo 0 > /sys/class/gpio/gpio1/value
echo 1 > /sys/class/gpio/gpio2/value
  N/A N/A
  N/A N/A
  N/A N/A
  10 SPI Bus QSPI 0A Write/Read/Verify data in the start/end 4 byte of flash
Note:Make sure the content of SPI nor flash is erased

$ echo -n $'\x06\x05\x04\x03\x02\x01' > test
$ dd if=test of=/dev/mtd0
$ hexdump -C /dev/mtd0 -n 64
SPI Rom PASS
  N/A N/A
  N/A N/A
  N/A N/A
  N/A N/A
  11 GPIO GPIO pins Set direction (in/out) and value (0/1) 10 pins
[EXTENSION I/O A]
pin#2: gpio 501
pin#4: gpio 503
[EXTENSION I/O B]
pin#5: gpio 504
pin#6: gpio 505
pin#7: gpio 506
pin#8: gpio 507
pin#9: gpio 508
pin#10: gpio 509
pin#11: gpio 139
pin#12: gpio 138
PASS echo 501 > /sys/class/gpio/export
echo out > /sys/class/gpio/gpio1/direction
echo 1 > /sys/class/gpio/gpio1/value
  12 PCIe N/A Device detect under kernel M.2 PASS lspci (EWM-163)
  13 M.2 UART 1 bcm43xx:
$ hciattach /dev/ttymxc0 bcm43xx 115200 flow
PASS verify with AW-NB136NF
  SDIO dmesg | grep SDIO
=> mmc0: new ultra high speed SDR104 SDIO card at address 0001
PASS verify with EWM-W169M201E
  PCIe 3.0 lspci PASS Verify with EWM-W163
  USB 2.0 PASS Verify with EWM-W163
  I2S SAI2   No test equipment
  14 3G Modules stty -F /dev/ttyACM0 -echo
cat /dev/ttyACM0 &
echo AT+csq > /dev/ttyACM0
echo AT+cops? > /dev/ttyACM0
echo AT+cgdcont? > /dev/ttyACM0

pppd connect 'chat -v -s -t 10 "" "AT" "" "ATDT*99***4#" "CONNECT" ""' user username password password /dev/ttyACM2 460800 nodetach crtscts debug usepeerdns defaultroute &
PASS Verify with EWM-C117FL06E
  15 WiFi Modules $ ifconfig wlan0 up
$ wpa_passphrase ASUS-917C qwert12345 > /tmp/wpa.conf && wpa_supplicant -BDwext -iwlan0 -c/tmp/wpa.conf
$ udhcpc -b -i wlan0
PASS Verify with EWM-W163M201E
  16 BT Modules $ hciconfig hci0 up
$ bluetoothctl
$ discoverable on
$ pairable on
$ scan on
[NEW] FC:18:3C:8D:75:F4 myphone
$ scan off
$ pair FC:18:3C:8D:75:F4
$ connect FC:18:3C:8D:75:F4
PASS Verify with EWM-W163M201E
  17 Ethernet (Giga) Lan 1 1. Check IP & DHCP
2. Throughput
$ iperf3 -c 192.168.0.2 -t 60 -i 10
PASS AR8035
  (Giga) Lan 2 PASS AR8035
  18 LED N/A LED Status: Detect gpio signal
LED ON: echo 255 > /sys/class/leds/user/brightness
LED OFF: echo 0 > /sys/class/leds/user/brightness
PASS
  19 USB USB Port 1 USB disk write/read/verify pattern EXTENSION I/O A PASS
  USB Port 2 EXTENSION I/O A PASS
  USB Port 3 EXTENSION I/O A PASS
  USB Port 5 USB 3.0 Type A PASS
  USB Port 6 USB 2.0 Type A PASS
  USB Port 7 M.2 PASS lsusb (EWM-163)
  USB Port 8 MINI CARD PASS lsusb (EWM-C117FL06E)
  20 USB OTG USB OTG 1. Host: USB disk write/read/verify pattern
2. Client: PC/NB can detect the device
USB0 (USB_OTG1) N/A
  21 HDMI HDMI 1.4 Display to HDMI screen PASS
  22 VGA N/A Display to VGA screen N/A
  23 LVDS LVDS 0 Display to 1st LVDS screen uboot: setenv fdtfile imx8mp-rsb3720-a1-lvds0-auo.dtb; boot PASS
  LVDS 1 Display to 2st LVDS screen uboot: setenv fdtfile imx8mp-rsb3720-a1-lvds1-auo.dtb; boot PASS
  Dual Channel(LVDS0+LVDS1) Modify DTS for dual channel LVDS uboot: setenv fdtfile imx8mp-rsb3720-a1-lvds-dual.dtb; boot PASS
  24 MIPI DSI DSI 1 MIPI DSI to HDMI Bridge uboot: setenv fdtfile imx8mp-rsb3720-a1-adv7535.dtb; boot PASS
  MIPI DSI Panel uboot: setenv fdtfile imx8mp-rsb3720-a1-auog101uan02.dtb; boot PASS
  N/A N/A
  25 Multi-Display HDMI+LVDS0 All display interfaces should work at the same time uboot: setenv fdtfile imx8mp-rsb3720-a1-lvds0-auo.dtb; boot PASS
  HDMI+LVDS1 All display interfaces should work at the same time uboot: setenv fdtfile imx8mp-rsb3720-a1-lvds1-auo.dtb; boot PASS
  HDMI+Dual LVDS All display interfaces should work at the same time uboot: setenv fdtfile imx8mp-rsb3720-a1-lvds-dual.dtb; boot PASS
  HDMI+DSI 1 to HDMI Bridge All display interfaces should work at the same time uboot: setenv fdtfile imx8mp-rsb3720-a1-adv7535.dtb; boot PASS
  HDMI+DSI 1 Panel All display interfaces should work at the same time uboot: setenv fdtfile imx8mp-rsb3720-a1-auog101uan02.dtb; boot PASS
  26 I2C I2C 0 1. Support function from I2C
2. Write/Read/Verify eeprom Hi/Low byte
CODEC: 0x0A
PMIC: 0x25
WDT MCU: 0x29
TPM: 0x2E
RTC: 0x30-0x37
M.2:
LVDS: 0x50-0x57
IO_EXP: 0x70-0x71
0x70-
gpio 496: UART3_MODE0
gpio 497: UART3_MODE1
gpio 498: UART3_SLEW
gpio 499: UART3_TERM
gpio 501: GPIO2
gpio 503: GPIO4
0x71-
gpio 504: GPIO5
gpio 505: GPIO6
gpio 506: GPIO7
gpio 507: GPIO8
gpio 508: GPIO9
gpio 509: GPIO10
gpio 510: GPIO11
gpio 511: GPIO12
PASS
  I2C 1 CSI1: 0x3c - ov5640 camera PASS
  I2C 2 CSI2: 0x3c - ov5640 camera PASS
  I2C 3 UIO Board: 0x50: EEPROM
/sys/bus/i2c/devices/3-0050/eeprom
$ echo -n $'\x06\x05\x04\x03\x02\x01' > test
$ dd if=test of=/sys/bus/i2c/devices/3-0050/eeprom
$ hexdump -C /sys/bus/i2c/devices/3-0050/eeprom -n 64
PASS
  27 I2C Switch N/A 1. Support function from I2C
2. Write/Read/Verify eeprom Hi/Low byte
N/A
  N/A N/A
  N/A N/A
  N/A N/A
  28 RTC RTC external $ date MMDDhhmm[[CC]YY][.ss]
$ hwclock -w
$ ntpdate tw.pool.ntp.org
SEIKO S-35390A PASS
  RTC internal imx_sc_rtc N/A
  29 Audio HDMI Audio $ aplay -D plughw:0,0 Advantech.wav PASS
  Line-Out/Speaker $ aplay -D plughw:1,0 Advantech.wav PASS
  Mic-In $ arecord -D plughw:1,0 -r 16000 -f S16_LE ./f-16000.wav PASS
  30 SPDIF N/A Audio output N/A
  31 WATCHDOG External Watchdog 1. Watchdog Function Test Data
(1) Timeout 10S:
# /unit_tests/Watchdog/wdt_driver_test.out 10 1 0 ==> System will not reboot. Watchdog can be refreshed when feed dog before it timeout.
# Ctrl + C ==> System will reboot after 10 sec. Watchdog does not refresh after it timeout.

(2) Timeout 20S:
# /unit_tests/Watchdog/wdt_driver_test.out 20 1 0 ==> System will not reboot. Watchdog can be refreshed when feed dog before it timeout.
# Ctrl + C ==> System will reboot after 20 sec. Watchdog does not refresh after it timeout.

(3) Timeout 50S:
# /unit_tests/Watchdog/wdt_driver_test.out 50 1 0 ==> System will not reboot. Watchdog can be refreshed when feed dog before it timeout.
# Ctrl + C? ==> System will reboot after 50 sec. Watchdog does not refresh after it timeout.

(4) Timeout 100S:
# /unit_tests/Watchdog/wdt_driver_test.out 100 1 0 ==> System will not reboot. Watchdog can be refreshed when feed dog before it timeout.
# Ctrl + C ==> System will reboot after 100 sec. Watchdog does not refresh after it timeout.
TI_MSP430G2202IRSA16R PASS
  2. Cold Reset and Second Stage 300s Test
(1) switch boot strap to emmc boot up and boot up the system
(2) enable watchdog triger:
# /unit_tests/Watchdog/wdt_driver_test.out 2 1 0 &
(3) switch boot strap to sd boot up fail (no sd card image)
(4) force kernel panic:
# echo c > /proc/sysrq-trigger
(5) switch boot strap to emmc boot up
(6) System will reboot after 300s.
PASS
  3. I2C bus stress for 8hour
# /tools/wdt_test/wdt_i2c_stress_test 2 1 0 &
# /tools/wdt_test/pmic_i2c_stress_test.sh &
PASS
  4. Reboot 1000Times Test
# cp /tools/wdt_test/boottimes.sh /tools/
# rm /etc/boottimes
# reboot
If test pass => you can see the message in the log:
Boot Times:1000
PASS
32 Camera MIPI CSI0 Preview:
$gst-launch-1.0 v4l2src device=/dev/video2 ! 'video/x-raw,width=640,height=480' ! autovideosink
Snapshot:
$gst-launch-1.0 v4l2src device=/dev/video2 num-buffers=2 ! jpegenc ! multifilesink location=sample0.jpeg max-files=1
OV5640 Camera - 2 lane PASS
Preview:
$gst-launch-1.0 -v v4l2src device=/dev/video2 ! waylandsink
Snapshot:
gst-launch-1.0 v4l2src device=/dev/video2 num-buffers=2 ! jpegenc ! multifilesink location=sample0.jpeg max-files=1
Basler Camera - 4 lane
4k - uboot: setenv fdtfile imx8mp-rsb3720-a1-basler.dtb; boot
1080p - uboot: setenv fdtfile imx8mp-rsb3720-a1-dual-basler.dtb; boot
PASS
MIPI CSI1 Preview:
$gst-launch-1.0 v4l2src device=/dev/video3 ! 'video/x-raw,width=640,height=480' ! autovideosink
Snapshot:
$gst-launch-1.0 v4l2src device=/dev/video3 num-buffers=2 ! jpegenc ! multifilesink location=sample1.jpeg max-files=1
OV5640 Camera - 2 lane PASS
  Preview:
$gst-launch-1.0 -v v4l2src device=/dev/video3 ! waylandsink
Snapshot:
gst-launch-1.0 v4l2src device=/dev/video3 num-buffers=2 ! jpegenc ! multifilesink location=sample0.jpeg max-files=1
Basler Camera - 4 lane
1080p - uboot: setenv fdtfile imx8mp-rsb3720-a1-dual-basler.dtb; boot
PASS
  33 Keypad N/A 1. Detect 16 buttons
2. Verify each button event
N/A
  34 Key & Button N/A Power on/off test N/A
  N/A $ evtest N/A
  N/A $ evtest N/A
  N/A Detect gpio signal key_event N/A
  N/A Detect gpio signal N/A
  Reset Button Reset system PASS
  N/A Close backlight N/A
  35 Multi-Boot Selection Boot Select Switch EMMC or Carrier SD or Carrier SPI 1. QSPI Boot(boot switch: 1-off, 2-on, 3-on, 4-off): Need the imx-boot-imx8mprsb3720a1-fspi.bin-flash_evk_flexspi file
2. command: dd if=imx-boot-imx8mprsb3720a1-FSPI_6G.bin-flash_evk_flexspi of=/dev/mtdblock0 bs=1K seek=0 conv=fsync
PASS
  36 Recovery & Rescue Downalod via USB OTG $ uuu -b emmc_all bootloader rootfs.sdcard N/A
  37 MCU N/A MCU integration N/A
  38 PMIC Vendor Solution Power sequence or GPIO or other configurations N/A
  39 Battery & Charging Battery EC $ cat /sys/class/power_supply/bms/uevent N/A
  40 CAN Bus CAN 1 $ ip link set can0 up type can bitrate 125000
$ ifconfig can0 up
$ ip link set can1 up type can bitrate 125000
$ ifconfig can1 up

$ candump can0 &
$ cansend can1 1F334455#1122334455667788
UIO-4034 CAN Pin 2 and Pin 7 connect to RSB-3720 COM1 Pin 8 and Pin 2 PASS
  CAN 2 PASS
  41 SATA N/A Mount and read/write/verify data under kernel N/A
  42 System Bus N/A Test two uart ports N/A
  43 IR Controller N/A Verify each button event N/A
  44 GPS N/A Set correct date/time before test

sudo apt-get install gpsd-clients gnss-gpsd

$ systemctl start gpsd.socket
$ systemctl start gpsd
$ systemctl start qdsp-start
$ systemctl start gnss-gpsd
$ gpsmon

If you have DNS problem, you can try commands below.
echo "nameserver 8.8.8.8" | sudo tee /etc/resolv.conf > /dev/null
sudo apt-get updat
To stop GPS hardware, follow the instructions:
1. close gpsmon
2. systemctl stop gnss-gpsd

To restart GPS hardware, follow the instructions:
1. systemctl start gnss-gpsd
2. close gpsmon
N/A
  45 Warm Reboot Warm Reboot Software reboot PASS
  46 Security Boot NXP HAB Depends on platforms N/A
  47 TPM Trust Platform Module tpm_test.bin PASS