Difference between revisions of "RSB-3720 user guide"

From ESS-WIKI
Jump to: navigation, search
(Others:)
(GPIO使用方法(GPIO Operating Method))
Line 344: Line 344:
  
 
'''[[File:RSB-3720 4G pic7.png|RTENOTITLE]]'''
 
'''[[File:RSB-3720 4G pic7.png|RTENOTITLE]]'''
 +
  
 
=== '''GPIO使用方法(GPIO Operating Method)''' ===
 
=== '''GPIO使用方法(GPIO Operating Method)''' ===
Line 351: Line 352:
 
| style="width: 137px;" | GPIO Pin
 
| style="width: 137px;" | GPIO Pin
 
| style="width: 173px;" | Number
 
| style="width: 173px;" | Number
 +
| style="width: 173px;" | UIO-4030 GPIO
 
|-
 
|-
 
| style="width: 137px;" | GPIO2
 
| style="width: 137px;" | GPIO2
 
| style="width: 173px;" | 501
 
| style="width: 173px;" | 501
 +
| style="width: 173px;" |  
 
|-
 
|-
 
| style="width: 137px;" | GPIO4
 
| style="width: 137px;" | GPIO4
 
| style="width: 173px;" | 503
 
| style="width: 173px;" | 503
 +
| style="width: 173px;" |  
 
|-
 
|-
 
| style="width: 137px;" | GPIO5
 
| style="width: 137px;" | GPIO5
 
| style="width: 173px;" | 504
 
| style="width: 173px;" | 504
 +
| style="width: 173px;" | DB9-1 DI
 
|-
 
|-
 
| style="width: 137px;" | GPIO6
 
| style="width: 137px;" | GPIO6
 
| style="width: 173px;" | 505
 
| style="width: 173px;" | 505
 +
| style="width: 173px;" | DB9-6 DO
 
|-
 
|-
 
| style="width: 137px;" | GPIO7
 
| style="width: 137px;" | GPIO7
 
| style="width: 173px;" | 506
 
| style="width: 173px;" | 506
 +
| style="width: 173px;" | DB9-2 DI
 
|-
 
|-
 
| style="width: 137px;" | GPIO8
 
| style="width: 137px;" | GPIO8
 
| style="width: 173px;" | 507
 
| style="width: 173px;" | 507
 +
| style="width: 173px;" | DB9-7 DO
 
|-
 
|-
 
| style="width: 137px;" | GPIO9
 
| style="width: 137px;" | GPIO9
 
| style="width: 173px;" | 508
 
| style="width: 173px;" | 508
 +
| style="width: 173px;" | DB9-3 DI
 
|-
 
|-
 
| style="width: 137px;" | GPIO10
 
| style="width: 137px;" | GPIO10
 
| style="width: 173px;" | 509
 
| style="width: 173px;" | 509
 +
| style="width: 173px;" | DB9-8 DO
 
|-
 
|-
 
| style="width: 137px;" | GPIO11
 
| style="width: 137px;" | GPIO11
 
| style="width: 173px;" | 139
 
| style="width: 173px;" | 139
 +
| style="width: 173px;" | DB9-4 DI
 
|-
 
|-
 
| style="width: 137px;" | GPIO12
 
| style="width: 137px;" | GPIO12
 
| style="width: 173px;" | 138
 
| style="width: 173px;" | 138
 +
| style="width: 173px;" | DB9-9 DO
 
|}
 
|}
  

Revision as of 09:31, 1 November 2024

Contents

產品介紹(Product introduction )

產品特性(Product Features)

  • NXP Arm® Cortex®-A53 i.MX8M Plus Quad/Dual up to 1.8 GHz
  • Onboard LPDDR4 4 GB / 6 GB, 4000MT/s memory
  • HDMI 1920x1080 at 60Hz, 1 Single or 1 Dual Channel 24 bit LVDS (or 1 4-Lane MIPI-DSI by BOM Option)
  • 1 4-wire RS-232/422/485, 1 USB3.2 Gen1 By 1, 1 USB2.0, 1 Micro SD, 1 Mic. in / Line out
  • 1 mini-PCIe for 3G/4G, 1 M.2 2230 Key E Slot
  • Supports Yocto Linux and Android
  • Support I/O Expansions boards by UIO40-Express

產品官網連結(Product official website link) 

RSB-3720

硬件接口說明(Hardware interface introduction)

接口布局和尺寸(Layout and Sizes)

