Difference between revisions of "RSB-3810 user guide Android11"

From ESS-WIKI
Jump to: navigation, search
(通用方法(General Method))
 
(108 intermediate revisions by the same user not shown)
Line 18: Line 18:
 
[https://www.advantech.com/zh-tw/products/5912096e-f242-4b17-993a-1acdcaada6f6/rsb-3810/mod_5e027854-f47d-45e5-bac2-0413929f345d '''RSB-3810''']
 
[https://www.advantech.com/zh-tw/products/5912096e-f242-4b17-993a-1acdcaada6f6/rsb-3810/mod_5e027854-f47d-45e5-bac2-0413929f345d '''RSB-3810''']
  
 
+
 
  
 
== '''硬件接口說明(Hardware interface introduction)''' ==
 
== '''硬件接口說明(Hardware interface introduction)''' ==
  
 
=== '''接口布局和尺寸(Layout and Sizes)''' ===
 
=== '''接口布局和尺寸(Layout and Sizes)''' ===
 
  
 
=== '''RSB-3810 接口布局圖 Board Dimension Layout''' ===
 
=== '''RSB-3810 接口布局圖 Board Dimension Layout''' ===
Line 109: Line 108:
 
|}
 
|}
  
 
+
 
  
 
=== '''接口引脚定義 (Pin definitions)''' ===
 
=== '''接口引脚定義 (Pin definitions)''' ===
Line 136: Line 135:
 
*[http://ess-wiki.advantech.com.tw/view/File:RSB-3810-USB1.png USB 1 (USB 3.2 Gen 1 on TOP + USB 2.0 on BOT)]  
 
*[http://ess-wiki.advantech.com.tw/view/File:RSB-3810-USB1.png USB 1 (USB 3.2 Gen 1 on TOP + USB 2.0 on BOT)]  
 
*[http://ess-wiki.advantech.com.tw/view/File:RSB-3810-DL_KEY.png DL_KEY(Download Key)]  
 
*[http://ess-wiki.advantech.com.tw/view/File:RSB-3810-DL_KEY.png DL_KEY(Download Key)]  
*[http://ess-wiki.advantech.com.tw/view/File:RSB-3810-LED.png LED]
+
*[http://ess-wiki.advantech.com.tw/view/File:RSB-3810-LED.png LED]  
  
 
=== '''机械尺寸 ('''Mechanical Characteristics) ===
 
=== '''机械尺寸 ('''Mechanical Characteristics) ===
Line 149: Line 148:
  
 
== '''快速入门 (Quick Start)''' ==
 
== '''快速入门 (Quick Start)''' ==
 
 
  
 
=== '''系统下载 (OS Download)''' ===
 
=== '''系统下载 (OS Download)''' ===
Line 156: Line 153:
 
[http://ess-wiki.advantech.com.tw/view/IoTGateway/BSP/Android/MT8395_OS_Support_List_for_android11 Android 11 OS download]
 
[http://ess-wiki.advantech.com.tw/view/IoTGateway/BSP/Android/MT8395_OS_Support_List_for_android11 Android 11 OS download]
  
 +
 
  
 
=== '''Debug port 連接與設定(Debug Port Connection and Setting)''' ===
 
=== '''Debug port 連接與設定(Debug Port Connection and Setting)''' ===
Line 165: Line 163:
 
2. RSB-3810 can communicate with a host server using serial cables. Common serial communication programs such as HyperTerminal, Tera Term or PuTTY can be used in such applications. The example demonstrated below describes the serial terminal setup using Tera Term on a Windows host: Open Tera Term on your Windows PC, set the Baud rate to 921600.
 
2. RSB-3810 can communicate with a host server using serial cables. Common serial communication programs such as HyperTerminal, Tera Term or PuTTY can be used in such applications. The example demonstrated below describes the serial terminal setup using Tera Term on a Windows host: Open Tera Term on your Windows PC, set the Baud rate to 921600.
  
 +
 
  
 
=== '''燒錄方法 (Flash eMMC Method)''' ===
 
=== '''燒錄方法 (Flash eMMC Method)''' ===
  
 
Step1: 下載MTK燒錄工具SP Flash Tool V5 (Download MTK flash tool "SP Flash Tool V5")
 
Step1: 下載MTK燒錄工具SP Flash Tool V5 (Download MTK flash tool "SP Flash Tool V5")
 
 
 
  
 
支援作業系統(Support OS):
 
支援作業系統(Support OS):
Line 182: Line 179:
  
 
[[File:2022-11-25 173838.jpg|800px|2022-11-25 173838.jpg]]
 
[[File:2022-11-25 173838.jpg|800px|2022-11-25 173838.jpg]]
 
 
 
  
 
Step3: 重BSP下載以下image檔案或是解壓縮image檔(You need to download the image files from BSP as below or extract from image file.)
 
Step3: 重BSP下載以下image檔案或是解壓縮image檔(You need to download the image files from BSP as below or extract from image file.)
Line 221: Line 216:
  
 
[[File:2022-11-25 174501.jpg|800px|2022-11-25 174501.jpg]]
 
[[File:2022-11-25 174501.jpg|800px|2022-11-25 174501.jpg]]
 
 
 
  
 
Step 5 . 重新啟動裝置後系統會自己開始燒錄(Reboot the device and start to burn all image)
 
Step 5 . 重新啟動裝置後系統會自己開始燒錄(Reboot the device and start to burn all image)
Line 230: Line 223:
 
Step 6. 重新上電開機 (Turn on the power, then check the Debug message)
 
Step 6. 重新上電開機 (Turn on the power, then check the Debug message)
  
 +
 
  
== '''Linux系统的基本使用(Linux System Basic Operating Method)''' ==
+
== '''Android系统的基本使用(Android System Basic Operating Method)''' ==
 
 
 
 
  
 
=== '''Display Setting (RSB-3810)''' ===
 
=== '''Display Setting (RSB-3810)''' ===
Line 239: Line 231:
 
'''HDMI TX:'''
 
'''HDMI TX:'''
  
'''Step 1: Setting-->Storage'''
+
Step 1: Setting-->Storage
  
'''Step 2: Play a video'''
+
Step 2: Play a video
  
'''CHeck HDMI mode and support resolution:'''
+
CHeck HDMI mode and support resolution:
 
<div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"><span lang="EN-US" style="font-family:"># cat /sys/class/graphics/fb0/modes</span></div> <div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"><span lang="EN-US" style="font-family:"># cat /sys/class/drm/card0-HDMI-A-1/status</span></div> <div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"><span lang="EN-US" style="font-family:"># cat /sys/class/drm/card0-HDMI-A-1/modes</span></div>  
 
<div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"><span lang="EN-US" style="font-family:"># cat /sys/class/graphics/fb0/modes</span></div> <div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"><span lang="EN-US" style="font-family:"># cat /sys/class/drm/card0-HDMI-A-1/status</span></div> <div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"><span lang="EN-US" style="font-family:"># cat /sys/class/drm/card0-HDMI-A-1/modes</span></div>  
HDMI RX:
+
'''HDMI RX:'''
  
 
(1) Connect a play video host PC device
 
(1) Connect a play video host PC device
Line 272: Line 264:
  
 
[[File:RSB-3810-LVDS Cable.png|RTENOTITLE]]
 
[[File:RSB-3810-LVDS Cable.png|RTENOTITLE]]
 
 
  
 
=== Audio使用方法(Audio Testing Method): ===
 
=== Audio使用方法(Audio Testing Method): ===
  
 
Step 1: Check audio codec
 
Step 1: Check audio codec
<div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"># cat /proc/asound/cards<br/> 0 [sgtl5000 ]: sgtl5000 - sgtl5000 sgtl5000<br/> 1 [audiohdmi ]: audio-hdmi - audio-hdmi audio-hdmi</div>  
+
<div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;">console:/ # cat /proc/asound/cards<br/> &nbsp;0 [mt63xxaccdet &nbsp; ]: mt63xx-accdet - mt63xx-accdet<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; mt63xx-accdet<br/> &nbsp;1 [mt8195sound &nbsp; &nbsp;]: mt8195-sound - mt8195-sound<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; mt8195-sound</div>  
Step 2: Audio codec (sgtl5000):
+
Step 2:&nbsp;Record and playback:
<div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"># amixer set Mic 100%<br/> # amixer set Headphone 100%</div>
 
Step 3:&nbsp;Record and playback:
 
<div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;">stop audioserver<br/> # tinymix -D 1 'O040 I168 Switch' 1 # tinymix -D 1 'O041 I169 Switch' 1 # tinymix -D 1 'MISO0_MUX' UL1_CH1 # tinymix -D 1 'MISO1_MUX' UL1_CH1<br/> # tinymix -D 1 'ADC_L_Mux' 'Left Preamplifier' # tinymix -D 1 'PGA_L_Mux' 'AIN1'<br/> # tinycap /data/tmp/rec.wav -D 1 -d 8 -r 48000 -c 2 -b 32 -T 2 # stop audioserver<br/> # tinymix -D 1 'O176 I000 Switch' 1 # tinymix -D 1 'O177 I001 Switch' 1<br/> # tinymix -D 1 'DAC In Mux' 'Normal Path' # tinymix -D 1 'HP Mux' 'Audio Playback'<br/> # tinyplay /data/tmp/rec.wav -D 1 -d 2 -p 1024 -n 2 # rm /data/tmp/rec.wav</div>
 
  
 +
Play audio file and check the sound output from Linu-out. Copy LRMonoPhase4.wav to the system<br/> stop audioserver
 +
<div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"># tinymix -D 1 'O176 I000 Switch' 1<br/> # tinymix -D 1 'O177 I001 Switch' 1<br/> # tinymix -D 1 'DAC In Mux' 'Normal Path'<br/> # tinymix -D 1 'HP Mux' 'Audio Playback'<br/> # tinyplay /storage/self/primary/LRMonoPhase4.wav -D 1 -d 2 -p 1024 -n 2</div>
 +
Connect Audio output from phone to RSB-3810 MIC. Record audio from phone and play the recorded file to check the sound.<br/> stop audioserver
 +
<div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"># tinymix -D 1 'O040 I168 Switch' 1<br/> # tinymix -D 1 'O041 I169 Switch' 1<br/> # tinymix -D 1 'MISO0_MUX' UL1_CH1<br/> # tinymix -D 1 'MISO1_MUX' UL1_CH1<br/> # tinymix -D 1 'ADC_L_Mux' 'Left Preamplifier'<br/> # tinymix -D 1 'PGA_L_Mux' 'AIN1'<br/> # tinycap /data/rec.wav -D 1 -d 8 -r 48000 -c 2 -b 32 -T 10<br/> # tinyplay /data/rec.wav -D 1 -d 2 -p 1024 -n 2</div>
 +
&nbsp;
  
=== M.2使用方法EWM-W174(M.2 Testing Method with EWM-W174):&nbsp; ===
+
=== '''M.2使用方法EWM-W174(M.2 Testing Method with EWM-W174):&nbsp;''' ===
  
*Test Wi-Fi with EWM-W174M201E Module (PCIe Interface)  
+
*'''Test Wi-Fi with EWM-W174M201E Module (PCIe Interface)'''
  
 
Step 1: Open Android Setting.<br/> Step 2: Click Network & internet.<br/> Step 3: Search for WIFI
 
Step 1: Open Android Setting.<br/> Step 2: Click Network & internet.<br/> Step 3: Search for WIFI
Line 293: Line 285:
 
[[File:RSB-3810-M.2 M174.png|800px|RSB-3810-M.2 M174.png]]
 
[[File:RSB-3810-M.2 M174.png|800px|RSB-3810-M.2 M174.png]]
  
*Test Bluetooth with EWM-W174M201E Module (USB Interface)  
+
*'''Test Bluetooth with EWM-W174M201E Module (USB Interface)'''
  
 
Step 1: Open Android Setting.<br/> Step 2: Click Connected devices.<br/> Step 3: Click Connection preferences.<br/> Step 4: Click Bluetooth.<br/> Step 5: On and Pair new device<br/> Step 6: Available devices
 
Step 1: Open Android Setting.<br/> Step 2: Click Connected devices.<br/> Step 3: Click Connection preferences.<br/> Step 4: Click Bluetooth.<br/> Step 5: On and Pair new device<br/> Step 6: Available devices
  
 +
=== '''Serial port使用方法(Serial port Testing Method):''' ===
  
=== Serial port使用方法(Serial port Testing Method): ===
+
*'''RS-232 Loopback Test (eg. ttyS3):'''
 
 
*RS-232 Loopback Test (eg. ttyS3):  
 
 
<div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"># stty -F /dev/ttyS3 speed 115200 ignbrk -brkint -icrnl -imaxbel - opost -onlcr -isig -icanon -iexten -echo -echoe -echok -echoctl - echoke<br/> # cat /dev/ttyS3 &<br/> # echo "Serial Test" > /dev/ttyS3</div>  
 
<div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"># stty -F /dev/ttyS3 speed 115200 ignbrk -brkint -icrnl -imaxbel - opost -onlcr -isig -icanon -iexten -echo -echoe -echok -echoctl - echoke<br/> # cat /dev/ttyS3 &<br/> # echo "Serial Test" > /dev/ttyS3</div>  
&nbsp;
+
*'''RS-422 Test:'''
  
*RS-422 Test:  
+
Step 1: First change the debug console port to UART2 (UIO-4030COM_3), or use telnet to login to the system console to issue the command for the com port test.<br/> Step 2:&nbsp;Test RS-422&nbsp;with Adam-4520. Connect Adam-4520 with COM1 with 1700100250 DB9 as the following:<br/> Adam-4520 RX- <--> RSB-3810 COM1 DB9 Pin 1,&nbsp;<br/> Adam-4520 RX+ <--> RSB-3810 COM1 DB9 Pin 2,<br/> Adam-4520 TX- <--> RSB-3810 COM1 DB9 Pin 4,<br/> Adam-4520 TX+ <--> RSB-3810 COM1 DB9 Pin 3,
  
Step 1: First change the debug console port to UART2 (UIO-4030COM_3), or use telnet to login to the system console to issue the command for the com port test.<br/> Step 2: Set both<br/> Adam-4520 RX- <--> RSB-3810 COM1 DB9 Pin 1,&nbsp;<br/> Adam-4520 RX+ <--> RSB-3810 COM1 DB9 Pin 2,<br/> Adam-4520 TX- <--> RSB-3810 COM1 DB9 Pin 4,<br/> Adam-4520 TX+ <--> RSB-3810 COM1 DB9 Pin 3,
+
Step 3:&nbsp;Set GPIO#328, GPIO#327 Set to 1,1
<div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"># echo 328 > /sys/class/gpio/export<br/> # echo 327 > /sys/class/gpio/export# echo out<br/> # out > /sys/class/ gpio/gpio328/direction<br/> # echo out > /sys/class/gpio/gpio327/direction<br/> # echo 0 > /sys/class/gpio/gpio328/value<br/> # echo 1 > /sys/class/gpio/gpio327/value</div>  
+
<div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"># echo 328 > /sys/class/gpio/export<br/> # echo 327 > /sys/class/gpio/export# echo out<br/> # out > /sys/class/ gpio/gpio328/direction<br/> # echo out > /sys/class/gpio/gpio327/direction<br/> # echo 1&nbsp;> /sys/class/gpio/gpio328/value<br/> # echo 1 > /sys/class/gpio/gpio327/value</div>  
Step 3: Test RS-422 with Adam-4520. Connect Adam-4520 with COM2 with 1700100250 DB9 as the following:
+
Step 4: Test RS-422 with Adam-4520. Connect Adam-4520 with COM1&nbsp;with 1700100250 DB9 as the following command:
 
<div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"># stty -F /dev/ttyS2 speed 115200 ignbrk -brkint -icrnl -imaxbel - opost -onlcr -isig -icanon -iexten -echo -echoe -echok -echoctl - echoke<br/> # cat /dev/ttyS2 &<br/> # echo "Serial Test" > /dev/ttyS2</div>  
 
<div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"># stty -F /dev/ttyS2 speed 115200 ignbrk -brkint -icrnl -imaxbel - opost -onlcr -isig -icanon -iexten -echo -echoe -echok -echoctl - echoke<br/> # cat /dev/ttyS2 &<br/> # echo "Serial Test" > /dev/ttyS2</div>  
&nbsp;
+
*'''RS-485 Test:'''
  
*RS-485 Test:  
+
Step 1: Test RS-485 with Adam-4520. Connect Adam-4520 with COM1 with 1700100250 DB9 as the following:<br/> Adam-4520 Pin 1: Data- connect to DB9 Pin 1: COM_DCD.<br/> Adam-4520 Pin 2: Data+ connect to DB9 Pin 3: COM_RXD.
  
Step 1: Set GPIO#328, GPIO#327 Set to 0,1<br/> Step 2: Test RS-485 with Adam-4520. Connect Adam-4520 with COM1 with 1700100250 DB9 as the following:<br/> Adam-4520 Pin 1: Data- connect to DB9 Pin 1: COM_DCD.<br/> Adam-4520 Pin 2: Data+ connect to DB9 Pin 3: COM_RXD.
+
Step 2: Set GPIO#328, GPIO#327 Set to 0,1
<div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;">$ stty -F /dev/ttyS2 -echo -onlcr 921600 raw<br/> $ cat /dev/ttyS2 &<br/> $ echo "Serial Port Test" > /dev/ttyS2 or<br/> $ microcom -s 921600 -X /dev/ttyS2</div>  
+
<div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"># echo 328 > /sys/class/gpio/export<br/> # echo 327 > /sys/class/gpio/export# echo out<br/> # out > /sys/class/ gpio/gpio328/direction<br/> # echo out > /sys/class/gpio/gpio327/direction<br/> # echo 0 > /sys/class/gpio/gpio328/value<br/> # echo 1 > /sys/class/gpio/gpio327/value</div>
&nbsp;
+
Step 3:&nbsp;Test RS-422 with Adam-4520. Connect Adam-4520 with COM1&nbsp;with 1700100250 DB9 as the following command:
 
+
<div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;">$ stty -F /dev/ttyS2 -echo -onlcr 921600 raw<br/> $ cat /dev/ttyS2 &<br/> $ echo "Serial Port Test" > /dev/ttyS2<br/> or<br/> $ microcom -s 921600 -X /dev/ttyS2</div>  
 
+
=== '''I2C使用方法(I2C Test Method):''' ===
=== I2C使用方法(I2C Test Method): ===
 
  
 
Step 1: Check i2c device
 
Step 1: Check i2c device
Line 326: Line 316:
  
 
Step 2: I2c set and get
 
Step 2: I2c set and get
<div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;">console:/ # i2cdetect -y -a 4</div>
+
<div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;">console:/ # i2cdetect -y -a 4</div>  
 +
&nbsp;
  
=== USB:&nbsp;USB disk test (USB 2.0/ USB 3.2 Gen 1 By 1 port) ===
+
=== '''USB:&nbsp;USB disk test (USB 2.0/ USB 3.2 Gen 1 By 1 port)''' ===
  
 
Step 1: Issue the following command (lsusb -t) after inserting a USB disk into the USB 2.0 port or USB 3.2 Gen 1 port to check if the USB device is listed.
 
Step 1: Issue the following command (lsusb -t) after inserting a USB disk into the USB 2.0 port or USB 3.2 Gen 1 port to check if the USB device is listed.
 
+
<div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"># lsusb -t</div>
[[File:RSB-3810-USB.png|800px]]
 
 
 
 
Step 2: Test (eg. if usb disk is /dev/sda)
 
Step 2: Test (eg. if usb disk is /dev/sda)
<div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"># dd if=/dev/urandom of=data bs=1 count=1024<br/> # dd if=/dev/sda of=backup bs=1 count=1024 skip=4096 # dd if=data of=/dev/sda bs=1 seek=4096<br/> # dd if=/dev/sda of=data1 bs=1 count=1024 skip=4096 # diff data data1<br/> # dd if=backup of=/dev/sda bs=1 seek=4096</div>
+
<div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"># dd if=/dev/urandom of=data bs=1 count=1024<br/> # dd if=/dev/sda of=backup bs=1 count=1024 skip=4096 # dd if=data of=/dev/sda bs=1 seek=4096<br/> # dd if=/dev/sda of=data1 bs=1 count=1024 skip=4096 # diff data data1<br/> # dd if=backup of=/dev/sda bs=1 seek=4096</div>  
 +
&nbsp;
  
 
+
=== '''RTC使用方法(RTC Test Method):''' ===
=== RTC使用方法(RTC Test Method): ===
 
  
 
Step 1: Set system time to current, then write to RTC
 
Step 1: Set system time to current, then write to RTC
Line 348: Line 337:
 
&nbsp;
 
&nbsp;
  
 
+
=== '''eMMC/SD/SPI flash使用方法(eMMC/SD/SPI flash Testing Method):''' ===
=== eMMC/SD/SPI flash使用方法(eMMC/SD/SPI flash Testing Method): ===
 
  
 
eMMC: /dev/mmcblk2<br/> SD: /dev/ mmcblk1p1
 
eMMC: /dev/mmcblk2<br/> SD: /dev/ mmcblk1p1
Line 355: Line 343:
 
Test (eg. emmc)<br/> Step 1: Open Android Setting.<br/> Step 2: Click Storage
 
Test (eg. emmc)<br/> Step 1: Open Android Setting.<br/> Step 2: Click Storage
  
=== Ethernet: ===
+
&nbsp;
 +
 
 +
=== '''Ethernet使用方法(Ethernet Testing Method):''' ===
  
 
Step 1: Check the Ethernet device
 
Step 1: Check the Ethernet device
 
+
<div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"># ifconfig</div>
[[File:RSB-3810-eth1.png|800px|RSB-3810-eth1.png]]
 
 
 
 
Step 2: Connect the cable and ping test (eg. Eth0)
 
Step 2: Connect the cable and ping test (eg. Eth0)
 +
<div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"># ping 8.8.8.8</div>
 +
[[File:ROM-3810-LAN0.png|RTENOTITLE]][[File:ROM-3810-LAN1.png|RTENOTITLE]]
  
[[File:RSB-3810-eth2.png|800px|RSB-3810-eth2.png]]
+
=== '''GPIO使用方法(GPIO Testing Method):''' ===
  
&nbsp;
+
*'''GPIO Pins:'''
 
 
 
 
 
 
 
 
=== GPIO: ===
 
 
 
*GPIO Pins:  
 
  
 
UIO Extension 1(UIO1):
 
UIO Extension 1(UIO1):
Line 420: Line 403:
 
|}
 
|}
  
*GPIO Loopback Test (Using GPIO2 and GPIO4 as examples):  
+
*'''GPIO Loopback Test (Using GPIO2 and GPIO4 as examples):'''
  
 
Step 1: Connect GPIO2 and GPIO4<br/> Step 2: Export GPIO interface
 
Step 1: Connect GPIO2 and GPIO4<br/> Step 2: Export GPIO interface
Line 427: Line 410:
 
<div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"># echo out > /sys/class/gpio/gpio1/direction<br/> # echo in > /sys/class/gpio/gpio2/direction</div>  
 
<div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"># echo out > /sys/class/gpio/gpio1/direction<br/> # echo in > /sys/class/gpio/gpio2/direction</div>  
 
Step 4: Read value and set output value than check
 
Step 4: Read value and set output value than check
<div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"># cat /sys/class/gpio/gpio2/value 0<br/> # echo 1 > /sys/class/gpio/gpio1/value<br/> # cat /sys/class/gpio/gpio2/value<br/> 1</div>
+
<div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"># cat /sys/class/gpio/gpio2/value 0<br/> # echo 1 > /sys/class/gpio/gpio1/value<br/> # cat /sys/class/gpio/gpio2/value<br/> 1</div>  
 +
&nbsp;
  
=== Watchdog: ===
+
=== '''Watchdog使用方法(Watchdog Testing Method):''' ===
  
*Internal Watchdog:  
+
*'''Internal Watchdog:'''
  
 
Step 1: System will reboot after 60 sec. androidboot.bootreason=HW_reboot
 
Step 1: System will reboot after 60 sec. androidboot.bootreason=HW_reboot
Line 441: Line 425:
 
Step 4: System will reboot after 1 sec. androidboot.bootreason=kernel_panic
 
Step 4: System will reboot after 1 sec. androidboot.bootreason=kernel_panic
 
<div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"># echo c > /proc/sysrq-trigger</div>  
 
<div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"># echo c > /proc/sysrq-trigger</div>  
&nbsp;
+
*'''External Watchdog:'''
 
 
*External Watchdog:  
 
  
 
Step 1: System will reboot after 60 sec. androidboot.bootreason=usb
 
Step 1: System will reboot after 60 sec. androidboot.bootreason=usb
Line 450: Line 432:
 
<div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"># ext_wdt_driver_test 10 1 0</div>  
 
<div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"># ext_wdt_driver_test 10 1 0</div>  
 
androidboot.bootreason=usb
 
androidboot.bootreason=usb
<div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"># ext_wdt_driver_test 10 1 0 && Ctrl + C</div>
+
<div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"># ext_wdt_driver_test 10 1 0 && Ctrl + C</div>  
  
=== Camera(Default MIPI-CSI0 and MIPI-CSI1 are for OV5640): ===
+
=== '''Camera(Default MIPI-CSI0 and MIPI-CSI1 are for Sony IMX214):''' ===
  
MIPI-CSI0 (Tested with OV5640 + mini-SAS to MIPI-CSI Cable)
+
MIPI-CSI0 (Tested with IMX214&nbsp;+ mini-SAS to MIPI-CSI Cable)
  
 
Step 1: Use Android camera app to test&nbsp;<br/> Step 2: Take pictures<br/> Step 3: Video recording&nbsp;<br/> Step 4: Check photo
 
Step 1: Use Android camera app to test&nbsp;<br/> Step 2: Take pictures<br/> Step 3: Video recording&nbsp;<br/> Step 4: Check photo
  
MIPI-CSI1 (Tested with OV5640 + mini-SAS to MIPI-CSI Cable)
+
MIPI-CSI1 (Tested with IMX214&nbsp;+ mini-SAS to MIPI-CSI Cable)
  
 
Step 1: Use Android camera app to test&nbsp;<br/> Step 2: Take pictures<br/> Step 3: Video recording&nbsp;<br/> Step 4: Check photo
 
Step 1: Use Android camera app to test&nbsp;<br/> Step 2: Take pictures<br/> Step 3: Video recording&nbsp;<br/> Step 4: Check photo
  
MIPI-CSI2 (Tested with OV5640 + mini-SAS to MIPI-CSI Cable)
+
MIPI-CSI2 (Tested with IMX214&nbsp;+ mini-SAS to MIPI-CSI Cable)
  
 
Step 1: Remove the CSI-0 and CSI-1 camera first<br/> Step 2: Use Android camera app to test<br/> Step 3: Take pictures<br/> Step 4: Video recording<br/> Step 5: Check photo
 
Step 1: Remove the CSI-0 and CSI-1 camera first<br/> Step 2: Use Android camera app to test<br/> Step 3: Take pictures<br/> Step 4: Video recording<br/> Step 5: Check photo
  
=== TPM: ===
+
&nbsp;
 +
 
 +
=== '''TPM測試方法(TPM Testing Method):''' ===
  
 
Please use tpm_test.bin to test.
 
Please use tpm_test.bin to test.
 
<div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"># eltt2 -cgv</div>  
 
<div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"># eltt2 -cgv</div>  
[[File:RSB-3810-TPM.png]]
+
[[File:RSB-3810-TPM.png|RTENOTITLE]]
  
 +
=== '''LED ON/OFF 使用方法(LED ONOFF Testing Method):''' ===
 +
<div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;">LED Status: Detect gpio signal LED ON: echo 255 ><br/> /sys/class/leds/user/brightness LED OFF: echo 0 ><br/> /sys/class/leds/user/brightness</div>
 
&nbsp;
 
&nbsp;
  
=== LED ON/OFF test ===
+
&nbsp;
<div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;">LED Status: Detect gpio signal LED ON: echo 255 ><br/> /sys/class/leds/user/brightness LED OFF: echo 0 ><br/> /sys/class/leds/user/brightness</div>
 
 
 
=== UIO-4030: ===
 
 
 
=== UIO-4032: ===
 
 
 
=== UIO-4034: ===
 
 
 
=== UIO-4036: ===
 
 
 
=== UIO-4038: ===
 
 
 
=== UIO-4040: ===
 
 
 
=== PyeIQ: ===
 
 
 
  
 
&nbsp;
 
&nbsp;
  
=== '''4G使用方法(4G Testing Method)''' ===
+
=== '''UIO-4030使用方法(UIO-4030 Testing Method):''' ===
<pre>Command:
 
Test 4G: (EWM-C117FL06E - USB)
 
      Step 1: Connect EWM-C117FL06E to Mini PCIE slot on 9680015491 and connect
 
                  the card to CN6 PCIe_D slot on ROM-DB5901.
 
      Step 2: Connect the antenna 1750007990-01 to the SMA (F) connector on
 
                  9680015491 and connect the IPEX connector to MT1 on EWM-C117FL06E module.
 
      Step 3: Connect the Mini USB cable from 9680015491 to USB 2.0 Type A port on
 
                  ROM-DB5901.
 
      Step 4: Power on and execute the pppd command to connect to the network.</pre>
 
  
=== '''GPIO使用方法(GPIO Operating Method)''' ===
+
{| border="1" cellpadding="1" cellspacing="1" style="width: 800px;"
 +
|-
 +
| 1
 +
| style="width: 75px;" | UART(COM_3)
 +
| style="width: 702px;" | # stty -F /dev/ttyS3 -echo -onlcr 921600 raw<br/> # cat /dev/ttyS3 &<br/> # echo "Serial Port Test" > /dev/ttyS3<br/> or<br/> #microcom -s 921600 -X /dev/ttyS3
 +
|-
 +
| 2
 +
| style="width: 75px;" | GPIO
 +
| style="width: 702px;" |
 +
4 DI & 4 DO Pins (UIO Extension_UIO2)<br/> input pin#5: gpio 317&nbsp;<br/> output pin#6: gpio 318&nbsp;<br/> input pin#7: gpio 319<br/> output pin#8: gpio 320<br/> input pin#9: gpio 321<br/> output pin#10: gpio 322<br/> input pin#11: gpio 323<br/> output pin#12: gpio 324
  
'''[[File:ROM-5720 GPIO 2021-10-14 171832.jpg|RTENOTITLE]]'''
+
(Note: gpio 323 & gpio 324 need to set the gpio 345 to high)
<pre>Loop-back Test (Take GPIO4 and GPIO5 as examples)
 
  
Step 1: Connect GPIO4 and GPIO5
+
|-
Step 2: Export GPIO interface
+
| 3
 +
| style="width: 75px;" | RS-485(COM_4)
 +
| style="width: 702px;" | Test RS-485 with Adam-4520. Adam-4520 Pin Data- and Pin<br/> Data+ connect to UIO-4030 COM_4 Pin 1 and Pin 2.<br/> # stty -F /dev/ttyUSB0 speed 115200 ignbrk -brkint -icrnl - imaxbel -opost -onlcr -isig -icanon -iexten -echo -echoe -echok -echoctl -echoke<br/> # cat /dev/ttyUSB0 &<br/> # echo "Serial Test" > /dev/ttyUSB0
 +
|-
 +
| 4
 +
| style="width: 75px;" | EEPROM
 +
| style="width: 702px;" | # echo -n $'\x06\x05\x04\x03\x02\x01' > /data/test1<br/> # dd if=/data/test1 of=/sys/bus/i2c/devices/3-0050/eeprom # dd if=/sys/bus/i2c/devices/3-0050/eeprom of=/data/test2 conv=fsync
 +
|}
  
root@imx8mqrom5720a1&nbsp;: ~# echo 0 > /sys/class/gpio/export
+
=== '''UIO-4032使用方法(UIO-4032 Testing Method):''' ===
root@imx8mqrom5720a1&nbsp;: ~# echo 132 > /sys/class/gpio/export
 
  
Step 3: Set direction
+
{| border="1" cellpadding="1" cellspacing="1" style="width: 800px;"
 +
|-
 +
| colspan="1" rowspan="2" | 1
 +
| colspan="1" rowspan="2" |
 +
UART
  
root@imx8qxprom5720a1&nbsp;: ~# echo out > /sys/class/gpio/gpio1/direction
+
COM_3:ttyS3
root@imx8qxprom5720a1&nbsp;: ~# echo in > /sys/class/gpio/gpio2/direction
 
  
Step 4: Read value and set output value then check
+
COM_4:ttyS1
  
root@imx8mqrom5720a1&nbsp;: ~# cat /sys/class/gpio/gpio2/value
+
| # stty -F /dev/ttyS3 -echo -onlcr 921600 raw<br/> # cat /dev/ttyS3 &<br/> # echo "Serial Port Test" > /dev/ttyS3 or<br/> # microcom -s 921600 -X /dev/ttyS3 # cat /dev/ttyS3 &
1
+
|-
root@imx8mqrom5720a1&nbsp;: ~# echo 0 > /sys/class/gpio/gpio1/value
+
| # stty -F /dev/ttyS1 -echo -onlcr 921600 raw # cat /dev/ttyS1 &<br/> # echo "Serial Port Test" > /dev/ttyS1<br/> or<br/> # microcom -s 921600 -X /dev/ttyS1
root@imx8mqrom5720a1&nbsp;: ~# cat /sys/class/gpio/gpio2/value
+
|-
0</pre>
+
| 2
 +
| USB
 +
| USB disk write/read/verify pattern
 +
|-
 +
| 3
 +
| Ethernet
 +
| # ifconfig<br/> # ping 8.8.8.8
 +
|-
 +
| 4
 +
| EEPROM
 +
| # echo -n $'\x06\x05\x04\x03\x02\x01' > /data/test1<br/> # dd if=/data/test1 of=/sys/bus/i2c/devices/3-0050/eeprom<br/> # dd if=/sys/bus/i2c/devices/3-0050/eeprom of=/data/test2 conv=fsync
 +
|}
  
 
&nbsp;
 
&nbsp;
  
&nbsp;
+
=== '''UIO-4034使用方法(UIO-4034 Testing Method):''' ===
  
&nbsp;
+
{| border="1" cellpadding="1" cellspacing="1" style="width: 800px;"
 +
|-
 +
| colspan="1" rowspan="2" | 1
 +
| colspan="1" rowspan="2" |
 +
UART
  
'''串口使用方法(Serial Port Operating Method)'''
+
COM_3:ttyS3
  
RS-232 Test
+
COM_4:ttyS1
  
Loopback test (eg. ttymxc1)<br/> Before loopback test, we should connect tx and rx
+
| $ stty -F /dev/ttyS3 -echo -onlcr 921600 raw<br/> $ cat /dev/ttyS3 &<br/> $ echo "Serial Port Test" > /dev/ttyS3<br/> or<br/> $ microcom -s 921600 -X /dev/ttyS3
<pre style="border:1px solid #cccccc; padding:5px 10px"><span style="background:#eeeeee">stty -F /dev/ttymxc1 115200
+
|-
 +
| $ stty -F /dev/ttyS1 -echo -onlcr 921600 raw<br/> $ cat /dev/ttyS1 &<br/> $ echo "Serial Port Test" > /dev/ttyS1<br/> or<br/> $ microcom -s 921600 -X /dev/ttyS1
 +
|-
 +
| 2
 +
| CAN Bus
 +
|
 +
#ip link set can0 up type can bitrate 125000<br/> # ifconfig can0 up<br/> # ip link set can1 up type can bitrate 125000<br/> # ifconfig can1 up
  
stty -F /dev/ttymxc1&nbsp;?echo
+
#candump can0 &<br/> # cansend can1 1F334455#1122334455667788
  
cat /dev/ttymxc1 &
+
|-
 +
| 3
 +
| EEPROM
 +
| # echo -n $'\x06\x05\x04\x03\x02\x01' > /data/test1<br/> # dd if=/data/test1 of=/sys/bus/i2c/devices/3-0050/eeprom<br/> # dd if=/sys/bus/i2c/devices/3-0050/eeprom of=/data/test2 conv=fsync
 +
|}
  
echo test > /dev/ttymxc1</span></pre>
+
=== '''UIO-4036使用方法(UIO-4036 Testing Method):''' ===
  
=== '''蓝牙使用方法(BlueTooth Operating Method)''' ===<br/> Command&nbsp;:
+
{| border="1" cellpadding="1" cellspacing="1" style="width: 800px;"
 +
|-
 +
| 1
 +
| LAN Switch
 +
| # ifconfig<br/> # ping 8.8.8.8
 +
|-
 +
| 2
 +
| EEPROM
 +
| # echo -n $'\x06\x05\x04\x03\x02\x01' > /data/test1<br/> # dd if=/data/test1 of=/sys/bus/i2c/devices/3-0050/eeprom<br/> # dd if=/sys/bus/i2c/devices/3-0050/eeprom of=/data/test2 conv=fsync
 +
|}
  
$ hciconfig hci0 up<br/> $ bluetoothctl<br/> $ discoverable on<br/> $ pairable on<br/> $ scan on<br/> [NEW] FC:18:3C:8D:75:F4 myphone<br/> $ scan off<br/> $ pair FC:18:3C:8D:75:F4<br/> $ connect FC:18:3C:8D:75:F4</pre>
+
=== '''UIO-4038使用方法(UIO-4038 Testing Method):''' ===
  
=== '''遠程訪問及文件傳輸(Remote Access and File Transimmion)''' ===
+
{| border="1" cellpadding="1" cellspacing="1" style="width: 800px;"
 
+
|-
'''查看主板IP位址 ( Chech IP Address )'''​<br/> Command&nbsp;: ifconfig
+
| 1
 +
| LAN0(WAN)
 +
| # ifconfig
 +
|-
 +
| 2
 +
| LAN
 +
| # ping 192.168.100.1
 +
|-
 +
| 3
 +
| EEPROM
 +
| # echo -n $'\x06\x05\x04\x03\x02\x01' > /data/test1<br/> # dd if=/data/test1 of=/sys/bus/i2c/devices/3-0050/eeprom<br/> # dd if=/sys/bus/i2c/devices/3-0050/eeprom of=/data/test2 conv=fsync
 +
|}
  
 
&nbsp;
 
&nbsp;
  
==== Windows下SSH访问及文件传输 ====
+
=== '''UIO-4040使用方法(UIO-4040 Testing Method):''' ===
  
SSH Remote Log into Device
+
{| border="1" cellpadding="1" cellspacing="1" style="width: 800px;"
 +
|-
 +
| 1
 +
| SSD
 +
|
 +
#SSD disk write/read/verify pattern
  
*SSH远程登录,以putty选择putty.exe(或者使用Xshell、SecureCRT等类似软件)<br/> *需要设置远程设备的IP、通讯端口(默认22)、通讯方式,登录后验证用户名密码
+
Disk /dev/sda: 119.24 GiB, 128035676160 bytes, 250069680 sectors<br/> Disk model: UIO-4040<br/> Units: sectors of 1 * 512 = 512 bytes<br/> Sector size (logical/physical): 512 bytes / 512 bytes<br/> I/O size (minimum/optimal): 512 bytes / 512 bytes
  
&nbsp;
+
|-
 +
| 2
 +
| EEPROM
 +
| # echo -n $'\x06\x05\x04\x03\x02\x01' > /data/test1<br/> # dd if=/data/test1 of=/sys/bus/i2c/devices/3-0050/eeprom<br/> # dd if=/sys/bus/i2c/devices/3-0050/eeprom of=/data/test2 conv=fsync
 +
|}
  
&nbsp;
 
  
 
== '''通用方法(General Method)''' ==
 
== '''通用方法(General Method)''' ==
  
=== '''查看CPU温度(Check CPU Temperature)''' ===<br/> root@imx8qxprom5720a1:/# cat /sys/devices/virtual/thermal/thermal_zone0/temp 44600
+
=== '''ADB debug:''' ===
 
 
#或者直接以度爲單位顯示 echo $[$(cat /sys/class/thermal/thermal_zone0/temp)/1000]° >>> 45°</pre>
 
 
 
=== '''查看CPU频率(Check CPU Frequency)''' ===<br/> cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_cur_freq<br/> >> 900000<br/> cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq<br/> >> 1200000
 
 
 
=== '''查看内存容量(Check Memory Capacity)''' ===<br/> root@imx8qxprom5720a1:/# busybox free -m<br/> total used free shared buffers cached<br/> Mem: 1794920 516080 1278840 17252 9852 80292<br/> -/+ buffers/cache: 425936 1368984<br/> Swap: 0 0 0
 
 
 
=== '''查看存储容量(Check Storage Capacity)''' ===<br/> root@imx8qxprom5720a1:/# busybox df -h<br/> Filesystem Size Used Available Use% Mounted on<br/> /dev/root 13.4G 1.7G 11.1G 13% /<br/> devtmpfs 395.8M 4.0K 395.8M 0% /dev<br/> tmpfs 876.4M 0 876.4M 0% /dev/shm<br/> tmpfs 876.4M 16.5M 859.9M 2% /run<br/> tmpfs 876.4M 0 876.4M 0% /sys/fs/cgroup<br/> tmpfs 876.4M 4.0K 876.4M 0% /tmp<br/> tmpfs 876.4M 280.0K 876.2M 0% /var/volatile<br/> /dev/mmcblk0p2 13.6G 1.7G 11.3G 13% /run/media/mmcblk0p2<br/> /dev/mmcblk0p1 63.9M 23.4M 40.5M 37% /run/media/mmcblk0p1<br/> /dev/mmcblk1p1 63.9M 23.4M 40.5M 37% /run/media/mmcblk1p1<br/> tmpfs 175.3M 88.0K 175.2M 0% /run/user/0<br/> root@imx8qxprom5720a1:/#
 
 
 
=== '''網路Ping測試(Ping Network Testing)''' ===<br/> ping 8.8.8.8<br/> PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.<br/> 64 bytes from 8.8.8.8: icmp_seq=1 ttl=54 time=2.10 ms<br/> 64 bytes from 8.8.8.8: icmp_seq=2 ttl=54 time=2.10 ms</pre>
 
 
 
=== '''設置RTC (RTC Setting) ''' ===<br/> root@imx8qxprom5720a1:/# systemctl stop ntpdate.service<br/> root@imx8qxprom5720a1:/# date 090816072021 && hwclock -w && date<br/> Wed Sep 8 16:07:00 UTC 2021<br/> Wed Sep 8 16:07:00 UTC 2021<br/> root@imx8qxprom5720a1:/# date<br/> Wed Sep 8 16:07:06 UTC 2021<br/> root@imx8qxprom5720a1:/#
 
 
 
=== Mic錄音 (Mic record) ===
 
 
 
#amixer set Mic 20%
 
 
 
#arecord -D plughw:0,0 -r 16000 -f S16_LE ./f-16000.wav
 
  
#aplay ./f-16000.wav
+
Step1&nbsp;:RSB-3810 Device setting
 +
<pre>console:/ $ su
 +
console:/ # setprop service.adb.tcp.port 5555
 +
console:/ # stop adbd
 +
console:/ # start adbd
 +
console:/ # ifconfig</pre>
  
=== PCIe裝置移除與rescan ===
+
Step2&nbsp;: adb platform-tools
 +
<pre>D:\platform-tools>ping 172.22.28.102
 +
D:\platform-tools>adb connect 172.22.28.102:5555
 +
D:\platform-tools>adb root
 +
D:\platform-tools>adb shell</pre>
  
root@imx8qxprom5720a1:/# echo "1" > /sys/bus/pci/devices/0000\:01\:00.0/remove --eth1 will be remove (check with ifconfig)
+
=== 讀取溫度(Read Thermal): ===
 
 
root@imx8qxprom5720a1:/# echo "1" > /sys/bus/pci/rescan --eth1 will back after run this command.
 
  
 
&nbsp;
 
&nbsp;
 
  
 
== '''Android11 BSP編譯方法(Android11&nbsp;BSP Compile Method)''' ==
 
== '''Android11 BSP編譯方法(Android11&nbsp;BSP Compile Method)''' ==
  
 
=== [http://ess-wiki.advantech.com.tw/view/Android_BSP_User_Guide_for_mt8395_series_11.0 Android BSP User Guide for mt8395 series 11.0 - ESS-WIKI (advantech.com.tw)] ===
 
=== [http://ess-wiki.advantech.com.tw/view/Android_BSP_User_Guide_for_mt8395_series_11.0 Android BSP User Guide for mt8395 series 11.0 - ESS-WIKI (advantech.com.tw)] ===

Latest revision as of 03:11, 23 October 2024

Contents

產品介紹(Product introduction )

產品特性(Product Features)

  • MediaTek Genio 1200 4核心A78和4核心A55
  • 內建LPDDR4 8GB,4000MT/s記憶體
  • HDMI 4k60fps,1 x 雙通道24位元LVDS
  • 1 x 4線RS-232/422/485,2 x USB3.2 Gen1 By 1,2 x USB2.0,1 x Micro SD,1 x Mic. in / Line out
  • 1 x M.2 3052 Key B for 5G,1 x M.2 2230 Key E Slot for WiFi/BT
  • 支援UIO40-Express I/O板擴充
  • 支援Ubuntu、Ycoto Linux和Android

 

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

RSB-3810

 

硬件接口說明(Hardware interface introduction)

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

RSB-3810 接口布局圖 Board Dimension Layout

RTENOTITLE

RTENOTITLE

Jumper list:

BL0 Backlight Power Select for LVDS0 (Default 5V)
VDD0 LVDS VDD (Default 3.3V)

 

Connectot list:

BAT RTC Battery CONN
BL0 LVDS Backlight
COM1 Debug Console + RS232/RS485
CSI0 MIPI-CSI Camera Input 0
CSI1 MIPI-CSI Camera Input 1
CSI2 MIPI-CSI Camera Input 2
DCIN/DCIN1 12V DC Power Input by DC Jack/ by Pin Header
HDMI HDMI CONN
LVDS0 LVDS Channel 0 CONN
LVDS1 LVDS Channel 1 CONN
M2 M.2 Key E CONN
MIC MIC In Pin Header
M2B M.2 Key B CONN
RST Reset Button
SD SD Slot
SIM SIM 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)
DL_KEY Download Key

 

接口引脚定義 (Pin definitions)

机械尺寸 (Mechanical Characteristics)

RTENOTITLE

 

 


快速入门 (Quick Start)

系统下载 (OS Download)

Android 11 OS download

 

Debug port 連接與設定(Debug Port Connection and Setting)

1. RSB-3810 debug port is shared with COM1. Please connect the debug console cable 1700034345-01 & 1700019474. Then connect the USB-to-RS232 Cable to your PC terminal. Connect the cable to COM1 pin header to the nearby the HDMI connector.

RTENOTITLE

2. RSB-3810 can communicate with a host server using serial cables. Common serial communication programs such as HyperTerminal, Tera Term or PuTTY can be used in such applications. The example demonstrated below describes the serial terminal setup using Tera Term on a Windows host: Open Tera Term on your Windows PC, set the Baud rate to 921600.

 

燒錄方法 (Flash eMMC Method)

Step1: 下載MTK燒錄工具SP Flash Tool V5 (Download MTK flash tool "SP Flash Tool V5")

支援作業系統(Support OS):

  • Windows 7
  • Windows 10
  • Ubuntu 16.x
  • Ubuntu 18.x

Step2:使用USB Type-A to Type-A線連接電腦處機與裝置的USB Type-A孔位, 如下圖位置(Connect the usb type A to host computer and device type A port)

2022-11-25 173838.jpg

Step3: 重BSP下載以下image檔案或是解壓縮image檔(You need to download the image files from BSP as below or extract from image file.)

BSP image File path:out/target/product/mt8395_rsb3810a1

MT8195_Android_scatter.txt
preloader_mt8395_rsb3810a1.bin
vbmeta.img
vbmeta_system.img
vbmeta_vendor.img
spmfw.img
pi_img.img
dpm.img
scp.img
sspm.img
mcupm.img
cam_vpu1.img 
cam_vpu2.img 
cam_vpu3.img
lk.img 
boot.img
dtbo.img
tee.img
logo.bin
super.img
userdata.img

Step 4: 執行SP flash tool V5 燒錄工具(Launch SP flash tool V5)

RTENOTITLE

(1) 選擇MT9195_Android_scatter.txt檔(Select the MT8195_Android_scatter.txt file)

(2)選擇"Format ALL + Download"(Select theFormat All + Download)

(3)點選Download按鈕(Click the Download button)

2022-11-25 174501.jpg

Step 5 . 重新啟動裝置後系統會自己開始燒錄(Reboot the device and start to burn all image)

RSB-3810-flash OK.png

Step 6. 重新上電開機 (Turn on the power, then check the Debug message)

 

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

Display Setting (RSB-3810)

HDMI TX:

Step 1: Setting-->Storage

Step 2: Play a video

CHeck HDMI mode and support resolution:

# cat /sys/class/graphics/fb0/modes
# cat /sys/class/drm/card0-HDMI-A-1/status
# cat /sys/class/drm/card0-HDMI-A-1/modes

HDMI RX:

(1) Connect a play video host PC device

(2) connect HDMI from PC to RSB-3810

RTENOTITLE

(3) setenforce 0

(4) open the RxVideo apk

RTENOTITLE

(5) Play a video on host PC

(6) check the video and sound can output to HDMI monitor

LVDS: Dual Channel LVDS Panel: G215HVN0 (VDD: 5V, Backlight Power: 12V)
Step 1: Connect 96LEDK-A215FH30NF2 LVDS panel with the LVDS cable. Connect this to the LVDS. Connect the Backlight cable to BL1.

Step 2: Connect another 12V adapter to the DC-Jack on the backlight cable.

Step 3: Power on RSB-3810 and the extra 12V adapter.

Step 4: Press enter after boot. The system will stop at u-boot as demonstrated below, enter the command in red and press enter

RTENOTITLE

Audio使用方法(Audio Testing Method):

Step 1: Check audio codec

console:/ # cat /proc/asound/cards
 0 [mt63xxaccdet   ]: mt63xx-accdet - mt63xx-accdet
                      mt63xx-accdet
 1 [mt8195sound    ]: mt8195-sound - mt8195-sound
                      mt8195-sound

Step 2: Record and playback:

Play audio file and check the sound output from Linu-out. Copy LRMonoPhase4.wav to the system
stop audioserver

# tinymix -D 1 'O176 I000 Switch' 1
# tinymix -D 1 'O177 I001 Switch' 1
# tinymix -D 1 'DAC In Mux' 'Normal Path'
# tinymix -D 1 'HP Mux' 'Audio Playback'
# tinyplay /storage/self/primary/LRMonoPhase4.wav -D 1 -d 2 -p 1024 -n 2

Connect Audio output from phone to RSB-3810 MIC. Record audio from phone and play the recorded file to check the sound.
stop audioserver

# tinymix -D 1 'O040 I168 Switch' 1
# tinymix -D 1 'O041 I169 Switch' 1
# tinymix -D 1 'MISO0_MUX' UL1_CH1
# tinymix -D 1 'MISO1_MUX' UL1_CH1
# tinymix -D 1 'ADC_L_Mux' 'Left Preamplifier'
# tinymix -D 1 'PGA_L_Mux' 'AIN1'
# tinycap /data/rec.wav -D 1 -d 8 -r 48000 -c 2 -b 32 -T 10
# tinyplay /data/rec.wav -D 1 -d 2 -p 1024 -n 2

 

M.2使用方法EWM-W174(M.2 Testing Method with EWM-W174): 

  • Test Wi-Fi with EWM-W174M201E Module (PCIe Interface)

Step 1: Open Android Setting.
Step 2: Click Network & internet.
Step 3: Search for WIFI

RSB-3810-M.2 M174.png

  • Test Bluetooth with EWM-W174M201E Module (USB Interface)

Step 1: Open Android Setting.
Step 2: Click Connected devices.
Step 3: Click Connection preferences.
Step 4: Click Bluetooth.
Step 5: On and Pair new device
Step 6: Available devices

Serial port使用方法(Serial port Testing Method):

  • RS-232 Loopback Test (eg. ttyS3):
# stty -F /dev/ttyS3 speed 115200 ignbrk -brkint -icrnl -imaxbel - opost -onlcr -isig -icanon -iexten -echo -echoe -echok -echoctl - echoke
# cat /dev/ttyS3 &
# echo "Serial Test" > /dev/ttyS3
  • RS-422 Test:

Step 1: First change the debug console port to UART2 (UIO-4030COM_3), or use telnet to login to the system console to issue the command for the com port test.
Step 2: Test RS-422 with Adam-4520. Connect Adam-4520 with COM1 with 1700100250 DB9 as the following:
Adam-4520 RX- <--> RSB-3810 COM1 DB9 Pin 1, 
Adam-4520 RX+ <--> RSB-3810 COM1 DB9 Pin 2,
Adam-4520 TX- <--> RSB-3810 COM1 DB9 Pin 4,
Adam-4520 TX+ <--> RSB-3810 COM1 DB9 Pin 3,

Step 3: Set GPIO#328, GPIO#327 Set to 1,1

# echo 328 > /sys/class/gpio/export
# echo 327 > /sys/class/gpio/export# echo out
# out > /sys/class/ gpio/gpio328/direction
# echo out > /sys/class/gpio/gpio327/direction
# echo 1 > /sys/class/gpio/gpio328/value
# echo 1 > /sys/class/gpio/gpio327/value

Step 4: Test RS-422 with Adam-4520. Connect Adam-4520 with COM1 with 1700100250 DB9 as the following command:

# stty -F /dev/ttyS2 speed 115200 ignbrk -brkint -icrnl -imaxbel - opost -onlcr -isig -icanon -iexten -echo -echoe -echok -echoctl - echoke
# cat /dev/ttyS2 &
# echo "Serial Test" > /dev/ttyS2
  • RS-485 Test:

Step 1: Test RS-485 with Adam-4520. Connect Adam-4520 with COM1 with 1700100250 DB9 as the following:
Adam-4520 Pin 1: Data- connect to DB9 Pin 1: COM_DCD.
Adam-4520 Pin 2: Data+ connect to DB9 Pin 3: COM_RXD.

Step 2: Set GPIO#328, GPIO#327 Set to 0,1

# echo 328 > /sys/class/gpio/export
# echo 327 > /sys/class/gpio/export# echo out
# out > /sys/class/ gpio/gpio328/direction
# echo out > /sys/class/gpio/gpio327/direction
# echo 0 > /sys/class/gpio/gpio328/value
# echo 1 > /sys/class/gpio/gpio327/value

Step 3: Test RS-422 with Adam-4520. Connect Adam-4520 with COM1 with 1700100250 DB9 as the following command:

$ stty -F /dev/ttyS2 -echo -onlcr 921600 raw
$ cat /dev/ttyS2 &
$ echo "Serial Port Test" > /dev/ttyS2
or
$ microcom -s 921600 -X /dev/ttyS2

I2C使用方法(I2C Test Method):

Step 1: Check i2c device

RTENOTITLE

Step 2: I2c set and get

console:/ # i2cdetect -y -a 4

 

USB: USB disk test (USB 2.0/ USB 3.2 Gen 1 By 1 port)

Step 1: Issue the following command (lsusb -t) after inserting a USB disk into the USB 2.0 port or USB 3.2 Gen 1 port to check if the USB device is listed.

# lsusb -t

Step 2: Test (eg. if usb disk is /dev/sda)

# dd if=/dev/urandom of=data bs=1 count=1024
# dd if=/dev/sda of=backup bs=1 count=1024 skip=4096 # dd if=data of=/dev/sda bs=1 seek=4096
# dd if=/dev/sda of=data1 bs=1 count=1024 skip=4096 # diff data data1
# dd if=backup of=/dev/sda bs=1 seek=4096

 

RTC使用方法(RTC Test Method):

Step 1: Set system time to current, then write to RTC

console:/ # date 113009362023 && hwclock -w && date

Step 2: Set one incorrect time, then read time from RTC to verify

console:/ # date 113009362023 && hwclock -r

Step 3: Restore the RTC time to system time

console:/ # date 113009362023 && hwclock -r

 

eMMC/SD/SPI flash使用方法(eMMC/SD/SPI flash Testing Method):

eMMC: /dev/mmcblk2
SD: /dev/ mmcblk1p1

Test (eg. emmc)
Step 1: Open Android Setting.
Step 2: Click Storage

 

Ethernet使用方法(Ethernet Testing Method):

Step 1: Check the Ethernet device

# ifconfig

Step 2: Connect the cable and ping test (eg. Eth0)

# ping 8.8.8.8

RTENOTITLERTENOTITLE

GPIO使用方法(GPIO Testing Method):

  • GPIO Pins:

UIO Extension 1(UIO1):

Pin Numbers
GPIO2 315
GPIO4 316

UIO Extension2 (UIO2):

Pin Numbers
GPIO5 317
GPIO6 318
GPIO7 319
GPIO8 320
GPIO9 321
GPIO10 322
GPIO11 323 or 408
GPIO12 324 or 409
  • GPIO Loopback Test (Using GPIO2 and GPIO4 as examples):

Step 1: Connect GPIO2 and GPIO4
Step 2: Export GPIO interface

# echo 315 > /sys/class/gpio/export
# echo 316 > /sys/class/gpio/export

Step 3: Set GPIO direction

# echo out > /sys/class/gpio/gpio1/direction
# echo in > /sys/class/gpio/gpio2/direction

Step 4: Read value and set output value than check

# cat /sys/class/gpio/gpio2/value 0
# echo 1 > /sys/class/gpio/gpio1/value
# cat /sys/class/gpio/gpio2/value
1

 

Watchdog使用方法(Watchdog Testing Method):

  • Internal Watchdog:

Step 1: System will reboot after 60 sec. androidboot.bootreason=HW_reboot

# stop watchdogd

Step 2: System will reboot after 60 sec. androidboot.bootreason=HW_reboot

# stop watchdogd && echo 1 > /dev/watchdog

Step 3: System will reboot after 3 sec. androidboot.bootreason=reboot

# reboot

Step 4: System will reboot after 1 sec. androidboot.bootreason=kernel_panic

# echo c > /proc/sysrq-trigger
  • External Watchdog:

Step 1: System will reboot after 60 sec. androidboot.bootreason=usb

# echo 1 > /dev/watchdog1

Step 2: System will not reboot. Watchdog can be refreshed when feed dog before it timeout.
Step 3: System will reboot after 10 sec ==> Watchdog does not refresh after it time- out.

# ext_wdt_driver_test 10 1 0

androidboot.bootreason=usb

# ext_wdt_driver_test 10 1 0 && Ctrl + C

Camera(Default MIPI-CSI0 and MIPI-CSI1 are for Sony IMX214):

MIPI-CSI0 (Tested with IMX214 + mini-SAS to MIPI-CSI Cable)

Step 1: Use Android camera app to test 
Step 2: Take pictures
Step 3: Video recording 
Step 4: Check photo

MIPI-CSI1 (Tested with IMX214 + mini-SAS to MIPI-CSI Cable)

Step 1: Use Android camera app to test 
Step 2: Take pictures
Step 3: Video recording 
Step 4: Check photo

MIPI-CSI2 (Tested with IMX214 + mini-SAS to MIPI-CSI Cable)

Step 1: Remove the CSI-0 and CSI-1 camera first
Step 2: Use Android camera app to test
Step 3: Take pictures
Step 4: Video recording
Step 5: Check photo

 

TPM測試方法(TPM Testing Method):

Please use tpm_test.bin to test.

# eltt2 -cgv

RTENOTITLE

LED ON/OFF 使用方法(LED ONOFF Testing Method):

LED Status: Detect gpio signal LED ON: echo 255 >
/sys/class/leds/user/brightness LED OFF: echo 0 >
/sys/class/leds/user/brightness

 

 

 

UIO-4030使用方法(UIO-4030 Testing Method):

1 UART(COM_3) # stty -F /dev/ttyS3 -echo -onlcr 921600 raw
# cat /dev/ttyS3 &
# echo "Serial Port Test" > /dev/ttyS3
or
#microcom -s 921600 -X /dev/ttyS3
2 GPIO

4 DI & 4 DO Pins (UIO Extension_UIO2)
input pin#5: gpio 317 
output pin#6: gpio 318 
input pin#7: gpio 319
output pin#8: gpio 320
input pin#9: gpio 321
output pin#10: gpio 322
input pin#11: gpio 323
output pin#12: gpio 324

(Note: gpio 323 & gpio 324 need to set the gpio 345 to high)

3 RS-485(COM_4) Test RS-485 with Adam-4520. Adam-4520 Pin Data- and Pin
Data+ connect to UIO-4030 COM_4 Pin 1 and Pin 2.
# stty -F /dev/ttyUSB0 speed 115200 ignbrk -brkint -icrnl - imaxbel -opost -onlcr -isig -icanon -iexten -echo -echoe -echok -echoctl -echoke
# cat /dev/ttyUSB0 &
# echo "Serial Test" > /dev/ttyUSB0
4 EEPROM # echo -n $'\x06\x05\x04\x03\x02\x01' > /data/test1
# dd if=/data/test1 of=/sys/bus/i2c/devices/3-0050/eeprom # dd if=/sys/bus/i2c/devices/3-0050/eeprom of=/data/test2 conv=fsync

UIO-4032使用方法(UIO-4032 Testing Method):

1

UART

COM_3:ttyS3

COM_4:ttyS1

# stty -F /dev/ttyS3 -echo -onlcr 921600 raw
# cat /dev/ttyS3 &
# echo "Serial Port Test" > /dev/ttyS3 or
# microcom -s 921600 -X /dev/ttyS3 # cat /dev/ttyS3 &
# stty -F /dev/ttyS1 -echo -onlcr 921600 raw # cat /dev/ttyS1 &
# echo "Serial Port Test" > /dev/ttyS1
or
# microcom -s 921600 -X /dev/ttyS1
2 USB USB disk write/read/verify pattern
3 Ethernet # ifconfig
# ping 8.8.8.8
4 EEPROM # echo -n $'\x06\x05\x04\x03\x02\x01' > /data/test1
# dd if=/data/test1 of=/sys/bus/i2c/devices/3-0050/eeprom
# dd if=/sys/bus/i2c/devices/3-0050/eeprom of=/data/test2 conv=fsync

 

UIO-4034使用方法(UIO-4034 Testing Method):

1

UART

COM_3:ttyS3

COM_4:ttyS1

$ stty -F /dev/ttyS3 -echo -onlcr 921600 raw
$ cat /dev/ttyS3 &
$ echo "Serial Port Test" > /dev/ttyS3
or
$ microcom -s 921600 -X /dev/ttyS3
$ stty -F /dev/ttyS1 -echo -onlcr 921600 raw
$ cat /dev/ttyS1 &
$ echo "Serial Port Test" > /dev/ttyS1
or
$ microcom -s 921600 -X /dev/ttyS1
2 CAN Bus
  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
  1. candump can0 &
    # cansend can1 1F334455#1122334455667788
3 EEPROM # echo -n $'\x06\x05\x04\x03\x02\x01' > /data/test1
# dd if=/data/test1 of=/sys/bus/i2c/devices/3-0050/eeprom
# dd if=/sys/bus/i2c/devices/3-0050/eeprom of=/data/test2 conv=fsync

UIO-4036使用方法(UIO-4036 Testing Method):

1 LAN Switch # ifconfig
# ping 8.8.8.8
2 EEPROM # echo -n $'\x06\x05\x04\x03\x02\x01' > /data/test1
# dd if=/data/test1 of=/sys/bus/i2c/devices/3-0050/eeprom
# dd if=/sys/bus/i2c/devices/3-0050/eeprom of=/data/test2 conv=fsync

UIO-4038使用方法(UIO-4038 Testing Method):

1 LAN0(WAN) # ifconfig
2 LAN # ping 192.168.100.1
3 EEPROM # echo -n $'\x06\x05\x04\x03\x02\x01' > /data/test1
# dd if=/data/test1 of=/sys/bus/i2c/devices/3-0050/eeprom
# dd if=/sys/bus/i2c/devices/3-0050/eeprom of=/data/test2 conv=fsync

 

UIO-4040使用方法(UIO-4040 Testing Method):

1 SSD
  1. SSD disk write/read/verify pattern

Disk /dev/sda: 119.24 GiB, 128035676160 bytes, 250069680 sectors
Disk model: UIO-4040
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

2 EEPROM # echo -n $'\x06\x05\x04\x03\x02\x01' > /data/test1
# dd if=/data/test1 of=/sys/bus/i2c/devices/3-0050/eeprom
# dd if=/sys/bus/i2c/devices/3-0050/eeprom of=/data/test2 conv=fsync


通用方法(General Method)

ADB debug:

Step1 :RSB-3810 Device setting

console:/ $ su
console:/ # setprop service.adb.tcp.port 5555
console:/ # stop adbd
console:/ # start adbd
console:/ # ifconfig

Step2 : adb platform-tools

D:\platform-tools>ping 172.22.28.102
D:\platform-tools>adb connect 172.22.28.102:5555
D:\platform-tools>adb root
D:\platform-tools>adb shell

讀取溫度(Read Thermal):

 

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

Android BSP User Guide for mt8395 series 11.0 - ESS-WIKI (advantech.com.tw)