AIR 021 Development

From ESS-WIKI
Revision as of 06:07, 1 September 2025 by Ray.su (talk | contribs)
Jump to: navigation, search

Attention

Account & Password

Account number

ubuntu

In device used "sudo" or "sudo su" to root. Password required.

ubuntu

Flash Mac Address

First need to add a patch to the device tree{ Commit 682f22e8: [LAN] Enable Ethernet Controller I225-LM/I225-V support }

Download I226 tool to Device

I226 Flash Tool

Extract file

$ sudo tar zxvf LAN_I226_AIR-021.tar.gz

Flash

Attention : The MAC address can only be burned in once

Please make sure mac address and set in : -mac=<XXXXXXXXXXXX>

$ cd LAN_I226_AIR-021/I226_Flash_Tool
$ sudo su
# ./EepromAccessTool
# lspci
# setpci -s 0009:01:00.0 COMMAND=0007
# ./EepromAccessTool -nic=1 -f=FXVL_125B_LM_2MB_2.23.bin -mac=XXXXXXXXXXXX

Power off and restart

Cold reboot the device.

Bootloader Version

Check device boot up in debugport log
Bootloader.png

Burnin

AIR-021 Burnin

BootCount

Choose ATX or AT mode

021-atx-at.png

BootCount tool install

In first time please install bootcount tool

$ cd /usr/local/bin/BootCount+shutdown
$ sudo chmod a+x install.sh
$ sudo ./install.sh
$ cd /home/ubuntu
$ sudo ./bootCount.sh

Default enter the OS 30s will poweroff

Boot On Off

The boot count message will be printed before log-in.
Air030 bootcount.jpg
Reset the boot count please remove bootCount.tt.

$ rm bootCount.tt

Tools

Test Command

JP6.2

HDMI

Set on debug port

$ export DISPLAY=:0
$ xrandr

Image resolution : Full HD 1920 x 1080 pixels

$ xrandr -d :0 --output HDMI-0 --mode 1920x1080 -r 60.00

Image resolution : 4K 3840 x 2160 pixels

$ xrandr -d :0 --output HDMI-0 --mode 3840x2160 -r 60.00

021-xrandr.png

TPM

Pre-install TPM-tools

$ sudo apt install --yes tpm2-tools

(1)產生randon code

$ sudo su
root@linux:/home/ubuntu# tpm2_getrandom --hex 20

(2) 對指定檔案 msg.dat 加密

root@linux:/home/ubuntu# tpm2_createprimary -C p -c platform_primary.ctx
root@linux:/home/ubuntu# tpm2_create -C platform_primary.ctx -G rsa2048 -u key.pub -r key.priv
root@linux:/home/ubuntu# tpm2_load -C platform_primary.ctx -u key.pub -r key.priv -c key.ctx
root@linux:/home/ubuntu# echo "my test" >msg.dat
root@linux:/home/ubuntu# tpm2_rsaencrypt -c key.ctx -o msg.enc msg.dat
root@linux:/home/ubuntu# cat msg.enc
root@linux:/home/ubuntu# tpm2_rsadecrypt -c key.ctx -o msg.ptext msg.enc
root@linux:/home/ubuntu# cat msg.ptext 
root@linux:/home/ubuntu# cat msg.dat

(3) 將資料儲存至 tpm 內存

root@linux:/home/ubuntu# tpm2_nvdefine -Q 0x1500031 -C o -s 32 -a "ownerread|policywrite|ownerwrite"
root@linux:/home/ubuntu# echo "write_tpm_adv" >  adv.data
root@linux:/home/ubuntu# tpm2_nvwrite -Q 0x1500031 -C o -i adv.data
root@linux:/home/ubuntu# tpm2_nvread -Q 0x1500031 -C o -s 32 -o read.data
root@linux:/home/ubuntu# cat read.data

(4) 確認已經寫入儲存區域 

root@linux:/home/ubuntu# tpm2_nvreadpublic > nv.out
root@linux:/home/ubuntu# cat nv.out

Error

ERROR: Esys_NV_DefineSpace(0x14C) - tpm:error(2.0): NV Index or persistent object already defined
ERROR: Failed to create NV index 0x1500031.

fixed

root@linux:/home/ubuntu# tpm2_nvundefine 0x1500031

CAN

Hardware setting
Air021 can.png

<Receive> In terminal, run below command

$ sudo su
# modprobe can
# modprobe can-dev
# modprobe mttcan
# ip link set can0 type can bitrate 500000
# ip link set can0 up
# candump can0

<Transmit> In other device terminal, run below command

$ sudo su
# modprobe can
# modprobe can-dev
# modprobe mttcan
# ip link set can0 type can bitrate 500000
# ip link set can0 up
# cansend can0 123#abcdabcd

UART

Switch to 232, 422, 485

Select the mode and refer to the table
Air021 uart-3.png
COM1_SW1
Air021 uart1.png
COM2_SW1
Air021 uart2.png

RS-232

COM1_SW1 OFF-OFF-OFF-OFF

$ sudo su
# stty -F /dev/ttyTHS1 speed 115200 raw -echo
# cat /dev/ttyTHS1 &
# echo "1234" > /dev/ttyTHS1

COM2_SW1 OFF-OFF-OFF-OFF

$ sudo su
# stty -F /dev/ttyTHS2 speed 115200 raw -echo
# cat /dev/ttyTHS2 &
# echo "1234" > /dev/ttyTHS2
RS-422

<Receive> In terminal, run below command
COM1_SW1 ON-OFF-ON-OFF

stty -F /dev/ttyTHS1 speed 115200
cat /dev/ttyTHS1 &
echo "1234" > /dev/ttyTHS1

<Transmit> In other terminal, run below command
COM2_SW1 ON-OFF-ON-OFF

stty -F /dev/ttyTHS2 speed 115200
cat /dev/ttyTHS2 &
echo "1234" > /dev/ttyTHS2
RS-485

<Receive> In terminal, run below command
COM1_SW1 ON-ON-ON-ON

$ sudo su
# stty -F /dev/ttyTHS1 speed 115200 raw -echo
# cat /dev/ttyTHS1 &
# echo "1234" > /dev/ttyTHS1

<Transmit> In other terminal, run below command
COM2_SW1 ON-ON-ON-OFF

$ sudo su
# stty -F /dev/ttyTHS2 speed 115200 raw -echo
# cat /dev/ttyTHS2 &
# echo "1234" > /dev/ttyTHS2

AIW Tool

AIW-356

First need to soft link to build driver

$ cd /lib/modules/<kernel version>/build/arch/
$ sudo ln -s arm64 aarch64

Tar file

$ cd /usr/local/bin

Build driver
Please reference AIW Document

Reference

AIR-021