6. Debian Application

6.1 Display

EM3566_display_IO

EM3566 supports HDMI/LVDS/MIPI display.

Debian_HDMI_Display

HDMI display

Note

The Boardcon factory default HDMI display. If change to LVDS/MIPI LCD, please reflash the corresponding boot.img.

  • 10.1” MIPI LCD: boot_10.1inch_mipi.img

  • 10.1” LVDS LCD: boot_10.1inch_lvds.img

  • 7” LVDS LCD: boot_7inch_lvds.img

  • HDMI: boot_hdmi.img

reflash_boot

6.2 SD Card

Micro_SD

The EM3566 supports SD Hot-plug. After inserting the SD Card, an icon will appear on the desktop. Click the icon to automatically mount the device.

Debian_test_SD
_images/image086.png

mounted SD Card

6.3 USB

6.3.1 Micro USB

Micro USB

The micro USB is mainly used for firmware upgrades and ADB function.

ADB is the command-line debugging tool. It can use for system logs, uploading and downloading the files, installing the applications, etc.

❶ connect the board and PC host with Micro USB cable.

adb

❷ install ADB driver on Windows system.

❸ press Windows + R to open the Run program. Type cmd and press Enter

❹ execute commands to enable ADB and test.

Push the file com located in PC E:\EM3566\Tool\Test\ to the board for example:

1adb push E:\EM3566\Tool\Test\com /system
2adb shell
3chmod 777 /system/com    //modify com properties

6.3.2 USB Host

USB

The USB Host can be used to connect USB mouse, USB keyboard, U-Disk or other USB devices.

After inserting the USB flash drive, an icon will appear on the desktop. Click the icon to automatically mount the device.

Debian_Test_USB

mounted U-disk

USB2.0(high-speed) and USB3.0(SuperSpeed) disk detection:

Serial terminal output
root@linaro-alip:/# [   62.553766] usb 2-1.2: new high-speed USB device number 3 using ehci-platform
[   62.656096] usb 2-1.2: New USB device found, idVendor=23a9, idProduct=ef18, bcdDevice= 1.00
[   62.656176] usb 2-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[   62.656204] usb 2-1.2: Product: Teclast CoolFlash
[   62.656227] usb 2-1.2: Manufacturer: Generic
[   62.656248] usb 2-1.2: SerialNumber: 12DE9A41EC364FC0
[   62.658931] usb-storage 2-1.2:1.0: USB Mass Storage device detected
[   62.661927] scsi host0: usb-storage 2-1.2:1.0
[   63.684920] scsi 0:0:0:0: Direct-Access     Teclast  CoolFlash        1.00 PQ: 0 ANSI: 4
[   63.690789] sd 0:0:0:0: [sda] 62947520 512-byte logical blocks: (32.2 GB/30.0 GiB)
[   63.691943] sd 0:0:0:0: [sda] Write Protect is off
[   63.692669] sd 0:0:0:0: [sda] No Caching mode page found
[   63.692691] sd 0:0:0:0: [sda] Assuming drive cache: write through
[   63.712333]  sda: sda1
[   63.715793] sd 0:0:0:0: [sda] Attached SCSI removable disk
root@linaro-alip:/# [  154.169717] usb 2-1.2: USB disconnect, device number 3
root@linaro-alip:/# [  197.867142] usb 6-1: new SuperSpeed Gen 1 USB device number 2 using xhci-hcd
[  197.885700] usb 6-1: New USB device found, idVendor=3535, idProduct=6300, bcdDevice= 1.10
[  197.885765] usb 6-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[  197.885784] usb 6-1: Product: U330
[  197.885801] usb 6-1: Manufacturer: aigo
[  197.885816] usb 6-1: SerialNumber: 52A7B285B4956ADF
[  197.888730] usb-storage 6-1:1.0: USB Mass Storage device detected
[  197.890166] scsi host0: usb-storage 6-1:1.0
[  198.911775] scsi 0:0:0:0: Direct-Access     aigo     U330             PMAP PQ: 0 ANSI: 6
[  198.915226] sd 0:0:0:0: [sda] 122880000 512-byte logical blocks: (62.9 GB/58.6 GiB)
[  198.916123] sd 0:0:0:0: [sda] Write Protect is off
[  198.917255] sd 0:0:0:0: [sda] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA
[  199.141922]  sda: sda1
[  199.147127] sd 0:0:0:0: [sda] Attached SCSI removable disk

