You are not logged in.

#1 2024-06-30 14:18:33

marmistrz
Member
Registered: 2016-01-05
Posts: 122

How to use the IPU6 webcam with kernel 6.10+?

Since kernel 6.10, the IPU6 driver is included in the mainline kernel. In order to build it, one needs to use add the following option:

CONFIG_VIDEO_INTEL_IPU6=m

to the current linux-mainline AUR package. The firmware seems to already be present in the current stable linux-firmware package:

$ pacman -Ql linux-firmware | grep ipu6
linux-firmware /usr/lib/firmware/intel/ipu/ipu6_fw.bin.zst
linux-firmware /usr/lib/firmware/intel/ipu/ipu6ep_fw.bin.zst
linux-firmware /usr/lib/firmware/intel/ipu/ipu6epadln_fw.bin.zst
linux-firmware /usr/lib/firmware/intel/ipu/ipu6epmtl_fw.bin.zst
linux-firmware /usr/lib/firmware/intel/ipu/ipu6se_fw.bin.zst

v4l2 detects the ipu6 webcam:

$ v4l2-ctl --all          
Driver Info:
        Driver name      : isys
        Card type        : ipu6
        Bus info         : PCI:0000:00:05.0
        Driver version   : 6.10.0
        Capabilities     : 0xa4a00001
                Video Capture
                Metadata Capture
                I/O MC
                Streaming
                Extended Pix Format
                Device Capabilities
        Device Caps      : 0x24a00001
                Video Capture
                Metadata Capture
                I/O MC
                Streaming
                Extended Pix Format
Media Driver Info:
        Driver name      : intel-ipu6
        Model            : ipu6
        Serial           : 
        Bus info         : PCI:0000:00:05.0
        Media version    : 6.10.0
        Hardware revision: 0x10280c0c (271059980)
        Driver version   : 6.10.0
Interface Info:
        ID               : 0x03000003
        Type             : V4L Video
Entity Info:
        ID               : 0x00000001 (1)
        Name             : Intel IPU6 ISYS Capture 0
        Function         : V4L2 I/O
        Pad 0x01000002   : 0: Sink, Must Connect
          Link 0x020000a9: from remote pad 0x1000083 of entity 'Intel IPU6 CSI2 0' (Video Interface Bridge): Data
Priority: 2
Video input : 0 (Intel IPU6 ISYS Capture 0: ok)
Format Video Capture:
        Width/Height      : 640/480
        Pixel Format      : 'YUYV' (YUYV 4:2:2)
        Field             : Any
        Bytes per Line    : 0
        Size Image        : 0
        Colorspace        : Default
        Transfer Function : Default (maps to Rec. 709)
        YCbCr/HSV Encoding: Default (maps to ITU-R 601)
        Quantization      : Default (maps to Limited Range)
        Flags             : 
Format Metadata Capture:
        Sample Format   : 'MET8' (8-bit Generic Metadata)
        Buffer Size     : 9600

This is the relevant part of the dmesg:

[   16.359693] intel-ipu6 0000:00:05.0: enabling device (0000 -> 0002)
[   16.359919] intel-ipu6 0000:00:05.0: IPU6 in secure mode touch 0x0 mask 0x0
[   16.360431] intel-ipu6 0000:00:05.0: Unexpected CSR 0x0
[   16.360941] intel-ipu6 0000:00:05.0: Unexpected CSR 0x0
[   16.361449] intel-ipu6 0000:00:05.0: Unexpected CSR 0x0
[   16.361954] intel-ipu6 0000:00:05.0: Unexpected CSR 0x0
[   16.362459] intel-ipu6 0000:00:05.0: Unexpected CSR 0x0
[   16.362964] intel-ipu6 0000:00:05.0: Unexpected CSR 0x0
[   16.363485] intel-ipu6 0000:00:05.0: Unexpected CSR 0x0
[   16.363992] intel-ipu6 0000:00:05.0: Unexpected CSR 0x0
[   16.364500] intel-ipu6 0000:00:05.0: Unexpected CSR 0x0
[   16.365011] intel-ipu6 0000:00:05.0: Unexpected CSR 0x0
[   16.379836] intel-ipu6 0000:00:05.0: FW version: 20230925
[   16.380854] intel-ipu6 0000:00:05.0: Sending BOOT_LOAD to CSE
[   16.396399] intel-ipu6 0000:00:05.0: Sending AUTHENTICATE_RUN to CSE
[   16.478031] intel-ipu6 0000:00:05.0: CSE authenticate_run done
[   16.478061] intel-ipu6 0000:00:05.0: IPU6-v3[a75d] hardware version 5

However, none of the /dev/video[0-31] devices seems to be usable. Do you have any idea how to make user-space applications use the camera? I have removed all the DKMS modules that I previously used with the workaround for the driver. My hardware is Dell Latitude 7440.

Last edited by marmistrz (2024-06-30 14:21:17)

Offline

#2 2024-07-03 05:01:45

lights0123
Member
Registered: 2021-03-17
Posts: 4

Re: How to use the IPU6 webcam with kernel 6.10+?

