You are not logged in.
Has anyone been able to make it work on Lenovo X1 carbon (Gen 12)? nothing seems to be working.
The camera is identified by v4l2-ctl, but not by cam -l
Offline
Has anyone been able to make it work on Lenovo X1 carbon (Gen 12)? nothing seems to be working.
The camera is identified by v4l2-ctl, but not by cam -l
Nope. According to Hans De Goede our sensor is not supported yet https://hansdegoede.dreamwidth.org/28841.html
Offline
iamzimy wrote:Anyone able to get the webcam working on XPS 9340?
No, did you get it working in the meantime?
Nope, still waiting for a proper guide for this model, are using XPS 9340 too?
Offline
Ah, I actually misread your model number first. I am on a Dell 9640. But I figure much of the hardware (and issues) are similar.
I currently keep my old laptop around just for video conference, which is kinda annoying.
I am somehow hoping that the issue will resolve itself with a kernel update in the near future.
Not sure if that is too much wishful thinking ...
Offline
I had the same problem as others reported here, but I solved it, finally!. Well, except for Chrome, see below.
I have a Dell Precision 5690, Linux 6.12.1-zen kernel, KDE Plasma 6.2.4, wayland 1.23.1.
I followed the instructions of bjesus at https://bbs.archlinux.org/viewtopic.php … 7#p2204987. First I ensured that I have the following packages installed:
extra/gst-plugin-libcamera 0.3.2-1
extra/pipewire-libcamera 1:1.2.6-1
extra/libcamera-tools 0.3.2-1
extra/libcamera-ipa 0.3.2-1
extra/libcamera 0.3.2-1
aur/intel-ivsc-firmware
After I rebooted I saw that IPU6 hardware is detected:
$ sudo dmesg | grep -i ipu6
[ 3.878493] intel-ipu6 0000:00:05.0: enabling device (0000 -> 0002)
[ 3.879039] intel-ipu6 0000:00:05.0: IPU6 in secure mode touch 0x80000000 mask 0x0
[ 3.892606] intel-ipu6 0000:00:05.0: FW version: 20230925
... // last 2 lines get repeated many times, then:
[ 14.325667] intel-ipu6 0000:00:05.0: FW version: 20230925
[ 14.326868] intel-ipu6 0000:00:05.0: Sending BOOT_LOAD to CSE
[ 14.366143] intel-ipu6 0000:00:05.0: Sending AUTHENTICATE_RUN to CSE
[ 14.413175] intel-ipu6 0000:00:05.0: CSE authenticate_run done
[ 14.413179] intel-ipu6 0000:00:05.0: IPU6-v4[7d19] hardware version 6
So the pci device ID of the camera is 0000:00:05.0.
$ sudo dmesg | grep "pci 0000:00:05.0"
[ 0.392174] pci 0000:00:05.0: [8086:7d19] type 00 class 0x048000 PCIe Root Complex Integrated Endpoint
[ 0.392182] pci 0000:00:05.0: BAR 0 [mem 0x5019000000-0x5019ffffff 64bit]
[ 0.392196] pci 0000:00:05.0: enabling Extended Tags
[ 0.597804] pci 0000:00:05.0: Adding to iommu group 3
[ 14.309751] pci 0000:00:05.0: Found supported sensor OVTI02E1:00
[ 14.309790] pci 0000:00:05.0: Connected 1 cameras
Thus, the camera device is found and the sensor is OVTI02E1.
But libcamera didn't find it, not even with sudo:
$ sudo cam -l
[0:18:48.273897168] [5007] ERROR IPAModule ipa_module.cpp:171 Symbol ipaModuleInfo not found
[0:18:48.273918001] [5007] ERROR IPAModule ipa_module.cpp:291 v4l2-compat.so: IPA module has no valid info
[0:18:48.273934832] [5007] INFO Camera camera_manager.cpp:325 libcamera v0.3.2
[0:18:48.286942256] [5008] INFO SimplePipeline simple.cpp:1548 No sensor found for /dev/media0
Available cameras:
After reading Hans De Goede's article I checked if the sensor OVTI02E1 is known at all. It is!. So why does it not work?!? Reading Hans' article carefully I realized that he said:
Note not all of these have upstream drivers yet. In that cases chances are that there might be a sensor driver for your sensor here.
The link points to Intel's ipu6-drivers repository. Looking at https://github.com/intel/ipu6-drivers/t … /media/i2c I saw that there is a driver for my sensor named ov02e1.c. I thought that all IPU6 drivers have been upstreamed to the linux kernel source!?! But apparently this is not the case:
$ yay -Ql linux-zen | grep "/drivers/media/i2c/ov"
This lists many drivers like "ov02a10" etc. but none for "ovti02e1" or "ov02e1". So apparently this driver from the ipu6-drivers repository hasn't been upstreamed yet. Luckily, there's an AUR:
$ yay intel-ipu6-dkms-git
Important! As of today this should build rev r205.0ad498824-1 which matches the 6.12.1 kernel. Previously I made the mistake to build an older revision r187 that doesn't compile. I had to remove the old build files before that, via:
$ rm -rf .cache/yay/intel-ipu6-dkms-git/
Btw. the AUR is flagged outdated but that's a mistake. I presume someone flagged it because he thought that all drivers have been upstreamed, but that's wrong.
Now verify that the drivers have been built and installed:
$ ls -l /var/lib/dkms/ipu6-drivers/r205.0ad498824/6.12.1-zen1-1-zen/x86_64/module/
.rw-r--r-- 23k root 6 Dez 13:01 hi556.ko.zst
.rw-r--r-- 23k root 6 Dez 13:01 hm11b1.ko.zst
.rw-r--r-- 22k root 6 Dez 13:01 hm2170.ko.zst
.rw-r--r-- 23k root 6 Dez 13:01 hm2172.ko.zst
.rw-r--r-- 57k root 6 Dez 13:01 intel-ipu6-psys.ko.zst
.rw-r--r-- 0 root 6 Dez 13:01 Module.symvers
.rw-r--r-- 22k root 6 Dez 13:01 ov01a1s.ko.zst
.rw-r--r-- 21k root 6 Dez 13:01 ov01a10.ko.zst
.rw-r--r-- 24k root 6 Dez 13:01 ov02c10.ko.zst
.rw-r--r-- 24k root 6 Dez 13:01 ov02e10.ko.zst
.rw-r--r-- 22k root 6 Dez 13:01 ov05c10.ko.zst
Load the driver:
$ sudo modprobe -v ov02e10
and lo and behold libcamera now detects my camera! Even without being root:
$ cam -l
[3:11:33.424194631] [2237298] ERROR IPAModule ipa_module.cpp:171 Symbol ipaModuleInfo not found
[3:11:33.424205911] [2237298] ERROR IPAModule ipa_module.cpp:291 v4l2-compat.so: IPA module has no valid info
[3:11:33.424213185] [2237298] INFO Camera camera_manager.cpp:325 libcamera v0.3.2
... // lots of errors and warnings
Available cameras:
1: 'ov02e10' (\_SB_.PC00.LNK1)
The errors and warnings seem to be neglectable.
gstreamer can use the camera, too, but only with sudo:
$ sudo gst-launch-1.0 libcamerasrc ! queue ! glimagesink
For the first time I see a picture, hooray! But since it only works as root I must apply the camera udev rules, as bjesus and others explained: I created a file at /etc/udev/rules.d/camera.rules with this line in it:
KERNEL=="udmabuf", TAG+="uaccess"
After another reboot now it works without sudo.
Cheese worked out of the box.
Firefox worked after setting media.webrtc.camera.allow-pipewire = true in about:config and restarting.
For Chrome I enabled "PipeWire Camera support" in chrome://flags/#enable-webrtc-pipewire-camera. Chrome detects the camera, but all I get is a black picture. I have to investigate this further. So far nobody seems to have this problem, but I admid the combination Wayland+Plasma+Chrome+Pipewire+MIPI camera with ov02e10 sensor is very special.
Offline
Offline
I, like many other people, have suffered with this stupid camera for far too long. Deep regrets on trusting Intel to support linux as a first class citizen. That said, I was able to fix the problems in this thread. Following the instructions from dmoebius above:
I had the same problem as others reported here, but I solved it, finally!. .....
If you can see your camera output in qcam but nothing else, you probably need to tell wireplumber to use libcamera and not v4l2. That is that the userspace wireplumber defaults to is v4l2 and the fancy ipu modules only work with libcamera. I discovered this through a blog post written by developer Jan Grulich. That's as simple as creating the file $HOME/.config/wireplumber/wireplumber.conf.d/99-libcamera.conf and putting in it:
wireplumber.profiles = {
main = {
monitor.v4l2 = disabled
monitor.libcamera = optional
}
}
Said blog post:
https://jgrulich.cz/2024/12/13/when-you … re-issues/
The good news is that there is far lower cpu usage with the in tree ipu modules and not sending it through v4l2 relay. It's a usable experience that seems to be very decent finally. Thanks to the people who put in the effort to get it here. I have the ov2740 sensor in a Thinkpad X1 Nano gen2.
Last edited by acegallagher (2024-12-14 01:45:15)
Offline
Only problem is that the hardware bugs out on suspend. There might be some magic incantation of manual unloading/reloading modules that makes it work but right now my suspend won't resume unless I unload the ov2740 sensor module first. Then, after resume, I can't actually use the camera without rebooting. If anyone figures out the magic incantation do post here. I get the following error in dmesg when I try to manually unload/reload the chain of modules:
$sudo rmmod ov2740
$sudo rmmod intel_ipu6_isys
$sudo rmmod intel_ipu6
$sudo rmmod i2c_ljca
$sudo modprobe i2c_ljca
$sudo modprobe intel_ipu6
$sudo modprobe intel_ipu6_isys
$sudo modprobe ov2740
[Fri Dec 13 18:55:56 2024] intel-ipu6 0000:00:05.0: IPU6 in secure mode touch 0x0 mask 0xff
[Fri Dec 13 18:55:56 2024] intel-ipu6 0000:00:05.0: FW version: 20230925
[Fri Dec 13 18:55:56 2024] intel-ipu6 0000:00:05.0: Sending BOOT_LOAD to CSE
[Fri Dec 13 18:55:56 2024] intel-ipu6 0000:00:05.0: expected resp: 0x1, IPC response: 0x220
[Fri Dec 13 18:55:56 2024] intel-ipu6 0000:00:05.0: CSE boot_load failed
[Fri Dec 13 18:55:56 2024] intel-ipu6 0000:00:05.0: error -EIO: FW authentication failed
[Fri Dec 13 18:55:56 2024] intel-ipu6 0000:00:05.0: probe with driver intel-ipu6 failed witherror -5
Further info... I diffed the modules and their status from before/after suspend and it appears that something strange is happening with the intel_ipu6_isys module or intel_skl_int3472_discrete in my case. Not sure what. I'm sure someone with a better understanding of how this is all glued together could sort it out.
Last edited by acegallagher (2024-12-14 02:18:57)
Offline
I'm getting my ov2740 camera to work sporadically on 6.12.1 using cheese and qcam.
Sometimes you need to reboot to be able to use the camera at all, and you might need several attempts to get qcam and cheese to show any picture.
I'm also unable to get the camera to be detected in Chromium and Firefox despite enabling the pipewire camera settings.
Offline