RSB-3720 接口布局圖(Board Dimension Layout) 

 

RTENOTITLE

RTENOTITLE

 

RTENOTITLE

 

BAT RTC Battery Connector
BL1 LVDS Backlight 1 
BL2 LVDS Backlight 2 
COM1  COM + CAN Pin Header (default as debug console) 
CSI1 MIPI-CSI Camera Input 1
CSI2 MIPI-CSI Camera Input 2 
DCIN/DCIN 1 12V DC Power Inout by DC Jack / by Pin Header 
HDMI  HDMI CONN
LAN1 Ethernet 1 
LAN2  Ethernet 2
LOUT Line Out Pin Header
LVDS LVDS CONN.
M2 M.2 Key E CONN.
MIC MIC In Pin Header
MPCIE Mini-PCIe CONN.
RST Rest Button
SD SD Slot
UIO1  UIO40-Express Pin Header 1 
UIO2  UIO40-Express Pin Header 2 
USB1 USB CONN. (USB 3.2 Gen 1 on TOP + USB 2.0 on BOT)

 

接口引脚定義 (Pin definitions)

 

 

機械尺寸(Mechanical Characteristics)

RTENOTITLE

快速入門 (Quick Start)

系统下载 (OS Download)

  • Linux系统 (Linux OS)

Yocto 3.0:IoTGateway/BSP/Linux/iMX8/OS Support List 3.0

Yocto 3.3:IoTGateway/BSP/Linux/iMX8/OS Support List 3.3 RSB-3720

