Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Not working on Ubuntu 24.04 with kernel 6.8 #228

Open
rmasad opened this issue May 16, 2024 · 244 comments
Open

Not working on Ubuntu 24.04 with kernel 6.8 #228

rmasad opened this issue May 16, 2024 · 244 comments

Comments

@rmasad
Copy link

rmasad commented May 16, 2024

Previously, I managed to get the camera working with this guide on Ubuntu 23.04: https://dshedd.com/2023/07/18/fixing-lenovos-mipi-camera-problems-on-ubuntu-22-04/

Today, I updated to Ubuntu 24.04 (kernel 6.8.0-31-generic) and my camera stopped working. I repeated the steps and still have problems.

@AntiNSA
Copy link

AntiNSA commented May 21, 2024

I have a dell precision 5680 and it is now working in 24.04 too...

@rmasad
Copy link
Author

rmasad commented May 21, 2024

What kernel version do you have?
Any extra step do you do that fix the camara?

@AntiNSA
Copy link

AntiNSA commented May 21, 2024 via email

@rmasad
Copy link
Author

rmasad commented May 21, 2024

What's more strange is that I go back to kernel 6.5.0-35-generic (where it worked before) and it doesn't work anymore.

@yorik
Copy link

yorik commented May 22, 2024

I was silly enough to upgrade kernel to 6.8 and the driver the latest and my camera doesn't work anymore:

int3472-discrete INT3472:06: cannot find GPIO chip INTC1096:00, deferring

Before I had kernel 6.6 for 3 months and it worked fine. Unfortunately rolling back to kernel 6.6 and even all 4 ipu6 repos to ~February did help.
The laptop: X1 Carbon Gen 11.
Debian sid with patched kernel.

@The9Cat
Copy link

The9Cat commented May 22, 2024

Ubuntu 24.04 with kernel and packages from the 6.8.0-32 series (currently in noble-proposed) do work out of the box. To get the noble-proposed packages, one need to select Software & Updates->Developer Options->pre-release updates, apt update, and apt install the 6.8.0-32 linux image, module, and dkms packages. These image and module packages contain the upstream kernel patches and intel-ipu6 drivers.

For example, it just works with zoom.

It is not perfect, however. Sometimes the video hangs and needs to be reset. Sometimes these hangs prevent the system from suspending which requires a reboot. But it's usable. Hoping that this will soon be reliable?

I should say: I have a Carbon X11 Gen 11. For some reason, this hardware is particularly finicky by combining experiences of others.

@heredia21
Copy link

Ubuntu 24.04 with kernel and packages from the 6.8.0-32 series (currently in noble-proposed) do work out of the box. To get the noble-proposed packages, one need to select Software & Updates->Developer Options->pre-release updates, apt update, and apt install the 6.8.0-32 linux image, module, and dkms packages. These image and module packages contain the upstream kernel patches and intel-ipu6 drivers.

For example, it just works with zoom.

It is not perfect, however. Sometimes the video hangs and needs to be reset. Sometimes these hangs prevent the system from suspending which requires a reboot. But it's usable. Hoping that this will soon be reliable?

I should say: I have a Carbon X11 Gen 11. For some reason, this hardware is particularly finicky by combining experiences of others.

Hmmm. No updates available after toggling pre-release updates then apt update.

@The9Cat
Copy link

The9Cat commented May 23, 2024

I think you need to apt install the packages directly. Not an apt upgrade. So stuff like:

apt install linux-generic-hwe-24.04/noble-proposed linux-headers-generic-hwe-24.04/noble-proposed
apt install linux-modules-ipu6-6.8.0-32-generic/noble-proposed

Hopefully, I didn't miss one (this is by memory). I also seemed to need:

apt reinstall intel-ipu6-dkms

Not 100% sure that this is right. But it worked.

@AntiNSA
Copy link

AntiNSA commented May 23, 2024 via email

@rmasad
Copy link
Author

rmasad commented May 23, 2024

@The9Cat I tried what you proposed and nothing.

What catches my attention is that when doing v4l2-ctl --list-devices I get only one device (and not the 3 that appear in the blog post I sent before):

$ v4l2-ctl --list-devices

Intel MIPI Camera (platform:v4l2loopback-000):
	/dev/video0

@heredia21
Copy link

I think you need to apt install the packages directly. Not an apt upgrade. So stuff like:

apt install linux-generic-hwe-24.04/noble-proposed linux-headers-generic-hwe-24.04/noble-proposed
apt install linux-modules-ipu6-6.8.0-32-generic/noble-proposed

Hopefully, I didn't miss one (this is by memory). I also seemed to need:

apt reinstall intel-ipu6-dkms

Not 100% sure that this is right. But it worked.

Thanks. But this caused my trackpad to not work and a few issues with the screen itself. Rolled back to 6.8.0-31.

@The9Cat
Copy link

The9Cat commented May 23, 2024

That's strange. My understanding is that this noble-proposed kernel set applies the patches from this site (https://github.com/intel/ipu6-drivers) to the standard Ubuntu 6.8.0 kernel source. So I'm surprised that this breaks things for @heredia21 . Sorry about that.

One could try one of the methods in the README for the 6.9.1 mainline.

I'm prepared to wait for maintainer support, myself.

@The9Cat
Copy link

The9Cat commented May 23, 2024

@rmasad I'm mystified. You rebooted to the new kernel and nothing? When you say 'nothing', what did you try? For example, Camera (a.k.a. gnome-snapshot) detects the devices but doesn't work for any device for me; not even a uvc camera. I should attempt to troubleshoot that. Separate issue.

Seems to me that your system must have configured the camera at some level or you would not see anything in v4l2. Did you check your dmesg to see if it found the ipu6 stuff? E.g. sudo grep ipu6 /var/log/dmesg? I see:

[   23.883497] kernel: intel-ipu6 0000:00:05.0: Device 0xa75d (rev: 0x0)
[   23.883525] kernel: intel-ipu6 0000:00:05.0: physical base address 0x603c000000
[   23.883527] kernel: intel-ipu6 0000:00:05.0: mapped as: 0x0000000074d90f91
[   23.883651] kernel: intel-ipu6 0000:00:05.0: IPU in secure mode
[   23.883660] kernel: intel-ipu6 0000:00:05.0: IPU secure touch = 0x0
[   23.883664] kernel: intel-ipu6 0000:00:05.0: IPU camera mask = 0xff
[   23.900686] kernel: intel-ipu6 0000:00:05.0: IPC reset done
[   23.900691] kernel: intel-ipu6 0000:00:05.0: cpd file name: ipu6ep_fw.bin
[   23.906846] kernel: intel-ipu6 0000:00:05.0: FW version: 20230925
[   23.908413] kernel: intel-ipu6 0000:00:05.0: Found supported sensor INT3474:01
[   23.908678] kernel: intel-ipu6 0000:00:05.0: Connected 1 cameras
[   23.910347] kernel: intel-ipu6 0000:00:05.0: Sending BOOT_LOAD to CSE
[   23.922429] kernel: intel-ipu6 0000:00:05.0: Sending AUTHENTICATE_RUN to CSE
[   24.013247] kernel: intel-ipu6 0000:00:05.0: CSE authenticate_run done
[   24.013275] kernel: intel-ipu6 0000:00:05.0: IPU6-v3 driver version 1.0
[   24.064755] kernel: intel-ipu6-psys intel-ipu6-psys0: pkg_dir entry count:8
[   24.064921] kernel: intel-ipu6-psys intel-ipu6-psys0: psys probe minor: 0
[   24.154810] kernel: intel-ipu6-isys intel-ipu6-isys0: bind ov2740 3-0036 nlanes is 2 port is 1
[   24.155087] kernel: intel-ipu6-isys intel-ipu6-isys0: All sensor registration completed.

