Difference between revisions of "AIR 030 Development"
(undo) |
|||
| Line 2: | Line 2: | ||
<p>Change the SW2 to ON and press power button.<br /> | <p>Change the SW2 to ON and press power button.<br /> | ||
| − | + | <img _fck_mw_filename="Recovery BT.png" _fck_mw_origimgheight="377" _fck_mw_origimgwidth="566" alt="Air030 recovery button.jpg" src="/wiki/images/c/c8/Recovery_BT.png" style="vertical-align:middle;" title="Air030 recovery button.jpg" width="400" /></p> | |
<pre> | <pre> | ||
| Line 64: | Line 64: | ||
<pre> | <pre> | ||
| − | $ $ sudo ./tools/kernel_flash/l4t_initrd_flash.sh --external-device nvme0n1p1 -p & | + | $ $ sudo ./tools/kernel_flash/l4t_initrd_flash.sh --external-device nvme0n1p1 -p "-c ./bootloader/generic/cfg/flash_t234_qspi.xml" -c ./tools/kernel_flash/flash_l4t_t234_nvme.xml --showlogs --network usb0 jetson-agx-orin-devkit nvme0n1p1 |
</pre> | </pre> | ||
| − | <p> | + | <p>倘若燒錄時遇到"Parsing board information failed"<br /> |
| − | + | 若可以先正常開機,使用get_eeprom_crc取得crc</p> | |
| − | |||
| − | |||
<pre> | <pre> | ||
| − | ubuntu@localhost:~$ chmod a+x get_eeprom_crc | + | ubuntu@localhost:~$ chmod a+x get_eeprom_crc) |
ubuntu@localhost:~$ sudo ./get_eeprom_crc 0 | ubuntu@localhost:~$ sudo ./get_eeprom_crc 0 | ||
</pre> | </pre> | ||
| − | <p> | + | <p>再透過i2cset寫入正確的crc值到EEPROM<br /> |
| − | + | 參數 : I2C_BUS, EEPROM_SLAVE_ADDR, ADDRESS, VALUE</p> | |
| − | |||
| − | |||
<pre> | <pre> | ||
| Line 86: | Line 82: | ||
</pre> | </pre> | ||
| − | <p> | + | <p>再重燒<br /> |
| − | + | 若不能正常開機,先下底下指令燒一次,然後再更新CRC值</p> | |
| − | |||
| − | |||
| − | |||
<pre> | <pre> | ||
| − | $ sudo SKIP_EEPROM_CHECK=1 | + | $ sudo SKIP_EEPROM_CHECK=1 BOARDSKU="0004" CHIP_SKU=00:00:00:D2 ./flash.sh jetson-agx-orin-devkit internal |
</pre> | </pre> | ||
| − | <p> | + | <p>nVidia:</p> |
<pre> | <pre> | ||
| − | $ sudo BOARDID=& | + | $ sudo BOARDID="3701" FAB="300" BOARDSKU="0004" BOARDREV="C.2" CHIP_SKU=00:00:00:D2 ./flash.sh jetson-agx-orin-devkit internal |
</pre> | </pre> | ||
| Line 106: | Line 99: | ||
<p>Front</p> | <p>Front</p> | ||
| − | <p> | + | <p><img _fck_mw_filename="Air030 board layout front.jpg" _fck_mw_origimgheight="718" _fck_mw_origimgwidth="2048" alt="Air030 board layout front.jpg" src="/wiki/images/5/59/Air030_board_layout_front.jpg" style="vertical-align:middle;" title="Air030 board layout front.jpg" width="400" /></p> |
<p>Back</p> | <p>Back</p> | ||
| − | <p> | + | <p><img _fck_mw_filename="Air030 board layout back.jpg" _fck_mw_origimgheight="1044" _fck_mw_origimgwidth="2048" alt="Air030 board layout back.jpg" src="/wiki/images/c/cd/Air030_board_layout_back.jpg" style="vertical-align:middle;" title="Air030 board layout back.jpg" width="400" /></p> |
<p>Bottom</p> | <p>Bottom</p> | ||
| − | <p> | + | <p><img _fck_mw_filename="Air030 board layout bottom.jpg" _fck_mw_origimgheight="2048" _fck_mw_origimgwidth="2048" alt="Air030 board layout bottom.jpg" src="/wiki/images/e/e0/Air030_board_layout_bottom.jpg" style="vertical-align:middle;" title="Air030 board layout bottom.jpg" width="400" /></p> |
<h2>Tools</h2> | <h2>Tools</h2> | ||
| Line 138: | Line 131: | ||
<h4><b>GPIO Expander</b></h4> | <h4><b>GPIO Expander</b></h4> | ||
| − | <p> | + | <p><img _fck_mw_filename="Air030 dio.jpg" _fck_mw_origimgheight="1731" _fck_mw_origimgwidth="1537" alt="File:Air030_dio.jpg" src="/wiki/images/0/00/Air030_dio.jpg" style="vertical-align:middle;" title="File:Air030_dio.jpg" width="400" /></p> |
<p>Test GPIO high/low<br /> | <p>Test GPIO high/low<br /> | ||
| − | + | <img _fck_mw_filename="Air030 gpio expander io.png" _fck_mw_origimgheight="1532" _fck_mw_origimgwidth="1982" alt="Air030 gpio expander io.png" src="/wiki/images/6/6d/Air030_gpio_expander_io.png" style="vertical-align:middle;" title="Air030 gpio expander io.png" width="400" /><br /> | |
1).Switch to root</p> | 1).Switch to root</p> | ||
| Line 152: | Line 145: | ||
<pre> | <pre> | ||
| − | root@localhost:/home/ubuntu# echo 300 & | + | root@localhost:/home/ubuntu# echo 300 > /sys/class/gpio/export |
| − | root@localhost:/home/ubuntu# echo out & | + | root@localhost:/home/ubuntu# echo out > /sys/class/gpio/gpio300/direction |
| − | root@localhost:/home/ubuntu# echo 1 & | + | root@localhost:/home/ubuntu# echo 1 > /sys/class/gpio/gpio300/value |
</pre> | </pre> | ||
| Line 161: | Line 154: | ||
<pre> | <pre> | ||
root@linux:/home/ubuntu$ sudo -s | root@linux:/home/ubuntu$ sudo -s | ||
| − | root@linux:/home/ubuntu# sync; sleep 2; sync; echo c & | + | root@linux:/home/ubuntu# sync; sleep 2; sync; echo c > /proc/sysrq-trigger |
</pre> | </pre> | ||
| Line 178: | Line 171: | ||
<pre> | <pre> | ||
| − | # ntpdate tock.stdtime.gov.tw & | + | # ntpdate tock.stdtime.gov.tw <===安裝ntpdate方式: $sudo apt-get install ntpdate <enter> |
# hwclock -w | # hwclock -w | ||
</pre> | </pre> | ||
| Line 186: | Line 179: | ||
<pre> | <pre> | ||
| − | # ntpdate tock.stdtime.gov.tw & | + | # ntpdate tock.stdtime.gov.tw && hwclock -s &&ntpdate -u tock.stdtime.gov.tw |
</pre> | </pre> | ||
| Line 203: | Line 196: | ||
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 | ||
root@linux:/home/ubuntu# tpm2_load -C platform_primary.ctx -u key.pub -r key.priv -c key.ctx | root@linux:/home/ubuntu# tpm2_load -C platform_primary.ctx -u key.pub -r key.priv -c key.ctx | ||
| − | root@linux:/home/ubuntu# echo & | + | 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# tpm2_rsaencrypt -c key.ctx -o msg.enc msg.dat | ||
root@linux:/home/ubuntu# cat msg.enc | root@linux:/home/ubuntu# cat msg.enc | ||
| Line 214: | Line 207: | ||
<pre> | <pre> | ||
| − | root@linux:/home/ubuntu# tpm2_nvdefine -Q 0x1500031 -C o -s 32 -a & | + | root@linux:/home/ubuntu# tpm2_nvdefine -Q 0x1500031 -C o -s 32 -a "ownerread|policywrite|ownerwrite" |
| − | root@linux:/home/ubuntu# echo & | + | 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_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# tpm2_nvread -Q 0x1500031 -C o -s 32 -o read.data | ||
| Line 224: | Line 217: | ||
<pre> | <pre> | ||
| − | root@linux:/home/ubuntu# tpm2_nvreadpublic & | + | root@linux:/home/ubuntu# tpm2_nvreadpublic > nv.out |
root@linux:/home/ubuntu# cat nv.out | root@linux:/home/ubuntu# cat nv.out | ||
</pre> | </pre> | ||
| Line 249: | Line 242: | ||
<h4><b>UART</b></h4> | <h4><b>UART</b></h4> | ||
| − | <p> | + | <p><img _fck_mw_filename="COMPort.png" _fck_mw_origimgheight="403" _fck_mw_origimgwidth="341" alt="COMPort.png" src="/wiki/images/8/82/COMPort.png" style="vertical-align:middle;" title="COMPort.png" width="800" /><br /> |
| − | + | <img _fck_mw_filename="COMPortSwitchDefine.png" _fck_mw_origimgheight="399" _fck_mw_origimgwidth="1126" alt="COMPortSwitchDefine.png" src="/wiki/images/f/f0/COMPortSwitchDefine.png" style="vertical-align:middle;" title="COMPortSwitchDefine.png" width="800" /><br /> | |
RS232 (<span data-darkreader-inline-color="" style="color: rgb(0, 112, 192); --darkreader-inline-color: #46b2ff;"><b>COMX_SW1 : OFF-OFF-X-X</b></span>)</p> | RS232 (<span data-darkreader-inline-color="" style="color: rgb(0, 112, 192); --darkreader-inline-color: #46b2ff;"><b>COMX_SW1 : OFF-OFF-X-X</b></span>)</p> | ||
| − | <p> | + | <p><img _fck_mw_filename="Air030 rs232loopback.jpg" _fck_mw_origimgheight="1615" _fck_mw_origimgwidth="1537" alt="File:Air030_rs232loopback.jpg" src="/wiki/images/e/e2/Air030_rs232loopback.jpg" style="vertical-align:middle;" title="File:Air030_rs232loopback.jpg" width="400" /></p> |
<p> UART5_SW1 - SW1 : ON</p> | <p> UART5_SW1 - SW1 : ON</p> | ||
| Line 259: | Line 252: | ||
<table border="1" cellpadding="1" cellspacing="1" style="width: 800px;"> | <table border="1" cellpadding="1" cellspacing="1" style="width: 800px;"> | ||
<tbody> | <tbody> | ||
| − | |||
| − | |||
| − | |||
<tr> | <tr> | ||
<th data-darkreader-inline-bgcolor="" data-darkreader-inline-color="" scope="col" style="width: 30px; background-color: rgb(80, 80, 80); color: rgb(255, 255, 255); --darkreader-inline-bgcolor: #3c4144; --darkreader-inline-color: #e8e6e3;">COM Port</th> | <th data-darkreader-inline-bgcolor="" data-darkreader-inline-color="" scope="col" style="width: 30px; background-color: rgb(80, 80, 80); color: rgb(255, 255, 255); --darkreader-inline-bgcolor: #3c4144; --darkreader-inline-color: #e8e6e3;">COM Port</th> | ||
| Line 268: | Line 258: | ||
<tr> | <tr> | ||
<th scope="row">COM1</th> | <th scope="row">COM1</th> | ||
| − | <td style="width: 300px;">stty -F /dev/ttyTHS0 speed 115200 raw -echo | + | <td style="width: 300px;">stty -F /dev/ttyTHS0 speed 115200 raw -echo<br /> |
| − | + | cat /dev/ttyTHS0 &<br /> | |
echo "1234" > /dev/ttyTHS0</td> | echo "1234" > /dev/ttyTHS0</td> | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
<th scope="row">COM2</th> | <th scope="row">COM2</th> | ||
| − | <td style="width: 300px;">stty -F /dev/ttyTHS4 speed 115200 raw -echo | + | <td style="width: 300px;">stty -F /dev/ttyTHS4 speed 115200 raw -echo<br /> |
| − | + | cat /dev/ttyTHS4 &<br /> | |
echo "1234" > /dev/ttyTHS4</td> | echo "1234" > /dev/ttyTHS4</td> | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
<th scope="row">COM4</th> | <th scope="row">COM4</th> | ||
| − | <td style="width: 300px;">stty -F /dev/ttyTHS3 speed 115200 raw -echo | + | <td style="width: 300px;">stty -F /dev/ttyTHS3 speed 115200 raw -echo<br /> |
| − | + | cat /dev/ttyTHS3 &<br /> | |
echo "1234" > /dev/ttyTHS3</td> | echo "1234" > /dev/ttyTHS3</td> | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
<th scope="row">COM5</th> | <th scope="row">COM5</th> | ||
| − | <td style="width: 300px;">stty -F /dev/ttyTHS1 speed 115200 raw -echo | + | <td style="width: 300px;">stty -F /dev/ttyTHS1 speed 115200 raw -echo<br /> |
| − | + | cat /dev/ttyTHS1 &<br /> | |
echo "1234" > /dev/ttyTHS1</td> | echo "1234" > /dev/ttyTHS1</td> | ||
| − | |||
| − | |||
| − | |||
</tr> | </tr> | ||
</tbody> | </tbody> | ||
| Line 309: | Line 296: | ||
<pre> | <pre> | ||
| − | # stty -F /dev/ttyTHS& | + | # stty -F /dev/ttyTHS<SEND_UART_NO> speed 115200 |
| − | # stty -F /dev/ttyTHS& | + | # stty -F /dev/ttyTHS<RECEIVE_UART_NO> speed 115200 |
</pre> | </pre> | ||
| Line 316: | Line 303: | ||
<pre> | <pre> | ||
| − | # cat /dev/ttyTHS& | + | # cat /dev/ttyTHS<RECEIVE_UART_NO> & |
| − | # echo & | + | # echo "1234" > /dev/ttyTHS<SEND_UART_NO> |
</pre> | </pre> | ||
| Line 353: | Line 340: | ||
<pre> | <pre> | ||
| − | $ aplay -D hw:0,3 & | + | $ aplay -D hw:0,3 <WAV file> |
</pre> | </pre> | ||
| Line 359: | Line 346: | ||
<pre> | <pre> | ||
| − | $ aplay -D hw:1,0 & | + | $ aplay -D hw:1,0 <WAV file> |
</pre> | </pre> | ||
<h4><b>FAN</b></h4> | <h4><b>FAN</b></h4> | ||
| − | <p> | + | <p><img _fck_mw_filename="Air030 fan.jpg" _fck_mw_origimgheight="2048" _fck_mw_origimgwidth="1537" alt="File:Air030_fan.jpg" src="/wiki/images/4/42/Air030_fan.jpg" style="vertical-align:middle;" title="File:Air030_fan.jpg" width="400" /></p> |
<p>Change PWM value ${PWM} from 1 ~ 255.</p> | <p>Change PWM value ${PWM} from 1 ~ 255.</p> | ||
| Line 371: | Line 358: | ||
ubuntu@localhost:~$ sudo -s | ubuntu@localhost:~$ sudo -s | ||
For R35.1.0 | For R35.1.0 | ||
| − | root@localhost:/home/ubuntu# echo ${PWM} & | + | root@localhost:/home/ubuntu# echo ${PWM} > /sys/class/hwmon/hwmon3/pwm1 |
For R35.3.1 | For R35.3.1 | ||
| − | root@localhost:/home/ubuntu# echo ${PWM} & | + | root@localhost:/home/ubuntu# echo ${PWM} > /sys/class/hwmon/hwmon4/pwm1 |
</pre> | </pre> | ||
| Line 383: | Line 370: | ||
</pre> | </pre> | ||
| − | <p> | + | <p><a alt="https://docs.nvidia.com/jetson/archives/r35.1/DeveloperGuide/text/SD/PlatformPowerAndPerformance/JetsonOrinNxSeriesAndJetsonAgxOrinSeries.html#fan-profile-control" href="https://docs.nvidia.com/jetson/archives/r35.1/DeveloperGuide/text/SD/PlatformPowerAndPerformance/JetsonOrinNxSeriesAndJetsonAgxOrinSeries.html#fan-profile-control" title="https://docs.nvidia.com/jetson/archives/r35.1/DeveloperGuide/text/SD/PlatformPowerAndPerformance/JetsonOrinNxSeriesAndJetsonAgxOrinSeries.html#fan-profile-control">nVidia:fan-profile-control</a></p> |
<h4><b>CAN</b></h4> | <h4><b>CAN</b></h4> | ||
| − | <p> | + | <p><img _fck_mw_filename="Air030 can.jpg" _fck_mw_origimgheight="1808" _fck_mw_origimgwidth="1537" alt="File:Air030_can.jpg" src="/wiki/images/0/01/Air030_can.jpg" style="vertical-align:middle;" title="File:Air030_can.jpg" width="400" /> <img _fck_mw_filename="030CAN.png" _fck_mw_origimgheight="320" _fck_mw_origimgwidth="263" alt="030CAN.png" src="/wiki/images/4/40/030CAN.png" style="vertical-align:middle;" title="030CAN.png" width="200" /><br /> |
| − | + | <img _fck_mw_filename="CAN LoopbackTest.jpg" _fck_mw_origimgheight="800" _fck_mw_origimgwidth="600" alt="CAN LoopbackTest.png" src="/wiki/images/5/5d/CAN_LoopbackTest.jpg" style="vertical-align:middle;" title="CAN LoopbackTest.png" width="400" /></p> | |
<pre> | <pre> | ||
| Line 418: | Line 405: | ||
<pre> | <pre> | ||
$ sudo -s | $ sudo -s | ||
| − | # fio --ioengine=libaio --prio=0 --numjobs=1 --direct=1 --iodepth=32 --runtime=& | + | # fio --ioengine=libaio --prio=0 --numjobs=1 --direct=1 --iodepth=32 --runtime=<runtime> --bwavgtime=5000 --time_based --rw=read --bs=128k --group_reporting --name=<device_path> |
</pre> | </pre> | ||
| Line 427: | Line 414: | ||
<h4><b>Camera</b></h4> | <h4><b>Camera</b></h4> | ||
| − | <p> | + | <p><img _fck_mw_filename="Air030 camera imx219.jpg" _fck_mw_origimgheight="1199" _fck_mw_origimgwidth="1498" alt="File:Air030_camera_imx219.jpg" src="/wiki/images/f/f6/Air030_camera_imx219.jpg" style="vertical-align:middle;" title="File:Air030_camera_imx219.jpg" width="400" /></p> |
<p>The imx219 mode:<br /> | <p>The imx219 mode:<br /> | ||
| Line 440: | Line 427: | ||
<pre> | <pre> | ||
| − | $ gst-launch-1.0 nvarguscamerasrc& | + | $ gst-launch-1.0 nvarguscamerasrc&nbsp;! 'video/x-raw(memory:NVMM), width=3280, height=2464, format=NV12, framerate=21/1'&nbsp;! nv3dsink</pre> |
<p>3280x1848</p> | <p>3280x1848</p> | ||
<pre> | <pre> | ||
| − | $ gst-launch-1.0 nvarguscamerasrc& | + | $ gst-launch-1.0 nvarguscamerasrc&nbsp;! 'video/x-raw(memory:NVMM), width=3280, height=1848, format=NV12, framerate=28/1'&nbsp;! nv3dsink</pre> |
<p>1920x1080</p> | <p>1920x1080</p> | ||
<pre> | <pre> | ||
| − | $ gst-launch-1.0 nvarguscamerasrc& | + | $ gst-launch-1.0 nvarguscamerasrc&nbsp;! 'video/x-raw(memory:NVMM), width=1920, height=1080, format=NV12, framerate=29/1'&nbsp;! nv3dsink</pre> |
<p>1640x1232</p> | <p>1640x1232</p> | ||
<pre> | <pre> | ||
| − | $ gst-launch-1.0 nvarguscamerasrc& | + | $ gst-launch-1.0 nvarguscamerasrc&nbsp;! 'video/x-raw(memory:NVMM), width=1640, height=1232, format=NV12, framerate=29/1'&nbsp;! nv3dsink</pre> |
<p>1280x720</p> | <p>1280x720</p> | ||
<pre> | <pre> | ||
| − | $ gst-launch-1.0 nvarguscamerasrc& | + | $ gst-launch-1.0 nvarguscamerasrc&nbsp;! 'video/x-raw(memory:NVMM), width=1280, height=720, format=NV12, framerate=59/1'&nbsp;! nv3dsink</pre> |
<p>Capture Image (for JP6 : No nv3dsink gstreamer element, fixed by installing package nvidia-l4t-gstreamer)</p> | <p>Capture Image (for JP6 : No nv3dsink gstreamer element, fixed by installing package nvidia-l4t-gstreamer)</p> | ||
<pre> | <pre> | ||
| − | $ nvargus_nvraw --c 0 --mode 0 --file /home/ubuntu/sample.jpg --format & | + | $ nvargus_nvraw --c 0 --mode 0 --file /home/ubuntu/sample.jpg --format "yuv, jpg" |
</pre> | </pre> | ||
<h3><b>Power Mode</b></h3> | <h3><b>Power Mode</b></h3> | ||
| − | <p> | + | <p><a alt="https://docs.nvidia.com/jetson/archives/r34.1/DeveloperGuide/text/SD/PlatformPowerAndPerformance/JetsonOrinNxSeriesAndJetsonAgxOrinSeries.html#supported-modes-and-power-efficiency" href="https://docs.nvidia.com/jetson/archives/r34.1/DeveloperGuide/text/SD/PlatformPowerAndPerformance/JetsonOrinNxSeriesAndJetsonAgxOrinSeries.html#supported-modes-and-power-efficiency" title="https://docs.nvidia.com/jetson/archives/r34.1/DeveloperGuide/text/SD/PlatformPowerAndPerformance/JetsonOrinNxSeriesAndJetsonAgxOrinSeries.html#supported-modes-and-power-efficiency">Supported-modes-and-power-efficiency</a></p> |
<h3>Flash Mac</h3> | <h3>Flash Mac</h3> | ||
| − | <p> | + | <p><a alt="https://advantecho365-my.sharepoint.com/:u:/g/personal/jack501_chen_advantech_com/EczfhEigBcxIsAWt80o7iZkBH1EbUMTo7jQeX94DbJovsw?e=PPEyJU" href="https://advantecho365-my.sharepoint.com/:u:/g/personal/jack501_chen_advantech_com/EczfhEigBcxIsAWt80o7iZkBH1EbUMTo7jQeX94DbJovsw?e=PPEyJU" title="https://advantecho365-my.sharepoint.com/:u:/g/personal/jack501_chen_advantech_com/EczfhEigBcxIsAWt80o7iZkBH1EbUMTo7jQeX94DbJovsw?e=PPEyJU">I225 Flash Tool</a><br /> |
Copy and extract I225_Flash_Tool.zip in the device.</p> | Copy and extract I225_Flash_Tool.zip in the device.</p> | ||
| Line 484: | Line 471: | ||
<pre> | <pre> | ||
| − | & | + | <pre>ubuntu@localhost:~$ sudo chmod a+x ./EepromAccessTool |
</pre> | </pre> | ||
| Line 544: | Line 531: | ||
<p>The boot count message will be printed before log-in.<br /> | <p>The boot count message will be printed before log-in.<br /> | ||
| − | + | <img _fck_mw_filename="Air030 bootcount.jpg" _fck_mw_origimgheight="104" _fck_mw_origimgwidth="488" alt="Air030 bootcount.jpg" src="/wiki/images/4/40/Air030_bootcount.jpg" style="vertical-align:middle;" title="Air030 bootcount.jpg" width="200" /><br /> | |
Reset the boot count please remove <font color="#0070c0" data-darkreader-inline-color="" style="--darkreader-inline-color: #46b2ff;"><b>bootCount.tt</b></font>.</p> | Reset the boot count please remove <font color="#0070c0" data-darkreader-inline-color="" style="--darkreader-inline-color: #46b2ff;"><b>bootCount.tt</b></font>.</p> | ||
| Line 572: | Line 559: | ||
</pre> | </pre> | ||
| − | <p>More power consumption version (nVidia suggestion + | + | <p>More power consumption version (nVidia suggestion + <a href=":File%3AAir030-half-matrixMulCUBLAS.patch">0001-half-matrixMulCUBLAS.patch</a>)<br /> |
matrixMulCUBLAS</p> | matrixMulCUBLAS</p> | ||
| Line 600: | Line 587: | ||
<pre> | <pre> | ||
| − | $ gst-launch-1.0 v4l2src device=/dev/video0& | + | $ gst-launch-1.0 v4l2src device=/dev/video0&nbsp;! 'video/x-raw,width=1280,height=720'&nbsp;! nvvidconv&nbsp;! 'video/x-raw(memory:NVMM)'&nbsp;! nvvidconv&nbsp;! 'video/x-raw(memory:NVMM)'&nbsp;! nvv4l2h264enc&nbsp;! fakesink |
</pre> | </pre> | ||
| Line 606: | Line 593: | ||
<pre> | <pre> | ||
| − | gst-launch-1.0 filesrc location=/usr/local/bin/4k264.mp4& | + | gst-launch-1.0 filesrc location=/usr/local/bin/4k264.mp4&nbsp;! qtdemux&nbsp;! queue&nbsp;! h264parse&nbsp;! nvv4l2decoder&nbsp;! 'video/x-raw(memory:NVMM), format=(string)NV12'&nbsp;! queue&nbsp;! fakesink |
</pre> | </pre> | ||
| Line 619: | Line 606: | ||
<h3><b>AW-CB375NF(EWM-W159M201E)</b></h3> | <h3><b>AW-CB375NF(EWM-W159M201E)</b></h3> | ||
| − | <p> | + | <p><img _fck_mw_filename="Air030 awcb375nf.jpg" _fck_mw_origimgheight="1658" _fck_mw_origimgwidth="1302" alt="File:Air030_awcb375nf.jpg" src="/wiki/images/1/12/Air030_awcb375nf.jpg" style="vertical-align:middle;" title="File:Air030_awcb375nf.jpg" width="400" /> <img _fck_mw_filename="Air030 awcb375nf onboard.jpg" _fck_mw_origimgheight="2048" _fck_mw_origimgwidth="1537" alt="File:Air030_awcb375nf_onboard.jpg" src="/wiki/images/1/11/Air030_awcb375nf_onboard.jpg" style="vertical-align:middle;" title="File:Air030_awcb375nf_onboard.jpg" width="400" /></p> |
<p>Adjust dip switch</p> | <p>Adjust dip switch</p> | ||
| Line 628: | Line 615: | ||
</ul> | </ul> | ||
| − | <p> | + | <p><img _fck_mw_filename="AIR030 LAN3 MKE SW1.jpg" _fck_mw_origimgheight="916" _fck_mw_origimgwidth="1632" alt="AIR030_LAN3_MKE_SW1.jpg" src="/wiki/images/5/5c/AIR030_LAN3_MKE_SW1.jpg" style="vertical-align:middle;" title="AIR030_LAN3_MKE_SW1.jpg" width="400" /> <img _fck_mw_filename="Air030 uart5 selection.jpg" _fck_mw_origimgheight="936" _fck_mw_origimgwidth="1756" alt="Air030_uart5_selection.jpg" src="/wiki/images/6/67/Air030_uart5_selection.jpg" style="vertical-align:middle;" title="Air030_uart5_selection.jpg" width="400" /></p> |
<p><b>Wi-Fi</b><br /> | <p><b>Wi-Fi</b><br /> | ||
| Line 685: | Line 672: | ||
<h3><b>AIW-35x</b></h3> | <h3><b>AIW-35x</b></h3> | ||
| − | <p> | + | <p><img _fck_mw_filename="Air030 aiw-356.jpg" _fck_mw_origimgheight="935" _fck_mw_origimgwidth="1529" alt="File:Air030_aiw-356.jpg" src="/wiki/images/b/b2/Air030_aiw-356.jpg" style="vertical-align:middle;" title="File:Air030_aiw-356.jpg" width="400" /> <img _fck_mw_filename="Air030 aiw-356 onboard.jpg" _fck_mw_origimgheight="2048" _fck_mw_origimgwidth="1537" alt="File:Air030_aiw-356_onboard.jpg" src="/wiki/images/7/73/Air030_aiw-356_onboard.jpg" style="vertical-align:middle;" title="File:Air030_aiw-356_onboard.jpg" width="400" /> <img _fck_mw_filename="Air030 uart5 selection.jpg" _fck_mw_origimgheight="936" _fck_mw_origimgwidth="1756" alt="Air030_uart5_selection.jpg" src="/wiki/images/6/67/Air030_uart5_selection.jpg" style="vertical-align:middle;" title="Air030_uart5_selection.jpg" width="400" /></p> |
<p>Check the module is available.</p> | <p>Check the module is available.</p> | ||
| Line 698: | Line 685: | ||
<pre> | <pre> | ||
buntu@localhost:~$ ifconfig usb0 | buntu@localhost:~$ ifconfig usb0 | ||
| − | usb0: flags=4227& | + | usb0: flags=4227<UP,BROADCAST,NOARP,MULTICAST> mtu 1500 |
ether 00:33:34:37:35:33 txqueuelen 1000 (Ethernet) | ether 00:33:34:37:35:33 txqueuelen 1000 (Ethernet) | ||
RX packets 0 bytes 0 (0.0 B) | RX packets 0 bytes 0 (0.0 B) | ||
| Line 708: | Line 695: | ||
<pre> | <pre> | ||
ubuntu@localhost:~$ sudo dmesg | grep usb0 | ubuntu@localhost:~$ sudo dmesg | grep usb0 | ||
| − | [ 14.115707] GobiNet 1-3.4:1.4 usb0: register & | + | [ 14.115707] GobiNet 1-3.4:1.4 usb0: register 'GobiNet' at usb-3610000.xhci-3.4, GobiNet Ethernet Device, d2:77:82:0c:af:59 |
</pre> | </pre> | ||
| Line 723: | Line 710: | ||
<h3><b>NVME</b></h3> | <h3><b>NVME</b></h3> | ||
| − | <p> | + | <p><img _fck_mw_filename="Air030 nvme.jpg" _fck_mw_origimgheight="498" _fck_mw_origimgwidth="1610" alt="File:Air030_nvme.jpg" src="/wiki/images/a/ab/Air030_nvme.jpg" style="vertical-align:middle;" title="File:Air030_nvme.jpg" width="400" /> <img _fck_mw_filename="Air030 nvme onboard.jpg" _fck_mw_origimgheight="2048" _fck_mw_origimgwidth="1537" alt="File:Air030_nvme_onboard.jpg" src="/wiki/images/2/2f/Air030_nvme_onboard.jpg" style="vertical-align:middle;" title="File:Air030_nvme_onboard.jpg" width="400" /></p> |
<h3><b>PCIE-1672</b></h3> | <h3><b>PCIE-1672</b></h3> | ||
| − | <p> | + | <p><img _fck_mw_filename="Air030 pcie1672v.jpg" _fck_mw_origimgheight="1117" _fck_mw_origimgwidth="2048" alt="File:Air030_pcie1672v.jpg" src="/wiki/images/e/ee/Air030_pcie1672v.jpg" style="vertical-align:middle;" title="File:Air030_pcie1672v.jpg" width="400" /></p> |
<h2>Image</h2> | <h2>Image</h2> | ||
| − | <p>The test image is available | + | <p>The test image is available <a alt="https://advantecho365-my.sharepoint.com/personal/jack501_chen_advantech_com/_layouts/15/onedrive.aspx?ga=1&id=/personal/jack501_chen_advantech_com/Documents/AIR-030/image" href="https://advantecho365-my.sharepoint.com/personal/jack501_chen_advantech_com/_layouts/15/onedrive.aspx?ga=1&id=/personal/jack501_chen_advantech_com/Documents/AIR-030/image" title="https://advantecho365-my.sharepoint.com/personal/jack501_chen_advantech_com/_layouts/15/onedrive.aspx?ga=1&id=/personal/jack501_chen_advantech_com/Documents/AIR-030/image">HERE</a>. <u>The 1st and 2nd image is only available for AGX-ORIN devkit.</u></p> |
<table border="1" cellpadding="1" cellspacing="1" style="width: 800px;"> | <table border="1" cellpadding="1" cellspacing="1" style="width: 800px;"> | ||
<tbody> | <tbody> | ||
| − | |||
| − | |||
| − | |||
<tr> | <tr> | ||
<th scope="row"> </th> | <th scope="row"> </th> | ||
| Line 757: | Line 741: | ||
<td style="width: 300px;">air030_image_20221020_burning_test.tar.gz</td> | <td style="width: 300px;">air030_image_20221020_burning_test.tar.gz</td> | ||
<td style="width: 1138px;">For power/thermal/SI power sequence used<br /> | <td style="width: 1138px;">For power/thermal/SI power sequence used<br /> | ||
| − | + | <a href=":File%3AAIR-030%20Burning%20Test.pdf">Burning Testing SOP</a></td> | |
</tr> | </tr> | ||
<tr> | <tr> | ||
| Line 778: | Line 762: | ||
<td style="width: 300px;">air030_image_20221128_dqatest.tar</td> | <td style="width: 300px;">air030_image_20221128_dqatest.tar</td> | ||
<td style="width: 1138px;">For DQA & QA using<br /> | <td style="width: 1138px;">For DQA & QA using<br /> | ||
| − | + | <a href=":File%3AAIR-030%20QA%20Test.pdf">QA Testing SOP</a></td> | |
</tr> | </tr> | ||
<tr> | <tr> | ||
| Line 793: | Line 777: | ||
<th scope="row">10</th> | <th scope="row">10</th> | ||
<td style="width: 300px;">air030_image_20221216.tar.gz</td> | <td style="width: 300px;">air030_image_20221216.tar.gz</td> | ||
| − | <td style="width: 1138px;">fix: | + | <td style="width: 1138px;">fix:<br /> |
| − | + | 1).Date and Time 的時間只要reboot 後就會又回到 April 21.<br /> | |
2).QA - USB3.2 port 1/2 speed 及 Type C port performance 太低, 約 40MB/s<br /> | 2).QA - USB3.2 port 1/2 speed 及 Type C port performance 太低, 約 40MB/s<br /> | ||
| − | 3).開機後第1次接(或接著disk開機), OS的左側工作列看得到disk符號(lsblk也看得到), 熱插拔後再接上 OS 左側工作列看不到disk(lsblk也看不到), 試過兩台type c USB disk(Sandisk and Seagate) 一樣問題.</ | + | 3).開機後第1次接(或接著disk開機), OS的左側工作列看得到disk符號(lsblk也看得到), 熱插拔後再接上 OS 左側工作列看不到disk(lsblk也看不到), 試過兩台type c USB disk(Sandisk and Seagate) 一樣問題.<br /> |
4).USB3.2 port1/2接 Sandisk USB3.2 gen2 x1 500G disk (E80)熱插拔後認不到, 接Seagate USB3.2 gen2x2 500G disk完全偵測不到(reboot 也沒用).</td> | 4).USB3.2 port1/2接 Sandisk USB3.2 gen2 x1 500G disk (E80)熱插拔後認不到, 接Seagate USB3.2 gen2x2 500G disk完全偵測不到(reboot 也沒用).</td> | ||
</tr> | </tr> | ||
| Line 814: | Line 798: | ||
<td style="width: 300px;"><s>air030_image_20230204_factory_test.tar</s></td> | <td style="width: 300px;"><s>air030_image_20230204_factory_test.tar</s></td> | ||
<td style="width: 1138px;">For factory test used.<br /> | <td style="width: 1138px;">For factory test used.<br /> | ||
| − | + | <a href=":File%3AAir030%20factory%20test.pdf">Air030_factory_test.pdf</a></td> | |
</tr> | </tr> | ||
<tr> | <tr> | ||
<th scope="row">14</th> | <th scope="row">14</th> | ||
<td style="width: 300px;">air030_image_20230220_factory_test.tar</td> | <td style="width: 300px;">air030_image_20230220_factory_test.tar</td> | ||
| − | <td style="width: 1138px;">For factory test used. | + | <td style="width: 1138px;">For factory test used.<br /> |
| − | + | Add flash/read mac address, rtc time, watchdog<br /> | |
| − | + | <a href=":File%3AAir030%20factory%20test%2020230217.pdf">Air030_factory_test_20230217.pdf</a></td> | |
</tr> | </tr> | ||
<tr> | <tr> | ||
| Line 836: | Line 820: | ||
<th scope="row">17</th> | <th scope="row">17</th> | ||
<td style="width: 300px;">air030_image_20220324_dqatest.tar.gz</td> | <td style="width: 300px;">air030_image_20220324_dqatest.tar.gz</td> | ||
| − | <td style="width: 1138px;">For DQA using (Jetpack 5.1/L4T 35.2.1) | + | <td style="width: 1138px;">For DQA using (Jetpack 5.1/L4T 35.2.1)<br /> |
| − | + | Its only provided camera feature.<br /> | |
The test commnand please check the camera section.</td> | The test commnand please check the camera section.</td> | ||
</tr> | </tr> | ||
| Line 876: | Line 860: | ||
<th scope="row">24</th> | <th scope="row">24</th> | ||
<td style="width: 300px;">air030_image_20230509_factory_test.tar.gz</td> | <td style="width: 300px;">air030_image_20230509_factory_test.tar.gz</td> | ||
| − | <td style="width: 1138px;">(Jetpack 5.1.1/L4T 35.3.1) | + | <td style="width: 1138px;">(Jetpack 5.1.1/L4T 35.3.1)<br /> |
| − | + | Note:<br /> | |
| − | [Audio]Remove "hit a enter" before testing audio playback.</ | + | [Audio]Remove "hit a enter" before testing audio playback.<br /> |
[Burning]Add function timeout after 2hr.</td> | [Burning]Add function timeout after 2hr.</td> | ||
</tr> | </tr> | ||
| Line 889: | Line 873: | ||
<th scope="row">26</th> | <th scope="row">26</th> | ||
<td style="width: 300px;">air030_image_20230516_dqatest.tar.gz</td> | <td style="width: 300px;">air030_image_20230516_dqatest.tar.gz</td> | ||
| − | <td style="width: 1138px;">(Jetpack 5.1.1/L4T 35.3.1) | + | <td style="width: 1138px;">(Jetpack 5.1.1/L4T 35.3.1)<br /> |
| − | + | Note:<br /> | |
[UI]Fix "System hang by adjusting date time widget".</td> | [UI]Fix "System hang by adjusting date time widget".</td> | ||
</tr> | </tr> | ||
| Line 904: | Line 888: | ||
<td style="width: 1138px;">(Jetpack 5.1.1/L4T 35.3.1)<br /> | <td style="width: 1138px;">(Jetpack 5.1.1/L4T 35.3.1)<br /> | ||
Note: Fix com2 function error for 64GB.</td> | Note: Fix com2 function error for 64GB.</td> | ||
| − | |||
| − | |||
| − | |||
</tr> | </tr> | ||
</tbody> | </tbody> | ||
| Line 913: | Line 894: | ||
<p> </p> | <p> </p> | ||
| − | <p><span class="fck_mw_category">Pages with broken file links</span></p> | + | <p><span _fcknotitle="true" class="fck_mw_category" contenteditable="false">Pages with broken file links</span></p> |
Revision as of 11:00, 18 July 2024
Contents
Flash Image
Change the SW2 to ON and press power button.
<img _fck_mw_filename="Recovery BT.png" _fck_mw_origimgheight="377" _fck_mw_origimgwidth="566" alt="Air030 recovery button.jpg" src="/wiki/images/c/c8/Recovery_BT.png" style="vertical-align:middle;" title="Air030 recovery button.jpg" width="400" />
$ sudo reboot --force forced-recovery
Connect a linux OS host wired AIR-030 with usb-otg cable.
In the Host PC, make sure the AIR-030 (NVidia Corp) has detectd.
[ubuntu@linux 11:55:43 ~]$ lsusb Bus 002 Device 002: ID 8087:8000 Intel Corp. Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 001 Device 003: ID 0bda:0161 Realtek Semiconductor Corp. Mass Storage Device Bus 001 Device 024: ID 0955:7223 NVidia Corp. Bus 001 Device 002: ID 8087:8008 Intel Corp. Please Check there is 7223 NVidia Corp
Install dependency package on HOST:
$ sudo tools/l4t_flash_prerequisites.sh # For Debian-based Linux
or
$ sudo apt install build-essential python libxml2-utils abootimg sshpass binutils -y
For Jackpack 5.1.1
1.Extracted tarball file PS :
$ sudo tar -zxvf air030_image_XXXXXX.tar.gz $ cd Linux_for_Tegra
2. Flash
$ sudo ./flash.sh -d rootfs/boot/tegra234-air030.dtb jetson-agx-orin-devkit mmcblk0p1
To NVME
$ sudo ./tools/kernel_flash/l4t_initrd_flash.sh --external-device nvme0n1p1 -c ./tools/kernel_flash/flash_l4t_external.xml -S 32GB --erase-all --showlogs jetson-agx-orin-devkit nvme0n1p1
For Jetpack 6.0
To EMMC
$ sudo ./flash.sh jetson-agx-orin-devkit mmcblk0p1
To NVME
$ $ sudo ./tools/kernel_flash/l4t_initrd_flash.sh --external-device nvme0n1p1 -p "-c ./bootloader/generic/cfg/flash_t234_qspi.xml" -c ./tools/kernel_flash/flash_l4t_t234_nvme.xml --showlogs --network usb0 jetson-agx-orin-devkit nvme0n1p1
倘若燒錄時遇到"Parsing board information failed"
若可以先正常開機,使用get_eeprom_crc取得crc
ubuntu@localhost:~$ chmod a+x get_eeprom_crc) ubuntu@localhost:~$ sudo ./get_eeprom_crc 0
再透過i2cset寫入正確的crc值到EEPROM
參數 : I2C_BUS, EEPROM_SLAVE_ADDR, ADDRESS, VALUE
$ sudo i2cset -f -y 0 0x50 0xff 0x28
再重燒
若不能正常開機,先下底下指令燒一次,然後再更新CRC值
$ sudo SKIP_EEPROM_CHECK=1 BOARDSKU="0004" CHIP_SKU=00:00:00:D2 ./flash.sh jetson-agx-orin-devkit internal
nVidia:
$ sudo BOARDID="3701" FAB="300" BOARDSKU="0004" BOARDREV="C.2" CHIP_SKU=00:00:00:D2 ./flash.sh jetson-agx-orin-devkit internal
Board Layout
Front
<img _fck_mw_filename="Air030 board layout front.jpg" _fck_mw_origimgheight="718" _fck_mw_origimgwidth="2048" alt="Air030 board layout front.jpg" src="/wiki/images/5/59/Air030_board_layout_front.jpg" style="vertical-align:middle;" title="Air030 board layout front.jpg" width="400" />
Back
<img _fck_mw_filename="Air030 board layout back.jpg" _fck_mw_origimgheight="1044" _fck_mw_origimgwidth="2048" alt="Air030 board layout back.jpg" src="/wiki/images/c/cd/Air030_board_layout_back.jpg" style="vertical-align:middle;" title="Air030 board layout back.jpg" width="400" />
Bottom
<img _fck_mw_filename="Air030 board layout bottom.jpg" _fck_mw_origimgheight="2048" _fck_mw_origimgwidth="2048" alt="Air030 board layout bottom.jpg" src="/wiki/images/e/e0/Air030_board_layout_bottom.jpg" style="vertical-align:middle;" title="Air030 board layout bottom.jpg" width="400" />
Tools
JTOP
install
$ sudo apt update $ sudo apt install python3-pip $ sudo pip3 install -U jetson-stats
Run
$ sudo jtop
Test Command
GPIO Expander
<img _fck_mw_filename="Air030 dio.jpg" _fck_mw_origimgheight="1731" _fck_mw_origimgwidth="1537" alt="File:Air030_dio.jpg" src="/wiki/images/0/00/Air030_dio.jpg" style="vertical-align:middle;" title="File:Air030_dio.jpg" width="400" />
Test GPIO high/low
<img _fck_mw_filename="Air030 gpio expander io.png" _fck_mw_origimgheight="1532" _fck_mw_origimgwidth="1982" alt="Air030 gpio expander io.png" src="/wiki/images/6/6d/Air030_gpio_expander_io.png" style="vertical-align:middle;" title="Air030 gpio expander io.png" width="400" />
1).Switch to root
ubuntu@localhost:~ sudo -s
2).Commnad : where <GPIO> : GPIO0(GPIO300)~GPIO15(GPIO315) and <LEVEL> : high(1)/low(0)
For example, pull up GPIO0 to high.
root@localhost:/home/ubuntu# echo 300 > /sys/class/gpio/export root@localhost:/home/ubuntu# echo out > /sys/class/gpio/gpio300/direction root@localhost:/home/ubuntu# echo 1 > /sys/class/gpio/gpio300/value
WatchDog
root@linux:/home/ubuntu$ sudo -s root@linux:/home/ubuntu# sync; sleep 2; sync; echo c > /proc/sysrq-trigger
RTC
DUT AC on:
1. Power on DUT and boot into OS.
2. Connect a LAN cable from the DUT to DHCP server.
3. Get a dynamic IP from DHCP server.
4. Type cmd to disable ntp service in DUT.
# sudo timedatectl set-ntp false
5. Synchronize system time and RTC time with NTP server.
# ntpdate tock.stdtime.gov.tw <===安裝ntpdate方式: $sudo apt-get install ntpdate <enter> # hwclock -w
6. Keep the DUT on for 24 hours.
7. Synchronize system time and RTC time with NTP server again and check inaccuracies.
# ntpdate tock.stdtime.gov.tw && hwclock -s &&ntpdate -u tock.stdtime.gov.tw
TPM
(1)產生randon code
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
LAN
LAN1USB12 - eth01
LAN2USB34 - eth02
LAN3 - eth00
UART
<img _fck_mw_filename="COMPort.png" _fck_mw_origimgheight="403" _fck_mw_origimgwidth="341" alt="COMPort.png" src="/wiki/images/8/82/COMPort.png" style="vertical-align:middle;" title="COMPort.png" width="800" />
<img _fck_mw_filename="COMPortSwitchDefine.png" _fck_mw_origimgheight="399" _fck_mw_origimgwidth="1126" alt="COMPortSwitchDefine.png" src="/wiki/images/f/f0/COMPortSwitchDefine.png" style="vertical-align:middle;" title="COMPortSwitchDefine.png" width="800" />
RS232 (COMX_SW1 : OFF-OFF-X-X)
<img _fck_mw_filename="Air030 rs232loopback.jpg" _fck_mw_origimgheight="1615" _fck_mw_origimgwidth="1537" alt="File:Air030_rs232loopback.jpg" src="/wiki/images/e/e2/Air030_rs232loopback.jpg" style="vertical-align:middle;" title="File:Air030_rs232loopback.jpg" width="400" />
UART5_SW1 - SW1 : ON
| COM Port | Command (Please switch to root first before test) |
|---|---|
| COM1 | stty -F /dev/ttyTHS0 speed 115200 raw -echo cat /dev/ttyTHS0 & |
| COM2 | stty -F /dev/ttyTHS4 speed 115200 raw -echo cat /dev/ttyTHS4 & |
| COM4 | stty -F /dev/ttyTHS3 speed 115200 raw -echo cat /dev/ttyTHS3 & |
| COM5 | stty -F /dev/ttyTHS1 speed 115200 raw -echo cat /dev/ttyTHS1 & |
RS422
Send and Received port
(COM<PORT>_SW1 : ON-OFF-ON-OFF)
RS485
Send port
(COM<inPort>_SW1 ON-ON-ON-OFF)
Received port
(COM<outPort>_SW1 ON-ON-ON-ON)
Setup up baudrate
# stty -F /dev/ttyTHS<SEND_UART_NO> speed 115200 # stty -F /dev/ttyTHS<RECEIVE_UART_NO> speed 115200
Test
# cat /dev/ttyTHS<RECEIVE_UART_NO> & # echo "1234" > /dev/ttyTHS<SEND_UART_NO>
Software control
(COM<inPort>_SWx ON-ON-OFF-ON)
AIR-030 RTS的GPIO號碼
UART1_RTS L51 GPIO3_PR.04 gpio-460 (PR.04)
UART2_RTS G58 GPIO3_PY.07 gpio-477 (PY.07)
UART4_RTS L4 GPIO3_PH.05 gpio-396 (PH.05)
UART5_RTS K58 GPIO3_PX.06 gpio-468 (PX.06)
舉起每個COM的RTS pin的方式如下(以UART1 RTS來說)
1.權限
ubuntu@localhost:~$ sudo –s
2.設定
root@localhost:/home/ubuntu# echo 460 > /sys/class/gpio/export
root@localhost:/home/ubuntu# ls /sys/class/gpio/
export gpiochip300 gpiochip316 gpiochip348 PR.04 unexport
root@localhost:/home/ubuntu# echo out > /sys/class/gpio/PR.04/direction
root@localhost:/home/ubuntu# echo 1 > /sys/class/gpio/PR.04/value
3.驗證
root@localhost:/home/ubuntu# cat /sys/kernel/debug/gpio | grep PR.04
gpio-460 (PR.04 |sysfs ) out hi
Audio
HDMI output
$ aplay -D hw:0,3 <WAV file>
Line-Out
$ aplay -D hw:1,0 <WAV file>
FAN
<img _fck_mw_filename="Air030 fan.jpg" _fck_mw_origimgheight="2048" _fck_mw_origimgwidth="1537" alt="File:Air030_fan.jpg" src="/wiki/images/4/42/Air030_fan.jpg" style="vertical-align:middle;" title="File:Air030_fan.jpg" width="400" />
Change PWM value ${PWM} from 1 ~ 255.
ubuntu@localhost:~$ sudo -s
For R35.1.0
root@localhost:/home/ubuntu# echo ${PWM} > /sys/class/hwmon/hwmon3/pwm1
For R35.3.1
root@localhost:/home/ubuntu# echo ${PWM} > /sys/class/hwmon/hwmon4/pwm1
Before test this item, please disable fan-control service.(Only for R35.1.0)
$ sudo systemctl disable nvfancontrol.service $ sudo systemctl stop nvfancontrol
<a alt="https://docs.nvidia.com/jetson/archives/r35.1/DeveloperGuide/text/SD/PlatformPowerAndPerformance/JetsonOrinNxSeriesAndJetsonAgxOrinSeries.html#fan-profile-control" href="https://docs.nvidia.com/jetson/archives/r35.1/DeveloperGuide/text/SD/PlatformPowerAndPerformance/JetsonOrinNxSeriesAndJetsonAgxOrinSeries.html#fan-profile-control" title="https://docs.nvidia.com/jetson/archives/r35.1/DeveloperGuide/text/SD/PlatformPowerAndPerformance/JetsonOrinNxSeriesAndJetsonAgxOrinSeries.html#fan-profile-control">nVidia:fan-profile-control</a>
CAN
<img _fck_mw_filename="Air030 can.jpg" _fck_mw_origimgheight="1808" _fck_mw_origimgwidth="1537" alt="File:Air030_can.jpg" src="/wiki/images/0/01/Air030_can.jpg" style="vertical-align:middle;" title="File:Air030_can.jpg" width="400" /> <img _fck_mw_filename="030CAN.png" _fck_mw_origimgheight="320" _fck_mw_origimgwidth="263" alt="030CAN.png" src="/wiki/images/4/40/030CAN.png" style="vertical-align:middle;" title="030CAN.png" width="200" />
<img _fck_mw_filename="CAN LoopbackTest.jpg" _fck_mw_origimgheight="800" _fck_mw_origimgwidth="600" alt="CAN LoopbackTest.png" src="/wiki/images/5/5d/CAN_LoopbackTest.jpg" style="vertical-align:middle;" title="CAN LoopbackTest.png" width="400" />
$ modprobe can $ modprobe can-dev $ modprobe mttcan $ ip link set can0 type can bitrate 500000 $ ip link set can0 up $ ip link set can1 type can bitrate 500000 $ ip link set can1 up
In other terminal, run below command
$ candump can1
then run
$ cansend can0 123#abcdabcd
USB
To test U-Disk read speed
$ sudo -s # fio --ioengine=libaio --prio=0 --numjobs=1 --direct=1 --iodepth=32 --runtime=<runtime> --bwavgtime=5000 --time_based --rw=read --bs=128k --group_reporting --name=<device_path>
Where:
<runtime> : how long the test time (ms), ex : 30 second : --runtime=30000
<device_path> : ex: --name=/dev/sda1
Camera
<img _fck_mw_filename="Air030 camera imx219.jpg" _fck_mw_origimgheight="1199" _fck_mw_origimgwidth="1498" alt="File:Air030_camera_imx219.jpg" src="/wiki/images/f/f6/Air030_camera_imx219.jpg" style="vertical-align:middle;" title="File:Air030_camera_imx219.jpg" width="400" />
The imx219 mode:
Size: Discrete 3280x2464 Interval: Discrete 0.048s (21.000 fps)
Size: Discrete 3280x1848 Interval: Discrete 0.036s (28.000 fps)
Size: Discrete 1920x1080 Interval: Discrete 0.033s (30.000 fps)
Size: Discrete 1640x1232 Interval: Discrete 0.033s (30.000 fps)
Size: Discrete 1280x720 Interval: Discrete 0.017s (60.000 fps)
Preview command:
3280x2464
$ gst-launch-1.0 nvarguscamerasrc ! 'video/x-raw(memory:NVMM), width=3280, height=2464, format=NV12, framerate=21/1' ! nv3dsink
3280x1848
$ gst-launch-1.0 nvarguscamerasrc ! 'video/x-raw(memory:NVMM), width=3280, height=1848, format=NV12, framerate=28/1' ! nv3dsink
1920x1080
$ gst-launch-1.0 nvarguscamerasrc ! 'video/x-raw(memory:NVMM), width=1920, height=1080, format=NV12, framerate=29/1' ! nv3dsink
1640x1232
$ gst-launch-1.0 nvarguscamerasrc ! 'video/x-raw(memory:NVMM), width=1640, height=1232, format=NV12, framerate=29/1' ! nv3dsink
1280x720
$ gst-launch-1.0 nvarguscamerasrc ! 'video/x-raw(memory:NVMM), width=1280, height=720, format=NV12, framerate=59/1' ! nv3dsink
Capture Image (for JP6 : No nv3dsink gstreamer element, fixed by installing package nvidia-l4t-gstreamer)
$ nvargus_nvraw --c 0 --mode 0 --file /home/ubuntu/sample.jpg --format "yuv, jpg"
Power Mode
<a alt="https://docs.nvidia.com/jetson/archives/r34.1/DeveloperGuide/text/SD/PlatformPowerAndPerformance/JetsonOrinNxSeriesAndJetsonAgxOrinSeries.html#supported-modes-and-power-efficiency" href="https://docs.nvidia.com/jetson/archives/r34.1/DeveloperGuide/text/SD/PlatformPowerAndPerformance/JetsonOrinNxSeriesAndJetsonAgxOrinSeries.html#supported-modes-and-power-efficiency" title="https://docs.nvidia.com/jetson/archives/r34.1/DeveloperGuide/text/SD/PlatformPowerAndPerformance/JetsonOrinNxSeriesAndJetsonAgxOrinSeries.html#supported-modes-and-power-efficiency">Supported-modes-and-power-efficiency</a>
Flash Mac
<a alt="https://advantecho365-my.sharepoint.com/:u:/g/personal/jack501_chen_advantech_com/EczfhEigBcxIsAWt80o7iZkBH1EbUMTo7jQeX94DbJovsw?e=PPEyJU" href="https://advantecho365-my.sharepoint.com/:u:/g/personal/jack501_chen_advantech_com/EczfhEigBcxIsAWt80o7iZkBH1EbUMTo7jQeX94DbJovsw?e=PPEyJU" title="https://advantecho365-my.sharepoint.com/:u:/g/personal/jack501_chen_advantech_com/EczfhEigBcxIsAWt80o7iZkBH1EbUMTo7jQeX94DbJovsw?e=PPEyJU">I225 Flash Tool</a>
Copy and extract I225_Flash_Tool.zip in the device.
ubuntu@localhost:~$ unzip I225_Flash_Tool.zip
Chanage the tool execution permission.
<pre>ubuntu@localhost:~$ sudo chmod a+x ./EepromAccessTool
Check All Intel-226 Module in PCI bus, The BDF(bus number/device number/function number) value will be first column.
ubuntu@localhost:~$ lspci 0004:00:00.0 PCI bridge: NVIDIA Corporation Device 229c (rev a1) 0004:01:00.0 PCI bridge: ASMedia Technology Inc. Device 2806 (rev 01) 0004:02:00.0 PCI bridge: ASMedia Technology Inc. Device 2806 (rev 01) 0004:02:06.0 PCI bridge: ASMedia Technology Inc. Device 2806 (rev 01) 0004:02:0e.0 PCI bridge: ASMedia Technology Inc. Device 2806 (rev 01) 0004:04:00.0 Ethernet controller: Intel Corporation Device 15f2 (rev 03) 0004:05:00.0 Ethernet controller: Intel Corporation Device 15f2 (rev 03)
Check NIC value with EepromAccessTool tool.
ubuntu@localhost:~$ ./EepromAccessTool Intel(R) EEPROM Access Tool NVM/OTP Programming Example Tool Version 0.8.0 Provided under the terms of a CNDA. Do Not Distribute. Copyright(C) 2017-2020 by Intel(R) Corporation NIC BUS DEV FUN Silicon Memory Type Present === === === === ===== ====================== Check Command open to write error 1 4 0 0 I225 FLASH Check Command open to write error 2 5 0 0 I225 FLASH
Flash Mac Address To get -nic value and BDF value please using above method.
ex : 0004:05:00.0 = domain 4 bus 5 device 0 function 0
BUS 5 > NIC = 2
$ sudo -s # setpci -s 0004:04:00.0 COMMAND=0007 # ./EepromAccessTool -nic=1 -f=FXVL_15F2_LM_2MB_ARK_1.82_D.bin -mac=D4E5F6123456
The other Intel-I226
#setpci -s 0004:05:00.0 COMMAND=0007 #./EepromAccessTool -nic=2 -f=FXVL_15F2_LM_2MB_ARK_1.82_D.bin -mac=D4E5F6123457
Please do cold reboot after flash mac address.
How to check whether the flash proccess is success or not
lspci command - If it is 0x125f value, it failed.- ifconfig -a - Check the nerwork interface is available. ex: eth0, eth1 and so on.
Boot On Off
The boot count message will be printed before log-in.
<img _fck_mw_filename="Air030 bootcount.jpg" _fck_mw_origimgheight="104" _fck_mw_origimgwidth="488" alt="Air030 bootcount.jpg" src="/wiki/images/4/40/Air030_bootcount.jpg" style="vertical-align:middle;" title="Air030 bootcount.jpg" width="200" />
Reset the boot count please remove bootCount.tt.
$ rm bootCount.tt
THERMAL / EMI Burning
Install prerequisite packages
$ sudo apt install --yes nvidia-jetpack
pva engine
/opt/nvidia/vpi2/samples/05-benchmark/vpi_sample_05_benchmark
GPU
matrixMul (Depreciated)
/usr/local/cuda-11.4/samples/0_Simple/matrixMul/
More power consumption version (nVidia suggestion + <a href=":File%3AAir030-half-matrixMulCUBLAS.patch">0001-half-matrixMulCUBLAS.patch</a>)
matrixMulCUBLAS
/usr/local/cuda-11.4/samples/0_Simple/matrixMulCUBLAS/
emc engine
sudo apt install mbw
cpu
sudo apt install stress
dla0 dla1 engine
/usr/src/tensorrt/bin/trtexec
nvenc engine - USB camera
$ gst-launch-1.0 v4l2src device=/dev/video0 ! 'video/x-raw,width=1280,height=720' ! nvvidconv ! 'video/x-raw(memory:NVMM)' ! nvvidconv ! 'video/x-raw(memory:NVMM)' ! nvv4l2h264enc ! fakesink
nvdec engine - play 4K H264 video
gst-launch-1.0 filesrc location=/usr/local/bin/4k264.mp4 ! qtdemux ! queue ! h264parse ! nvv4l2decoder ! 'video/x-raw(memory:NVMM), format=(string)NV12' ! queue ! fakesink
ape engine
aplay -D hw:1,0 /usr/local/bin/1kHz.wav
Module
AW-CB375NF(EWM-W159M201E)
<img _fck_mw_filename="Air030 awcb375nf.jpg" _fck_mw_origimgheight="1658" _fck_mw_origimgwidth="1302" alt="File:Air030_awcb375nf.jpg" src="/wiki/images/1/12/Air030_awcb375nf.jpg" style="vertical-align:middle;" title="File:Air030_awcb375nf.jpg" width="400" /> <img _fck_mw_filename="Air030 awcb375nf onboard.jpg" _fck_mw_origimgheight="2048" _fck_mw_origimgwidth="1537" alt="File:Air030_awcb375nf_onboard.jpg" src="/wiki/images/1/11/Air030_awcb375nf_onboard.jpg" style="vertical-align:middle;" title="File:Air030_awcb375nf_onboard.jpg" width="400" />
Adjust dip switch
- LAN3_MKE_SW1 - SW1 : ON
- UART5_SW1 - SW1 : OFF
<img _fck_mw_filename="AIR030 LAN3 MKE SW1.jpg" _fck_mw_origimgheight="916" _fck_mw_origimgwidth="1632" alt="AIR030_LAN3_MKE_SW1.jpg" src="/wiki/images/5/5c/AIR030_LAN3_MKE_SW1.jpg" style="vertical-align:middle;" title="AIR030_LAN3_MKE_SW1.jpg" width="400" /> <img _fck_mw_filename="Air030 uart5 selection.jpg" _fck_mw_origimgheight="936" _fck_mw_origimgwidth="1756" alt="Air030_uart5_selection.jpg" src="/wiki/images/6/67/Air030_uart5_selection.jpg" style="vertical-align:middle;" title="Air030_uart5_selection.jpg" width="400" />
Wi-Fi
Start interface
$ sudo ifconfig wlan0 up
$ Scan AP
$ sudo iw dev wlan0 scan ap-force
Bluetooth
$ bluetoothctl [bluetooth]# agent on [bluetooth]# scan on
AW-CB511NF
Adjust dip switch
- LAN3_MKE_SW1 - SW1 : ON
- UART5_SW2 - SW1 : OFF
Wi-Fi
Start interface
$ sudo ifconfig wlan0 up
$ Scan AP
$ sudo iw dev wlan0 scan ap-force
Bluetooth
$ sudo -s # hciattach /dev/ttyTHS1 bcm43xx 3000000 flow -t 20 # bluetoothctl [bluetooth]# agent on [bluetooth]# scan on
AIW-35x
<img _fck_mw_filename="Air030 aiw-356.jpg" _fck_mw_origimgheight="935" _fck_mw_origimgwidth="1529" alt="File:Air030_aiw-356.jpg" src="/wiki/images/b/b2/Air030_aiw-356.jpg" style="vertical-align:middle;" title="File:Air030_aiw-356.jpg" width="400" /> <img _fck_mw_filename="Air030 aiw-356 onboard.jpg" _fck_mw_origimgheight="2048" _fck_mw_origimgwidth="1537" alt="File:Air030_aiw-356_onboard.jpg" src="/wiki/images/7/73/Air030_aiw-356_onboard.jpg" style="vertical-align:middle;" title="File:Air030_aiw-356_onboard.jpg" width="400" /> <img _fck_mw_filename="Air030 uart5 selection.jpg" _fck_mw_origimgheight="936" _fck_mw_origimgwidth="1756" alt="Air030_uart5_selection.jpg" src="/wiki/images/6/67/Air030_uart5_selection.jpg" style="vertical-align:middle;" title="Air030_uart5_selection.jpg" width="400" />
Check the module is available.
ubuntu@localhost:~$ lsusb Bus 002 Device 002: ID 05e3:0625 Genesys Logic, Inc. USB3.2 Hub Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 001 Device 006: ID 2cb7:0104
buntu@localhost:~$ ifconfig usb0
usb0: flags=4227<UP,BROADCAST,NOARP,MULTICAST> mtu 1500
ether 00:33:34:37:35:33 txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
ubuntu@localhost:~$ sudo dmesg | grep usb0 [ 14.115707] GobiNet 1-3.4:1.4 usb0: register 'GobiNet' at usb-3610000.xhci-3.4, GobiNet Ethernet Device, d2:77:82:0c:af:59
Switch mode:
$ sudo minicom -D /dev/ttyUSBx
ATcommand : at+gtusbmode=32
30 : mbim
32 : rmnet(gobinet)
NVME
<img _fck_mw_filename="Air030 nvme.jpg" _fck_mw_origimgheight="498" _fck_mw_origimgwidth="1610" alt="File:Air030_nvme.jpg" src="/wiki/images/a/ab/Air030_nvme.jpg" style="vertical-align:middle;" title="File:Air030_nvme.jpg" width="400" /> <img _fck_mw_filename="Air030 nvme onboard.jpg" _fck_mw_origimgheight="2048" _fck_mw_origimgwidth="1537" alt="File:Air030_nvme_onboard.jpg" src="/wiki/images/2/2f/Air030_nvme_onboard.jpg" style="vertical-align:middle;" title="File:Air030_nvme_onboard.jpg" width="400" />
PCIE-1672
<img _fck_mw_filename="Air030 pcie1672v.jpg" _fck_mw_origimgheight="1117" _fck_mw_origimgwidth="2048" alt="File:Air030_pcie1672v.jpg" src="/wiki/images/e/ee/Air030_pcie1672v.jpg" style="vertical-align:middle;" title="File:Air030_pcie1672v.jpg" width="400" />
Image
The test image is available <a alt="https://advantecho365-my.sharepoint.com/personal/jack501_chen_advantech_com/_layouts/15/onedrive.aspx?ga=1&id=/personal/jack501_chen_advantech_com/Documents/AIR-030/image" href="https://advantecho365-my.sharepoint.com/personal/jack501_chen_advantech_com/_layouts/15/onedrive.aspx?ga=1&id=/personal/jack501_chen_advantech_com/Documents/AIR-030/image" title="https://advantecho365-my.sharepoint.com/personal/jack501_chen_advantech_com/_layouts/15/onedrive.aspx?ga=1&id=/personal/jack501_chen_advantech_com/Documents/AIR-030/image">HERE</a>. The 1st and 2nd image is only available for AGX-ORIN devkit.
| Image | Release Note | |
|---|---|---|
| 1 | air030_image_20221006.tar.gz | The first boot up image verified on AGX-ORIN Devkit. |
| 2 | air030_image_20221006_bootonoff.tar.gz | Based on air030_image_20221006.tar.gz added boot on off feature (The system will power off after 40 seconnds) |
| 3 | air030_image_20221020_burning_test.tar.gz | For power/thermal/SI power sequence used <a href=":File%3AAIR-030%20Burning%20Test.pdf">Burning Testing SOP</a> |
| 4 | air030_image_20221110.tar.gz | |
| 5 | air030_image_20221110_burning.tar.gz | For Power/Thermal/EMI test using. |
| 6 | air030_image_20221123.tar.gz | fix HDMI hotplug in HD (4K:TBD) |
| 7 | air030_image_20221128_dqatest.tar | For DQA & QA using <a href=":File%3AAIR-030%20QA%20Test.pdf">QA Testing SOP</a> |
| 8 | air030_image_20221201_poweronoff_at_mode.tar.gz | Power On OFF test with AT mode + BOOT count |
| 9 | air030_image_20221201_poweronoff_atx_mode.tar.gz | Power On OFF test with ATX mode + BOOT count |
| 10 | air030_image_20221216.tar.gz | fix: 1).Date and Time 的時間只要reboot 後就會又回到 April 21. |
| 11 | air030_image_20221226.tar.gz | Added HDMI hotplug patch. Added EWM-W159 outbox driver. |
| 12 | air030_image_20221229.tar.gz | Modify dp_aux pinmux for HDMI. |
| 13 | For factory test used. <a href=":File%3AAir030%20factory%20test.pdf">Air030_factory_test.pdf</a> |
|
| 14 | air030_image_20230220_factory_test.tar | For factory test used. Add flash/read mac address, rtc time, watchdog |
| 15 | air030_image_20230303_dqatest.tar.gz | |
| 16 | air030_image_20230307_burning.tar.gz | For SE / PV using. |
| 17 | air030_image_20220324_dqatest.tar.gz | For DQA using (Jetpack 5.1/L4T 35.2.1) Its only provided camera feature. |
| 18 | air030_image_20230410_thermal.tar.gz | (Jetpack 5.1.1/L4T 35.3.1) |
| 19 | air030_image_20230411_dqatest.tar.gz | (Jetpack 5.1.1/L4T 35.3.1) |
| 20 | air030_image_20230412_factory_test.tar.gz | (Jetpack 5.1.1/L4T 35.3.1) |
| 21 | air030_image_20230428_poweronoff_atx_mode.tar.gz | (Jetpack 5.1.1/L4T 35.3.1) Patched the mb1_35.3.1_overlay.tbz2 for the issue "Can't Boot in Cold Start Test". |
| 22 | air030_image_20230503_poweronoff_atx_mode.tar.gz | (Jetpack 5.1.1/L4T 35.3.1) Patched the mb1_35.3.1_overlay.tbz2 for the issue "Can't Boot in Cold Start Test". |
| 23 | air030_image_20230508_dqatest.tar.gz | (Jetpack 5.1.1/L4T 35.3.1) fix COM2 function.". |
| 24 | air030_image_20230509_factory_test.tar.gz | (Jetpack 5.1.1/L4T 35.3.1) Note: |
| 25 | air030_image_20230510_poweronoff_at_mode.tar.gz | (Jetpack 5.1.1/L4T 35.3.1) |
| 26 | air030_image_20230516_dqatest.tar.gz | (Jetpack 5.1.1/L4T 35.3.1) Note: |
| 27 | air030_image_20230518_poweronoff_atx_mode.tar.gz | (Jetpack 5.1.1/L4T 35.3.1) Note: Patch optee. |
| 28 | air030_image_20230703_dqatest.tar.gz | (Jetpack 5.1.1/L4T 35.3.1) Note: Fix com2 function error for 64GB. |
Pages with broken file links