6.4 Video Player

Copy video file to SD card/U-disk then insert it to the board. After system boot execute the command to test.

6.4.1 Test 1080P

Test 1920 x 1080
1gst-play-1.0 --flags=3 --videosink=xvimagesink /usr/local/test.mp4

test.mp4 is the built-in video file.

Serial terminal output
root@linaro-alip:/# gst-play-1.0 --flags=3 --videosink=xvimagesink /usr/local/test.mp4
Press 'k' to see a list of keyboard shortcuts.
Now playing /usr/local/test.mp4
Redistribute latency...
0:00:06.1 / 0:00:10.0

or

1gst-play-1.0 --videosink=xvimagesink /XXX    //`XXX` is vedio file path

Play 1080p_h264.mp4 in /media/linaro/New/ for example:

Serial terminal output
root@linaro-alip:/# gst-play-1.0 --videosink=xvimagesink /media/linaro/New/1080p_h264.mp4
Press 'k' to see a list of keyboard shortcuts.
Now playing /media/linaro/New/1080p_h264.mp4
Redistribute latency...
0:00:07.4 / 0:09:56.4

6.4.2 Test 4K

Test 4K(max-fps to 50fps)
1export GST_MPP_VIDEODEC_DEFAULT_ARM_AFBC=1            //set AFBC
2cat /sys/kernel/debug/dri/0/state | grep "plane\["
3GST_DEBUG=*mpp*:4 gst-play-1.0 --flags=3 --videosink="kmssink plane-id=70" /XXX      //`XXX` is vedio file path
4GST_DEBUG=*mpp*:4 gst-play-1.0 --flags=3 --videosink="kmssink plane-id=70" /XXX --audiosink="alsasink device=hw:1,0"         //specify audio channel output

Play 4K.mp4 in /media/linaro/KINGSTON/ for example:

Serial terminal output
root@linaro-alip:/# export GST_MPP_VIDEODEC_DEFAULT_ARM_AFBC=1
root@linaro-alip:/# cat /sys/kernel/debug/dri/0/state | grep "plane\["
plane[56]: Smart0-win0
plane[70]: Cluster0-win0
plane[92]: Esmart0-win0
root@linaro-alip:/# GST_DEBUG=*mpp*:4 gst-play-1.0 --flags=3 --videosink="kmssink plane-id=70" /media/linaro/KINGSTON/4K.mp4
Press 'k' to see a list of keyboard shortcuts.
Now playing /media/linaro/KINGSTON/4K.mp4
0:00:01.382141889  1886   0x7f7c00ff00 INFO                  mppdec gstmppdec.c:519:gst_mpp_dec_apply_info_change:<mppvideodec0> applying NV12(AFBC) 3840x2160 (3840x2176)
0:00:01.424988310  1886   0x7f7c00ff00 INFO                  mppdec gstmppdec.c:943:gst_mpp_dec_loop:<mppvideodec0> video info changed
0:00:01.425223102  1886   0x7f7c00ff00 WARN                  mppdec gstmppdec.c:590:gst_mpp_dec_get_frame:<mppvideodec0> MPP is not able to generate pts
Redistribute latency...
0:00:40.2 / 0:18:47.1

Specify audio channel output:

Serial terminal output
root@linaro-alip:/# GST_DEBUG=*mpp*:4 gst-play-1.0 --flags=3 --videosink="kmssink plane-id=70" /media/linaro/KINGSTON/4K.mp4 --audiosink="alsasink device=hw:1,0"
Press 'k' to see a list of keyboard shortcuts.
Now playing /media/linaro/KINGSTON/4K.mp4
0:00:01.331122175  1909   0x7f78010f00 INFO                  mppdec gstmppdec.c:519:gst_mpp_dec_apply_info_change:<mppvideodec0> applying NV12(AFBC) 3840x2160 (3840x2176)
WARNING No volume control found
WARNING debug information: ../gst/playback/gstplaysink.c(2893): gen_audio_chain (): /GstPlayBin:playbin/GstPlaySink:playsink:
Volume/mute is not available
0:00:01.371058638  1909   0x7f78010f00 INFO                  mppdec gstmppdec.c:943:gst_mpp_dec_loop:<mppvideodec0> video info changed
0:00:01.371251138  1909   0x7f78010f00 WARN                  mppdec gstmppdec.c:590:gst_mpp_dec_get_frame:<mppvideodec0> MPP is not able to generate pts
Redistribute latency...
0:00:18.1 / 0:18:47.

6.5 Ethernet

Ethernet

Connect the Board and router with an Ethernet cable (default DHCP=Yes). User can ping URL/IP at terminal, or open the browser to test Network.