Yocto 4.0: IoTGateway/BSP/Linux/iMX8/OS Support List 4.0 release RSB-3720

 

 Linux 燒錄方法 (Linux Flash eMMC Method) 

    1. 創建一個可以開機的SD Card (Create a bootable SD card )  

     先確認SD卡在Ubuntu 系統(x86) 所認到的SD卡代號 ( Check the SD card symbol in Ubuntu System (x86)

      Command: sudo fdisk - l 

      RTENOTITLE

   2. 燒錄鏡像到SD 卡中. (Flash Image into SD card) 

        Command : sudo dd if=3720A1AIM30LIVA0333_iMX8MP_6G_2021-10-05.img of=/dev/sdf bs=1M conv=fsync 

     RTENOTITLE

   3. 將flash tool 拷貝到U盤  (Cpye the eMMC flash tool into USB Disk ) 

      RTENOTITLE

4. 設定終端機(Set Debug Terminal) 

Debug 串口調試 (Debug port Setting)

以 Tera Term  為例介绍如何使用串口調試功能 ( Tera Term is kind of terminal tool , we need to set  the parameter (Baud Rate , Data, Parity, Stop, Flow Control )  into "Tera Term  terminal tool " )  

   波特率(Baud Rate):115200
   數據位(Data):8
   奇偶校驗(Parity):无 (none)
   停止位(Stop):1
   流控(Flow Control):无 (none) 

Tera Term Tool 

Check the Sriel port in Device Manager (查看PC端的串口號):

if you can not identify the Serial device , please check your serial driver. 

 

5. 將可開機的SD 卡插入 SD 插槽, 並打開電源開機     (Plug into the SD card into SD Card Slot , then turn on the power) 

   RTENOTITLE

6. 確認撥碼開關 為 SD 卡開機模式  (Check the Switch)

SD 卡開機: 1, 2 on  (Set the SD card boot up mode ,  1 on  2 on ) 

RTENOTITLE

'eMMC 開機: '2 on ( Set the eMMC boot up mode , 2 on , others off) 

RTENOTITLE

7.打開電源,由終端機可看到開機訊息  (Turn on the power , you will see the debug message from Terminal tool ) 

RTENOTITLE

8. 開機後 請再重新開機一次,系統將會重新劃分磁區大小. (If you can not not copy the eMMC flash tool into root file system , please reboot the device , because , the system will the reconfigure the partition )

9. 燒錄eMMC前, 請將U盤插入USB port   (Please pulg the USB Disk into USB port before flash eMMC)

10. 在系統確認U盤 (Check the USB disk in the Yocto System (Device side) ) 

     RTENOTITLE

11. 將flash tool 燒錄鏡像,拷貝到根目錄 (Copy the flash tool into root file system) 

 RTENOTITLE

RTENOTITLE

12. 解壓縮 flash tool  (Unzip the flash tool ) 

RTENOTITLE

13. 執行燒錄eMMC  (Exeucte the eMMC flash script )

   Note: eMMC : /dev/mmcblk2

  RTENOTITLE

14. 移除SD卡 ,重新開機,並切換撥碼開關  (Remove the SD card , Change the Switch to eMMC mode , then reboot the system) 

RTENOTITLE

15. 從eMMC 開機,debug 訊息  (You will see the debug message when you boot up from eMMC flash ) 

RTENOTITLE

    

Linux系统的基本使用(Linux System Basic Operating Method)

Display Setting (RSB-3720)

      U-boot Command                    

  • Display
    • HDMI (default)
      • imx8mp-rsb3720-a1.dtb
    • LVDS
      • g070vw01(LVDS0) + HDMI
        • imx8mp-rsb3720-a1-lvds0-auo.dtb
      • g070vw01(LVDS1) + HDMI
        • imx8mp-rsb3720-a1-lvds1-auo.dtb
      • g215hvn01(DUAL LVDS) + HDMI
        • imx8mp-rsb3720-a1-lvds-dual.dtb
    • DSI
      • adv7535(DSI to HDMI) + HDMI
        • imx8mp-rsb3720-a1-adv7535.dtb
      • auog101uan02(DSI) + HDMI
        • imx8mp-rsb3720-a1-auog101uan02.dtb
  • Camera
    • OV5640 (default)
      • imx8mp-rsb3720-a1.dtb
    • Basler camrea
      • imx8mp-rsb3720-a1-basler.dtb


乙太網路使用方法(Ethernent Testing Method)

Command : ifconfig 

RTENOTITLE

RTENOTITLE

Command: Ping 8.8.8.8 

RTENOTITLE

Change IP Addr Command:

Check Active Ethernet interface:

root@imx8mprsb3720a1:~# connmanctl services
*AR Wired                ethernet_74fe485e4fbd_cable

Set static IP Addr: 

  1. connmanctl config <service> --ipv4 manual <ip address> <netmask> <gateway>
    # connmanctl config <service> --nameservers <dns-addr>

Example:

root@imx8mprsb3720a1:~# connmanctl config ethernet_74fe485e4fbd_cable --ipv4 manual 192.168.1.100 255.255.255.0 192.168.1.254
root@imx8mprsb3720a1:~# connmanctl config ethernet_74fe485e4fbd_cable --nameservers 8.8.8.8 4.4.4.4

RJ45 LED Indicator:

Speed Left Right Command
10M OFF link green ethtool -s eth0 autoneg on speed 10 duplex full
100M ON 橙 link green ethtool -s eth0 autoneg on speed 100 duplex full
1000M ON 綠 link green ethtool -s eth0 autoneg on speed 1000 duplex full

WiFi使用方法(WIFI Testing Method)

# killall wpa_supplicant
# ifconfig wlan0 up
# wpa_passphrase "SSID" "PASSWORD" > /tmp/wpa.conf
# cat /tmp/wpa.conf
# wpa_supplicant -BDwext -iwlan0 -c/tmp/wpa.conf
# udhcpc -b -i wlan0
# ifconfig
# ping 8.8.8.8
Add DNS to /etc/resolv.conf
# cat /etc/resolv.conf
# Generated by Connection Manager
nameserver 8.8.8.8
nameserver 8.8.4.4
Now can ping google.com
# ping google.com


4G使用方法(4G Testing Method, Test with EWM-C117)

Check and change module to pppd mode
# stty -F /dev/ttyUSB3 –echo
# cat /dev/ttyUSB3 &
# echo AT+UUSBCONF? > /dev/ttyUSB3
 RTENOTITLE
Change to pppd mode:
# echo AT+UUSBCONF=0 > /dev/ttyUSB3
 RTENOTITLE
# echo AT+CFUN=16 > /dev/ttyUSB3
 RTENOTITLE
The module will be change to ttyACM0*, check again
# stty -F /dev/ttyACM0 –echo
# cat /dev/ttyACM0 &
# echo AT+UUSBCONF? > /dev/ttyACM0
 RTENOTITLE
Set module to con
# stty -F /dev/ttyACM0 -echo
# cat /dev/ttyACM0 &
# echo AT+csq > /dev/ttyACM0
# echo AT+cops? > /dev/ttyACM0
# echo AT+cgdcont? > /dev/ttyACM0
 RTENOTITLE
Connect to Internet:
# pppd connect 'chat -v -s -t 10 "" "AT" "" "ATDT*99***4#" "CONNECT" ""' user username password password /dev/ttyACM2 460800 nodetach crtscts debug usepeerdns defaultroute &
# ifconfig
 RTENOTITLE
# ping 8.8.8.8

RTENOTITLE


GPIO使用方法(GPIO Operating Method)

GPIO Pin Number UIO-4030 GPIO
GPIO2 501  
GPIO4 503  
GPIO5 504 DB9-1 DI
GPIO6 505 DB9-6 DO
GPIO7 506 DB9-2 DI
GPIO8 507 DB9-7 DO
GPIO9 508 DB9-3 DI
GPIO10 509 DB9-8 DO
GPIO11 139 DB9-4 DI
GPIO12 138 DB9-9 DO

Short GPIO pin 2 & pin 4

RTENOTITLE

Short GPIO pin 5 & pin 6

RTENOTITLE

Short GPIO pin 7 & pin 8

RTENOTITLE

Short GPIO pin 9 & pin 10 

RTENOTITLE

Short GPIO pin 11 & pin 12

RTENOTITLE

 

 

LED_USER使用方法(LED_USER ON/OFF test)

ON: echo 255 > /sys/class/leds/user/brightness
OFF: echo 0 > /sys/class/leds/user/brightness


COM1複合使用方法(COM1 complex Port Operating Method) 

Note : please set the rs-485 , rs-422 GPIO setting with ssh console. 

RTENOTITLE

RTENOTITLE

RTENOTITLE

RTENOTITLE

RTENOTITLE

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

RS-232 default as debug console)

