Difference between revisions of "RSB-3720 user guide"

From ESS-WIKI
Jump to: navigation, search
(Others:)
Line 697: Line 697:
 
echo "I am running here..."<br/> root@imx8mprsb3720a1:~#
 
echo "I am running here..."<br/> root@imx8mprsb3720a1:~#
 
</div> <div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;">imx8mprsb3720a1 login: root<br/> Last login: Mon May 13 08:31:03 UTC 2024 on tty7<br/> I am running here...<br/> root@imx8mprsb3720a1:~#</div>  
 
</div> <div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;">imx8mprsb3720a1 login: root<br/> Last login: Mon May 13 08:31:03 UTC 2024 on tty7<br/> I am running here...<br/> root@imx8mprsb3720a1:~#</div>  
 +
  
  
Line 706: Line 707:
 
[https://ess-wiki.advantech.com.tw/view/HDMI_rotation HDMI screen rotation]
 
[https://ess-wiki.advantech.com.tw/view/HDMI_rotation HDMI screen rotation]
  
[[Erase_eMMC]]
+
[[Erase_eMMC|Erase_eMMC]]
 +
 
 +
[[Weston.ini]]
  
 
== '''Linux&nbsp;BSP編譯方法(Linux BSP Compile Method)''' ==
 
== '''Linux&nbsp;BSP編譯方法(Linux BSP Compile Method)''' ==

Revision as of 08:52, 24 October 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
GPIO2 501
GPIO4 503
GPIO5 504
GPIO6 505
GPIO7 506
GPIO8 507
GPIO9 508
GPIO10 509
GPIO11 139
GPIO12 138

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