Skip to content
Snippets Groups Projects
Commit c9fb26ba authored by Felix Gerking's avatar Felix Gerking
Browse files

hints.md: Add tests and commands

BCS 746-001132
parent c4ebe5b7
No related branches found
No related tags found
1 merge request!945Add hints file as starting point for collecting tests and commands
Pipeline #45720 canceled with stages
in 54 seconds
...@@ -6,6 +6,50 @@ for developers to do various task inside the installed SECO North Yocto. ...@@ -6,6 +6,50 @@ for developers to do various task inside the installed SECO North Yocto.
This is a growing document and not ment to reach any state of completeness This is a growing document and not ment to reach any state of completeness
like a manual, or similar. like a manual, or similar.
[[_TOC_]]
## Audio
### Play sound
```
aplay /usr/share/sounds/alsa/*
```
### Play click sequence
```
wget -P /tmp/ http://support.garz-fricke.com/projects/TestFiles/Audio/short_click_4_times.wav
aplay /tmp/short_click_4_times.wav
```
### Qt QML audio playback
```
#Preparation
systemctl stop seco-show-demo
cat > /tmp/audio-playback.qml << 'EOF'
import QtMultimedia 5.15
import QtQuick 2.15
Text {
text: "Click Me!";
font.pointSize: 24;
width: 150; height: 50;
Audio {
id: playMusic
source: "/usr/share/sounds/alsa/Front_Center.wav"
}
MouseArea {
id: playArea
anchors.fill: parent
onPressed: { playMusic.play() }
}
}
EOF
qmlscene /tmp/audio-playback.qml
```
## Bluetooth ## Bluetooth
Bluetooth is currently only basically supported. Bluetooth is currently only basically supported.
...@@ -16,22 +60,389 @@ Commands used for a basic hardware test: ...@@ -16,22 +60,389 @@ Commands used for a basic hardware test:
*Note*: There are devices which do not have R11 populated on the BT Uart's CTS line. *Note*: There are devices which do not have R11 populated on the BT Uart's CTS line.
These do not support bluetooth. These do not support bluetooth.
``` ```
# Verbinden des BT-Chips # Connect the BT-Chip
rtk_hciattach ttymxc3 rtk_h5 rtk_hciattach ttymxc3 rtk_h5
hciconfig hci0 up hciconfig hci0 up
# Scan for other BT-devices # Scan for other BT-devices
hcitool scan hcitool scan
``` ```
This currently does not work with yocto kirkstone. This currently does not work with yocto kirkstone.
## CAN
### CAN test
```
# Counter part is running TestCAN_W32_2.0.2.0.exe -s -v1 -x4
/opt/ltp/testcases/bin/can
```
## Display
### Backlight Brightness
The scripts sets the backlight brightness level to 0%, 50% and 100%. If required modify BL\_PATH for your system.
```
cat > /tmp/backlight-test.sh << 'EOF'
#!/bin/sh
BL_PATH=/sys/class/backlight/backlight/
MAX_BRIGHTNESS=$(cat $BL_PATH/max_brightness)
ACTUAL_BRIGHTNESS=$(cat $BL_PATH/actual_brightness)
echo "max brightness value: $MAX_BRIGHTNESS"
echo "actual brightness value: $ACTUAL_BRIGHTNESS"
echo 0 > $BL_PATH/brightness
sleep 2
echo $(($MAX_BRIGHTNESS/2)) > $BL_PATH/brightness
sleep 2
echo $MAX_BRIGHTNESS > $BL_PATH/brightness
sleep 2
echo $ACTUAL_BRIGHTNESS > $BL_PATH/brightness
echo "done"
EOF
sh /tmp/backlight-test.sh
```
### FB blank
```
echo 4 > /sys/class/graphics/fb0/blank
sleep 2
echo 0 > /sys/class/graphics/fb0/blank
```
### Weston rotation
Set different output rotation values. It is assumed that only one output is present in weston.ini.
```
# Preperation
systemctl stop seco-show-demo
# 90 deg
sed -i 's/transform=.*$/transform=rotate-90/g' /etc/xdg/weston/weston.ini
systemctl restart weston
weston-image /usr/share/seco-show-demo/images/icon-hw-info.png
# 270 deg
sed -i 's/transform=.*$/transform=rotate-270/g' /etc/xdg/weston/weston.ini
systemctl restart weston
weston-image /usr/share/seco-show-demo/images/icon-hw-info.png
# 180 deg
sed -i 's/transform=.*$/transform=rotate-180/g' /etc/xdg/weston/weston.ini
systemctl restart weston
weston-image /usr/share/seco-show-demo/images/icon-hw-info.png
# 0 degree
sed -i 's/transform=.*$/transform=normal/g' /etc/xdg/weston/weston.ini
systemctl restart weston
weston-image /usr/share/seco-show-demo/images/icon-hw-info.png
```
## EEPROM (SANTARO, SANTOKA, SANTINO, SANTINO-LT)
### EEPROM read
```
gfeeprom --show
```
### EEPROM write
Before you run the write command verify the content of `eeprom-orig.txt`. **Otherwise the original eeprom values may get lost.**
```
# Perperation
output=$(gfeeprom --show | grep "0-0050/eeprom ->")
eval e=($(echo $output | sed -e 's/[>|()]//g' ))
echo "[BEGIN]
Controller Index = 1
Device = ${e[1]}
EEPROM Address = 0x${e[1]##*eeprom}
Major Version = ${e[12]}
Minor Version = ${e[14]}
Article Number = ${e[7]}
Serial Number = ${e[10]}
Component = ${e[4]}
Comment = ${e[16]}
Verify = 0x1
Force write = 0x1
[END]" > /tmp/eeprom-orig.txt
comment="Write test $(date)"
sed "s/Comment =.*/Comment = ${comment}/" /tmp/eeprom-orig.txt > /tmp/eeprom-test.txt
cat /tmp/eeprom-orig.txt
# Write to eeprom and read back
gfeeprom --program -sf /tmp/eeprom-test.txt
gfeeprom --show
# Restore original values
gfeeprom --program -sf /tmp/eeprom-orig.txt
```
## Ethernet
### DNS lookup test
```
nslookup north.seco.com
```
### iperf3
Start the iperf3 echo server on a linux machine in the same network.
```
iperf3 -s -p 5201
```
Connect only the interface that is to be tested to the network.
```
iperf3 -c <hostname/ip of echo server machine> -p 5201
```
## HDMI
### HDMI DRM device
Check if a HDMI DRM device was created.
```
ls /sys/class/drm/ | grep HDMI
```
### HDMI modetest
Use `modetest -c` and `modetest -p` to find out which connector and crtc values (\<connector\>@\<crtc\>) are appropriate for your system.
```
# Preperation
systemctl stop weston
modetest -M imx-drm -s 66@47:1280x800
```
## NFS
### NFS client
Change the variables `NFSSERVER` and `SERVERDIR` to match your configuration.
```
NFSSERVER=<hostname>
SERVERDIR=/home/
mkdir -p /tmp/mnt/nfs
mount -t nfs $NFSSERVER:$SERVERDIR /tmp/mnt/nfs
ls /tmp/mnt/nfs
umount /tmp/mnt/nfs
```
## Power management
### Standby mode wakeup from CPU internal RTC
```
echo +5 > /sys/class/rtc/rtc1/wakealarm && echo standby > /sys/power/state
# The device should wake up after 5 seconds
```
### Standby mode wakeup from from serial interface
```
echo enabled > /sys/class/tty/ttymxc0/power/wakeup && echo standby > /sys/power/state
# Device has to wake up after keypress on the serial console
```
### Deep sleep mode wakeup from CPU internal RTC
```
echo +5 > /sys/class/rtc/rtc1/wakealarm && echo mem > /sys/power/state
# The device should wake up after 5 seconds
```
### Deep sleep mode wakeup from from serial interface
```
echo enabled > /sys/class/tty/ttymxc0/power/wakeup && echo mem > /sys/power/state
# Device has to wake up after keypress on the serial console
```
## Python3
### Python3 web certificates
This test ensures that certificates are installed on the system and openssl and python have access them.
```
echo -e "import urllib.request\nprint(urllib.request.urlopen('https://www.google.com'))\n" | python3
# Expectet output something like <http.client.HTTPResponse object at 0xb6095e38>
```
### pip3 functionality
This test ensures that python 2 and python 3 on the system are complete enough to allow installation of additional packages via pip.
```
pip3 install virtualenv
# Expected output something like: Successfully installed distlib-0.3.6 filelock-3.8.0 platformdirs-2.5.4 virtualenv-20.17.0
```
## Qt5
### OpenGl ES
```
# Preperation
systemctl stop seco-show-demo
qt5-opengles2-test
# When you touch the display, a rectancle should show up under the finger
```
### Qt Kiosk Browser & Qt Virtual Keyboard
```
# Preperation
systemctl stop seco-show-demo
sed -i 's/"URL":.*$/"URL": "https:\/\/north.seco.com\/suchen?",/' /etc/qt-kiosk-browser.conf
qt-kiosk-browser /etc/qt-kiosk-browser.conf --no-sandbox
# You can verfiy the virtual keyboard functionality by clicking the search field and entering text
```
## RS232
### RS232 #2
Start a console on the second RS232 interface if present.
```
setsid getty -L 115200 ttymxc1 vt100
```
## RS485
### RS485 Full Duplex
Connect two SECO-NE devices using an RS485 full duplex cable.
```
# Start echo Server on device #1
/opt/ltp/testcases/bin/rs485echo -n -e -s 115200 -b 64
# Send messages from device #2
/opt/ltp/testcases/bin/rs485echo -n -s 115200 -b 64
```
### RS485 Half Duplex
Connect two SECO-NE devices using an RS485 half duplex cable.
```
# Start echo Server on device #1
/opt/ltp/testcases/bin/rs485echo -e -s 115200 -b 64
# Send messages from device #2
/opt/ltp/testcases/bin/rs485echo -s 115200 -b 64
```
## RTC
### RTC write
Disconnect all network interfaces.
```
# Set date (02.01.2000) as system time and write it to RTC
date 0102000000
hwclock --systohc
# Read system time
date
# Read RTC
hwclock
# The result should look like: Sat Jan 2 00:00:00 2000 0.000000 seconds
```
## sconfig
### sconfig read
```
sconfig
```
### sconfig set value
At the moment sconfig values can not be modified.
## SD-Card
### SD-Card read and write
Plug in a SD-Card with at least one partition in fat32 format.
```
mount /dev/mmcblk1p1 /mnt/
# Verify mount
mount | grep mmcblk1p1
# Write
echo "Test data" > /mnt/testfile
# Read
cat /mnt/testfile
```
## SFTP
The SFTP server is running by default.
### SFTP connection
Connect to the device's SFTP server using the `sftp` command.
```
sftp root@<device-ip>
```
## SSH
The SSH server is running by default.
### SSH connection
Connect to the device's SSH server using the `ssh` command.
```
ssh root@<device-ip>
```
## Temperature Sensors
### Temperature read
For on-board sensors like LM75:
```
cat /sys/class/hwmon/hwmon0/temp1_input
```
SOC temperature/s:
```
cat /sys/class/thermal/thermal_zone*/temp
```
## Touch
### fingerpaint
```
# Preperation
systemctl stop seco-show-demo
fingerpaint
```
### fingerpaint rotated by 90 deg
```
# Preperation
systemctl stop seco-show-demo
sed -i 's/transform=.*$/transform=rotate-90/g' /etc/xdg/weston/weston.ini
systemctl restart weston
fingerpaint
```
## USB
### USB Host read and write
Plug in a USB-Stick with at least one partition in fat32 format.
```
mount /dev/sda1 /mnt/
# Verify mount
mount | grep sda1
# Write
echo "Test data" > /mnt/testfile
# Read
cat /mnt/testfile
```
### Serial console on USB OTG port (SANTARO, SANTOKA, SANTINO, SANTINO-LT)
Start a console on the USB OTG port.
```
modprobe g_serial
setsid getty -L 115200 ttyGS0 vt100
```
## Video playback ## Video playback
### MPEG2 playback
```
# Preperation
systemctl stop seco-show-demo
curl http://support.garz-fricke.com/projects/TestFiles/Videos/cc-BigBuckBunny-Trailer-800x448-mpeg2-stereo.mpg > /tmp/video
gst-play-1.0 /tmp/video
```
### MPEG4 ASP playback
```
# Preperation
systemctl stop seco-show-demo
curl http://support.garz-fricke.com/projects/TestFiles/Videos/cc-BigBuckBunny-Trailer-800x448-mpeg4-stereo.mp4 > /tmp/video
gst-play-1.0 /tmp/video
```
### MPEG4 AVC playback
```
# Preperation
systemctl stop seco-show-demo
curl http://support.garz-fricke.com/projects/TestFiles/Videos/cc-BigBuckBunny-Trailer-800x448-h264-stereo.mp4 > /tmp/video
gst-play-1.0 /tmp/video
```
### VP9 playback from qml ### VP9 playback from qml
``` ```
# Preperation
systemctl stop seco-show-demo
qmlscene /opt/ltp/scripts/video_playback.qml qmlscene /opt/ltp/scripts/video_playback.qml
``` ```
## Watchdog
### Watchdog test
```
/opt/ltp/testcases/bin/watchdog-test
```
## WiFi
### Scan wireless networks (nmcli)
```
nmcli dev wifi list
```
### Connect to wireles network (nmcli)
```
nmcli dev wifi connect <ssid> password "<password>"
```
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment