Difference between revisions of "AFE R750 Development"
| (12 intermediate revisions by 2 users not shown) | |||
| Line 16: | Line 16: | ||
<span style="color:#FF0000;">'''JP6.2'''</span> | <span style="color:#FF0000;">'''JP6.2'''</span> | ||
| + | |||
| + | ==== '''HDMI''' ==== | ||
| + | Set on debug port | ||
| + | <pre> | ||
| + | $ export DISPLAY=:0 | ||
| + | $ xrandr | ||
| + | </pre> | ||
| + | Image resolution : Full HD 1920 x 1080 pixels | ||
| + | <pre> | ||
| + | $ xrandr -d :0 --output HDMI-0 --mode 1920x1080 -r 60.00 | ||
| + | </pre> | ||
| + | Image resolution : 4K 3840 x 2160 pixels | ||
| + | <pre> | ||
| + | $ xrandr -d :0 --output HDMI-0 --mode 3840x2160 -r 60.00 | ||
| + | </pre> | ||
| + | [[File:021-xrandr.png|600px|border]] | ||
| + | |||
| + | ==== '''FAN''' ==== | ||
| + | Set value 0~255 | ||
| + | <pre> | ||
| + | $ sudo su | ||
| + | $ echo 255 > /sys/class/hwmon/hwmon0/pwm1 | ||
| + | </pre> | ||
==== '''CAN''' ==== | ==== '''CAN''' ==== | ||
| Line 58: | Line 81: | ||
</pre> | </pre> | ||
| − | (1) | + | (1) generate randon code |
<pre>$ sudo su | <pre>$ sudo su | ||
</pre> | </pre> | ||
| Line 64: | Line 87: | ||
</pre> | </pre> | ||
| − | (2) | + | (2) encrypted target file msg.dat |
<pre>root@linux:/home/ubuntu# tpm2_createprimary -C p -c platform_primary.ctx | <pre>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_create -C platform_primary.ctx -G rsa2048 -u key.pub -r key.priv | ||
| Line 76: | Line 99: | ||
</pre> | </pre> | ||
| − | (3) | + | (3) store data into tpm |
<pre>root@linux:/home/ubuntu# tpm2_nvdefine -Q 0x1500031 -C o -s 32 -a "ownerread|policywrite|ownerwrite" | <pre>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# echo "write_tpm_adv" > adv.data | ||
| Line 84: | Line 107: | ||
</pre> | </pre> | ||
| − | (4) | + | (4) check the data has been stored tpm |
<pre>root@linux:/home/ubuntu# tpm2_nvreadpublic > nv.out | <pre>root@linux:/home/ubuntu# tpm2_nvreadpublic > nv.out | ||
root@linux:/home/ubuntu# cat nv.out | root@linux:/home/ubuntu# cat nv.out | ||
| Line 191: | Line 214: | ||
===== '''BMI088''' ===== | ===== '''BMI088''' ===== | ||
Please reference : https://docs.nvidia.com/jetson/archives/r36.4/DeveloperGuide/SD/Kernel/Bmi088ImuIioDriver.html?highlight=bmi088 | Please reference : https://docs.nvidia.com/jetson/archives/r36.4/DeveloperGuide/SD/Kernel/Bmi088ImuIioDriver.html?highlight=bmi088 | ||
| + | <pre> | ||
| + | $ sudo su | ||
| + | # echo 0 > /sys/bus/iio/devices/iio\:device0/scan_elements/in_timestamp_en | ||
| + | # /usr/local/bin/IMU/iio_generic_buffer -a -c 10 --device-name accelerometer -g | ||
| + | # /usr/local/bin/IMU/iio_generic_buffer -a -c 10 --device-name gyroscope -g | ||
| + | </pre> | ||
| + | |||
| + | ===== '''MTi''' ===== | ||
| + | <pre> | ||
| + | $ sudo chmod 777 /dev/ttyTHS3 | ||
| + | $ stty -F /dev/ttyTHS3 speed 115200 raw -echo | ||
| + | $ cat /dev/ttyTHS3 | xxd -g1 | grep -i "fa ff 36" | ||
| + | </pre> | ||
| + | [[File:MTi.png|600px|border]] | ||
| + | |||
==== '''AIW Tool''' ==== | ==== '''AIW Tool''' ==== | ||
| + | ===== AIW-357 ===== | ||
| + | For JP6.1 first need to soft link source for build driver | ||
| + | <pre> | ||
| + | $ cd /lib/modules/<kernel version>/build/arch/ | ||
| + | $ sudo ln -s arm64 aarch64 | ||
| + | </pre> | ||
| + | Tar file | ||
| + | <pre> | ||
| + | $ cd /usr/local/bin/AIW-357 | ||
| + | $ sudo tar -xvf AIWS00LTX0317.tar.bz2 | ||
| + | </pre> | ||
| + | Build driver | ||
| + | <br/> | ||
| + | Please reference AIW [https://docs.aiw-module.advantech.com/assets/files/AIW-Tool_UserGuide_v1.0-cc56524ec46f5992c290edbe56f94bf3.pdf Document] | ||
| + | |||
| + | <br/> | ||
| + | For JP6.2 RealTime setting sop | ||
| + | <br/> | ||
| + | Please reference [https://docs.nvidia.com/jetson/archives/r36.4.3/DeveloperGuide/SD/Kernel/KernelCustomization.html#using-the-jetson-linux-real-time-kernel-package NVRealTime] | ||
| + | <br/> | ||
| + | Add the RT kernel repository | ||
| + | <pre> | ||
| + | $ sudo vi /etc/apt/sources.list.d/nvidia-l4t-apt-source.list | ||
| + | </pre> | ||
| + | deb https://repo.download.nvidia.com/jetson/rt-kernel r36.4 main | ||
| + | <br/> | ||
| + | [[File:RT.png|600px|border]] | ||
| + | <br/> | ||
| + | <pre> | ||
| + | $ sudo apt update | ||
| + | $ sudo apt install nvidia-l4t-rt-kernel nvidia-l4t-rt-kernel-headers nvidia-l4t-rt-kernel-oot-modules nvidia-l4t-display-rt-kernel | ||
| + | </pre> | ||
| + | Cold reboot the device. | ||
| + | <br/> | ||
| + | Need to soft link source for build driver | ||
| + | <pre> | ||
| + | $ sudo ln -sf /usr/src/linux-headers-5.15.148-rt-tegra-ubuntu22.04_aarch64/3rdparty/canonical/linux-jammy/kernel-source /lib/modules/5.15.148-rt-tegra/build | ||
| + | $ cd /lib/modules/5.15.148-rt-tegra/build/arch/ | ||
| + | $ sudo ln -s arm64 aarch64 | ||
| + | </pre> | ||
| + | Tar file | ||
| + | <pre> | ||
| + | $ cd /usr/local/bin/AIW-357 | ||
| + | $ sudo tar -xvf AIWS00LTX0317.tar.bz2 | ||
| + | </pre> | ||
| + | Build driver | ||
| + | <br/> | ||
| + | Please reference AIW [https://docs.aiw-module.advantech.com/assets/files/AIW-Tool_UserGuide_v1.0-cc56524ec46f5992c290edbe56f94bf3.pdf Document] | ||
| + | |||
===== EWM-W179M201E ===== | ===== EWM-W179M201E ===== | ||
First need to install WIFI module | First need to install WIFI module | ||
| Line 197: | Line 284: | ||
$ cd /usr/local/bin/EWM-W179 | $ cd /usr/local/bin/EWM-W179 | ||
$ sudo su | $ sudo su | ||
| + | # modprobe cfg80211 | ||
# insmod rtk_btusb.ko | # insmod rtk_btusb.ko | ||
# insmod 8852be.ko | # insmod 8852be.ko | ||
Latest revision as of 09:13, 19 January 2026
Contents
Attention
Account & Password
Account number
ubuntu
In device used "sudo" or "sudo su" to root. Password required.
ubuntu
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
FAN
Set value 0~255
$ sudo su $ echo 255 > /sys/class/hwmon/hwmon0/pwm1
CAN
<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 terminal, run below command
$ sudo su # modprobe can # modprobe can-dev # modprobe mttcan # ip link set can1 type can bitrate 500000 # ip link set can1 up # cansend can1 123#abcdabcd
WatchDog
$ sudo su # sync; sleep 2; sync; echo c > /proc/sysrq-trigger
TPM
Pre-install TPM-tools
$ sudo apt install --yes tpm2-tools
(1) generate randon code
$ sudo su
root@linux:/home/ubuntu# tpm2_getrandom --hex 20
(2) encrypted target file 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) store data into 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) check the data has been stored tpm
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
RTC
1. Please remove all internet.
$ sudo timedatectl
DIO GPIO
$ gpioinfo
GPI_1~GPI_8 (gpio300~gpio307) Can only be set input
$ gpioget gpiochip2 0
GPO_1~GPO_8(gpio308~gpio315) Can only be set output
$ gpioset gpiochip2 8=1
UART
AGX-Orin COM1: ttyTHS1 COM2: ttyTHS2
Switch to 232, 422, 485
Select the mode and refer to the table
COM1 :
COM2 :
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
RS-422
<Receive> In terminal, run below command
COM1_SW1 ON-OFF-ON-OFF
$ sudo su # 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
$ sudo su # 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
IMU
BMI088
Please reference : https://docs.nvidia.com/jetson/archives/r36.4/DeveloperGuide/SD/Kernel/Bmi088ImuIioDriver.html?highlight=bmi088
$ sudo su # echo 0 > /sys/bus/iio/devices/iio\:device0/scan_elements/in_timestamp_en # /usr/local/bin/IMU/iio_generic_buffer -a -c 10 --device-name accelerometer -g # /usr/local/bin/IMU/iio_generic_buffer -a -c 10 --device-name gyroscope -g
MTi
$ sudo chmod 777 /dev/ttyTHS3 $ stty -F /dev/ttyTHS3 speed 115200 raw -echo $ cat /dev/ttyTHS3 | xxd -g1 | grep -i "fa ff 36"
AIW Tool
AIW-357
For JP6.1 first need to soft link source for build driver
$ cd /lib/modules/<kernel version>/build/arch/ $ sudo ln -s arm64 aarch64
Tar file
$ cd /usr/local/bin/AIW-357 $ sudo tar -xvf AIWS00LTX0317.tar.bz2
Build driver
Please reference AIW Document
For JP6.2 RealTime setting sop
Please reference NVRealTime
Add the RT kernel repository
$ sudo vi /etc/apt/sources.list.d/nvidia-l4t-apt-source.list
deb https://repo.download.nvidia.com/jetson/rt-kernel r36.4 main
$ sudo apt update $ sudo apt install nvidia-l4t-rt-kernel nvidia-l4t-rt-kernel-headers nvidia-l4t-rt-kernel-oot-modules nvidia-l4t-display-rt-kernel
Cold reboot the device.
Need to soft link source for build driver
$ sudo ln -sf /usr/src/linux-headers-5.15.148-rt-tegra-ubuntu22.04_aarch64/3rdparty/canonical/linux-jammy/kernel-source /lib/modules/5.15.148-rt-tegra/build $ cd /lib/modules/5.15.148-rt-tegra/build/arch/ $ sudo ln -s arm64 aarch64
Tar file
$ cd /usr/local/bin/AIW-357 $ sudo tar -xvf AIWS00LTX0317.tar.bz2
Build driver
Please reference AIW Document
EWM-W179M201E
First need to install WIFI module
$ cd /usr/local/bin/EWM-W179 $ sudo su # modprobe cfg80211 # insmod rtk_btusb.ko # insmod 8852be.ko
AIW-170
First need to install WIFI module
$ cd /usr/local/bin/AIW-170 $ sudo su # insmod btbcm.ko # insmod btintel.ko # insmod btqca.ko # insmod btrtl.ko # insmod btusb.ko # modprobe cfg80211 # insmod wlan_cnss_core_pcie.ko # insmod wlan.ko
GMSL
oToBrite Camera
Camera type : oToCAM222-C120M
HW setting : Camera link to GMSL port
AGX Orin :
Orin Nx :
Please install camera driver first
Attention : can only be executed once command to setup camera
Then system will reboot
$ cd /usr/local/bin/otocam
Choose your module
$ sudo ./set_otocam_agxorin_64g.sh
$ sudo ./set_otocam_agxorin_32g.sh
$ sudo ./set_otocam_orinnx.sh
Insmod driver
$ cd /home/ubuntu $ sudo ./insmod-otocam.sh
Check Video channel "video0"...
$ ls /dev/video*
Preview command
$ cd /home/ubuntu $ sudo ./enable-otocamera.sh
Orbbec Camera
Camera type : Orbbec Gemini 335Lg
Model : G40055-270
HW setting : Camera link to GMSL port
AGX Orin :
Orin Nx :
Please install camera driver first
$ cd /usr/local/bin/gemini335lg
Choose your module
$ sudo ./set_gemini335lg_agxorin_64g_32g.sh
$ sudo ./set_gemini335lg_orinnx_16g.sh
Cold reboot the device.
Check Video channel "video0"...
$ ls /dev/video*
Preview command
Attention : Ports 6 and 8 of the AGX Orin are unavailable, this is a limitation.
$ gst-launch-1.0 v4l2src device=/dev/video2 ! 'video/x-raw,width=1280,height=720,framerate=30/1' ! autovideosink