-
날짜 : 2026-02-19
-
장비: Dell XPS 13 9350 (Intel® Core™ Ultra 7 258V (Intel Lunar Lake) )
-
OS : Ubuntu 24.04 LTS
부팅 후 내장 웹캠(/dev/video0, ``Intel MIPI Camera'')이 동작하지 않음.
$ systemctl status v4l2-relayd@default.service ● v4l2-relayd@default.service Active: failed (Result: start-limit-hit)
| 구성 요소 | 내용 |
|---|---|
카메라 프로세서 |
Intel IPU7 (Image Processing Unit 7) |
센서 |
OmniVision OV02C10 (ACPI ID: OVTI02C1) |
연결 방식 |
MIPI CSI-2, I2C (USBIO 브리지 경유) |
전원 제어 |
INT3472 ACPI discrete power controller |
USBIO 칩 |
SLS Lattice (2ac1:20c9) → GPIO(INTC10B5), I2C 제공 |
가상 디바이스 |
v4l2loopback ( |
브리지 서비스 |
v4l2-relayd (icamerasrc → v4l2loopback) |
2026-02-12 07:07 Ubuntu HWE(Hardware Enablement) 자동 업그레이드 발생:
6.14.0-37-generic → 6.17.0-14-generic
OV02C10 센서 전원 공급에는 3가지 GPIO 동작이 필요:
| 역할 | GPIO 타입 | 6.17.0-14-generic | OEM 커널 |
|---|---|---|---|
dvdd (디지털 전원) |
0x12 (USBIO) |
지원 |
지원 |
avdd (아날로그 전원) |
0x0B (USBIO) |
지원 |
지원 |
Power Enable |
0x02 (일반 GPIO) |
미지원 |
지원 |
`6.17.0-14-generic`의 INT3472 드라이버가 GPIO type `0x02`를 무시하여 센서 전원 활성화 실패 → 센서 미동작 → 웹캠 불량.
기존에 두 패키지가 미설치 상태였음:
sudo apt install linux-modules-usbio-6.17.0-14-generic
sudo apt install linux-modules-ipu7-6.17.0-14-generic-
linux-modules-usbio:gpio-usbio,i2c-usbio모듈 제공 → INTC10B5 GPIO 칩 생성 -
linux-modules-ipu7:intel-ipu7,intel-ipu7-isys,ov02c10모듈 제공
이 조치만으로는 INT3472 GPIO type 0x02 문제가 남아 웹캠 불완전 동작.
icamerasrc`가 `video/x-raw(memory:DMABuf) 포맷을 출력하는데,
v4l2-relayd 바이너리 내부의 appsink→appsrc 브리지가 DMABuf를 처리하지
못해 실패.
systemd drop-in 오버라이드로 gst-launch-1.0 직접 파이프라인으로 대체:
파일:
/etc/systemd/system/v4l2-relayd@default.service.d/override.conf
[Service]
ExecStart=
ExecStart=/bin/sh -c 'DEVICE=$(grep -l -m1 -E "^${CARD_LABEL}$" /sys/devices/virtual/video4linux/*/name | cut -d/ -f6); exec gst-launch-1.0 icamerasrc buffer-count=7 ! "video/x-raw,format=${FORMAT},width=${WIDTH},height=${HEIGHT},framerate=${FRAMERATE}" ! v4l2sink device=/dev/${DEVICE}'
Restart=on-failure
RestartSec=3s
StartLimitBurst=3
${DEVICE}→ systemd 이스케이프로 쉘에${DEVICE}리터럴 전달.
INT3472 GPIO type 0x02를 지원하는 OEM 커널로 부팅:
# GRUB 기본 커널을 6.14.0-1011-oem으로 변경
sudo sed -i 's|^GRUB_DEFAULT=.*|GRUB_DEFAULT="gnulinux-advanced-...>gnulinux-6.14.0-1011-oem-advanced-...|' /etc/default/grub
sudo update-grub
sudo reboot재부팅 후 확인:
$ uname -r 6.14.0-1011-oem $ systemctl status v4l2-relayd@default.service Active: active (running) 실제 FPS: 30.27 (정상) CSI-2 에러: 부팅 시 1회만 (지속적 에러 없음)
# OEM 커널 메타패키지 설치 (자동 업데이트 추적)
sudo apt install linux-oem-24.04
# generic HWE 메타패키지 제거 (재발 방지)
sudo apt remove linux-generic-hwe-24.04 linux-image-generic-hwe-24.04
# GRUB 기본값을 최신 OEM 커널(6.17.0-1011-oem)로 설정
sudo update-grub설치된 OEM 커널: 6.17.0-1011-oem (Dell 하드웨어 패치 포함)
| 항목 | 상태 |
|---|---|
부팅 커널 |
|
커널 관리 |
|
웹캠 서비스 |
|
실제 FPS |
30fps (정상) |
해상도 |
1280×720 NV12 |
| 파일 | 용도 |
|---|---|
|
카메라 설정 (해상도, 포맷, 레이블) |
|
gst-launch-1.0 파이프라인 오버라이드 |
|
v4l2loopback 가상 디바이스 설정 |
|
GRUB 기본 커널 설정 |
|
Camera HAL 센서 설정 |