RTENOTITLE

RS-485 test
Test RS-485 with Adam-4520. Adam-4520 Pin to RSB-3720 COM1
Data- : Pin 1: COM_DCD
Data+ : Pin 3: COM_RXD

RS-485 test
# 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
# ./enable485 /dev/ttymxc2
# 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
Will print “Serial Test” through RS-485

RS-232  --  Disable console

Disable debug message output can also improve boot speed

Disable kernel message

setenv mmcargs setenv bootargs ${jh_clk} console=${console} modprobe.blacklist=${modprobe.blacklist} root=${mmcroot} video=HDMI-A-1:${videores} '''quiet'''
env save
reset

Or

Disable debug port

(1) Yocto machine setting:

modify /sources/meta-advantech/meta-fsl-imx/conf/machine$/${MC}.conf

SERIAL_CONSOLES = ";"

(2) Uboot parameter setting:

  • For the imx8mq, imx8mm, imx8mp:
setenv console disabled
env save
reset

CANBus or CAN-FD[edit]

(Please note that the CAN function on RSB-3720 COM1 Pin Header is CANBus only with RSB-3720CQ & RSB-3720CD, RSB-3720 COM1 Pin Header is CANB-FD only with RSB-3720WQ & RSB-3720WD) 
Step 1: Connect the UIO-4034 A101-2 CANbus port Pin 2 and Pin 7 to RSB-3720 COM1 with 1700100250 cable, pin 9 and Pin 6 of the DB9. 
Step 2: Set CAN0 and CAN1 up.

root@imx8mprsb3720a1:~# ip link set can0 up type can bitrate 125000 
[ 1362.935162] IPv6: ADDRCONF(NETDEV_CHANGE): can0: link becomes ready 
root@imx8mprsb3720a1:~# ifconfig can0 up 
root@imx8mprsb3720a1:~# ip link set can1 up type can bitrate 125000 
[ 1381.546624] IPv6: ADDRCONF(NETDEV_CHANGE): can1: link becomes ready 
root@imx8mprsb3720a1:~# ifconfig can1 up

Step 3: candump CAN0

root@imx8mprsb3720a1:~# candump can0 & 
[1] 965

Step 4: candump CAN1

root@imx8mprsb3720a1:~# cansend can1 1F334455#1122334455667788 
root@imx8mprsb3720a1:~# can0 1F334455 [8] 11 22 33 44 55 66 77 88

藍牙使用方法(BlueTooth Operating Method)

# hciattach /dev/ttymxc0 bcm43xx 115200 flow
# hciconfig hci0 up
# hcitool scan# bluetoothctl
# discoverable on
#pairable on
# scan on
# scan off
# pair 84:C5:A6:D3:AF:E4
# connect 84:C5:A6:D3:AF:E4
Check BT connect info
# info 84:C5:A6:D3:AF:E4


音訊使用方法(BlueTooth Operating Method)

