Dell G15 5520 (0c45:6d1d) - intel_ipu6 driver loads but fails to create /dev/media device
- Dominant language
- C
- Stars
- 251
- Forks
- 75
- PR merge metrics
- No merged PRs in 30d
Description
**System Details:**
* **Laptop:** Dell G15 5520
* **Webcam:** Integrated, Sonix Technology Co., Ltd.
* **Hardware ID:** `0c45:6d1d`
* **OS:** Zorin OS 17.1 (based on Ubuntu 22.04 LTS)
* **Kernel:** `6.8.0-85-generic` (output of `uname -r`)
**Problem Description:**
The integrated IPU6 webcam on the Dell G15 5520 is not functional on Linux. After an extensive troubleshooting process, we have determined that the `intel_ipu6` kernel module loads successfully at boot, but it fails to initialize the hardware and does not create the necessary `/dev/media*` device node. As a result, the `libcamera` stack and other applications cannot detect or use the camera.
The legacy `uvcvideo` driver fails with a `-71 (EPROTO)` error, which is expected for this hardware. The core issue seems to be a silent failure within the `intel_ipu6` driver itself for this specific hardware combination.
**Steps to Reproduce:**
1. Performed a clean installation of Zorin OS 17.1 (Ubuntu 22.04 base).
2. Blacklisted the `uvcvideo` driver to prevent conflicts:bash
echo "blacklist uvcvideo" | sudo tee /etc/modprobe.d/blacklist-uvcvideo.conf
```
```
3. Cloned the latest `ipu6-drivers` from the official GitHub repository and compiled/installed it. The module `intel_ipu6.ko` is present in the correct kernel module directory.
4. Configured modules to load at boot:
```bash
echo -e "intel_ipu6\nintel_ipu6_isys" | sudo tee /etc/modules-load.d/ipu6.conf
```
5. Cloned and compiled `libcamera` and its test utilities (`cam`) from the official source, as package manager versions were unavailable or problematic.
6. Added the user to the `video` group (`sudo usermod -a -G video $USER`) and rebooted to apply permissions.
**Expected Behavior:**
After rebooting, the `intel_ipu6` driver should initialize the camera hardware, creating a `/dev/media0` device. Subsequently, running `cam -l` should list the "Intel MIPI Camera" as an available device.
**Actual Behavior:**
The `intel_ipu6` driver loads but does not proceed with hardware initialization. No `/dev/media*` device is created, and `libcamera` finds no available cameras.
**Crucial Diagnostic Logs:**
These logs confirm the final state of the system after all troubleshooting steps.
1. **Check for media device:**
```bash
$ ls -l /dev/media*
ls: cannot access '/dev/media*': No such file or directory
```
*(This confirms the driver failed to create the device node.)*
2. **Kernel log for ipu6:**
```bash
$ sudo dmesg | grep -i ipu6
[ 5.230748] intel_ipu6: loading out-of-tree module taints kernel.
```
*(This shows the module is loaded, but there are no further messages regarding firmware loading or device probing, indicating a silent failure.)*
3. **Check for sensor name:**
```bash
$ cat /sys/class/video4linux/*/name
Intel MIPI Camera
```
*(This shows that a lower-level subsystem is aware of the camera's presence, but the `ipu6` driver is not successfully binding to it to create a functional device.)*
Based on this, it appears the current out-of-tree driver is not fully compatible with the specific sensor/firmware combination in the Dell G15 5520. Any guidance or potential patches would be greatly appreciated.
```
```
Contributor guide
Research direction
Start by reproducing the failure with the intel_ipu6 and intel_ipu6_isys modules on the listed Dell hardware, then inspect dmesg and the /sys/class/video4linux entries. Verify whether initialization creates a /dev/media* node and whether cam -l lists the Intel MIPI Camera; done means the driver initializes successfully and libcamera can detect it.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- c, linux
- Domain
- operating-systems
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100