1ifconfig
2ping www.boardcon.com
Serial terminal output
root@linaro-alip:/# ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.0.216  netmask 255.255.255.0  broadcast 192.168.0.255
        inet6 fe80::2c87:301a:143f:691c  prefixlen 64  scopeid 0x20<link>
        ether 42:e2:e5:83:87:e3  txqueuelen 1000  (Ethernet)
        RX packets 33  bytes 3277 (3.2 KiB)
        RX errors 0  dropped 1  overruns 0  frame 0
        TX packets 11  bytes 1424 (1.3 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
        device interrupt 50

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 960  bytes 94080 (91.8 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 960  bytes 94080 (91.8 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

p2p0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        ether 62:fb:00:75:ac:f8  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

wlan0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        ether 60:fb:00:75:ac:f8  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
root@linaro-alip:/# ping www.boardcon.com
PING www.boardcon.com (67.222.54.196) 56(84) bytes of data.
64 bytes from 67-222-54-196.unifiedlayer.com (67.222.54.196): icmp_seq=1 ttl=48 time=188 ms
64 bytes from 67-222-54-196.unifiedlayer.com (67.222.54.196): icmp_seq=2 ttl=48 time=188 ms
64 bytes from 67-222-54-196.unifiedlayer.com (67.222.54.196): icmp_seq=3 ttl=48 time=188 ms
64 bytes from 67-222-54-196.unifiedlayer.com (67.222.54.196): icmp_seq=4 ttl=48 time=188 ms
64 bytes from 67-222-54-196.unifiedlayer.com (67.222.54.196): icmp_seq=5 ttl=48 time=188 ms
64 bytes from 67-222-54-196.unifiedlayer.com (67.222.54.196): icmp_seq=6 ttl=48 time=188 ms
64 bytes from 67-222-54-196.unifiedlayer.com (67.222.54.196): icmp_seq=7 ttl=48 time=187 ms
^C
--- www.boardcon.com ping statistics ---
7 packets transmitted, 7 received, 0% packet loss, time 10316ms
rtt min/avg/max/mdev = 187.422/187.759/188.116/0.253 ms

6.6 Audio I/O

Headset

❶ plug the Headset into the 3.5mm Audio jack.

❷ excute the commands to record and play.

1aplay -l                                                    //view sound card devices
2arecord -Dhw:1,0 -d 10 -f cd -r 44100 -c 2 -t wav test.wav  //record and save as test.wav
3aplay test.wav                                              //play test.wav and output via HDMI
4aplay -Dhw:1,0 test.wav                                     //output via headphone
Serial terminal output
root@linaro-alip:/# aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: rockchiphdmi [rockchip,hdmi], device 0: fe400000.i2s-i2s-hifi i2s-hifi-0 [fe400000.i2s-i2s-hifi i2s-hifi-0]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: rockchipes8388c [rockchip,es8388-codec], device 0: fe410000.i2s-ES8323 HiFi ES8323.1-0010-0 [fe410000.i2s-ES8323 HiFi ES8323.1-0010-0]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
root@linaro-alip:/# arecord -Dhw:1,0 -d 10 -f cd -r 44100 -c 2 -t wav test.wav
Recording WAVE 'test.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, Stereo
root@linaro-alip:/# aplay test.wav
Playing WAVE 'test.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, Stereo
root@linaro-alip:/# aplay -Dhw:1,0 test.wav
Playing WAVE 'test.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, Stereo

6.7 RTC

RTC

❶ insert a CR1220 battery before test. It keeps the time running when the main power is off.

❷ set date and time.

1date -s "2024-12-30 10:30:00"      //set system date
2hwclock -w                   //set the hardware clock to current system time
3hwclock
Serial terminal output
root@linaro-alip:/# date -s "2024-12-30 10:30:00"
Mon 30 Dec 2024 10:30:00 AM UTC
root@linaro-alip:/# hwclock -w
root@linaro-alip:/# hwclock
2024-12-30 10:30:16.203450+00:00
root@linaro-alip:/# hwclock
2024-12-30 10:31:47.870539+00:00

6.8 WiFi & Bluetooth

WiFi+BT

6.8.1 WiFi

❶ connect the WiFi antenna.

❷ click the network icon in the top right corner of the UI interface.

❸ select the SSID from the list of available networks and enter the password.

Debian_Test_WIFI
_images/Debian_wifi_password.png

After connected, user can ping URL/IP at terminal.

1ifconfig
2ping www.boardcon.com
Serial terminal output
root@linaro-alip:/# ifconfig
eth0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        ether 42:e2:e5:83:87:e3  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
        device interrupt 50

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 534  bytes 53860 (52.5 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 534  bytes 53860 (52.5 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

p2p0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        ether 62:fb:00:75:ac:f8  txqueuelen 1000  (Ethernet)
        RX packets 1690  bytes 232899 (227.4 KiB)
        RX errors 0  dropped 199  overruns 0  frame 0
        TX packets 54  bytes 6734 (6.5 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.0.213  netmask 255.255.255.0  broadcast 192.168.0.255
        inet6 fe80::4243:8705:4307:baf4  prefixlen 64  scopeid 0x20<link>
        ether 60:fb:00:75:ac:f8  txqueuelen 1000  (Ethernet)
        RX packets 1762  bytes 250608 (244.7 KiB)
        RX errors 0  dropped 224  overruns 0  frame 0
        TX packets 322  bytes 27805 (27.1 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

root@linaro-alip:/# ping www.boardcon.com
PING www.boardcon.com (67.222.54.196) 56(84) bytes of data.
64 bytes from 67-222-54-196.unifiedlayer.com (67.222.54.196): icmp_seq=1 ttl=48 time=193 ms
64 bytes from 67-222-54-196.unifiedlayer.com (67.222.54.196): icmp_seq=2 ttl=48 time=243 ms
64 bytes from 67-222-54-196.unifiedlayer.com (67.222.54.196): icmp_seq=3 ttl=48 time=239 ms
64 bytes from 67-222-54-196.unifiedlayer.com (67.222.54.196): icmp_seq=4 ttl=48 time=1859 ms
64 bytes from 67-222-54-196.unifiedlayer.com (67.222.54.196): icmp_seq=5 ttl=48 time=1047 ms
64 bytes from 67-222-54-196.unifiedlayer.com (67.222.54.196): icmp_seq=6 ttl=48 time=194 ms
^C
--- www.boardcon.com ping statistics ---
7 packets transmitted, 6 received, 14.2857% packet loss, time 6012ms
rtt min/avg/max/mdev = 192.657/629.124/1859.215/628.311 ms, pipe 2

6.8.2 Bluetooth

❶ click the Buletooth icon in the top right corner of the UI interface.

❷ click Search and select the available device in the list to pair.

_images/image097.png
_images/image099.png

Available device

or click Applications -> Settings -> Bluetooth Manager to search and pair Bluetooth devices.

_images/Search-BT.png

6.9 RS485

RS485

push the file com to the board via ADB

❷ connect PC and board with USB-to-RS485 adapter.

RS485 connection

RS485 connection

❸ open the Serial Terminal and set baud rate for the board and RS485 adapter respectively.

Baud rate: board - 1500000; RS485 adapter - 115200

RS485 baudrate

❹ execute command on the terminal serial port of the board.

1./system/com /dev/ttyS3 115200 8 0 1

❺ input character to test RS485 communication.

6.10 UART

UART

The UART loopback test is for reference only.

push the file com to the board via ADB

❷ connect the transmit (TX) pin to the receive (RX) pin of UART.

❸ execute the command in the terminal.

1./system/com /dev/ttyS4 115200 8 0 1  //test UART4

❹ input character to test UART.

Serial terminal output
root@linaro-alip:/# ./system/com /dev/ttyS4 115200 8 0 1
port = /dev/ttyS4
baudrate = 115200
cs = 8
parity = 0
stopb = 1
1234567890
RECV: 1234567890
abcdefg
RECV: abcdefg

❺ press Ctrl + C to exit UART4 testing, execute the command to test UART5.

1./system/com /dev/ttyS5 115200 8 0 1   //test UART5
Serial terminal output
root@linaro-alip:/# ./system/com /dev/ttyS5 115200 8 0 1
port = /dev/ttyS5
baudrate = 115200
cs = 8
parity = 0
stopb = 1
123456789999
RECV: 123456789999
abcdefghijk
RECV: abcdefghijk

6.11 M.2 SSD

SSD

EM3566 only supports ext4 format. Format SSD to ext4 file system on Ubuntu system first.

❶ view the SSD device name.

1ls /dev/block/

❷ format SSD on Ubuntu system.

1mke2fs -t ext4 /dev/block/nvme0n1

❸ mount SSD and test.

1mkdir /mnt/ssd                          //create a Mount Point
2mount -t ext4 /dev/nvme0n1 /mnt/ssd     //mount SSD
3ls /mnt/ssd
Serial terminal output
root@linaro-alip:/# mkdir /mnt/ssd
root@linaro-alip:/# mount -t ext4 /dev/nvme0n1 /mnt/ssd
[  147.097314] EXT4-fs (nvme0n1): recovery complete
[  147.097490] EXT4-fs (nvme0n1): mounted filesystem with ordered data mode.
Opts: (null)
root@linaro-alip:/# ls /mnt/ssd
2.wav  lost+found  test2  yang.mp3
root@linaro-alip:/#

6.12 4G & GPS

4G+GPS

6.12.1 4G

❶ insert 4G module to PCIe slot (4G model: EC20/EC25).

❷ connect antenna and insert SIM card.

❸ power on. Execute commands to connect 4G network.

1ifconfig eth0 down              //turn off eth0 to avoid DNS conflicts
2cd  /etc/ppp/peers
3pppd call quectel-ppp &         //realize ppp dialing
Serial terminal output
root@linaro-alip:/# ifconfig eth0 down
root@linaro-alip:/# cd /etc/ppp/peers
root@linaro-alip:/etc/ppp/peers# pppd call quectel-ppp &
[1] 1907
root@linaro-alip:/etc/ppp/peers# pppd options in effect:
debug           # (from /etc/ppp/peers/quectel-ppp)
nodetach                # (from /etc/ppp/peers/quectel-ppp)
dump            # (from /etc/ppp/peers/quectel-ppp)
noauth          # (from /etc/ppp/peers/quectel-ppp)
user test               # (from /etc/ppp/peers/quectel-ppp)
password ??????         # (from /etc/ppp/peers/quectel-ppp)
remotename 3gppp                # (from /etc/ppp/peers/quectel-ppp)
/dev/ttyUSB3            # (from /etc/ppp/peers/quectel-ppp)
115200          # (from /etc/ppp/peers/quectel-ppp)
lock            # (from /etc/ppp/peers/quectel-ppp)
connect chat -s -v -f /etc/ppp/peers/quectel-chat-connect               # (from /etc/ppp/peers/quectel-ppp)
disconnect chat -s -v -f /etc/ppp/peers/quectel-chat-disconnect         # (from /etc/ppp/peers/quectel-ppp)
nocrtscts               # (from /etc/ppp/peers/quectel-ppp)
modem           # (from /etc/ppp/peers/quectel-ppp)
asyncmap 0              # (from /etc/ppp/options)
lcp-echo-failure 4              # (from /etc/ppp/options)
lcp-echo-interval 30            # (from /etc/ppp/options)
hide-password           # (from /etc/ppp/peers/quectel-ppp)
novj            # (from /etc/ppp/peers/quectel-ppp)
novjccomp               # (from /etc/ppp/peers/quectel-ppp)
ipcp-accept-local               # (from /etc/ppp/peers/quectel-ppp)
ipcp-accept-remote              # (from /etc/ppp/peers/quectel-ppp)
ipparam 3gppp           # (from /etc/ppp/peers/quectel-ppp)
noipdefault             # (from /etc/ppp/peers/quectel-ppp)
ipcp-max-failure 30             # (from /etc/ppp/peers/quectel-ppp)
defaultroute            # (from /etc/ppp/peers/quectel-ppp)
usepeerdns              # (from /etc/ppp/peers/quectel-ppp)
noccp           # (from /etc/ppp/peers/quectel-ppp)
noipx           # (from /etc/ppp/options)
abort on (BUSY)
abort on (NO CARRIER)
abort on (NO DIALTONE)
abort on (ERROR)
abort on (NO ANSWER)
timeout set to 30 seconds
send (AT^M)
expect (OK)
^M
OK
 -- got it

send (ATE0^M)
expect (OK)
^M
^M
OK
 -- got it

send (ATI;+CSUB;+CSQ;+CPIN?;+COPS?;+CGREG?;&D2^M)
expect (OK)
^M
^M
Quectel^M
EC25^M
Revision: EC25EUXGAR08A17M1G^M
^M
SubEdition: V01^M
^M
+CSQ: 27,99^M
^M
+CPIN: READY^M
^M
+COPS: 0,0,"Suning\00",7^M
^M
+CGREG: 0,1^M
^M
OK
 -- got it

send (AT+CGDCONT=1,"IP","3gnet",,0,0^M)
expect (OK)
^M
^M
OK
 -- got it

send (ATD*99#^M)
expect (CONNECT)
^M
^M
CONNECT
 -- got it

Script chat -s -v -f /etc/ppp/peers/quectel-chat-connect finished (pid 1908), status = 0x0
Serial connection established.
using channel 2
Using interface ppp0
Connect: ppp0 <--> /dev/ttyUSB3
sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0x7cb15bc4> <pcomp> <accomp>]
rcvd [LCP ConfReq id=0x2 <asyncmap 0x0> <auth chap MD5> <magic 0xd0f81a87> <pcomp> <accomp>]
sent [LCP ConfAck id=0x2 <asyncmap 0x0> <auth chap MD5> <magic 0xd0f81a87> <pcomp> <accomp>]
rcvd [LCP ConfAck id=0x1 <asyncmap 0x0> <magic 0x7cb15bc4> <pcomp> <accomp>]
sent [LCP EchoReq id=0x0 magic=0x7cb15bc4]
rcvd [LCP DiscReq id=0x3 magic=0xd0f81a87]
rcvd [CHAP Challenge id=0x1 <56f66b9a9adba96d3f29165b5a2fb6ab>, name = "UMTS_CHAP_SRVR"]
sent [CHAP Response id=0x1 <9065a8e7d006626402368c8800987974>, name = "test"]
rcvd [LCP EchoRep id=0x0 magic=0xd0f81a87 7c b1 5b c4]
rcvd [CHAP Success id=0x1 ""]
CHAP authentication succeeded
CHAP authentication succeeded
sent [IPCP ConfReq id=0x1 <addr 0.0.0.0> <ms-dns1 0.0.0.0> <ms-dns2 0.0.0.0>]
sent [IPV6CP ConfReq id=0x1 <addr fe80::9996:8945:5726:0cb6>]
rcvd [IPCP ConfReq id=0x2]
sent [IPCP ConfNak id=0x2 <addr 0.0.0.0>]
rcvd [IPCP ConfNak id=0x1 <addr 10.67.197.62> <ms-dns1 120.80.80.80> <ms-dns2 221.5.88.88>]
sent [IPCP ConfReq id=0x2 <addr 10.67.197.62> <ms-dns1 120.80.80.80> <ms-dns2 221.5.88.88>]
rcvd [IPCP ConfReq id=0x3]
sent [IPCP ConfAck id=0x3]
rcvd [IPCP ConfAck id=0x2 <addr 10.67.197.62> <ms-dns1 120.80.80.80> <ms-dns2 221.5.88.88>]
Could not determine remote IP address: defaulting to 10.64.64.64
Script /etc/ppp/ip-pre-up started (pid 1917)
Script /etc/ppp/ip-pre-up finished (pid 1917), status = 0x0
local  IP address 10.67.197.62
remote IP address 10.64.64.64
primary   DNS address 120.80.80.80
secondary DNS address 221.5.88.88
Script /etc/ppp/ip-up started (pid 1920)
Script /etc/ppp/ip-up finished (pid 1920), status = 0x0
sent [IPV6CP ConfReq id=0x1 <addr fe80::9996:8945:5726:0cb6>]
IPV6CP: timeout sending Config-Requests
^C

❹ ping URL/IP at terminal to test Network.

1ifconfig                        //view network interface status
2ping www.boardcon.com           //ping URL
Serial terminal output
root@linaro-alip:/etc/ppp/peers# ifconfig
lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 954  bytes 97140 (94.8 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 954  bytes 97140 (94.8 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

p2p0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        ether 62:fb:00:75:ac:f8  txqueuelen 1000  (Ethernet)
        RX packets 1794  bytes 297754 (290.7 KiB)
        RX errors 0  dropped 386  overruns 0  frame 0
        TX packets 490  bytes 36543 (35.6 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

ppp0: flags=4305<UP,POINTOPOINT,RUNNING,NOARP,MULTICAST>  mtu 1500
        inet 10.67.197.62  netmask 255.255.255.255  destination 10.64.64.64
        ppp  txqueuelen 3  (Point-to-Point Protocol)
        RX packets 4  bytes 52 (52.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 14  bytes 198 (198.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

wlan0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        ether 60:fb:00:75:ac:f8  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 349554 (341.3 KiB)
        RX errors 0  dropped 385  overruns 0  frame 0
        TX packets 0  bytes 4813 (4.7 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
root@linaro-alip:/etc/ppp/peers# ping www.boardcon.com
PING www.boardcon.com (67.222.54.196) 56(84) bytes of data.
64 bytes from 67-222-54-196.unifiedlayer.com (67.222.54.196): icmp_seq=1 ttl=46 time=268 ms
64 bytes from 67-222-54-196.unifiedlayer.com (67.222.54.196): icmp_seq=2 ttl=46 time=280 ms
64 bytes from 67-222-54-196.unifiedlayer.com (67.222.54.196): icmp_seq=3 ttl=46 time=313 ms
64 bytes from 67-222-54-196.unifiedlayer.com (67.222.54.196): icmp_seq=4 ttl=46 time=418 ms
64 bytes from 67-222-54-196.unifiedlayer.com (67.222.54.196): icmp_seq=5 ttl=46 time=520 ms
^C
--- www.boardcon.com ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4003ms
rtt min/avg/max/mdev = 267.699/359.719/519.579/95.915 ms

6.12.2 GPS

❶ plug the EC20 module to mPCIe socket.

❷ connect GPS antenna.

❸ power on.

❹ execute commands to test GPS.

1echo -e "AT+QGPS=1\r\n" > /dev/ttyUSB2
2cat /dev/ttyUSB1
Serial terminal output
root@linaro-alip:/# echo -e "AT+QGPS=1\r\n" > /dev/ttyUSB2
root@linaro-alip:/# cat /dev/ttyUSB1
$GPVTG,,T,,M,,N,,K,N*2C

$GPGSA,A,1,,,,,,,,,,,,,,,,*1E

$GPGGA,,,,,,0,,,,,,,,*66

$GPRMC,,V,,,,,,,,,,N*53

$GPVTG,,T,,M,,N,,K,N*2C

$GPGSA,A,1,,,,,,,,,,,,,,,,*1E

$GPGGA,,,,,,0,,,,,,,,*66

6.13 IR

IR

❶ connect IR receiver to the IR port.

❷ turn on IR debugging log.

1echo 1 > /sys/module/rockchip_pwm_remotectl/parameters/code_print

❸ press the Infrared controller, you can view the received datas on the terminal.

Serial terminal output
root@linaro-alip:/# echo 1 > /sys/module/rockchip_pwm_remotectl/parameters/code_print
root@linaro-alip:/# [   60.031469] USERCODE=0xfe01
[   60.058533] RMC_GETDATA=ea
[   62.325287] USERCODE=0xfe01
[   62.352254] RMC_GETDATA=b8
[   62.837962] USERCODE=0xfe01
[   62.865063] RMC_GETDATA=b9
[   65.497958] USERCODE=0xfe01
[   65.524972] RMC_GETDATA=e7

6.14 ADC

ADC

Execute the command to view the SARADC_VIN value when it is in the following states:

  • floating

  • connect to GND

  • connect to VDDIO_18(1.8V)

Test SARADC_VIN2
1cat /sys/devices/platform/fe720000.saradc/iio:device0/in_voltage2_raw
Serial terminal output
root@linaro-alip:/# cat /sys/devices/platform/fe720000.saradc/iio:device0/in_voltage2_raw
892
root@linaro-alip:/# cat /sys/devices/platform/fe720000.saradc/iio:device0/in_voltage2_raw
13
root@linaro-alip:/# cat /sys/devices/platform/fe720000.saradc/iio:device0/in_voltage2_raw
1023
Test SARADC_VIN3
1cat /sys/devices/platform/fe720000.saradc/iio:device0/in_voltage3_raw

6.15 Camera

Camera

EM3566 Camera0 and camera1 share the signal I2C4, Boardcon Android 12 firmware default camera0 is enabled.

❶ connect the camera module (OV13850) to the camera0.

❷ power on.

❸ check camera device number.

1grep ov13850 /sys/class/video4linux/v*/name                 //check camera device number
2grep "" /sys/class/video4linux/v*/name | grep mainpath
Serial terminal output
root@linaro-alip:/# grep ov13850 /sys/class/video4linux/v*/name
/sys/class/video4linux/v4l-subdev5/name:m00_b_ov13850 4-0010
root@linaro-alip:/# grep "" /sys/class/video4linux/v*/name | grep mainpath
/sys/class/video4linux/video8/name:rkisp_mainpath

❹ preview/ record video/ take photos

1gst-launch-1.0 v4l2src device=/dev/video8 ! video/x-raw,format=NV16,width=1280,height=800, framerate=30/1 ! kmssink     //preview
2gst-launch-1.0 v4l2src device=/dev/video8 num-buffers=100 ! video/x-raw,format=NV12,width=1920,height=1088,framerate=30/1 ! videoconvert ! mpph264enc ! h264parse ! mp4mux ! filesink location=/tmp/h264.mp4    //record video
3gst-launch-1.0 -v v4l2src device=/dev/video8 num-buffers=10 ! video/x-raw,format=NV12,width=1280,height=800 ! mppjpegenc ! multifilesink location=/tmp/test%05d.jpg    //take a picture

The files are saved in /tmp

1root@linaro-alip:/# ls tmp