Line-in , Line-out, MIC
1.Line-out
Command : gplay-1.0
2.MIC
Command : arecord
Check audio codec:
# cat /proc/asound/cards
0 [sgtl5000       ]: sgtl5000 - sgtl5000
                      sgtl5000
1 [audiohdmi      ]: audio-hdmi - audio-hdmi
                      audio-hdmi
root@imx8mprsb3720a1:~#
   Set Mic/audio volume
# amixer set Mic 100%
# amixer set Lineout 100%
# amixer set PCM 100%
Record and playback
Example command:
# arecord –t wav –c 1 –r 44100 –d 5 /tmp/mic.wav
# aplay /tmp/mic.wav
Record from MIC:
# arecord -D plughw:0,0 -r 16000 -f S16_LE ./f-16000.wav
Recording WAVE './f-16000.wav' : Signed 16 bit Little Endian, Rate 16000 Hz, Mono
# aplay f-16000.wav
Playing WAVE 'f-16000.wav' : Signed 16 bit Little Endian, Rate 16000 Hz, Mono
Play wav file from codec:
# aplay -D plughw:0,0 file_example_WAV_10MG.wav
Playing WAVE 'file_example_WAV_10MG.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, Stereo
Play wav file from HDMI:
# aplay -D plughw:1,0 file_example_WAV_10MG.wav
Playing WAVE 'file_example_WAV_10MG.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, Stereo
Play wav file from HDMI with gst-launch:
# gst-launch-1.0 filesrc location=LRMonoPhase4.wav ! wavparse ! audioconvert ! audioresample ! autoaudiosink

I2C 測試( I2C Test method) 

Check I2C device (Audio codec: 0-000a)
# i2cdetect -y 0
I2C set and get:
# i2cset -f -y 0 0x0a 0 0xff00 w
# i2cget -f -y 0 0x0a 0 w
0x11a0

看門狗測試 (Watch Dog Test method) 

System will reboot after 1 sec
# /unit_tests/Watchdog/wdt_driver_test.out 1 2 0

RTENOTITLE

攝像頭測試(Camera Test method) 

Check MIPI CSI camera 
MIPI CSI0:
MIPI CSI1:

MIPI CSI0 - ov5640
Preview:
# gst-launch-1.0 v4l2src device=/dev/video0 ! video/x-raw,width=640,height=480 ! waylandsink
Capture:
# gst-launch-1.0 v4l2src num-buffers=1 device=/dev/video0 ! video/x-raw,width=640,height=480 ! jpegenc ! filesink location=sample.jpeg
MIPI CSI1 – ov5640
Preview:
# gst-launch-1.0 v4l2src device=/dev/video1 ! video/x-raw,width=640,height=480 ! waylandsink
Capture:
# gst-launch-1.0 v4l2src num-buffers=1 device=/dev/video1 ! video/x-raw,width=640,height=480 ! jpegenc ! filesink location=sample.jpeg

遠程訪問及文件傳輸(Remote Access and File Transimmion)

              查看主板IP位址 ( check IP Address ):

        Command : ifconfig

RTENOTITLE

 

Windows下SSH訪問及文件傳輸

SSH Remote Log into Device 

  • SSH遠程登陸,以putty選擇putty.exe(或者使用Xshell、SecureCRT等類似軟件)
  • 需要設置遠程設備的IP、通訊端口(默認22)、通訊方式錄后驗證用户名密碼

 

RTENOTITLE

RTENOTITLE

 

RTENOTITLE

RTENOTITLE

通用方法(General Method)

查看CPU温度(Check CPU Temperature)

    root@imx8mprsb3720a1:/# cat /sys/devices/virtual/thermal/thermal_zone0/temp   40000

    # 或者直接以度爲單位顯示 echo $[$(cat /sys/class/thermal/thermal_zone0/temp)/1000]° >>> 40°

查看CPU频率(Check CPU Frequency)

           cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_cur_freq 
           >> 1200000
           cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq    
           >> 1800000

查看内存容量(Check Memory Capacity)

root@imx8mprsb3720a1:/# busybox free -m
              total        used        free      shared  buff/cache   available
Mem:        6002524      393988     5517304       18460       91232     5507676
Swap:             0           0           0

 

查看存储容量(Check Storage Capacity)