At that point, I can use vlc or zoom to stream video.

@rmasad
Copy link
Author

rmasad commented May 26, 2024

@The9Cat the output of sudo grep ipu6 /var/log/dmesg is:

[    4.015205] kernel: intel-ipu6 0000:00:05.0: enabling device (0000 -> 0002)
[    4.015602] kernel: intel-ipu6 0000:00:05.0: Device 0xa75d (rev: 0x0)
[    4.015627] kernel: intel-ipu6 0000:00:05.0: physical base address 0x603c000000
[    4.015629] kernel: intel-ipu6 0000:00:05.0: mapped as: 0x000000002c53b4a4
[    4.015698] kernel: intel-ipu6 0000:00:05.0: IPU in secure mode
[    4.015700] kernel: intel-ipu6 0000:00:05.0: IPU secure touch = 0x0
[    4.015702] kernel: intel-ipu6 0000:00:05.0: IPU camera mask = 0xff
[    4.017795] kernel: intel-ipu6 0000:00:05.0: IPC reset done
[    4.017800] kernel: intel-ipu6 0000:00:05.0: cpd file name: intel/ipu6ep_fw.bin
[    4.018682] kernel: intel-ipu6 0000:00:05.0: Direct firmware load for intel/ipu6ep_fw.bin failed with error -2
[    4.018689] kernel: intel-ipu6 0000:00:05.0: Requesting signed firmware failed
[    4.018970] kernel: intel-ipu6: probe of 0000:00:05.0 failed with error -2

@The9Cat
Copy link

The9Cat commented May 26, 2024

That's strange. I thought that issue was fixed in the latest source but maybe not. I had to copy /lib/firmware/intel/ipu/ipu6ep_fw.bin.zst to /lib/firmware/intel . Maybe do that and try again?

@rmasad
Copy link
Author

rmasad commented May 26, 2024

It works on kernel 6.5.0-35 but not on 6.8.0-32.

I leave the logs of sudo grep ipu6 /var/log/dmesg:

[    3.833691] kernel: intel-ipu6 0000:00:05.0: enabling device (0000 -> 0002)
[    3.833857] kernel: intel-ipu6 0000:00:05.0: Device 0xa75d (rev: 0x0)
[    3.833878] kernel: intel-ipu6 0000:00:05.0: physical base address 0x603c000000
[    3.833880] kernel: intel-ipu6 0000:00:05.0: mapped as: 0x00000000adfa0952
[    3.834075] kernel: intel-ipu6 0000:00:05.0: IPU in secure mode
[    3.834078] kernel: intel-ipu6 0000:00:05.0: IPU secure touch = 0x0
[    3.834080] kernel: intel-ipu6 0000:00:05.0: IPU camera mask = 0xff
[    3.852020] kernel: intel-ipu6 0000:00:05.0: IPC reset done
[    3.852024] kernel: intel-ipu6 0000:00:05.0: cpd file name: intel/ipu6ep_fw.bin
[    3.857344] kernel: intel-ipu6 0000:00:05.0: FW version: 20230925
[    3.860740] kernel: intel-ipu6 0000:00:05.0: Device 0xa75d (rev: 0x0)
[    3.860756] kernel: intel-ipu6 0000:00:05.0: physical base address 0x603c000000
[    3.860758] kernel: intel-ipu6 0000:00:05.0: mapped as: 0x00000000adfa0952
[    3.860804] kernel: intel-ipu6 0000:00:05.0: IPU in secure mode
[    3.860807] kernel: intel-ipu6 0000:00:05.0: IPU secure touch = 0x0
[    3.860809] kernel: intel-ipu6 0000:00:05.0: IPU camera mask = 0xff
[    3.865971] kernel: intel-ipu6 0000:00:05.0: IPC reset done
[    3.865975] kernel: intel-ipu6 0000:00:05.0: cpd file name: intel/ipu6ep_fw.bin
[    3.869159] kernel: intel-ipu6 0000:00:05.0: FW version: 20230925
[    3.871462] kernel: intel-ipu6 0000:00:05.0: Device 0xa75d (rev: 0x0)
[    3.871479] kernel: intel-ipu6 0000:00:05.0: physical base address 0x603c000000
[    3.871481] kernel: intel-ipu6 0000:00:05.0: mapped as: 0x0000000052e114ab
[    3.871567] kernel: intel-ipu6 0000:00:05.0: IPU in secure mode
[    3.871569] kernel: intel-ipu6 0000:00:05.0: IPU secure touch = 0x0
[    3.871570] kernel: intel-ipu6 0000:00:05.0: IPU camera mask = 0xff
[    3.874609] kernel: intel-ipu6 0000:00:05.0: IPC reset done
[    3.874629] kernel: intel-ipu6 0000:00:05.0: cpd file name: intel/ipu6ep_fw.bin
[    3.878413] kernel: intel-ipu6 0000:00:05.0: FW version: 20230925
[    3.901518] kernel: intel-ipu6 0000:00:05.0: Device 0xa75d (rev: 0x0)
[    3.901540] kernel: intel-ipu6 0000:00:05.0: physical base address 0x603c000000
[    3.901543] kernel: intel-ipu6 0000:00:05.0: mapped as: 0x00000000adfa0952
[    3.901600] kernel: intel-ipu6 0000:00:05.0: IPU in secure mode
[    3.901604] kernel: intel-ipu6 0000:00:05.0: IPU secure touch = 0x0
[    3.901606] kernel: intel-ipu6 0000:00:05.0: IPU camera mask = 0xff
[    3.903949] kernel: intel-ipu6 0000:00:05.0: IPC reset done
[    3.903953] kernel: intel-ipu6 0000:00:05.0: cpd file name: intel/ipu6ep_fw.bin
[    3.908547] kernel: intel-ipu6 0000:00:05.0: FW version: 20230925
[    3.914126] kernel: intel-ipu6 0000:00:05.0: Device 0xa75d (rev: 0x0)
[    3.914140] kernel: intel-ipu6 0000:00:05.0: physical base address 0x603c000000
[    3.914141] kernel: intel-ipu6 0000:00:05.0: mapped as: 0x0000000052e114ab
[    3.914189] kernel: intel-ipu6 0000:00:05.0: IPU in secure mode
[    3.914194] kernel: intel-ipu6 0000:00:05.0: IPU secure touch = 0x0
[    3.914196] kernel: intel-ipu6 0000:00:05.0: IPU camera mask = 0xff
[    3.916960] kernel: intel-ipu6 0000:00:05.0: IPC reset done
[    3.916964] kernel: intel-ipu6 0000:00:05.0: cpd file name: intel/ipu6ep_fw.bin
[    3.919755] kernel: intel-ipu6 0000:00:05.0: FW version: 20230925
[    3.921958] kernel: intel-ipu6 0000:00:05.0: Device 0xa75d (rev: 0x0)
[    3.921977] kernel: intel-ipu6 0000:00:05.0: physical base address 0x603c000000
[    3.921979] kernel: intel-ipu6 0000:00:05.0: mapped as: 0x0000000052e114ab
[    3.922033] kernel: intel-ipu6 0000:00:05.0: IPU in secure mode
[    3.922036] kernel: intel-ipu6 0000:00:05.0: IPU secure touch = 0x0
[    3.922038] kernel: intel-ipu6 0000:00:05.0: IPU camera mask = 0xff
[    3.923825] kernel: intel-ipu6 0000:00:05.0: IPC reset done
[    3.923828] kernel: intel-ipu6 0000:00:05.0: cpd file name: intel/ipu6ep_fw.bin
[    3.928858] kernel: intel-ipu6 0000:00:05.0: FW version: 20230925
[    3.942759] kernel: intel-ipu6 0000:00:05.0: Device 0xa75d (rev: 0x0)
[    3.942781] kernel: intel-ipu6 0000:00:05.0: physical base address 0x603c000000
[    3.942783] kernel: intel-ipu6 0000:00:05.0: mapped as: 0x0000000052e114ab
[    3.942873] kernel: intel-ipu6 0000:00:05.0: IPU in secure mode
[    3.942875] kernel: intel-ipu6 0000:00:05.0: IPU secure touch = 0x0
[    3.942876] kernel: intel-ipu6 0000:00:05.0: IPU camera mask = 0xff
[    3.944701] kernel: intel-ipu6 0000:00:05.0: IPC reset done
[    3.944705] kernel: intel-ipu6 0000:00:05.0: cpd file name: intel/ipu6ep_fw.bin
[    3.948861] kernel: intel-ipu6 0000:00:05.0: FW version: 20230925
[    3.956970] kernel: intel-ipu6 0000:00:05.0: Device 0xa75d (rev: 0x0)
[    3.956982] kernel: intel-ipu6 0000:00:05.0: physical base address 0x603c000000
[    3.956983] kernel: intel-ipu6 0000:00:05.0: mapped as: 0x0000000037355ac1
[    3.957058] kernel: intel-ipu6 0000:00:05.0: IPU in secure mode
[    3.957059] kernel: intel-ipu6 0000:00:05.0: IPU secure touch = 0x0
[    3.957061] kernel: intel-ipu6 0000:00:05.0: IPU camera mask = 0xff
[    3.958838] kernel: intel-ipu6 0000:00:05.0: IPC reset done
[    3.958841] kernel: intel-ipu6 0000:00:05.0: cpd file name: intel/ipu6ep_fw.bin
[    3.962664] kernel: intel-ipu6 0000:00:05.0: FW version: 20230925
[    3.994818] kernel: intel-ipu6 0000:00:05.0: Device 0xa75d (rev: 0x0)
[    3.994831] kernel: intel-ipu6 0000:00:05.0: physical base address 0x603c000000
[    3.994833] kernel: intel-ipu6 0000:00:05.0: mapped as: 0x0000000052e114ab
[    3.994907] kernel: intel-ipu6 0000:00:05.0: IPU in secure mode
[    3.994908] kernel: intel-ipu6 0000:00:05.0: IPU secure touch = 0x0
[    3.994909] kernel: intel-ipu6 0000:00:05.0: IPU camera mask = 0xff
[    3.996741] kernel: intel-ipu6 0000:00:05.0: IPC reset done
[    3.996747] kernel: intel-ipu6 0000:00:05.0: cpd file name: intel/ipu6ep_fw.bin
[    3.999246] kernel: intel-ipu6 0000:00:05.0: FW version: 20230925
[    4.016939] kernel: intel-ipu6 0000:00:05.0: Device 0xa75d (rev: 0x0)
[    4.016952] kernel: intel-ipu6 0000:00:05.0: physical base address 0x603c000000
[    4.016953] kernel: intel-ipu6 0000:00:05.0: mapped as: 0x0000000052e114ab
[    4.016991] kernel: intel-ipu6 0000:00:05.0: IPU in secure mode
[    4.016992] kernel: intel-ipu6 0000:00:05.0: IPU secure touch = 0x0
[    4.016993] kernel: intel-ipu6 0000:00:05.0: IPU camera mask = 0xff
[    4.018849] kernel: intel-ipu6 0000:00:05.0: IPC reset done
[    4.018850] kernel: intel-ipu6 0000:00:05.0: cpd file name: intel/ipu6ep_fw.bin
[    4.021116] kernel: intel-ipu6 0000:00:05.0: FW version: 20230925
[    4.042465] kernel: intel-ipu6 0000:00:05.0: Device 0xa75d (rev: 0x0)
[    4.042489] kernel: intel-ipu6 0000:00:05.0: physical base address 0x603c000000
[    4.042491] kernel: intel-ipu6 0000:00:05.0: mapped as: 0x0000000052e114ab
[    4.042534] kernel: intel-ipu6 0000:00:05.0: IPU in secure mode
[    4.042536] kernel: intel-ipu6 0000:00:05.0: IPU secure touch = 0x0
[    4.042538] kernel: intel-ipu6 0000:00:05.0: IPU camera mask = 0xff
[    4.044318] kernel: intel-ipu6 0000:00:05.0: IPC reset done
[    4.044328] kernel: intel-ipu6 0000:00:05.0: cpd file name: intel/ipu6ep_fw.bin
[    4.045761] kernel: intel-ipu6 0000:00:05.0: FW version: 20230925
[    4.047469] kernel: intel-ipu6 0000:00:05.0: Device 0xa75d (rev: 0x0)
[    4.047480] kernel: intel-ipu6 0000:00:05.0: physical base address 0x603c000000
[    4.047481] kernel: intel-ipu6 0000:00:05.0: mapped as: 0x0000000037355ac1
[    4.047529] kernel: intel-ipu6 0000:00:05.0: IPU in secure mode
[    4.047530] kernel: intel-ipu6 0000:00:05.0: IPU secure touch = 0x0
[    4.047531] kernel: intel-ipu6 0000:00:05.0: IPU camera mask = 0xff
[    4.049318] kernel: intel-ipu6 0000:00:05.0: IPC reset done
[    4.049322] kernel: intel-ipu6 0000:00:05.0: cpd file name: intel/ipu6ep_fw.bin
[    4.051003] kernel: intel-ipu6 0000:00:05.0: FW version: 20230925
[    4.090575] kernel: intel-ipu6 0000:00:05.0: Device 0xa75d (rev: 0x0)
[    4.090606] kernel: intel-ipu6 0000:00:05.0: physical base address 0x603c000000
[    4.090607] kernel: intel-ipu6 0000:00:05.0: mapped as: 0x0000000052e114ab
[    4.090692] kernel: intel-ipu6 0000:00:05.0: IPU in secure mode
[    4.090694] kernel: intel-ipu6 0000:00:05.0: IPU secure touch = 0x0
[    4.090695] kernel: intel-ipu6 0000:00:05.0: IPU camera mask = 0xff
[    4.092508] kernel: intel-ipu6 0000:00:05.0: IPC reset done
[    4.092511] kernel: intel-ipu6 0000:00:05.0: cpd file name: intel/ipu6ep_fw.bin
[    4.093728] kernel: intel-ipu6 0000:00:05.0: FW version: 20230925
[    4.096341] kernel: intel-ipu6 0000:00:05.0: Found supported sensor INT3474:01
[    4.096483] kernel: intel-ipu6 0000:00:05.0: Connected 1 cameras
[    4.097513] kernel: intel-ipu6 0000:00:05.0: Sending BOOT_LOAD to CSE
[    4.107413] kernel: intel-ipu6 0000:00:05.0: Sending AUTHENTICATE_RUN to CSE
[    4.178474] kernel: intel-ipu6 0000:00:05.0: CSE authenticate_run done
[    4.178538] kernel: intel-ipu6 0000:00:05.0: IPU6-v3 driver version 1.0
[    4.179483] kernel:  ipu_isys_queue_cleanup+0x12/0x20 [intel_ipu6_isys]
[    4.179493] kernel:  ipu_isys_video_cleanup+0x2e/0x40 [intel_ipu6_isys]
[    4.179499] kernel:  ipu_isys_csi2_be_soc_cleanup+0x37/0x50 [intel_ipu6_isys]
[    4.179505] kernel:  isys_unregister_subdevices+0x40/0xa0 [intel_ipu6_isys]
[    4.179511] kernel:  isys_probe+0x5c5/0xb80 [intel_ipu6_isys]
[    4.179518] kernel:  ? __pfx_isys_probe+0x10/0x10 [intel_ipu6_isys]
[    4.179523] kernel:  ipu_bus_probe+0x72/0x130 [intel_ipu6]
[    4.179571] kernel: Modules linked in: i915(+) polyval_generic(+) snd_compress(+) mac80211(+) ghash_clmulni_intel btusb ac97_bus sha256_ssse3 btrtl snd_pcm_dmaengine sha1_ssse3 processor_thermal_device_pci btintel processor_thermal_device intel_ipu6_isys(O) drm_buddy libarc4 snd_hda_intel aesni_intel btbcm processor_thermal_wt_hint videobuf2_dma_contig ttm snd_intel_dspcfg crypto_simd spi_nor btmtk processor_thermal_rfim videobuf2_memops snd_intel_sdw_acpi drm_display_helper videobuf2_v4l2 cryptd mtd processor_thermal_rapl spi_ljca gpio_ljca iwlwifi bluetooth i2c_ljca snd_hda_codec videobuf2_common cec think_lmi(+) intel_rapl_msr ecdh_generic rapl intel_rapl_common nxp_nci_i2c mei_pxp mei_hdcp intel_ipu6_psys(O) intel_skl_int3472_tps68470 intel_cstate nxp_nci snd_hda_core processor_thermal_wt_req spi_intel_pci usb_ljca ecc firmware_attributes_class rc_core wmi_bmof intel_pmc_core tps68470_regulator cfg80211 thinkpad_acpi mei_me ov2740(O) processor_thermal_power_floor nci spi_intel i2c_i801 snd_hwdep mei i2c_smbus i2c_algo_bit
[    4.179604] kernel:  intel_ipu6(O) igen6_edac clk_tps68470 intel_vsec v4l2_fwnode int3403_thermal intel_hid soc_button_array processor_thermal_mbox nvram int340x_thermal_zone nfc pmt_telemetry mei_vsc_hw int3400_thermal intel_skl_int3472_discrete v4l2_async acpi_thermal_rel sparse_keymap acpi_tad acpi_pad pmt_class joydev input_leds mac_hid serio_raw v4l2loopback(O) msr snd_aloop snd_pcm snd_timer videodev mc parport_pc ppdev lp parport efi_pstore nfnetlink dmi_sysfs ip_tables x_tables autofs4 intel_ishtp_hid hid_multitouch hid_generic nvme ucsi_acpi intel_lpss_pci snd nvme_core typec_ucsi xhci_pci intel_ish_ipc intel_lpss psmouse i2c_hid_acpi crc32_pclmul soundcore idma64 intel_ishtp xhci_pci_renesas nvme_auth typec thunderbolt i2c_hid ledtrig_audio video hid platform_profile wmi pinctrl_tigerlake

