최근 Jetson Orin Nano Super가 발표되면서 Jetpack을 업그레이드하면 기존 Orin Nano도 MAXN 모드를 구동시킬 수 있게 되었다. 필자도 성능 테스트도 해볼겸 Jetpack 6.1 (rev1)으로 업그레이드 했는데 Pinmux를 쉽게 설정해주는 jetson-io가 제대로 작동하지 않는 버그가 있어서 업그레이드를 보류했었다. (스프레드시트를 통해 수동으로 설정해주는 방법도 있지만 굳이 건드리고 싶지 않아서 시도해보진 않았다.)
그런데 이번에 Jetpack 6.2에서 해당 버그가 수정되었다고 하여 업그레이드를 하니 libgpiod는 멀쩡한데 Jetson.GPIO를 사용할 때 아래와 같은 에러가 발생했다.
python3 -c "import Jetson.GPIO as GPIO; print(GPIO.VERSION)"
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/usr/lib/python3/dist-packages/Jetson/GPIO/__init__.py", line 1, in <module>
from .gpio import *
File "/usr/lib/python3/dist-packages/Jetson/GPIO/gpio.py", line 69, in <module>
model, JETSON_INFO, _channel_data_by_mode = gpio_pin_data.get_data()
File "/usr/lib/python3/dist-packages/Jetson/GPIO/gpio_pin_data.py", line 609, in get_data
model = get_model()
File "/usr/lib/python3/dist-packages/Jetson/GPIO/gpio_pin_data.py", line 602, in get_model
raise Exception('Could not determine Jetson model')
Exception: Could not determine Jetson model
gpio_pin_data.py에서 Jetson model을 찾지 못했다고 하는데 gpio_pin_data.py 파일을 열고 compats_jetson_orins_nano에 "nvidia,p3768-0000+p3767-0005-super", 를 추가 한 후 다시 Jetson.GPIO를 사용하니 정상적으로 사용할 수 있었다.
sudo vim /usr/lib/python3/dist-packages/Jetson/GPIO/gpio_pin_data.py
# (L92) "nvidia,p3768-0000+p3767-0005-super" 삽입
compats_jetson_orins_nano = (
"nvidia,p3509-0000+p3767-0003",
"nvidia,p3768-0000+p3767-0003",
"nvidia,p3509-0000+p3767-0004",
"nvidia,p3768-0000+p3767-0004",
"nvidia,p3509-0000+p3767-0005",
"nvidia,p3768-0000+p3767-0005",
"nvidia,p3768-0000+p3767-0005-super",
)
python3 -c "import Jetson.GPIO as GPIO; print(GPIO.VERSION)"
2.1.7
Jetpack 6.1 (rev1)에서도 해당 에러가 발생했었는데 해당 버전부터 환경변수에 JETSON_MODEL_NAME라는 변수가 빠져서 그렇다라는 말도 있다. (https://github.com/NVIDIA/jetson-gpio/issues/116)
'dev' 카테고리의 다른 글
[Label Studio] Ultralytics YOLOv8로 라벨링 작업 자동화 해보기 (2) | 2024.11.14 |
---|---|
YOLO11 (2) | 2024.10.07 |
Apple Depth Pro: Sharp Monocular Metric Depth in Less Than a Second (0) | 2024.10.07 |
[Jetson] Jetpack6 Jetson 디바이스에 PyQt6, PySide6 설치하기 (0) | 2024.08.13 |
NanoVLM: 엣지 디바이스에서 사용할 수 있는 멀티모탈 모델 (0) | 2024.08.12 |