I'm looking forward to this too when 6.10 is stable. From what I've been following (https://www.phoronix.com/news/Intel-Web … 2024-State), libcamera (through PipeWire presumably) is needed but I don't know if the IPU6 patches (https://lists.libcamera.org/pipermail/l … 40113.html) have been merged. Does it show up when you run the "cam" utility from libcamera-tools?

Offline

#3 2024-07-03 13:40:43

marmistrz
Member
Registered: 2016-01-05
Posts: 122

Re: How to use the IPU6 webcam with kernel 6.10+?

It doesn't:

$ cam -l      
[0:45:04.022054669] [7440] ERROR IPAModule ipa_module.cpp:172 Symbol ipaModuleInfo not found
[0:45:04.022093890] [7440] ERROR IPAModule ipa_module.cpp:292 v4l2-compat.so: IPA module has no valid info
[0:45:04.022148365] [7440]  INFO Camera camera_manager.cpp:313 libcamera v0.3.0
Available cameras:

and the error that we get is irrelevant, cf. https://gitlab.freedesktop.org/pipewire … ssues/3411

The patches have been merged and are already in the version from the repo: https://git.libcamera.org/libcamera/lib … 9795e3c2d9

Offline

#4 2024-07-05 06:30:02

Mistral24
Member
Registered: 2024-07-05
Posts: 1

Re: How to use the IPU6 webcam with kernel 6.10+?

I'm at a similar point with my HP Spectre x360 14 eu0000.

I think that libcamera has to be patched to support the certain camera sensor. It`s ov08x40 in my case. There is a patch for it here.

After applying this patch the camera shows up:

$ cam -l
[22:13:46.358192419] [112232] ERROR IPAModule ipa_module.cpp:172 Symbol ipaModuleInfo not found
[22:13:46.358218253] [112232] ERROR IPAModule ipa_module.cpp:292 v4l2-compat.so: IPA module has no valid info
[22:13:46.358385989] [112232]  INFO Camera camera_manager.cpp:313 libcamera v0.3.0+117-e3310749-dirty (2024-07-02T14:51:35+02:00)
[22:13:46.375120969] [112233] ERROR DmaBufAllocator dma_buf_allocator.cpp:116 Could not open any dma-buf provider
[22:13:46.375186329] [112233] ERROR SoftwareIsp software_isp.cpp:91 Failed to create DmaBufAllocator object
[22:13:46.375219811] [112233]  WARN SimplePipeline simple.cpp:532 Failed to create software ISP, disabling software debayering
Available cameras:
1: Internal front camera (\_SB_.PC00.LNK0)
 

Maybe you can adapt this to your sensor?

The device stays unusable in any applications neverless. There must be some userspace things that are missing at the moment. A proof that the cam is working can be achieved with qcam (from libcamera-tools):

sudo qcam -s "width=1928,height=1208"

...camera is working!

Because I'm really not familiar with this midi ipu6...stuff, as I had only uvc devices in past,  i'm stuck at this point.

Last edited by Mistral24 (2024-07-05 06:34:58)

Offline

#5 2024-07-05 16:13:24

marmistrz
Member
Registered: 2016-01-05
Posts: 122

Re: How to use the IPU6 webcam with kernel 6.10+?

How can I figure what model my sensor is?

Offline

#6 2024-07-16 18:35:09

marmistrz
Member
Registered: 2016-01-05
Posts: 122

Re: How to use the IPU6 webcam with kernel 6.10+?

It looks like this still requires some work: https://fedoraproject.org/wiki/Changes/ … ra_support

Offline

#7 2024-07-23 11:24:39

Xwang
Member
Registered: 2012-05-14
Posts: 363

Re: How to use the IPU6 webcam with kernel 6.10+?

Hi,
I updated today and I got the 6.10.
On my Dell Latitude 9330 2in1, I  do not see any camera.
Firmware is :

pacman -Ql linux-firmware | grep ipu6
linux-firmware /usr/lib/firmware/intel/ipu/ipu6_fw.bin.zst
linux-firmware /usr/lib/firmware/intel/ipu/ipu6ep_fw.bin.zst
linux-firmware /usr/lib/firmware/intel/ipu/ipu6epadln_fw.bin.zst
linux-firmware /usr/lib/firmware/intel/ipu/ipu6epmtl_fw.bin.zst
linux-firmware /usr/lib/firmware/intel/ipu/ipu6se_fw.bin.zst

dmesg:

sudo dmesg | grep ipu6
[    5.593618] intel-ipu6 0000:00:05.0: enabling device (0000 -> 0002)
[    5.594592] intel-ipu6 0000:00:05.0: IPU6 in non-secure mode touch 0x0 mask 0xff
[    5.599687] intel-ipu6 0000:00:05.0: FW version: 20230925
[    5.602779] intel-ipu6 0000:00:05.0: IPU6-v3[465d] hardware version 5

v4l2 somehow recognizes the camera, but no bus info is available:

v4l2-ctl --all
Driver Info:
        Driver name      : isys
        Card type        : ipu6
        Bus info         : 
        Driver version   : 6.10.0
        Capabilities     : 0xa4a00001
                Video Capture
                Metadata Capture
                I/O MC
                Streaming
                Extended Pix Format
                Device Capabilities
        Device Caps      : 0x24a00001
                Video Capture
                Metadata Capture
                I/O MC
                Streaming
                Extended Pix Format
Priority: 2
Video input : 0 (Intel IPU6 ISYS Capture 0: ok)
Format Video Capture:
        Width/Height      : 1920/1080
        Pixel Format      : 'BG12' (12-bit Bayer BGBG/GRGR)
        Field             : None
        Bytes per Line    : 3840
        Size Image        : 4151040
        Colorspace        : Raw
        Transfer Function : Default (maps to None)
        YCbCr/HSV Encoding: Default (maps to ITU-R 601)
        Quantization      : Default (maps to Full Range)
        Flags             : 
Format Metadata Capture:
        Sample Format   : 'MET8' (8-bit Generic Metadata)
        Buffer Size     : 9600

No camera is available in cam -l or using qcam

sudo cam -l

[0:50:04.568673030] [5659] ERROR IPAModule ipa_module.cpp:172 Symbol ipaModuleInfo not found
[0:50:04.568694400] [5659] ERROR IPAModule ipa_module.cpp:292 v4l2-compat.so: IPA module has no valid info
[0:50:04.568716352] [5659]  INFO Camera camera_manager.cpp:313 libcamera v0.3.0
Available cameras:

I've to configure something else or it is just not ready yet?
Should I open a bug upstream (if yes where)?

Last edited by Xwang (2024-07-23 11:25:05)

Offline

#8 2024-07-23 19:41:15

GeneArch
Member
Registered: 2013-07-28
Posts: 92

Re: How to use the IPU6 webcam with kernel 6.10+?

I notice couple of little things that may be of interest - but no actual solution.

1) libcamera modules are all installed into one directory - /usr/lib/libcamera.
Means there are IPA modules and v4l2-compat modules both in same libexecdir.
libcamera seems to scan all these modules and rightly tells us that v4l2-compat is an invalid IPA module - which is correct. They therefore have nothing at all to do with the ipu6 camera question.

I assume this error is "benign" - however in my very limited view of this - I would have thought it would be better to separate v4l modules and IPA modules into 2 different directories.
There is a meson libexecdir option - but this seems to be intentionally used for both.

2) I also note that while an ipu3 module is built by default  there is no  separate ipu6 module. And after an admittedly brief check of source, I did not find any refs to ipu6 nor in any post 0.3.0 release git commit either.

3) Side comment: Our PKGBUILD is fairly complex with its efforts to split libcamera into multiple sub-packages - so I ended up making a much simpler one for my own tests which makes a single package.

4) I also checked  this libcamera bugzilla and didn't find anything there either.

5) I ran with mainline kernel and it behaves same as 6.10.

Offline

#9 2024-07-23 21:38:59

supertrianguloid
Member
Registered: 2024-07-23
Posts: 1

Re: How to use the IPU6 webcam with kernel 6.10+?

I'm on a ThinkPad X1 Yoga (Gen 7) and I get all the same output as Xwang. Also v4l2-ctl --list-devices lists 32 /dev/video devices, which all show up in userspace applications, none of which work. (I have no idea what that is about)

v4l2-ctl --list-devices
ipu6 ():
	/dev/video0
	/dev/video1
	/dev/video2
	/dev/video3
	/dev/video4
	/dev/video5
	/dev/video6
	/dev/video7
	/dev/video8
	/dev/video9
	/dev/video10
	/dev/video11
	/dev/video12
	/dev/video13
	/dev/video14
	/dev/video15
	/dev/video16
	/dev/video17
	/dev/video18
	/dev/video19
	/dev/video20
	/dev/video21
	/dev/video22
	/dev/video23
	/dev/video24
	/dev/video25
	/dev/video26
	/dev/video27
	/dev/video28
	/dev/video29
	/dev/video30
	/dev/video31

ipu6 (PCI:0000:00:05.0):
	/dev/media0

It feels really close!

Last edited by supertrianguloid (2024-07-23 21:39:22)

Offline

#10 2024-07-24 09:45:49

getcha
Member
Registered: 2016-10-28
Posts: 13

Re: How to use the IPU6 webcam with kernel 6.10+?

On a Dell Precision 5480 32 /dev/video devices and a virtual camera but no image :

v4l2-ctl --list-devices
ipu6 ():
	/dev/video0
	/dev/video1
	/dev/video2
	/dev/video3
	/dev/video4
	/dev/video5
	/dev/video6
	/dev/video7
	/dev/video8
	/dev/video9
	/dev/video10
	/dev/video11
	/dev/video12
	/dev/video13
	/dev/video14
	/dev/video15
	/dev/video16
	/dev/video17
	/dev/video18
	/dev/video19
	/dev/video20
	/dev/video21
	/dev/video22
	/dev/video23
	/dev/video24
	/dev/video25
	/dev/video26
	/dev/video27
	/dev/video28
	/dev/video29
	/dev/video30
	/dev/video31

ipu6 (PCI:0000:00:05.0):
	/dev/media0

Virtual Camera (platform:v4l2loopback-000):
	/dev/video32

The camera seems to be recongnized in dmesg :

sudo dmesg | grep ipu6
[   12.687397] intel-ipu6 0000:00:05.0: enabling device (0000 -> 0002)
[   12.687565] intel-ipu6 0000:00:05.0: IPU6 in secure mode touch 0x0 mask 0x0
[   12.688085] intel-ipu6 0000:00:05.0: Unexpected CSR 0x0
[   12.688594] intel-ipu6 0000:00:05.0: Unexpected CSR 0x0
[   12.689104] intel-ipu6 0000:00:05.0: Unexpected CSR 0x0
[   12.689612] intel-ipu6 0000:00:05.0: Unexpected CSR 0x0
[   12.690120] intel-ipu6 0000:00:05.0: Unexpected CSR 0x0
[   12.690627] intel-ipu6 0000:00:05.0: Unexpected CSR 0x0
[   12.691136] intel-ipu6 0000:00:05.0: Unexpected CSR 0x0
[   12.691670] intel-ipu6 0000:00:05.0: Unexpected CSR 0x0
[   12.692178] intel-ipu6 0000:00:05.0: Unexpected CSR 0x0
[   12.692686] intel-ipu6 0000:00:05.0: Unexpected CSR 0x0
[   12.707377] intel-ipu6 0000:00:05.0: FW version: 20230925
[   22.470288] intel-ipu6 0000:00:05.0: Found supported sensor OVTI01A0:00
[   22.470292] intel-ipu6 0000:00:05.0: Connected 1 cameras
[   22.471037] intel-ipu6 0000:00:05.0: Sending BOOT_LOAD to CSE
[   22.480497] intel-ipu6 0000:00:05.0: Sending AUTHENTICATE_RUN to CSE
[   22.547711] intel-ipu6 0000:00:05.0: CSE authenticate_run done
[   22.547718] intel-ipu6 0000:00:05.0: IPU6-v3[a75d] hardware version 5

but nothing with cam :

sudo cam -l
[0:16:15.267027950] [12729] ERROR IPAModule ipa_module.cpp:172 Symbol ipaModuleInfo not found
[0:16:15.267050284] [12729] ERROR IPAModule ipa_module.cpp:292 v4l2-compat.so: IPA module has no valid info
[0:16:15.267078036] [12729]  INFO Camera camera_manager.cpp:313 libcamera v0.3.0
Available cameras:

Offline

#11 2024-07-25 17:34:09

XZS
Member
Registered: 2011-05-11
Posts: 30

Re: How to use the IPU6 webcam with kernel 6.10+?

I also have a ThinkPad X1 Yoga Gen 7 and the code in this repository helped me to at least make it work on the last LTS kernel: https://github.com/stefanpartheym/archlinux-ipu6-webcam Perhaps some information therein is of some merit here, too.

Offline

#12 2024-08-01 09:01:29

alba4k
Member
From: Switzerland
Registered: 2021-12-05
Posts: 59
Website

Re: How to use the IPU6 webcam with kernel 6.10+?

I would imagine we need to wait for libcamera 3.1 to reach the repos?

edit: probably not just that. Installing libcamera, libcamera-tools and libcamera-ipa 0.3.1 from extra-testing doesn't appear to change much.

[0:03:50.410980286] [17039] ERROR IPAModule ipa_module.cpp:172 Symbol ipaModuleInfo not found
[0:03:50.411017162] [17039] ERROR IPAModule ipa_module.cpp:292 v4l2-compat.so: IPA module has no valid info
[0:03:50.411056086] [17039]  INFO Camera camera_manager.cpp:313 libcamera v0.3.1
Available cameras:
Driver Info:
	Driver name      : isys
	Card type        : ipu6
	Bus info         : 
	Driver version   : 6.10.2
	Capabilities     : 0xa4a00001
		Video Capture
		Metadata Capture
		I/O MC
		Streaming
		Extended Pix Format
		Device Capabilities
	Device Caps      : 0x24a00001
		Video Capture
		Metadata Capture
		I/O MC
		Streaming
		Extended Pix Format
Priority: 2
Video input : 0 (Intel IPU6 ISYS Capture 0: ok)
Format Video Capture:
	Width/Height      : 1920/1080
	Pixel Format      : 'BG12' (12-bit Bayer BGBG/GRGR)
	Field             : None
	Bytes per Line    : 3840
	Size Image        : 4151040
	Colorspace        : Raw
	Transfer Function : Default (maps to None)
	YCbCr/HSV Encoding: Default (maps to ITU-R 601)
	Quantization      : Default (maps to Full Range)
	Flags             : 
Format Metadata Capture:
	Sample Format   : 'MET8' (8-bit Generic Metadata)
	Buffer Size     : 9600

Last edited by alba4k (2024-08-01 09:07:55)

Offline

#13 2024-08-01 11:06:44

DutchEllie
Member
Registered: 2022-02-25
Posts: 16

Re: How to use the IPU6 webcam with kernel 6.10+?

They made a mistake before releasing libcamera 0.3.1: https://github.com/linux-surface/linux- … t-10195097

They didn't enable the "simple" pipeline handler for all platforms, only for ARM. This simple pipeline contains the ipu6 stuff. It's enabled now. I have downloaded the official PKGBUILD files from the ArchLinux Gitlab server and manually added the patch that's also included in that Github thread. After compiling and installing (and troubleshooting, see the thread) I got my first ever webcam output!

It's not perfect yet, or even working that well at all, but it's something!!

Offline

#14 2024-08-03 09:01:25

marmistrz
Member
Registered: 2016-01-05
Posts: 122

Re: How to use the IPU6 webcam with kernel 6.10+?

I've just rebuild libcamera-git, including the fix for the simple pipeline. Unfortunately, the camera is still not detected, saying "no sensor found for /dev/media0"

$ LIBCAMERA_LOG_LEVELS=0 cam --list
[0:05:43.834469267] [4114] DEBUG IPAModule ipa_module.cpp:334 ipa_ipu3.so: IPA module /usr/lib/libcamera/ipa_ipu3.so is signed
[0:05:43.834558639] [4114] DEBUG IPAManager ipa_manager.cpp:245 Loaded IPA module '/usr/lib/libcamera/ipa_ipu3.so'
[0:05:43.834638071] [4114] DEBUG IPAModule ipa_module.cpp:334 ipa_soft_simple.so: IPA module /usr/lib/libcamera/ipa_soft_simple.so is signed
[0:05:43.834658857] [4114] DEBUG IPAManager ipa_manager.cpp:245 Loaded IPA module '/usr/lib/libcamera/ipa_soft_simple.so'
[0:05:43.834768680] [4114]  INFO Camera camera_manager.cpp:313 libcamera v0.3.1+12-19bbca3c
[0:05:43.834912936] [4115] DEBUG Camera camera_manager.cpp:69 Starting camera manager
[0:05:43.843058752] [4115] DEBUG DeviceEnumerator device_enumerator.cpp:230 New media device "intel-ipu6" created from /dev/media0
[0:05:43.844955314] [4115] DEBUG DeviceEnumerator device_enumerator.cpp:258 Added device /dev/media0: intel-ipu6
[0:05:43.845247757] [4115] DEBUG Camera camera_manager.cpp:134 Found registered pipeline handler 'ipu3'
[0:05:43.845436831] [4115] DEBUG Camera camera_manager.cpp:134 Found registered pipeline handler 'simple'
[0:05:43.845476313] [4115] DEBUG DeviceEnumerator device_enumerator.cpp:318 Successful match for media device "intel-ipu6"
[0:05:43.845512255] [4115]  INFO SimplePipeline simple.cpp:1550 No sensor found for /dev/media0
[0:05:43.845533767] [4115] DEBUG Camera camera_manager.cpp:134 Found registered pipeline handler 'uvcvideo'

I'm running Dell Latitude 7440 2-in-1, googling suggest that the sensor is ovti02c1, but is there any way to verify it?

Last edited by marmistrz (2024-08-03 10:06:44)

Offline

#15 2024-08-03 11:49:28

drrossum
Member
From: Chicago
Registered: 2009-02-24
Posts: 83

Re: How to use the IPU6 webcam with kernel 6.10+?

Are your permissions to /dev/udmabuf and /dev/dma_heap/system set correctly?

Offline

#16 2024-08-03 11:55:35

marmistrz
Member
Registered: 2016-01-05
Posts: 122

Re: How to use the IPU6 webcam with kernel 6.10+?

drrossum wrote:

Are your permissions to /dev/udmabuf and /dev/dma_heap/system set correctly?

cam doesn't even attempt to open these files. I have an impression one needs a patch akin to https://github.com/aigilea/hp_spectre_x … mera.patch, however, I don't know where to get these values from for the sensor in my laptop.

Last edited by marmistrz (2024-08-03 11:56:37)

Offline

#17 2024-08-11 19:49:18

itayf
Member
Registered: 2006-01-09
Posts: 31

Re: How to use the IPU6 webcam with kernel 6.10+?

Sorry to bring even more pessimism, after upgrading to 6.10, using using Dell XPS 13 Plus (9320) the camera doesn't even seem to be recognized.

Have anyone with that laptop got something else?

╰─ pacman -Ql linux-firmware | grep ipu6
linux-firmware /usr/lib/firmware/intel/ipu/ipu6_fw.bin.zst
linux-firmware /usr/lib/firmware/intel/ipu/ipu6ep_fw.bin.zst
linux-firmware /usr/lib/firmware/intel/ipu/ipu6epadln_fw.bin.zst
linux-firmware /usr/lib/firmware/intel/ipu/ipu6epmtl_fw.bin.zst
linux-firmware /usr/lib/firmware/intel/ipu/ipu6se_fw.bin.zst


╰─ v4l2-ctl --all         
Cannot open device /dev/video0, exiting.


╰─ cam --list
[0:06:41.164484740] [24428] ERROR IPAModule ipa_module.cpp:172 Symbol ipaModuleInfo not found
[0:06:41.164508102] [24428] ERROR IPAModule ipa_module.cpp:292 v4l2-compat.so: IPA module has no valid info
[0:06:41.164539790] [24428]  INFO Camera camera_manager.cpp:313 libcamera v0.3.1
Available cameras:


╰─ LIBCAMERA_LOG_LEVELS=0 cam --list
[0:08:07.869011944] [29542] DEBUG IPAModule ipa_module.cpp:334 ipa_ipu3.so: IPA module /usr/lib/libcamera/ipa_ipu3.so is signed
[0:08:07.869048585] [29542] DEBUG IPAManager ipa_manager.cpp:245 Loaded IPA module '/usr/lib/libcamera/ipa_ipu3.so'
[0:08:07.869065302] [29542] DEBUG IPAModule ipa_module.cpp:334 ipa_vimc.so: IPA module /usr/lib/libcamera/ipa_vimc.so is signed
[0:08:07.869070985] [29542] DEBUG IPAManager ipa_manager.cpp:245 Loaded IPA module '/usr/lib/libcamera/ipa_vimc.so'
[0:08:07.869084678] [29542] ERROR IPAModule ipa_module.cpp:172 Symbol ipaModuleInfo not found
[0:08:07.869086792] [29542] ERROR IPAModule ipa_module.cpp:292 v4l2-compat.so: IPA module has no valid info
[0:08:07.869104109] [29542]  INFO Camera camera_manager.cpp:313 libcamera v0.3.1
[0:08:07.869303292] [29543] DEBUG Camera camera_manager.cpp:69 Starting camera manager
[0:08:07.869592381] [29543] DEBUG Camera camera_manager.cpp:134 Found registered pipeline handler 'vimc'
[0:08:07.869613512] [29543] DEBUG Camera camera_manager.cpp:134 Found registered pipeline handler 'uvcvideo'
[0:08:07.869616808] [29543] DEBUG Camera camera_manager.cpp:134 Found registered pipeline handler 'ipu3'
Available cameras:


╰─ sudo dmesg | grep ipu6
[   54.992202] intel-ipu6 0000:00:05.0: enabling device (0000 -> 0002)
[   54.992428] intel-ipu6 0000:00:05.0: IPU6 in non-secure mode touch 0x0 mask 0xff
[   54.995664] intel-ipu6 0000:00:05.0: FW version: 20230925
[   54.999071] intel-ipu6 0000:00:05.0: IPU6 in non-secure mode touch 0x0 mask 0xff
[   55.000502] intel-ipu6 0000:00:05.0: FW version: 20230925
[   55.003389] intel-ipu6 0000:00:05.0: IPU6 in non-secure mode touch 0x0 mask 0xff
[   55.004668] intel-ipu6 0000:00:05.0: FW version: 20230925
[   55.006184] intel-ipu6 0000:00:05.0: IPU6 in non-secure mode touch 0x0 mask 0xff
[   55.007302] intel-ipu6 0000:00:05.0: FW version: 20230925
[   55.009297] intel-ipu6 0000:00:05.0: IPU6 in non-secure mode touch 0x0 mask 0xff
[   55.010572] intel-ipu6 0000:00:05.0: FW version: 20230925
[   55.020264] intel-ipu6 0000:00:05.0: IPU6 in non-secure mode touch 0x0 mask 0xff
[   55.022047] intel-ipu6 0000:00:05.0: FW version: 20230925
[   55.024942] intel-ipu6 0000:00:05.0: IPU6 in non-secure mode touch 0x0 mask 0xff
[   55.027050] intel-ipu6 0000:00:05.0: FW version: 20230925
[   55.030180] intel-ipu6 0000:00:05.0: IPU6 in non-secure mode touch 0x0 mask 0xff
[   55.031612] intel-ipu6 0000:00:05.0: FW version: 20230925
[   55.034433] intel-ipu6 0000:00:05.0: IPU6 in non-secure mode touch 0x0 mask 0xff
[   55.035832] intel-ipu6 0000:00:05.0: FW version: 20230925
[   55.042649] intel-ipu6 0000:00:05.0: IPU6 in non-secure mode touch 0x0 mask 0xff
[   55.043928] intel-ipu6 0000:00:05.0: FW version: 20230925
[   55.059110] intel-ipu6 0000:00:05.0: IPU6 in non-secure mode touch 0x0 mask 0xff
[   55.060331] intel-ipu6 0000:00:05.0: FW version: 20230925
[   55.069571] intel-ipu6 0000:00:05.0: IPU6 in non-secure mode touch 0x0 mask 0xff
[   55.070865] intel-ipu6 0000:00:05.0: FW version: 20230925
[   55.113926] intel-ipu6 0000:00:05.0: IPU6 in non-secure mode touch 0x0 mask 0xff
[   55.115098] intel-ipu6 0000:00:05.0: FW version: 20230925
[   55.155749] intel-ipu6 0000:00:05.0: IPU6 in non-secure mode touch 0x0 mask 0xff
[   55.156878] intel-ipu6 0000:00:05.0: FW version: 20230925
[   55.261573] intel-ipu6 0000:00:05.0: IPU6 in non-secure mode touch 0x0 mask 0xff
[   55.262781] intel-ipu6 0000:00:05.0: FW version: 20230925
[   55.285656] intel-ipu6 0000:00:05.0: IPU6 in non-secure mode touch 0x0 mask 0xff
[   55.286835] intel-ipu6 0000:00:05.0: FW version: 20230925
[   55.289598] intel-ipu6 0000:00:05.0: IPU6 in non-secure mode touch 0x0 mask 0xff
[   55.290761] intel-ipu6 0000:00:05.0: FW version: 20230925
[   55.410123] intel-ipu6 0000:00:05.0: IPU6 in non-secure mode touch 0x0 mask 0xff
[   55.411288] intel-ipu6 0000:00:05.0: FW version: 20230925
[   55.559084] intel-ipu6 0000:00:05.0: IPU6 in non-secure mode touch 0x0 mask 0xff
[   55.561201] intel-ipu6 0000:00:05.0: FW version: 20230925
[   55.580209] intel-ipu6 0000:00:05.0: IPU6 in non-secure mode touch 0x0 mask 0xff
[   55.581479] intel-ipu6 0000:00:05.0: FW version: 20230925
[   55.584567] intel-ipu6 0000:00:05.0: IPU6 in non-secure mode touch 0x0 mask 0xff
[   55.585665] intel-ipu6 0000:00:05.0: FW version: 20230925
[   55.653161] intel-ipu6 0000:00:05.0: IPU6 in non-secure mode touch 0x0 mask 0xff
[   55.654256] intel-ipu6 0000:00:05.0: FW version: 20230925
[   55.794749] intel-ipu6 0000:00:05.0: IPU6 in non-secure mode touch 0x0 mask 0xff
[   55.796937] intel-ipu6 0000:00:05.0: FW version: 20230925
[   56.013405] intel-ipu6 0000:00:05.0: IPU6 in non-secure mode touch 0x0 mask 0xff
[   56.014773] intel-ipu6 0000:00:05.0: FW version: 20230925
[   56.023244] intel-ipu6 0000:00:05.0: IPU6 in non-secure mode touch 0x0 mask 0xff
[   56.024634] intel-ipu6 0000:00:05.0: FW version: 20230925
[   56.030441] intel-ipu6 0000:00:05.0: IPU6 in non-secure mode touch 0x0 mask 0xff
[   56.031704] intel-ipu6 0000:00:05.0: FW version: 20230925
[   56.038322] intel-ipu6 0000:00:05.0: IPU6 in non-secure mode touch 0x0 mask 0xff
[   56.039438] intel-ipu6 0000:00:05.0: FW version: 20230925
[   56.058209] intel-ipu6 0000:00:05.0: IPU6 in non-secure mode touch 0x0 mask 0xff
[   56.059538] intel-ipu6 0000:00:05.0: FW version: 20230925
[   56.168372] intel-ipu6 0000:00:05.0: IPU6 in non-secure mode touch 0x0 mask 0xff
[   56.169740] intel-ipu6 0000:00:05.0: FW version: 20230925
[   56.239817] intel-ipu6 0000:00:05.0: IPU6 in non-secure mode touch 0x0 mask 0xff
[   56.241518] intel-ipu6 0000:00:05.0: FW version: 20230925
[   56.258104] intel-ipu6 0000:00:05.0: IPU6 in non-secure mode touch 0x0 mask 0xff
[   56.259496] intel-ipu6 0000:00:05.0: FW version: 20230925
[   56.287289] intel-ipu6 0000:00:05.0: IPU6 in non-secure mode touch 0x0 mask 0xff
[   56.288652] intel-ipu6 0000:00:05.0: FW version: 20230925
[   56.293827] intel-ipu6 0000:00:05.0: IPU6 in non-secure mode touch 0x0 mask 0xff
[   56.295162] intel-ipu6 0000:00:05.0: FW version: 20230925
[   56.416836] intel-ipu6 0000:00:05.0: IPU6 in non-secure mode touch 0x0 mask 0xff
[   56.418091] intel-ipu6 0000:00:05.0: FW version: 20230925
[   56.432284] intel-ipu6 0000:00:05.0: IPU6 in non-secure mode touch 0x0 mask 0xff
[   56.433595] intel-ipu6 0000:00:05.0: FW version: 20230925
[   56.434832] intel-ipu6 0000:00:05.0: IPU6 in non-secure mode touch 0x0 mask 0xff
[   56.436283] intel-ipu6 0000:00:05.0: FW version: 20230925
[   56.451904] intel-ipu6 0000:00:05.0: IPU6 in non-secure mode touch 0x0 mask 0xff
[   56.453161] intel-ipu6 0000:00:05.0: FW version: 20230925
[   56.463324] intel-ipu6 0000:00:05.0: IPU6 in non-secure mode touch 0x0 mask 0xff
[   56.464446] intel-ipu6 0000:00:05.0: FW version: 20230925
[   56.467764] intel-ipu6 0000:00:05.0: IPU6 in non-secure mode touch 0x0 mask 0xff
[   56.468838] intel-ipu6 0000:00:05.0: FW version: 20230925
[   56.470147] intel-ipu6 0000:00:05.0: IPU6 in non-secure mode touch 0x0 mask 0xff
[   56.471290] intel-ipu6 0000:00:05.0: FW version: 20230925
[   56.473289] intel-ipu6 0000:00:05.0: IPU6 in non-secure mode touch 0x0 mask 0xff
[   56.474440] intel-ipu6 0000:00:05.0: FW version: 20230925
[   56.476332] intel-ipu6 0000:00:05.0: IPU6 in non-secure mode touch 0x0 mask 0xff
[   56.477700] intel-ipu6 0000:00:05.0: FW version: 20230925
[   56.478980] intel-ipu6 0000:00:05.0: IPU6 in non-secure mode touch 0x0 mask 0xff
[   56.480103] intel-ipu6 0000:00:05.0: FW version: 20230925
[   56.480827] intel-ipu6 0000:00:05.0: IPU6 in non-secure mode touch 0x0 mask 0xff
[   56.481938] intel-ipu6 0000:00:05.0: FW version: 20230925
[   56.484055] intel-ipu6 0000:00:05.0: IPU6 in non-secure mode touch 0x0 mask 0xff
[   56.485135] intel-ipu6 0000:00:05.0: FW version: 20230925
[   56.485963] intel-ipu6 0000:00:05.0: IPU6 in non-secure mode touch 0x0 mask 0xff
[   56.487026] intel-ipu6 0000:00:05.0: FW version: 20230925
[   56.488689] intel-ipu6 0000:00:05.0: IPU6 in non-secure mode touch 0x0 mask 0xff
[   56.489984] intel-ipu6 0000:00:05.0: FW version: 20230925
[   56.495948] intel-ipu6 0000:00:05.0: IPU6 in non-secure mode touch 0x0 mask 0xff
[   56.497475] intel-ipu6 0000:00:05.0: FW version: 20230925
[   56.501432] intel-ipu6 0000:00:05.0: IPU6 in non-secure mode touch 0x0 mask 0xff
[   56.502825] intel-ipu6 0000:00:05.0: FW version: 20230925
[   59.795394] intel-ipu6 0000:00:05.0: IPU6 in non-secure mode touch 0x0 mask 0xff
[   59.796709] intel-ipu6 0000:00:05.0: FW version: 20230925
[   60.071648] intel-ipu6 0000:00:05.0: IPU6 in non-secure mode touch 0x0 mask 0xff
[   60.072834] intel-ipu6 0000:00:05.0: FW version: 20230925
[  206.852448] intel-ipu6 0000:00:05.0: IPU6 in non-secure mode touch 0x0 mask 0xff
[  206.856147] intel-ipu6 0000:00:05.0: FW version: 20230925
[  207.138851] intel-ipu6 0000:00:05.0: IPU6 in non-secure mode touch 0x0 mask 0xff
[  207.143189] intel-ipu6 0000:00:05.0: FW version: 20230925
[  416.535105] intel-ipu6 0000:00:05.0: IPU6 in non-secure mode touch 0x0 mask 0xff
[  416.538021] intel-ipu6 0000:00:05.0: FW version: 20230925
[  416.812242] intel-ipu6 0000:00:05.0: IPU6 in non-secure mode touch 0x0 mask 0xff
[  416.814839] intel-ipu6 0000:00:05.0: FW version: 20230925

Offline

#18 2024-08-12 09:17:37

peopleshit
Member
Registered: 2024-08-12
Posts: 1

Re: How to use the IPU6 webcam with kernel 6.10+?

itayf wrote:

Sorry to bring even more pessimism, after upgrading to 6.10, using using Dell XPS 13 Plus (9320) the camera doesn't even seem to be recognized.

Have anyone with that laptop got something else?

I'm using the same laptop, the camera isn't recognized too.

dmesg:

> sudo dmesg | grep ipu6
[    1.764285] intel-ipu6 0000:00:05.0: enabling device (0000 -> 0002)
[    1.764485] intel-ipu6 0000:00:05.0: IPU6 in non-secure mode touch 0x0 mask 0xff
[    1.764518] intel-ipu6 0000:00:05.0: Direct firmware load for intel/ipu/ipu6ep_fw.bin failed with error -2
[    1.764521] intel-ipu6 0000:00:05.0: error -ENOENT: Requesting signed firmware intel/ipu/ipu6ep_fw.bin failed
[    1.764523] intel-ipu6 0000:00:05.0: probe with driver intel-ipu6 failed with error -2

Last edited by peopleshit (2024-08-12 09:18:24)

Offline

#19 2024-08-18 05:59:00

iamzimy
Member
Registered: 2019-10-24
Posts: 11

Re: How to use the IPU6 webcam with kernel 6.10+?

Has the kernel 6.10+ with libcamera-0.3.1 been working now?

Offline

#20 2024-08-18 17:41:41

Xwang
Member
Registered: 2012-05-14
Posts: 363

Re: How to use the IPU6 webcam with kernel 6.10+?

iamzimy wrote:

Has the kernel 6.10+ with libcamera-0.3.1 been working now?

In my case it is still not working (the only differencse that I see are the version numbers of libcamera and driver who have been updated):

sudo dmesg | grep ipu6

[    3.544961] intel-ipu6 0000:00:05.0: enabling device (0000 -> 0002)
[    3.545361] intel-ipu6 0000:00:05.0: IPU6 in non-secure mode touch 0x0 mask 0xff
[    3.552847] intel-ipu6 0000:00:05.0: FW version: 20230925
[    3.558108] intel-ipu6 0000:00:05.0: IPU6-v3[465d] hardware version 5

sudo LIBCAMERA_LOG_LEVELS=0 cam --list

[0:03:52.542661954] [3163] DEBUG IPAModule ipa_module.cpp:334 ipa_ipu3.so: IPA module /usr/lib/libcamera/ipa_ipu3.so is signed
[0:03:52.542694759] [3163] DEBUG IPAManager ipa_manager.cpp:245 Loaded IPA module '/usr/lib/libcamera/ipa_ipu3.so'
[0:03:52.542711514] [3163] DEBUG IPAModule ipa_module.cpp:334 ipa_vimc.so: IPA module /usr/lib/libcamera/ipa_vimc.so is signed
[0:03:52.542718489] [3163] DEBUG IPAManager ipa_manager.cpp:245 Loaded IPA module '/usr/lib/libcamera/ipa_vimc.so'
[0:03:52.542730024] [3163] ERROR IPAModule ipa_module.cpp:172 Symbol ipaModuleInfo not found
[0:03:52.542732644] [3163] ERROR IPAModule ipa_module.cpp:292 v4l2-compat.so: IPA module has no valid info
[0:03:52.542745989] [3163]  INFO Camera camera_manager.cpp:313 libcamera v0.3.1
[0:03:52.542971665] [3164] DEBUG Camera camera_manager.cpp:69 Starting camera manager
[0:03:52.549879824] [3164] DEBUG DeviceEnumerator device_enumerator.cpp:230 New media device "intel-ipu6" created from /dev/media0
[0:03:52.551146448] [3164] DEBUG DeviceEnumerator device_enumerator.cpp:258 Added device /dev/media0: intel-ipu6
[0:03:52.551306888] [3164] DEBUG Camera camera_manager.cpp:134 Found registered pipeline handler 'vimc'
[0:03:52.551319683] [3164] DEBUG Camera camera_manager.cpp:134 Found registered pipeline handler 'uvcvideo'
[0:03:52.551322816] [3164] DEBUG Camera camera_manager.cpp:134 Found registered pipeline handler 'ipu3'
Available cameras:

pacman -Ql linux-firmware | grep ipu6

linux-firmware /usr/lib/firmware/intel/ipu/ipu6_fw.bin.zst
linux-firmware /usr/lib/firmware/intel/ipu/ipu6ep_fw.bin.zst
linux-firmware /usr/lib/firmware/intel/ipu/ipu6epadln_fw.bin.zst
linux-firmware /usr/lib/firmware/intel/ipu/ipu6epmtl_fw.bin.zst
linux-firmware /usr/lib/firmware/intel/ipu/ipu6se_fw.bin.zst

v4l2-ctl --all

Driver Info:
        Driver name      : isys
        Card type        : ipu6
        Bus info         : 
        Driver version   : 6.10.5
        Capabilities     : 0xa4a00001
                Video Capture
                Metadata Capture
                I/O MC
                Streaming
                Extended Pix Format
                Device Capabilities
        Device Caps      : 0x24a00001
                Video Capture
                Metadata Capture
                I/O MC
                Streaming
                Extended Pix Format
Priority: 2
Video input : 0 (Intel IPU6 ISYS Capture 0: ok)
Format Video Capture:
        Width/Height      : 1920/1080
        Pixel Format      : 'BG12' (12-bit Bayer BGBG/GRGR)
        Field             : None
        Bytes per Line    : 3840
        Size Image        : 4151040
        Colorspace        : Raw
        Transfer Function : Default (maps to None)
        YCbCr/HSV Encoding: Default (maps to ITU-R 601)
        Quantization      : Default (maps to Full Range)
        Flags             : 
Format Metadata Capture:
        Sample Format   : 'MET8' (8-bit Generic Metadata)
        Buffer Size     : 9600

sudo cam -l

[0:07:22.249654633] [6769] ERROR IPAModule ipa_module.cpp:172 Symbol ipaModuleInfo not found
[0:07:22.249665907] [6769] ERROR IPAModule ipa_module.cpp:292 v4l2-compat.so: IPA module has no valid info
[0:07:22.249678756] [6769]  INFO Camera camera_manager.cpp:313 libcamera v0.3.1
Available cameras: 

Offline

#21 2024-08-20 12:19:40

getcha
Member
Registered: 2016-10-28
Posts: 13

Re: How to use the IPU6 webcam with kernel 6.10+?

iamzimy wrote:

Has the kernel 6.10+ with libcamera-0.3.1 been working now?

Still not working here too, i have a strange "deferred probe pending: intel-ipu6: IPU6 bridge init failed" in dmesg :

sudo dmesg | grep ipu6

[   12.354105] intel-ipu6 0000:00:05.0: enabling device (0000 -> 0002)
[   12.354275] intel-ipu6 0000:00:05.0: IPU6 in secure mode touch 0x0 mask 0x0
[   12.354784] intel-ipu6 0000:00:05.0: Unexpected CSR 0x0
[   12.372495] intel-ipu6 0000:00:05.0: FW version: 20230925
[   12.374601] intel-ipu6 0000:00:05.0: IPU6 in secure mode touch 0x0 mask 0x0
[   23.599160] ipu6_buttress_ipc_reset: 29 callbacks suppressed
[   23.599179] intel-ipu6 0000:00:05.0: Unexpected CSR 0x0
[   23.621783] intel-ipu6 0000:00:05.0: FW version: 20230925
[   23.622866] pci 0000:00:05.0: deferred probe pending: intel-ipu6: IPU6 bridge init failed
[   38.743598]  processor_thermal_wt_hint mei_me intel_lpss_pci snd i2c_smbus processor_thermal_rfim libphy intel_ish_ipc intel_lpss i2c_ljca i2c_mux processor_thermal_rapl gpio_ljca ucsi_acpi mei rfkill idma64 soundcore thunderbolt intel_ishtp intel_rapl_common typec_ucsi processor_thermal_wt_req typec intel_ipu6 processor_thermal_power_floor mousedev joydev roles igen6_edac processor_thermal_mbox ipu_bridge intel_skl_int3472_tps68470 ov01a10 v4l2_fwnode v4l2_async tps68470_regulator intel_pmc_core int3403_thermal clk_tps68470 i2c_hid_acpi int340x_thermal_zone mei_vsc_hw intel_vsec videodev i2c_hid pmt_telemetry int3400_thermal intel_hid mc pmt_class intel_skl_int3472_discrete sparse_keymap acpi_pad acpi_tad acpi_thermal_rel pinctrl_tigerlake mac_hid i2c_dev crypto_user loop nfnetlink ip_tables x_tables ext4 crc32c_generic crc16 mbcache jbd2 hid_jabra hid_generic usbhid dm_crypt cbc encrypted_keys trusted asn1_encoder tee dm_mod xe drm_ttm_helper gpu_sched drm_suballoc_helper drm_gpuvm drm_exec spi_ljca usb_ljca nvme

sudo LIBCAMERA_LOG_LEVELS=0 cam --list

[0:21:10.526423383] [31903] DEBUG IPAModule ipa_module.cpp:334 ipa_ipu3.so: IPA module /usr/lib/libcamera/ipa_ipu3.so is signed
[0:21:10.526490652] [31903] DEBUG IPAManager ipa_manager.cpp:245 Loaded IPA module '/usr/lib/libcamera/ipa_ipu3.so'
[0:21:10.526538622] [31903] DEBUG IPAModule ipa_module.cpp:334 ipa_vimc.so: IPA module /usr/lib/libcamera/ipa_vimc.so is signed
[0:21:10.526573258] [31903] DEBUG IPAManager ipa_manager.cpp:245 Loaded IPA module '/usr/lib/libcamera/ipa_vimc.so'
[0:21:10.526607212] [31903] ERROR IPAModule ipa_module.cpp:172 Symbol ipaModuleInfo not found
[0:21:10.526615645] [31903] ERROR IPAModule ipa_module.cpp:292 v4l2-compat.so: IPA module has no valid info
[0:21:10.526646883] [31903]  INFO Camera camera_manager.cpp:313 libcamera v0.3.1
[0:21:10.526845880] [31904] DEBUG Camera camera_manager.cpp:69 Starting camera manager
[0:21:10.527591950] [31904] DEBUG Camera camera_manager.cpp:134 Found registered pipeline handler 'vimc'
[0:21:10.527627143] [31904] DEBUG Camera camera_manager.cpp:134 Found registered pipeline handler 'uvcvideo'
[0:21:10.527642908] [31904] DEBUG Camera camera_manager.cpp:134 Found registered pipeline handler 'ipu3'
Available cameras:

pacman -Ql linux-firmware | grep ipu6

linux-firmware /usr/lib/firmware/intel/ipu/ipu6_fw.bin
linux-firmware /usr/lib/firmware/intel/ipu/ipu6ep_fw.bin
linux-firmware /usr/lib/firmware/intel/ipu/ipu6epadln_fw.bin
linux-firmware /usr/lib/firmware/intel/ipu/ipu6epmtl_fw.bin
linux-firmware /usr/lib/firmware/intel/ipu/ipu6se_fw.bin

v4l2-ctl --all

Driver Info:
	Driver name      : v4l2 loopback
	Card type        : Virtual Camera
	Bus info         : platform:v4l2loopback-000
	Driver version   : 6.10.5
	Capabilities     : 0x85200001
		Video Capture
		Read/Write
		Streaming
		Extended Pix Format
		Device Capabilities
	Device Caps      : 0x05200001
		Video Capture
		Read/Write
		Streaming
		Extended Pix Format
Priority: 2
Video input : 0 (loopback: ok)
Format Video Capture:
	Width/Height      : 1280/720
	Pixel Format      : 'NV12' (Y/UV 4:2:0)
	Field             : None
	Bytes per Line    : 1280
	Size Image        : 1382400
	Colorspace        : sRGB
	Transfer Function : sRGB
	YCbCr/HSV Encoding: ITU-R 601
	Quantization      : Limited Range
	Flags             :
Format Video Output:
	Width/Height      : 1280/720
	Pixel Format      : 'NV12' (Y/UV 4:2:0)
	Field             : None
	Bytes per Line    : 1280
	Size Image        : 1382400
	Colorspace        : sRGB
	Transfer Function : sRGB
	YCbCr/HSV Encoding: ITU-R 601
	Quantization      : Limited Range
	Flags             :
Streaming Parameters Video Capture:
	Frames per second: 30.000 (30/1)
	Read buffers     : 2
Streaming Parameters Video Output:
	Frames per second: 30.000 (30/1)
	Write buffers    : 2

User Controls

                    keep_format 0x0098f900 (bool)   : default=0 value=0
              sustain_framerate 0x0098f901 (bool)   : default=0 value=0
                        timeout 0x0098f902 (int)    : min=0 max=100000 step=1 default=0 value=0
               timeout_image_io 0x0098f903 (bool)   : default=0 value=0

Offline

#22 2024-08-21 12:38:02

zenlord
Member
From: Belgium
Registered: 2006-05-24
Posts: 1,223
Website

Re: How to use the IPU6 webcam with kernel 6.10+?

Same here, on a Lenovo Thinkpad X1 Gen11 - output of these commands seem very similar to @Xwang

sudo dmesg | grep ipu6

[   21.014544] intel-ipu6 0000:00:05.0: enabling device (0000 -> 0002)
[   21.014847] intel-ipu6 0000:00:05.0: IPU6 in secure mode touch 0x0 mask 0xff
[   21.016035] intel-ipu6 0000:00:05.0: Unexpected CSR 0x0
[   21.016886] intel-ipu6 0000:00:05.0: Unexpected CSR 0x0
[   21.017397] intel-ipu6 0000:00:05.0: Unexpected CSR 0x0
[   21.017905] intel-ipu6 0000:00:05.0: Unexpected CSR 0x0
[   21.018417] intel-ipu6 0000:00:05.0: Unexpected CSR 0x0
[   21.018929] intel-ipu6 0000:00:05.0: Unexpected CSR 0x0
[   21.019451] intel-ipu6 0000:00:05.0: Unexpected CSR 0x0
[   21.020451] intel-ipu6 0000:00:05.0: Unexpected CSR 0x0
[   21.020963] intel-ipu6 0000:00:05.0: Unexpected CSR 0x0
[   21.021472] intel-ipu6 0000:00:05.0: Unexpected CSR 0x0
[   21.034073] intel-ipu6 0000:00:05.0: FW version: 20230925
[   21.034838] intel-ipu6 0000:00:05.0: Found supported sensor INT3474:01
[   21.034880] intel-ipu6 0000:00:05.0: Connected 1 cameras
[   21.035727] intel-ipu6 0000:00:05.0: Sending BOOT_LOAD to CSE
[   21.057089] intel-ipu6 0000:00:05.0: Sending AUTHENTICATE_RUN to CSE
[   21.132097] intel-ipu6 0000:00:05.0: CSE authenticate_run done
[   21.132104] intel-ipu6 0000:00:05.0: IPU6-v3[a75d] hardware version 5

sudo LIBCAMERA_LOG_LEVELS=0 cam --list

[0:21:40.848045610] [4271] DEBUG IPAModule ipa_module.cpp:334 ipa_ipu3.so: IPA module /usr/lib/libcamera/ipa_ipu3.so is signed
[0:21:40.848111427] [4271] DEBUG IPAManager ipa_manager.cpp:245 Loaded IPA module '/usr/lib/libcamera/ipa_ipu3.so'
[0:21:40.848143061] [4271] DEBUG IPAModule ipa_module.cpp:334 ipa_vimc.so: IPA module /usr/lib/libcamera/ipa_vimc.so is signed
[0:21:40.848159829] [4271] DEBUG IPAManager ipa_manager.cpp:245 Loaded IPA module '/usr/lib/libcamera/ipa_vimc.so'
[0:21:40.848182509] [4271] ERROR IPAModule ipa_module.cpp:172 Symbol ipaModuleInfo not found
[0:21:40.848189607] [4271] ERROR IPAModule ipa_module.cpp:292 v4l2-compat.so: IPA module has no valid info
[0:21:40.848222426] [4271]  INFO Camera camera_manager.cpp:313 libcamera v0.3.1
[0:21:40.848386862] [4272] DEBUG Camera camera_manager.cpp:69 Starting camera manager
[0:21:40.859543868] [4272] DEBUG DeviceEnumerator device_enumerator.cpp:230 New media device "intel-ipu6" created from /dev/media0
[0:21:40.861055366] [4272] DEBUG DeviceEnumerator device_enumerator.cpp:258 Added device /dev/media0: intel-ipu6
[0:21:40.861270029] [4272] DEBUG Camera camera_manager.cpp:134 Found registered pipeline handler 'vimc'
[0:21:40.861291618] [4272] DEBUG Camera camera_manager.cpp:134 Found registered pipeline handler 'uvcvideo'
[0:21:40.861296180] [4272] DEBUG Camera camera_manager.cpp:134 Found registered pipeline handler 'ipu3'

pacman -Ql linux-firmware | grep ipu6

linux-firmware /usr/lib/firmware/intel/ipu/ipu6_fw.bin.zst
linux-firmware /usr/lib/firmware/intel/ipu/ipu6ep_fw.bin.zst
linux-firmware /usr/lib/firmware/intel/ipu/ipu6epadln_fw.bin.zst
linux-firmware /usr/lib/firmware/intel/ipu/ipu6epmtl_fw.bin.zst
linux-firmware /usr/lib/firmware/intel/ipu/ipu6se_fw.bin.zst

v4l2-ctl --all

Driver Info:
	Driver name      : isys
	Card type        : ipu6
	Bus info         : 
	Driver version   : 6.10.6
	Capabilities     : 0xa4a00001
		Video Capture
		Metadata Capture
		I/O MC
		Streaming
		Extended Pix Format
		Device Capabilities
	Device Caps      : 0x24a00001
		Video Capture
		Metadata Capture
		I/O MC
		Streaming
		Extended Pix Format
Priority: 2
Video input : 0 (Intel IPU6 ISYS Capture 0: ok)
Format Video Capture:
	Width/Height      : 4672/3416
	Pixel Format      : 'BGR3' (24-bit BGR 8-8-8)
	Field             : None
	Bytes per Line    : 14016
	Size Image        : 47892672
	Colorspace        : Raw
	Transfer Function : Default (maps to None)
	YCbCr/HSV Encoding: Default (maps to ITU-R 601)
	Quantization      : Default (maps to Full Range)
	Flags             : 
Format Metadata Capture:
	Sample Format   : 'MET8' (8-bit Generic Metadata)
	Buffer Size     : 9600

Offline

#23 2024-08-23 14:41:46

Synthetic_Duck
Member
Registered: 2024-08-23
Posts: 1

Re: How to use the IPU6 webcam with kernel 6.10+?

Reporting similar issues with a Lenovo Thinkpad Carbon X1 gen 10, a 6.11 kernel, and a version of libcamera that enables simple pipelines on all arches. It feels very close since cam shows the sensor but I can’t get any output. (See edit)

 $ sudo dmesg | grep ipu6
[   46.046447] intel-ipu6 0000:00:05.0: enabling device (0000 -> 0002)
[   46.046669] intel-ipu6 0000:00:05.0: IPU6 in secure mode touch 0x0 mask 0xff
[   46.065986] intel-ipu6 0000:00:05.0: FW version: 20230925
[   46.066960] intel-ipu6 0000:00:05.0: Found supported sensor INT3474:01
[   46.067152] intel-ipu6 0000:00:05.0: Connected 1 cameras
[   46.067993] intel-ipu6 0000:00:05.0: Sending BOOT_LOAD to CSE
[   46.104680] intel-ipu6 0000:00:05.0: Sending AUTHENTICATE_RUN to CSE
[   46.179992] intel-ipu6 0000:00:05.0: CSE authenticate_run done
[   46.180081] intel-ipu6 0000:00:05.0: IPU6-v3[465d] hardware version 5
$ sudo cam -l
[0:15:59.831965527] [9932] ERROR IPAModule ipa_module.cpp:172 Symbol ipaModuleInfo not found
[0:15:59.831991635] [9932] ERROR IPAModule ipa_module.cpp:292 v4l2-compat.so: IPA module has no valid info
[0:15:59.832017829] [9932]  INFO Camera camera_manager.cpp:313 libcamera v0.3.1
[0:15:59.838347901] [9935]  WARN CameraSensor camera_sensor.cpp:259 'ov2740 4-0036': Recommended V4L2 control 0x009a0922 not supported
[0:15:59.838357722] [9935] ERROR V4L2 v4l2_subdevice.cpp:1086 'ov2740 4-0036': Unable to get rectangle 2 on pad 0/0: Inappropriate ioctl for device
[0:15:59.838364424] [9935]  WARN CameraSensor camera_sensor.cpp:306 'ov2740 4-0036': The PixelArraySize property has been defaulted to 1932x1092
[0:15:59.838367088] [9935] ERROR V4L2 v4l2_subdevice.cpp:1086 'ov2740 4-0036': Unable to get rectangle 1 on pad 0/0: Inappropriate ioctl for device
[0:15:59.838368748] [9935]  WARN CameraSensor camera_sensor.cpp:317 'ov2740 4-0036': The PixelArrayActiveAreas property has been defaulted to (0, 0)/1932x1092
[0:15:59.838400170] [9935] ERROR V4L2 v4l2_subdevice.cpp:1086 'ov2740 4-0036': Unable to get rectangle 0 on pad 0/0: Inappropriate ioctl for device
[0:15:59.838401699] [9935]  WARN CameraSensor camera_sensor.cpp:325 'ov2740 4-0036': Failed to retrieve the sensor crop rectangle
[0:15:59.838403624] [9935]  WARN CameraSensor camera_sensor.cpp:331 'ov2740 4-0036': The sensor kernel driver needs to be fixed
[0:15:59.838405020] [9935]  WARN CameraSensor camera_sensor.cpp:333 'ov2740 4-0036': See Documentation/sensor_driver_requirements.rst in the libcamera sources for more information
[0:15:59.838549656] [9935]  WARN CameraSensor camera_sensor.cpp:479 'ov2740 4-0036': Failed to retrieve the camera location
[0:15:59.838552338] [9935]  WARN CameraSensor camera_sensor.cpp:501 'ov2740 4-0036': Rotation control not available, default to 0 degrees
[0:15:59.839091567] [9935] ERROR IPAProxy ipa_proxy.cpp:149 Configuration file 'ov2740.yaml' not found for IPA module 'simple'
Available cameras:
1: 'ov2740' (\_SB_.PC00.LNK1)
$ v4l2-ctl --all
Driver Info:
        Driver name      : isys
        Card type        : ipu6
        Bus info         : 
        Driver version   : 6.11.0
        Capabilities     : 0xa4a00001
                Video Capture
                Metadata Capture
                I/O MC
                Streaming
                Extended Pix Format
                Device Capabilities
        Device Caps      : 0x24a00001
                Video Capture
                Metadata Capture
                I/O MC
                Streaming
                Extended Pix Format
Priority: 2
Video input : 0 (Intel IPU6 ISYS Capture 0: ok)
Format Video Capture:
        Width/Height      : 1920/1080
        Pixel Format      : 'BG12' (12-bit Bayer BGBG/GRGR)
        Field             : None
        Bytes per Line    : 3840
        Size Image        : 4151040
        Colorspace        : Raw
        Transfer Function : Default (maps to None)
        YCbCr/HSV Encoding: Default (maps to ITU-R 601)
        Quantization      : Default (maps to Full Range)
        Flags             : 
Format Metadata Capture:
        Sample Format   : 'MET8' (8-bit Generic Metadata)
        Buffer Size     : 9600

Tried to chmod 666 /dev/udmabuf and /dev/dma_heap/system without success. Cam appears on several app but does not turn on nor display any outptut. Would be glad to know if someone got this driver to work.



EDIT: Got an output working by running cheese as root, so I probably did not set permissions properly.

Last edited by Synthetic_Duck (2024-08-23 15:20:28)

Offline

#24 2024-08-26 11:47:21

potuz
Member
Registered: 2009-10-23
Posts: 127

Re: How to use the IPU6 webcam with kernel 6.10+?

Similar problems as others with the XPS 9320 on 6.10.5. I noticed that intel_ipu6_isys is not loaded by default. Loading it manually didn't help though. The module doesn't even print a log

$ lsmod  | grep ipu6
intel_ipu6_isys       143360  0
videobuf2_dma_contig    28672  1 intel_ipu6_isys
intel_ipu6             86016  1 intel_ipu6_isys
videobuf2_v4l2         40960  1 intel_ipu6_isys
videobuf2_common       94208  4 videobuf2_dma_contig,videobuf2_v4l2,intel_ipu6_isys,videobuf2_memops
v4l2_fwnode            32768  2 ov01a10,intel_ipu6_isys
v4l2_async             32768  3 v4l2_fwnode,ov01a10,intel_ipu6_isys
videodev              389120  6 v4l2_async,v4l2_fwnode,videobuf2_v4l2,ov01a10,v4l2loopback,intel_ipu6_isys
ipu_bridge             24576  2 intel_ipu6,intel_ipu6_isys
mc                     90112  6 v4l2_async,videodev,videobuf2_v4l2,ov01a10,intel_ipu6_isys,videobuf2_common

I noticed also that intel_ipu6_psys which was present in my last working kernel (6.5.11) is no longer available in these kernels.

Last edited by potuz (2024-08-26 11:54:52)

Offline

#25 2024-09-02 07:58:50

getcha
Member
Registered: 2016-10-28
Posts: 13

Re: How to use the IPU6 webcam with kernel 6.10+?

According to this debian bug (https://bugs.debian.org/cgi-bin/bugrepo … ug=1074441), it seems that IPU6 is only fully functional with kernel 6.11. Is this the case for Archlinux?

Offline

Board footer

Powered by FluxBB