* Bug Report: Internal Cameras Not Detected — Missing INT3472 `board_data` for HP Elite X2
@ 2025-08-23 1:07 Edmund Laugasson
0 siblings, 0 replies; only message in thread
From: Edmund Laugasson @ 2025-08-23 1:07 UTC (permalink / raw)
To: linux-media@vger.kernel.org
Hello!
Bug Report: Internal Cameras Not Detected — Missing INT3472 `board_data` for HP Elite X2
----------------------------------------------------------------------------------------
Summary:
Internal webcam on HP Elite X2 1012 G2 are not functional under Linux. The issue stems from the INT3472 power/clock controller lacking board-specific DMI descriptors (`board_data`), which prevents proper sensor connection (ov5670/ov7251) to the IPU3 pipeline (CIO2 → IMGU). Consequently, cameras are not registered by `libcamera`, `v4l2-ctl`, or other userspace tools.
### 1. System Information
DMI SysVendor: HP
### 2. Relevant Logs (`dmesg`)
int3472-tps68470 i2c-INT3472:05: TPS68470 REVID: 0x21
Interpretation:
- INT3472 driver loaded but reports `-ENODEV: No board-data`, which means the DMI lookup failed (model-specific data is missing).
- As a result, sensor power rails default to “dummy regulator,” meaning the sensor is not powered or linked, blocking pipeline setup.
### 3. Media Topology Output (`media-ctl -p -d /dev/media0`)
Media controller API version ...
Interpretation:
IPU3 bridge and subdevices are present, but sensor nodes (ov5670/ov7251) are missing. This confirms the camera pipeline is incomplete due to missing sensor registration.
### 4. Affected Components and Use Cases
- Kernel drivers:
- `drivers/platform/x86/intel/int3472.c` lacks a DMI table entry for this HP Elite X2 variant.
- IPU3 (`ipu3-cio2`, `ipu3-imgu`) and firmware are functional, but sensor connectivity fails.
- Libcamera / V4L2 Tools:
Tools like `cam --list`, `libcamera`, `Cheese`, etc., do not detect any cameras because the pipeline lacks the camera sensors.
### 5. Suggested Kernel Fix
Add a DMI descriptor for the HP Elite X2 into the INT3472 driver to enable proper sensor replication. For example:
static const struct int3472_device_id hp_elite_x2_board_data[] = {
This should reside in `drivers/platform/x86/intel/int3472.c` alongside other DMI-based cases.
### 6. Additional Context & References
- Similar issues have been reported in Launchpad for Ubuntu / Manjaro:
> “Internal webcams of my HP Elite X2 G2 work well in Windows but don’t work in Ubuntu 20.10 or Manjaro. Guvcview recognizes the Cameras as ‘Intel IPU3 CIO2’, but doesn’t show an image.” (https://bugs.launchpad.net/bugs/1913809, https://packages.debian.org/changelog%3Alinux, https://bbs.archlinux.org/viewtopic.php?id=297262&p=3)
- Community notes:
On Unix StackExchange, a user mentions that Intel IPU cameras require both libcamera and kernel sensor driver updates (i.e. including CIO2 bridge improvements). (https://unix.stackexchange.com/questions/581401/how-to-use-ipu3-cio-camera-in-linux)
- The root cause (`-ENODEV: No board-data`) implies the lack of DMI entry and architecture-level syscall.
### 7. Steps for Maintainers
1. Confirm the device's DMI `sys_vendor`, `board_name`, etc.
2. Add the entry into `int3472.c` with appropriate flags.
3. Upstream and backport as needed.
4. Notify distribution maintainers (Arch/Ubuntu/EndeavourOS) to include this in kernel packages.
### Summary Table
Component
Status / Finding
IPU3 (CIO2/IMGU)
Detected and functional
Firmware
Loaded successfully
INT3472 Driver
Loaded but fails DMI lookup (`No board-data`)
CMOS Sensors (ov5670/ov7251)
Not registered, sensors not part of pipeline
Result in userspace
No camera device appears (`cam --list` empty)
----
Thank you!
Edmund Laugasson
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2025-08-23 1:08 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-08-23 1:07 Bug Report: Internal Cameras Not Detected — Missing INT3472 `board_data` for HP Elite X2 Edmund Laugasson
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).