root@imx8qxprom5620a1:/# busybox df -h
Filesystem                Size      Used Available Use% Mounted on
/dev/root                13.4G      1.7G     11.1G  13% /
devtmpfs                395.8M      4.0K    395.8M   0% /dev
tmpfs                   876.4M         0    876.4M   0% /dev/shm
tmpfs                   876.4M     16.5M    859.9M   2% /run
tmpfs                   876.4M         0    876.4M   0% /sys/fs/cgroup
tmpfs                   876.4M      4.0K    876.4M   0% /tmp
tmpfs                   876.4M    280.0K    876.2M   0% /var/volatile
/dev/mmcblk0p2           13.6G      1.7G     11.3G  13% /run/media/mmcblk0p2
/dev/mmcblk0p1           63.9M     23.4M     40.5M  37% /run/media/mmcblk0p1
/dev/mmcblk1p1           63.9M     23.4M     40.5M  37% /run/media/mmcblk1p1
tmpfs                   175.3M     88.0K    175.2M   0% /run/user/0
root@imx8qxprom5620a1:/#

 


網路Ping測試(Ping Network Testing)

     ping 8.8.8.8
     PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
     64 bytes from 8.8.8.8: icmp_seq=1 ttl=54 time=2.10 ms
     64 bytes from 8.8.8.8: icmp_seq=2 ttl=54 time=2.10 ms

 

 

 




設置固定IP與DNS(Set static IP address and DNS)

use systemd-networkd:

Check running service:

systemctl --type=service
systemctl --type=service | grep --ignore-case 'network'

Set DNS:

# cat /etc/systemd/network/20-wired.network
[Match]
Name=eth0
[Network]
DHCP=ipv4
DNS=8.8.8.8
# cat /etc/systemd/network/21-wired.network
[Match]
Name=eth1
[Network]
DHCP=ipv4
DNS=8.8.4.4
# systemctl restart systemd-networkd
root@imx8mprsb3720a1:~# [  589.202133] imx-dwmac 30bf0000.ethernet eth1: PHY [stmmac-1:00] driver [RTL8211F Gigabit Ethernet]
[  589.227041] imx-dwmac 30bf0000.ethernet eth1: No Safety Features support found
[  589.234333] imx-dwmac 30bf0000.ethernet eth1: IEEE 1588-2008 Advanced Timestamp supported
[  589.243248] imx-dwmac 30bf0000.ethernet eth1: registered PTP clock
[  589.249491] imx-dwmac 30bf0000.ethernet eth1: configuring for phy/rgmii-id link mode
[  589.257687] 8021q: adding VLAN 0 to HW filter on device eth1
[  589.518704] RTL8211F Gigabit Ethernet 30be0000.ethernet-1:00: attached PHY driver [RTL8211F Gigabit Ethernet] (mii_bus:phy_addr=30be0000.ethernet-1:00, irq=175)
[  592.419369] fec 30be0000.ethernet eth0: Link is Up - 1Gbps/Full - flow control rx/tx
[  592.427154] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
# networkctl status
*   State: routable
  Address: 172.22.16.82 on eth0
           fe80::76fe:48ff:fe73:be98 on eth0
  Gateway: 172.22.19.254 on eth0
      DNS: 8.8.4.4
           8.8.8.8
           172.22.2.99
           172.20.1.99

 

use connmanctl:

Check network services:

# connmanctl services
*AR Wired                ethernet_74fe4873be98_cable

Check network setting:

# connmanctl services ethernet_74fe4873be98_cable
/net/connman/service/ethernet_74fe4873be98_cable
  Type = ethernet
  Security = [  ]
  State = online
  Favorite = True
  Immutable = False
  AutoConnect = True
  Name = Wired
  Ethernet = [ Method=auto, Interface=eth0, Address=74:FE:48:73:BE:98, MTU=1500 ]
  IPv4 = [ Method=dhcp, Address=172.22.16.190, Netmask=255.255.252.0, Gateway=172.22.19.254 ]
  IPv4.Configuration = [ Method=dhcp ]
  IPv6 = [  ]
  IPv6.Configuration = [ Method=auto, Privacy=disabled ]
  Nameservers = [ 172.22.2.99, 172.20.1.99 ]
  Nameservers.Configuration = [  ]
  Timeservers = [  ]
  Timeservers.Configuration = [  ]
  Domains = [ ADVANTECH.CORP ]
  Domains.Configuration = [  ]
  Proxy = [ Method=direct ]
  Proxy.Configuration = [  ]
  mDNS = False
  mDNS.Configuration = False
  Provider = [  ]

Set static IP Address:

# connmanctl config ethernet_74fe4873be98_cable --ipv4 manual 192.168.0.1 255.255.255.0 192.168.0.254
# connmanctl services ethernet_74fe4873be98_cable
/net/connman/service/ethernet_74fe4873be98_cable
  Type = ethernet
  Security = [  ]
  State = ready
  Favorite = True
  Immutable = False
  AutoConnect = True
  Name = Wired
  Ethernet = [ Method=auto, Interface=eth0, Address=74:FE:48:73:BE:98, MTU=1500 ]
  IPv4 = [ Method=manual, Address=192.168.0.1, Netmask=255.255.255.0, Gateway=192.168.0.254 ]
  IPv4.Configuration = [ Method=manual, Address=192.168.0.1, Netmask=255.255.255.0, Gateway=192.168.0.254 ]
  IPv6 = [  ]
  IPv6.Configuration = [ Method=auto, Privacy=disabled ]
  Nameservers = [  ]
  Nameservers.Configuration = [  ]
  Timeservers = [  ]
  Timeservers.Configuration = [  ]
  Domains = [  ]
  Domains.Configuration = [  ]
  Proxy = [ Method=direct ]
  Proxy.Configuration = [  ]
  mDNS = False
  mDNS.Configuration = False
  Provider = [  ]

Set DNS server:

# connmanctl config ethernet_74fe4873be98_cable --nameservers 8.8.8.8 8.8.4.4
# connmanctl services ethernet_74fe4873be98_cable
/net/connman/service/ethernet_74fe4873be98_cable
  Type = ethernet
  Security = [  ]
  State = ready
  Favorite = True
  Immutable = False
  AutoConnect = True
  Name = Wired
  Ethernet = [ Method=auto, Interface=eth0, Address=74:FE:48:73:BE:98, MTU=1500 ]
  IPv4 = [ Method=manual, Address=192.168.0.1, Netmask=255.255.255.0, Gateway=192.168.0.254 ]
  IPv4.Configuration = [ Method=manual, Address=192.168.0.1, Netmask=255.255.255.0, Gateway=192.168.0.254 ]
  IPv6 = [  ]
  IPv6.Configuration = [ Method=auto, Privacy=disabled ]
  Nameservers = [ 8.8.8.8, 8.8.4.4 ]
  Nameservers.Configuration = [ 8.8.8.8, 8.8.4.4 ]
  Timeservers = [  ]
  Timeservers.Configuration = [  ]
  Domains = [  ]
  Domains.Configuration = [  ]
  Proxy = [ Method=direct ]
  Proxy.Configuration = [  ]
  mDNS = False
  mDNS.Configuration = False
  Provider = [  ]

Changing the IP back to dhcp:

# connmanctl config ethernet_74fe4873be98_cable --ipv4 dhcp
# connmanctl services ethernet_74fe4873be98_cable
/net/connman/service/ethernet_74fe4873be98_cable
  Type = ethernet
  Security = [  ]
  State = ready
  Favorite = True
  Immutable = False
  AutoConnect = True
  Name = Wired
  Ethernet = [ Method=auto, Interface=eth0, Address=74:FE:48:73:BE:98, MTU=1500 ]
  IPv4 = [ Method=dhcp, Address=172.22.16.82, Netmask=255.255.252.0, Gateway=172.22.19.254 ]
  IPv4.Configuration = [ Method=dhcp ]
  IPv6 = [  ]
  IPv6.Configuration = [ Method=auto, Privacy=disabled ]
  Nameservers = [ 8.8.8.8, 8.8.4.4 ]
  Nameservers.Configuration = [ 8.8.8.8, 8.8.4.4 ]
  Timeservers = [  ]
  Timeservers.Configuration = [  ]
  Domains = [ ADVANTECH.CORP ]
  Domains.Configuration = [  ]
  Proxy = [ Method=direct ]
  Proxy.Configuration = [  ]
  mDNS = False
  mDNS.Configuration = False
  Provider = [  ]

Disable connman:

# systemctl stop connman
# systemctl disable connman
# systemctl daemon-reload
# systemctl restart systemd-networkd

Check DNS currently in use by systemd-resolved

# resolvectl status
# networkctl sttaus

DNS cannot work after disable connman service: systemd-resolved

# ls -al /etc/resolv.conf
# ln -sf /run/systemd/resolve/stub-resolv.conf /etc/resolv.conf
# systemctl daemon-reload
# systemctl restart systemd-networkd
# systemctl restart systemd-resolved

設置RTC (RTC Setting) 

 Disable RTC sync service
# systemctl disable ntpd.service
 RTENOTITLE
# systemctl stop systemd-timesyncd
# systemctl stop ntpdate.service
 RTENOTITLE
Set system time to current, then write to RTC
# date 040710522021 && hwclock -w && date
 RTENOTITLE
Set incorrect time, then read time from RTC
# date 010100002000 && hwclock -r && date
 RTENOTITLE
Restart the RTC time to system time
# hwclock -s && date

RTENOTITLE 




設置LVDS clock (LVDS clock setting)

Reference: 

Limited PLL options for setting up LVDS pixel clock on IMX8MP

LVDS PLL of imx8mp.pdf

設置MX8MP_LVDS_clock (Setup MX8MP_LVDS_clock)

Screenshot on weston by weston-screenshooter

Add "--debug" in /lib/systemd/system/weston@.service

RTENOTITLE

Save and exit. Type command to reload the sercive:

root@imx8mprsb3720a1:~# systemctl daemon-reload
root@imx8mprsb3720a1:~# systemctl restart weston@root
root@imx8mprsb3720a1:~# weston --debug
root@imx8mprsb3720a1:~# weston-screenshooter

It will generate the screenshot wayland-screenshot*.png file:

RTENOTITLE

 


Autoexec program after login to the system

Place the script file under /etc/profile.d/

root@imx8mprsb3720a1:~# cat /etc/profile.d/
bash_completion.sh  gawk.csh            gawk.sh             qt5.sh              test.sh             tslib.sh            weston.sh
root@imx8mprsb3720a1:~# cat /etc/profile.d/test.sh
#!/bin/sh

echo "I am running here..."
root@imx8mprsb3720a1:~#

imx8mprsb3720a1 login: root
Last login: Mon May 13 08:31:03 UTC 2024 on tty7
I am running here...
root@imx8mprsb3720a1:~#



Others:

conf/local.conf

HDMI screen rotation

Erase_eMMC

Weston.ini

Linux BSP編譯方法(Linux BSP Compile Method)

Yocto 4.2

Yocto 4.0

Yocto 3.3 

Yocto 3.0

如果有驗證上的錯誤 請使用以下的方法 (if you have the build error , please  use " git config --global http.sslverify false" 

### repo sync failed with Server certificate verification failed. CAfile: /etc/ssl/certs/ca-certificates.crt CRLfile: none
============================================================
export GIT_SSL_NO_VERIFY=1
#or
git config --global http.sslverify false
============================================================

 

Add git and vim into image:

Add below in "conf/local.conf" file:

IMAGE_INSTALL_append = " git-perltools vim "

For install vim in xwayland, please add below into "meta/recipes-support/vim/vim_8.1.1518.bb b/meta/recipes-support/vim/vim_8.1.1518.bb" fie:

PACKAGECONFIG_remove = " x11 "

Yocto 4.0 cannot fetch git submodule:
At path "~/adv-release-bsp/$build_folder/tmp/work/armv8a-poky-linux/nnshark/2021.10.imx-r0/git"
git config submodule.common.url https://github.com/GStreamer/common.git

 

Yocto 4.2 cannot fetch git submodule:

diff --git a/meta-ml/recipes-nnstreamer/nnshark/nnshark_2021.10.imx.bb b/meta-ml/recipes-nnstreamer/nnshark/nnshark_2021.10.imx.bb
index f0e6fe73bd..3fc90f526e 100644
--- a/meta-ml/recipes-nnstreamer/nnshark/nnshark_2021.10.imx.bb
+++ b/meta-ml/recipes-nnstreamer/nnshark/nnshark_2021.10.imx.bb
@@ -12,7 +12,7 @@ DEPENDS = "\
         perf \
 "

-NNSHARK_SRC ?= "gitsm://github.com/nxp-imx/nnshark.git;protocol=https"
+NNSHARK_SRC ?= "git://github.com/nxp-imx/nnshark.git;protocol=https"
 SRCBRANCH ?= "2021.10.imx"
 SRC_URI = "${NNSHARK_SRC};branch=${SRCBRANCH}"
 SRCREV = "e905828f16e3c374da7da9af30a5922086da4400"
 

At path "~/adv-release-bsp/$build_folder/tmp/work/armv8a-poky-linux/nnshark/2021.10.imx-r0/git"
git config submodule.common.url https://github.com/GStreamer/common.git
git submodule update