@yger
Copy link

yger commented May 26, 2024

Same here, noble 24.04 (with kernel 6.8.0.31) and no camera :-(

However I don't have the same logs

[ 2.978150] kernel: intel_ipu6: loading out-of-tree module taints kernel.
[ 2.978157] kernel: intel_ipu6: module verification failed: signature and/or required key missing - tainting kernel
[ 2.982148] kernel: intel-ipu6 0000:00:05.0: enabling device (0000 -> 0002)
[ 2.982299] kernel: intel-ipu6 0000:00:05.0: Device 0x465d (rev: 0x2)
[ 2.982325] kernel: intel-ipu6 0000:00:05.0: physical base address 0x618e000000
[ 2.982327] kernel: intel-ipu6 0000:00:05.0: mapped as: 0x00000000e6481492
[ 2.982381] kernel: intel-ipu6 0000:00:05.0: Unable to set secure mode
[ 2.982385] kernel: intel-ipu6 0000:00:05.0: IPU in non-secure mode
[ 2.982387] kernel: intel-ipu6 0000:00:05.0: IPU secure touch = 0x0
[ 2.982388] kernel: intel-ipu6 0000:00:05.0: IPU camera mask = 0xff
[ 2.982727] kernel: intel-ipu6 0000:00:05.0: Skip ipc reset for non-secure mode
[ 2.982730] kernel: intel-ipu6 0000:00:05.0: IPC reset done
[ 2.982732] kernel: intel-ipu6 0000:00:05.0: cpd file name: intel/ipu6ep_fw.bin
[ 2.984033] kernel: intel-ipu6 0000:00:05.0: Direct firmware load for intel/ipu6ep_fw.bin failed with error -2
[ 2.984040] kernel: intel-ipu6 0000:00:05.0: Requesting signed firmware failed

The package was install via apt reinstall intel-ipu6-dkm

@The9Cat
Copy link

The9Cat commented May 26, 2024

@yger I believe that you need the following steps:

  1. Enable proposed updates in your Software & Updates->Developer Options->pre-release updates
  2. Then apt update, and apt install the 6.8.0-35 linux image and modules like this:
sudo apt install linux-image-6.8.0-35-generic/noble-proposed linux-headers-6.8.0-35-generic linux-modules-6.8.0-35-generic/noble-proposed  linux-modules-extra-6.8.0-35-generic/noble-proposed linux-modules-ipu6-6.8.0-35-generic/noble-proposed  linux-tools-6.8.0-35/noble-proposed
sudo apt reinstall intel-ipu6-dkms
  1. Also note: there is a minor issue with the driver and the firmware location. The linux-firmware package is putting the firmware in /lib/firmware/intel/ipu but the driver is expecting it in /lib/firmware/intel. So copy /lib/firmware/intel/ipu/ipu6ep_fw.bin.zst to /lib/firmware/intel. This directory issue has been noted by a develper and is supposed to be fixed upstream. So eventually, this workaround will not be necessary.

Also, you may not need all of these packages, depending on your use case. the image and ipu6 modules packages may be sufficient. Also, I needed the apt reinstall intel-ipu6-dkm for reasons that I do not fully understand (was it to clean up the previous non-working out-of-tree implementation?).

Also, just so everyone knows: I'm just a user trying to provide info to the developers to get this thing fixed. So I'm sharing my experience to help anyone who's willing to try but I'm not in a position to really fix this myself.

@The9Cat
Copy link

The9Cat commented May 26, 2024

@rmasad I've also seen stuff like this. You might try rebooting again, just to test. I've found that most of the time it boots correctly but not every time. Some sort of hardware timing issue? Not sure. I'm currently finding it to be mostly reliable but not 100%.

@yger
Copy link

yger commented May 26, 2024

Thanks a lot for the help, really appreciated. Sadly however, I followed all your suggestion and the problem remains. I now have kernel 6.8.0.35, but sill the following

[ 2.984544] kernel: intel_ipu6: loading out-of-tree module taints kernel.
[ 2.984553] kernel: intel_ipu6: module verification failed: signature and/or required key missing - tainting kernel
[ 2.991590] kernel: intel-ipu6 0000:00:05.0: enabling device (0000 -> 0002)
[ 2.992194] kernel: intel-ipu6 0000:00:05.0: Device 0x465d (rev: 0x2)
[ 2.992218] kernel: intel-ipu6 0000:00:05.0: physical base address 0x618e000000
[ 2.992219] kernel: intel-ipu6 0000:00:05.0: mapped as: 0x00000000a751386a
[ 2.992267] kernel: intel-ipu6 0000:00:05.0: Unable to set secure mode
[ 2.992268] kernel: intel-ipu6 0000:00:05.0: IPU in non-secure mode
[ 2.992269] kernel: intel-ipu6 0000:00:05.0: IPU secure touch = 0x0
[ 2.992271] kernel: intel-ipu6 0000:00:05.0: IPU camera mask = 0xff
[ 2.992439] kernel: intel-ipu6 0000:00:05.0: Skip ipc reset for non-secure mode
[ 2.992442] kernel: intel-ipu6 0000:00:05.0: IPC reset done
[ 2.992443] kernel: intel-ipu6 0000:00:05.0: cpd file name: intel/ipu6ep_fw.bin
[ 2.997230] kernel: intel-ipu6 0000:00:05.0: FW version: 20230925
[ 3.000422] kernel: intel-ipu6 0000:00:05.0: IPU6-v3 driver version 1.0
[ 3.043934] kernel: intel-ipu6-psys intel-ipu6-psys0: pkg_dir entry count:8
[ 3.044071] kernel: intel-ipu6-psys intel-ipu6-psys0: psys probe minor: 0
[ 3.661015] kernel: ipu_isys_queue_cleanup+0x12/0x20 [intel_ipu6_isys]
[ 3.661030] kernel: ipu_isys_video_cleanup+0x2e/0x40 [intel_ipu6_isys]
[ 3.661042] kernel: ipu_isys_csi2_be_soc_cleanup+0x37/0x50 [intel_ipu6_isys]
[ 3.661055] kernel: isys_unregister_subdevices+0x40/0xa0 [intel_ipu6_isys]
[ 3.661067] kernel: isys_probe+0x5c5/0xb80 [intel_ipu6_isys]
[ 3.661082] kernel: ipu_bus_probe+0x72/0x130 [intel_ipu6]
[ 3.661115] kernel: ? __pfx_isys_driver_init+0x10/0x10 [intel_ipu6_isys]
[ 3.661128] kernel: ipu_bus_register_driver+0x16/0x20 [intel_ipu6]
[ 3.661137] kernel: isys_driver_init+0x15/0xff0 [intel_ipu6_isys]
[ 3.661214] kernel: Modules linked in: btintel(+) crct10dif_pclmul snd_rawmidi intel_ipu6_isys(OE+) polyval_clmulni libarc4 polyval_generic btbcm ghash_clmulni_intel videobuf2_dma_contig btmtk hid_sensor_custom_intel_hinge hid_sensor_als hid_sensor_gyro_3d nvidia_drm(POE+) sha256_ssse3 snd_seq dell_wmi(+) hid_sensor_trigger videobuf2_memops sha1_ssse3 snd_seq_device bluetooth nvidia_modeset(POE) videobuf2_v4l2 industrialio_triggered_buffer drm_buddy processor_thermal_device_pci(+) iwlwifi aesni_intel dell_smbios snd_timer kfifo_buf processor_thermal_device ttm videobuf2_common dell_wmi_sysman(+) ecdh_generic hid_sensor_iio_common processor_thermal_wt_hint crypto_simd dcdbas nvidia(POE) cryptd rapl intel_cstate processor_thermal_rfim ecc usb_ljca dell_smm_hwmon dell_wmi_ddv ledtrig_audio intel_ipu6_psys(OE) dell_wmi_descriptor spi_intel_pci firmware_attributes_class wmi_bmof industrialio snd drm_display_helper processor_thermal_rapl i2c_i801 ov01a10(OE) cfg80211 spi_intel mei_me i2c_smbus intel_rapl_common soundcore cec
[ 3.661250] kernel: v4l2_fwnode intel_skl_int3472_tps68470 processor_thermal_wt_req processor_thermal_power_floor v4l2_async mei tps68470_regulator rc_core int3403_thermal processor_thermal_mbox clk_tps68470 i2c_algo_bit intel_ipu6(OE) mei_vsc_hw int340x_thermal_zone igen6_edac videodev intel_pmc_core mc intel_skl_int3472_discrete intel_hid input_leds joydev intel_vsec int3400_thermal pmt_telemetry sparse_keymap pmt_class acpi_tad acpi_pad acpi_thermal_rel mac_hid serio_raw msr parport_pc ppdev lp parport efi_pstore nfnetlink dmi_sysfs ip_tables x_tables autofs4 raid10 raid456 async_raid6_recov async_memcpy async_pq async_xor async_tx xor raid6_pq libcrc32c raid1 raid0 hid_sensor_custom hid_sensor_hub intel_ishtp_hid nvme nvme_core hid_multitouch nvme_auth hid_generic spi_pxa2xx_platform ahci dw_dmac dw_dmac_core libahci 8250_dw rtsx_pci_sdmmc video crc32_pclmul ucsi_acpi psmouse thunderbolt typec_ucsi intel_lpss_pci intel_ish_ipc xhci_pci intel_lpss rtsx_pci intel_ishtp vmd xhci_pci_renesas idma64 typec i2c_hid_acpi i2c_hid

I'm using a Dell Precision 5470, and loooking forward for a possible fix!

@The9Cat
Copy link

The9Cat commented May 26, 2024

Hm. I don't have a good answer for this. A few things/questions come to mind:

  1. I wonder what's up with the 'out-of-tree' module message. Which module package did you install? Is it possible that some previous out-of-tree module package is in your dkms config?
  2. Your Dell has a different sensor than my machine (Lenovo X1C11). Not sure that's significant here, but maybe.

@hao-yao
Copy link
Contributor

hao-yao commented May 28, 2024

@rmasad @yger commit ac347ff should fix the FW path issue on Ubuntu 24.04.

Seems something bad happened in ipu6 driver in later callstack, please share a full dmesg and I will check it.

@hao-yao
Copy link
Contributor

hao-yao commented May 30, 2024

@yger @rmasad On Ubuntu 24.04, package intel-ipu6-dkms at version 07f0612 is outdated and doesn't include the change for kernel v6.8, which use the ipu-bridge for fwnode creating. The latest master should works.

@MarjanHJ
Copy link

MarjanHJ commented May 30, 2024

did you manage to solve this , I have the same issue , Ubuntu 24.04, kernel 6.9 laptop xps 16, I tried many methods but no lucks here is the output of my sudo grep ipu6 /var/log/dmesg:

[ 4.842580] kernel: intel_ipu6: loading out-of-tree module taints kernel.
[ 4.842585] kernel: intel_ipu6: module verification failed: signature and/or required key missing - tainting kernel
[ 4.866168] kernel: intel-ipu6 0000:00:05.0: enabling device (0000 -> 0002)
[ 4.866643] kernel: intel-ipu6 0000:00:05.0: Device 0x7d19 (rev: 0x4)
[ 4.866652] kernel: intel-ipu6 0000:00:05.0: physical base address 0x5229000000
[ 4.866654] kernel: intel-ipu6 0000:00:05.0: mapped as: 0x0000000000d78e90
[ 4.866726] kernel: intel-ipu6 0000:00:05.0: IPU in secure mode
[ 4.866728] kernel: intel-ipu6 0000:00:05.0: IPU secure touch = 0x80000000
[ 4.866729] kernel: intel-ipu6 0000:00:05.0: IPU camera mask = 0x0
[ 4.878670] kernel: intel-ipu6 0000:00:05.0: IPC reset done
[ 4.878677] kernel: intel-ipu6 0000:00:05.0: cpd file name: intel/ipu6epmtl_fw.bin
[ 4.878738] kernel: intel-ipu6 0000:00:05.0: Direct firmware load for intel/ipu6epmtl_fw.bin failed with error -2
[ 4.878741] kernel: intel-ipu6 0000:00:05.0: Requesting signed firmware failed
[ 4.878754] kernel: intel-ipu6 0000:00:05.0: probe with driver intel-ipu6 failed with error -2

@The9Cat
Copy link

The9Cat commented May 31, 2024

@hao-yao I believe that the Ubuntu package maintainer has integrated your kernel patches, the in-tree ivsc driver, and ipu6 drivers into the 6.8.0-35 series now in noble-proposed. Is this any way for you to check if this is enough? It does seem to work, although it occasionally times out. Restarting the v4l2-relayd often gets it working, but not always.
In some cases, the system requires a reboot to allow a suspend. The suspend problem is occasional; many times it just works as expected.

@The9Cat
Copy link

The9Cat commented May 31, 2024

@MarjanHJ As in my e-mails above, you might try the 6.8.0-35 series now in noble-proposed. It does work for me (most of the time) but as you can see by reading this thread, it does not work for everyone. Also note: there is some confusion about the fw location. You might try, as I suggested here, copying the fw file that you need for your sensor, in this case /lib/firmware/intel/ipu/ipu6epmtl_fw.bin.zst up to /lib/firware/intel.

@MarjanHJ
Copy link

MarjanHJ commented Jun 1, 2024

@The9Cat thanks for your response, I have already updated my kernel to 6.9 because my audio was not working with kernel 6.8 as well , fortunately audio is working now with 6.9 mainline but camera is still not working, I have also copied the firmware file and didn't work, I hope someone can suggest a way to solve this. thanks

@rmasad
Copy link
Author

rmasad commented Jun 2, 2024

6.8.0-35 still not working

@rawler
Copy link

rawler commented Jun 3, 2024

Also struggling with getting ipu6 camera working on noble. My HW is Dell Precision 5680. Related to the claim by @The9Cat that it should "work out of the box", I fail to understand how exactly?

I thought these cameras requires the gstreamer1.0-icamera package to work, and I cannot find any package containing this in standard noble repositories?

What packages should I need, from where?

@MarjanHJ
Copy link

MarjanHJ commented Jun 3, 2024

I also still haven't managed to fix this issue, my laptop is xps 16 , ubuntu 24.04, I updated the kernel to 6.9 and that fixed my audio but tried many things including copying firmware etc but camera is still not working.

@The9Cat
Copy link

The9Cat commented Aug 9, 2024

@AntiNSA Both the generic and oem lines are Canonical generated and supported kernels. An oem kernel is created by Canonical engineers for brand-new hardware that is not yet supported by the generic Linux kernel. The oem line is intended to be short-term kernel. The idea that new-hardware owners will use a generic Linux kernel when support for that new hardware gets rolled into the HWE kernels from later LTS point releases.

@bryan977
Copy link

bryan977 commented Aug 9, 2024

When I have time this weekend, I plan to see if the generic kernel will work for me.

@c3phas
Copy link

c3phas commented Aug 9, 2024

On 6.8.0-40-generic is there anything I need to run to make this work. I'm on hp spectre and can't seem to get the camera to work

@The9Cat
Copy link

The9Cat commented Aug 12, 2024

Following up on the comment from @cft3ck from last week, I've also found that if I add the devices=1 video_nr=0 options to the v4l2-relayd module, that my problem with a misconfigured v4l2-loopback on boot is cured. Curiously, ls -1 /sys/devices/virtual/video4linux or v4l2-ctl --list-devices revealed that the module did automatically configure these devices even without the additional options. So I don't understand what about these options makes a difference.

I still find that the camera occasionally hangs, and I need to execute sudo systemctl restart v4l2-relayd.service to get it going again. Is this true for the XPS-9315 users as well? Or is this specific to my Lenovo X1C11?

But this is progress!

@The9Cat
Copy link

The9Cat commented Aug 12, 2024

@c3phas : have you followed the various HowTo recipes that people have posted in this thread? Such as the latest one here?

@semyon-gordeev
Copy link

semyon-gordeev commented Aug 13, 2024

After a few months of trying, I've finally made my IPU6 camera work. Tried lots of distributions (arch, fedora, ubuntu) and all possible kernel versions. Here is my working combination:

Laptop: Samsung Galaxy Book 3 Pro (960XFG)
IPU6 sensor: ov02c10
OS: Ubuntu 24.04
Kernel: 6.8.0-40-generic

installation steps:

  1. Add the IPU6 driver in Software & Updates > Additional Drivers > Use Intel IPU6 driver

  2. As the OEM Solution Group team recently updated their builds, you don't even need to build the IPU6 stack manually. Just do:

sudo add-apt-repository ppa:oem-solutions-group/intel-ipu6
sudo apt update
sudo apt install intel-ipu6-dkms libcamhal0 libcamhal-ipu6ep0 libipu6ep
  1. Restart the system and check the version of the IPU6 dkms module. If you're a Galaxy Book owner, make sure it's not older than June 5, because you need this PR - Fix Galaxy Book4 Pro compatibility #230 (big thanks to @arter97 for his work).
$ dkms status
ipu6-drivers/0~git202406240945.aecec2aa-0ubuntu2~24.04.1, 6.8.0-40-generic, x86_64: installed
  1. Check dmesg log. Should be smth like this:
$ sudo dmesg | grep -iE 'ipu6|02c1|int34'
[    3.920345] int3472-discrete INT3472:01: power-enable \_SB.GPI0 pin number mismatch _DSM 227 resource 131
[    3.921693] int3472-discrete INT3472:01: privacy-led \_SB.GPI0 pin number mismatch _DSM 101 resource 357
[    3.923018] int3472-discrete INT3472:01: clk-enable \_SB.GPI0 pin number mismatch _DSM 246 resource 150
[    3.927463] ov02c10: module verification failed: signature and/or required key missing - tainting kernel
[    3.944194] ov02c10 i2c-OVTI02C1:00: failed to check hwcfg: -517
[    3.949366] ov02c10 i2c-OVTI02C1:00: failed to check hwcfg: -517
[    3.955211] ov02c10 i2c-OVTI02C1:00: failed to check hwcfg: -517
[    3.957398] ov02c10 i2c-OVTI02C1:00: failed to check hwcfg: -517
[    3.961490] ov02c10 i2c-OVTI02C1:00: failed to check hwcfg: -517
[    3.966605] intel-ipu6 0000:00:05.0: enabling device (0000 -> 0002)
[    3.966619] ov02c10 i2c-OVTI02C1:00: failed to check hwcfg: -517
[    3.966733] intel-ipu6 0000:00:05.0: Device 0xa75d (rev: 0x0)
[    3.966749] intel-ipu6 0000:00:05.0: physical base address 0x603c000000
[    3.966750] intel-ipu6 0000:00:05.0: mapped as: 0x000000000036c1fe
[    3.966808] intel-ipu6 0000:00:05.0: Unable to set secure mode
[    3.966812] intel-ipu6 0000:00:05.0: IPU in non-secure mode
[    3.966814] intel-ipu6 0000:00:05.0: IPU secure touch = 0x80000000
[    3.966816] intel-ipu6 0000:00:05.0: IPU camera mask = 0x0
[    3.966937] intel-ipu6 0000:00:05.0: Skip ipc reset for non-secure mode
[    3.966940] intel-ipu6 0000:00:05.0: IPC reset done
[    3.968589] intel-ipu6 0000:00:05.0: Direct firmware load for intel/ipu6ep_fw.bin failed with error -2
[    3.971723] intel-ipu6 0000:00:05.0: FW version: 20230925
[    3.972493] ov02c10 i2c-OVTI02C1:00: failed to check hwcfg: -517
[    3.973109] intel-ipu6 0000:00:05.0: Found supported sensor OVTI02C1:00
[    3.973156] intel-ipu6 0000:00:05.0: Connected 1 cameras
[    3.975203] intel-ipu6 0000:00:05.0: IPU6-v3 driver version 1.0
[    4.009520] intel-ipu6-psys intel-ipu6-psys0: pkg_dir entry count:8
[    4.009663] intel-ipu6-psys intel-ipu6-psys0: psys probe minor: 0
[    4.071791] intel-ipu6-isys intel-ipu6-isys0: bind ov02c10 0-0036 nlanes is 2 port is 0
[    4.072127] intel-ipu6-isys intel-ipu6-isys0: All sensor registration completed.

The most important string here is bind ov02c10 0-0036 nlanes is 2 port is 0, which means the ov02c10 sensor is connected to port 0.

  1. As the HAL library doesn't contain config for ov02c10 on port 0, you need to fix it. It's not necessary to recompile HAL - just open /etc/camera/ipu6ep/libcamhal_profile.xml and add ov02c10-uf-0 to the availableSensors section.

  2. test your camera with

sudo -E LANG=C gst-launch-1.0 icamerasrc buffer-count=7 ! video/x-raw,format=NV12,width=1280,height=720 ! videoconvert ! ximagesink

BTW: added a PR to fix the problem described in 5th step - intel/ipu6-camera-hal#121

@Nightmoule
Copy link

@semyon-gordeev : thanks for the tips i managed to make it work too, i followed what you did except for the 5th part.

Laptop: DELL Latitude 7440
IPU6 sensor: ov02c10
OS: Ubuntu 24.04
Kernel: 6.8.0-40-generic

@c3phas
Copy link

c3phas commented Aug 16, 2024

Just followed the steps by @semyon-gordeev , now I get privacy shutter detected, even though it's not. I've tried with the lights on and off. In my additional drivers I have both the using Hal and using intel Integrated ... and I have tried with both.

@jmoonware
Copy link

Anybody have this working on a Dell XPS 9320 Plus with kernel 6.8.0-40-generic? I tried following @semyon-gordeev 's instructions but the dkms status for the driver says "added" and I get a build error along the way.

@hardchor
Copy link

@jmoonware yes, same model, but I'm using 6.8.0-1010-oem

~ dkms status
ipu6-drivers/0.0.0, 6.8.0-1009-oem, x86_64: installed
ipu6-drivers/0.0.0, 6.8.0-1010-oem, x86_64: built
ipu6-drivers/0~git202406240945.aecec2aa-0ubuntu2~24.04.1, 6.8.0-1010-oem, x86_64: installed

@luigimassa
Copy link

Sob
with dkms status the message is
ipu6-drivers/0~git202406240945.aecec2aa-0ubuntu2~24.04.1, 6.8.0-1010-oem, x86_64: installed (WARNING! Diff between built and installed module!)
why! Sob!

@The9Cat
Copy link

The9Cat commented Aug 19, 2024

@luigimassa This probably results from Ubuntu driver module providing a driver and dkms installed source. it is not necessarily a problem if you have the latest source from the ipu6-drivers master branch.

@luigimassa
Copy link

@luigimassa This probably results from Ubuntu driver module providing a driver and dkms installed source. it is not necessarily a problem if you have the latest source from the ipu6-drivers master branch.

Thank you

@jmoonware
Copy link

Anybody have this working on a Dell XPS 9320 Plus with kernel 6.8.0-40-generic? I tried following @semyon-gordeev 's instructions but the dkms status for the driver says "added" and I get a build error along the way.

I forgot to mention I am still on the 22.04 jammy release - probably my issue.

However, I was able to solve my problem - I bought a Logitech C920 USB camera. Works like a charm!

@makitso
Copy link

makitso commented Aug 19, 2024

I am sorry but I am getting a bit discouraged with Canonical and their QA for the LTS release. All sub-versions of Ubuntu, running 22.04.4, and the 6.8 kernel seem to have problems. I have been looking at the Ubuntu forum and there are all sorts of problem being reported with the 6.8 kernel.

I now have three laptops that have serious problems with this kernel:
Thinkpad T510 hangs with 22.04 and the 6.8 kernel-- had to revert to 6.5 kernel

Dell XPS 15 Series 7530 (my wife’s laptop) will not boot with this kernel – screen flicker with the encrypted /home partition. Reveted to 6.5 kernel.
Dell XPS 15 one year old (my laptop) will not run Virtual Box on the 6.8 kernel – reverted to 6.5

@bryan977
Copy link

I created a new Ubuntu installation on a different partition on my drive. I was unable to make the video camera work using the generic kernel. I installed the oem kernel and the camera works. This leads me to believe there are still things in the oem kernel that have yet to be ported to the generic kernel. This thread has got quite long, so I figured posting a consolidated process and current status may be helpful for others.

Notes:

System: Dell XPS 13 9340 (2024 model)
Driver: Using HAL library for MIPI camera through Intel IPU6 from libcamhal0 (open source)
Process used to make it work:

sudo apt install linux-oem-24.04
sudo add-apt-repository ppa:oem-solutions-group/intel-ipu6
sudo apt install libcamhal0 libcamhal-ipu6ep0 gstreamer1.0-icamera v4l2-relayd
sudo apt install linux-modules-ipu6-oem-24.04

Via the "Software & Updates" GUI Application > Additional Drivers Tab select:
Using HAL library for MIPI camera through Intel IPU6 from libcamhal0 (open source)

@ilgrosso
Copy link

@bryan977 I confirm the same on Dell XPS 16 9640.
However, sound works only via headphones, as proper support requires kernel 6.9+.
So I am stuck with either camera or sound working, not both.

@loicfavory
Copy link

Anybody have this working on a Dell XPS 9320 Plus with kernel 6.8.0-40-generic? I tried following @semyon-gordeev 's instructions but the dkms status for the driver says "added" and I get a build error along the way.

It works on mine

image

Is it working on 24.04 ?

@c3phas
Copy link

c3phas commented Aug 26, 2024

Not working on mine. Currently running 6.8.0-41-generic on hp-spectre . Tried most of the suggested solutions. Might have to try oem

@ctausendfreund
Copy link

Thanks @bryan977 your commands fixed the webcam on my Dell Precision 5690 on Ubuntu 24.04:

sudo apt install linux-oem-24.04
sudo add-apt-repository ppa:oem-solutions-group/intel-ipu6
sudo apt install libcamhal0 libcamhal-ipu6ep0 gstreamer1.0-icamera v4l2-relayd
sudo apt install linux-modules-ipu6-oem-24.04

Via the "Software & Updates" GUI Application > Additional Drivers Tab select: Using HAL library for MIPI camera through Intel IPU6 from libcamhal0 (open source)

@c3phas without using the oem kernel and ipu6 oem kernel modules it was not working on my machine.

Actually I used these commands to make it work:

sudo apt install linux-oem-24.04a linux-modules-ipu6-oem-24.04a
sudo add-apt-repository ppa:oem-solutions-group/intel-ipu6
sudo apt install libcamhal0 gstreamer1.0-icamera v4l2-relayd

So I used the 24.04a instead of 24.04 packages. I did not try 24.04, but should work too.

@luigimassa
Copy link

Hello
Unfortunately I still have a non-working webcam (in Dell XPS 9315)
In dmesg there is this message
pci 0000:00:05.0: deferred probe pending: intel-ipu6: IPU bridge init failed

I've installed all packages
I selected intel-ipu6-dkms

image

@PhilipYip1988
Copy link

On a Dell Latitude 9420, the driver seems to be installed but I am getting a black screen and nothings recording with cheese. I tried:

sudo apt install linux-oem-24.04
sudo add-apt-repository ppa:oem-solutions-group/intel-ipu6
sudo apt install intel-ipu6-dkms libcamhal0 libcamhal-ipu6ep0 gstreamer1.0-icamera v4l2-relayd
sudo apt install linux-modules-ipu6-oem-24.04

vlcsnap-2024-08-31-18h16m00s960

vlcsnap-2024-08-31-18h16m55s603

vlcsnap-2024-08-31-18h17m48s748

vlcsnap-2024-08-31-18h18m03s934

Not sure if the information below helps:

dkms status
ipu6-drivers/0~git202406240945.aecec2aa-0ubuntu2~24.04.1, 6.8.0-1011-oem, x86_64: installed (WARNING! Diff between built and installed module!) (WARNING! Diff between built and installed module!) (WARNING! Diff between built and installed module!) (WARNING! Diff between built and installed module!) (WARNING! Diff between built and installed module!) (WARNING! Diff between built and installed module!) (WARNING! Diff between built and installed module!) (WARNING! Diff between built and installed module!) (WARNING! Diff between built and installed module!) (WARNING! Diff between built and installed module!)
sudo grep ipu6 /var/log/dmesg
[    2.493229] kernel: intel-ipu6 0000:00:05.0: enabling device (0000 -> 0002)
[    2.493319] kernel: intel-ipu6 0000:00:05.0: Device 0x9a19 (rev: 0x1)
[    2.493340] kernel: intel-ipu6 0000:00:05.0: physical base address 0x6076000000
[    2.493341] kernel: intel-ipu6 0000:00:05.0: mapped as: 0x00000000ca206ebf
[    2.493530] kernel: intel-ipu6 0000:00:05.0: IPU in secure mode
[    2.493532] kernel: intel-ipu6 0000:00:05.0: IPU secure touch = 0x0
[    2.493533] kernel: intel-ipu6 0000:00:05.0: IPU camera mask = 0xff
[    2.509435] kernel: intel-ipu6 0000:00:05.0: IPC reset done
[    2.510360] kernel: intel-ipu6 0000:00:05.0: Direct firmware load for intel/ipu6_fw.bin failed with error -2
[    2.514624] kernel: intel-ipu6 0000:00:05.0: FW version: 20230925
[    2.522053] kernel: intel-ipu6 0000:00:05.0: Found supported sensor OVTI01AS:00
[    2.522134] kernel: intel-ipu6 0000:00:05.0: Connected 1 cameras
[    2.525476] kernel: intel-ipu6 0000:00:05.0: Sending BOOT_LOAD to CSE
[    2.550476] kernel: intel-ipu6 0000:00:05.0: Sending AUTHENTICATE_RUN to CSE
[    2.621149] kernel: intel-ipu6 0000:00:05.0: CSE authenticate_run done
[    2.621176] kernel: intel-ipu6 0000:00:05.0: IPU6-v0 driver version 1.0
[    3.712773] kernel: intel-ipu6-psys intel-ipu6-psys0: pkg_dir entry count:8
[    3.713619] kernel: intel-ipu6-psys intel-ipu6-psys0: psys probe minor: 0

@dascore
Copy link

dascore commented Sep 4, 2024

I haven't had any success with the different approaches (with the generic kernel and oem-solutions-group ipu6 driver, as with OEM kernel and HAL library) on an Ubuntu 24.04 system and a Dell Latitude 7450. The sensor is referenced as OVTI02E1:00. If anyone finds a solution ... :)

@ctausendfreund
Copy link

@luigimassa and @PhilipYip1988: I had to select libcamhal0 in "additional drivers" and not intel-ipu6-dkms. I did not install the package intel-ipu6-dkms. Cheese does not work for me either. But the webcam works in chrome, chromium and firefox. You can test it for example here: https://mozilla.github.io/webrtc-landing/gum_test.html

@dascore: It seems that I have the same sensor on my Dell Precision 5690 and it's working with my approach (see above).

[  110.872549] kernel: intel-ipu6 0000:00:05.0: FW version: 20230925
[  110.873562] kernel: intel-ipu6 0000:00:05.0: Found supported sensor OVTI02E1:00
[  110.873575] kernel: intel-ipu6 0000:00:05.0: Connected 1 cameras
[  110.874949] kernel: intel-ipu6 0000:00:05.0: Sending BOOT_LOAD to CSE
[  110.912518] kernel: intel-ipu6 0000:00:05.0: Sending AUTHENTICATE_RUN to CSE
[  110.963041] kernel: intel-ipu6 0000:00:05.0: CSE authenticate_run done
[  110.963076] kernel: intel-ipu6 0000:00:05.0: IPU6-v4 driver version 1.0

@dascore
Copy link

dascore commented Sep 5, 2024

@ctausendfreund: thanks for the feedback. With your approach, I have this first:

dmesg | grep intel-ipu6
[   16.059160] intel-ipu6 0000:00:05.0: enabling device (0000 -> 0002)
[   16.059359] intel-ipu6 0000:00:05.0: Device 0x7d19 (rev: 0x4)
[   16.059381] intel-ipu6 0000:00:05.0: physical base address 0x501c000000
[   16.059383] intel-ipu6 0000:00:05.0: mapped as: 0x0000000057a28ed1
[   16.059434] intel-ipu6 0000:00:05.0: IPU in secure mode
[   16.059437] intel-ipu6 0000:00:05.0: IPU secure touch = 0x80000000
[   16.059438] intel-ipu6 0000:00:05.0: IPU camera mask = 0x0
[   16.071965] intel-ipu6 0000:00:05.0: IPC reset done
[   16.072347] intel-ipu6 0000:00:05.0: Direct firmware load for intel/ipu6epmtl_fw.bin failed with error -2
[   16.075544] intel-ipu6 0000:00:05.0: FW version: 20230925
[   16.077887] intel-ipu6 0000:00:05.0: Found supported sensor OVTI02E1:00
[   16.077902] intel-ipu6 0000:00:05.0: Connected 1 cameras
[   16.079107] intel-ipu6 0000:00:05.0: Sending BOOT_LOAD to CSE
[   16.138653] intel-ipu6 0000:00:05.0: Sending AUTHENTICATE_RUN to CSE
[   16.188520] intel-ipu6 0000:00:05.0: CSE authenticate_run done
[   16.188576] intel-ipu6 0000:00:05.0: IPU6-v4 driver version 1.0
[   16.268733] intel-ipu6-psys intel-ipu6-psys0: pkg_dir entry count:8
[   16.268852] intel-ipu6-psys intel-ipu6-psys0: psys probe minor: 0

If I fix the firmware location, as copy ipu6epmtl_fw.bin to intel folder, I have this:

[   16.703153] intel-ipu6 0000:00:05.0: enabling device (0000 -> 0002)
[   16.703299] intel-ipu6 0000:00:05.0: Device 0x7d19 (rev: 0x4)
[   16.703321] intel-ipu6 0000:00:05.0: physical base address 0x501c000000
[   16.703323] intel-ipu6 0000:00:05.0: mapped as: 0x00000000ba5434fc
[   16.703379] intel-ipu6 0000:00:05.0: IPU in secure mode
[   16.703381] intel-ipu6 0000:00:05.0: IPU secure touch = 0x80000000
[   16.703382] intel-ipu6 0000:00:05.0: IPU camera mask = 0x0
[   16.715778] intel-ipu6 0000:00:05.0: IPC reset done
[   16.720422] intel-ipu6 0000:00:05.0: FW version: 20230925
[   16.721684] intel-ipu6 0000:00:05.0: Found supported sensor OVTI02E1:00
[   16.721702] intel-ipu6 0000:00:05.0: Connected 1 cameras
[   16.723521] intel-ipu6 0000:00:05.0: Sending BOOT_LOAD to CSE
[   16.780700] intel-ipu6 0000:00:05.0: Sending AUTHENTICATE_RUN to CSE
[   16.830755] intel-ipu6 0000:00:05.0: CSE authenticate_run done
[   16.830809] intel-ipu6 0000:00:05.0: IPU6-v4 driver version 1.0
[   16.896869] intel-ipu6-psys intel-ipu6-psys0: pkg_dir entry count:8
[   16.899788] intel-ipu6-psys intel-ipu6-psys0: psys probe minor: 0

But it still not working. I stll have a lot of:
[ 16.901062] kernel: int3472-discrete INT3472:01: cannot find GPIO chip INTC10D1:00, deferring

@bmn001
Copy link

bmn001 commented Sep 6, 2024

I love that this Lord of The Flies environment seems to be the one and only place on the web that contains step by step instructions for getting these webcams to work and that Intel has completely ignored this ticket and refused to comment or get involved at all.

Thank you to those that have stepped in to share the results of your hours of trial and error. Because clearly Intel can't be bothered.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests