dariqq
(Dariqq)
January 28, 2024, 12:17pm
1
Hi everyone!
I am using Fedora 39 on a Surface Go 1 with the normal fedora kernel.
About one month ago ( around 2023-12-28) I noticed that the integrated cameras (ids OV5693
and OV8865
) are recognised by both cheese and snapshot.
Today I wanted to try them out again and the cameras were not recognised via libcamera and any other camera application.
In the logs searching for ipu3
gave some errors:
kernel: ipu3-imgu: probe of 0000:00:05.0 failed with error -2
kernel: ipu3-imgu 0000:00:05.0: wait css idle timeout
kernel: ipu3-imgu 0000:00:05.0: failed to initialize CSS (-2)
kernel: ipu3-imgu 0000:00:05.0: Direct firmware load for intel/ipu3-fw.bin failed with error -2
kernel: ipu3-imgu 0000:00:05.0: Direct firmware load for intel/irci_irci_ecr-master_20161208_0213_20170112_1500.bin failed with error -2
kernel: ipu3-imgu 0000:00:05.0: physical base address 0x00000000b1000000, 4194304 bytes
kernel: ipu3-imgu 0000:00:05.0: device 0x1919 (rev: 0x1)
kernel: ipu3-cio2 0000:00:14.3: device 0x9d32 (rev: 0x1)
kernel: ipu3-cio2 0000:00:14.3: Connected 2 cameras
kernel: ipu3-cio2 0000:00:14.3: Found supported sensor INT347A:00
kernel: ipu3_imgu: module is from the staging directory, the quality is unknown, you have been warned.
kernel: ipu3-cio2 0000:00:14.3: Found supported sensor INT33BE:00
So it seems like that something goes wrong when loading the firmware.
This occurs on all three kernels I currently have installed: 6.6.11, 6.6.12, 6.6.13.
Any help would be appreciated.
Thanks.
1 Like
dariqq
(Dariqq)
January 29, 2024, 3:00pm
2
The file /lib/firmware/intel/irci_irci_ecr-master_20161208_0213_20170112_1500.bin
seems to have been moved into the intel-vsc-firmware
package. Installing that fixes the issue.
1 Like
vividskies
(Vivid Skies)
February 23, 2024, 10:06am
3
Hi Dariqq,
Could you help please? I’ve installed intel-vsc-firmware but my cameras still don’t work. I have an original Surface Go (1) with updated F39 and Gnome. I’m using the Fedora kernel (6.7.5) rather than the Surface kernel.
Many thanks
Guy
dariqq
(Dariqq)
February 28, 2024, 9:44am
4
Hi Vivid Skies,
There seems to be an unrelated issue with ipu3 and the 6.7 kernel.
See for example the discussions on the linux-surface Project:
opened 04:11AM - 16 Dec 23 UTC
I'm using an [openSUSE kernel](https://github.com/linux-surface/linux-surface/wi… ki/Installation-and-Setup#opensuse-tumbleweed) with my Surface Go and it mostly working fine except camera. I've installed `libcamera` and intel firmware but `cam --list` shows no devices. Here are some outputs that may help to determine issue cause:
```shell
~ > cam --list
[0:55:46.721999735] [13920] INFO Camera camera_manager.cpp:284 libcamera v0.1.0
Available cameras:
~ > lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 002: ID 0cf3:e302 Qualcomm Atheros Communications
Bus 001 Device 003: ID 045e:096f Microsoft Corp. Surface Type Cover
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
~ > ls -l /lib/firmware/intel | grep ipu
lrwxrwxrwx 1 root root 52 Dec 16 11:39 ipu3-fw.bin -> irci_irci_ecr-master_20161208_0213_20170112_1500.bin
lrwxrwxrwx 1 root root 55 Dec 1 06:11 ipu3-fw.bin.xz -> irci_irci_ecr-master_20161208_0213_20170112_1500.bin.xz
~ > rpm -qa | grep cam
libcamera-tools-0.1.0-1.2.x86_64
libcamd2-2.4.6-49.5.x86_64
libcamera-base0_1-0.1.0-1.2.x86_64
gstreamer-plugins-libcamera-0.1.0-1.2.x86_64
libcamera0_1-0.1.0-1.2.x86_64
libcamel-1_2-64-3.50.2-1.1.x86_64
libgstbasecamerabinsrc-1_0-0-1.22.7-5.1.x86_64
libcamera-devel-0.1.0-1.2.x86_64
~ > uname -r
6.6.2-41-default
~ > sudo lshw | grep -i cam
# empty output
~ > cat /etc/*release*
NAME="openSUSE Tumbleweed"
# VERSION="20231214"
ID="opensuse-tumbleweed"
ID_LIKE="opensuse suse"
VERSION_ID="20231214"
PRETTY_NAME="openSUSE Tumbleweed"
...
```
Will be appreciate to hear any advises what to do
opened 12:19PM - 04 Feb 24 UTC
Hardware model: Surface Pro 4
Kernel Version: 6.7.2-surface-1
Distribution: De… bian 12 Bookworm with libcamera compiled to instructions provided here
I have removed portions of dmesg not related to cameras, video4linux, media
```
[ 33.333181] mc: Linux media interface: v0.10
[ 33.382998] videodev: Linux video capture interface: v2.00
[ 33.586348] ov8865 i2c-INT347A:00: supply dvdd not found, using dummy regulator
[ 33.586404] ov8865 i2c-INT347A:00: supply dovdd not found, using dummy regulator
[ 33.586417] ov8865 i2c-INT347A:00: supply avdd not found, using dummy regulator
[ 33.587941] ov8865 i2c-INT347A:00: supply dvdd not found, using dummy regulator
[ 33.587981] ov8865 i2c-INT347A:00: supply dovdd not found, using dummy regulator
[ 33.587992] ov8865 i2c-INT347A:00: supply avdd not found, using dummy regulator
[ 33.599026] ov8865 i2c-INT347A:00: supply dvdd not found, using dummy regulator
[ 33.599071] ov8865 i2c-INT347A:00: supply dovdd not found, using dummy regulator
[ 33.599081] ov8865 i2c-INT347A:00: supply avdd not found, using dummy regulator
[ 33.655215] ov8865 i2c-INT347A:00: supply dvdd not found, using dummy regulator
[ 33.655245] ov8865 i2c-INT347A:00: supply dovdd not found, using dummy regulator
[ 33.655253] ov8865 i2c-INT347A:00: supply avdd not found, using dummy regulator
[ 33.720142] ov8865 i2c-INT347A:00: supply dvdd not found, using dummy regulator
[ 33.720186] ov8865 i2c-INT347A:00: supply dovdd not found, using dummy regulator
[ 33.720197] ov8865 i2c-INT347A:00: supply avdd not found, using dummy regulator
[ 33.757546] ov8865 i2c-INT347A:00: supply dvdd not found, using dummy regulator
[ 33.757700] ov8865 i2c-INT347A:00: supply dovdd not found, using dummy regulator
[ 33.758560] ov8865 i2c-INT347A:00: supply avdd not found, using dummy regulator
[ 33.760848] ipu3_imgu: module is from the staging directory, the quality is unknown, you have been warned.
[ 33.762866] ipu3-imgu 0000:00:05.0: enabling device (0000 -> 0002)
[ 33.763079] ipu3-imgu 0000:00:05.0: device 0x1919 (rev: 0x1)
[ 33.763101] ipu3-imgu 0000:00:05.0: physical base address 0x00000000a1000000, 4194304 bytes
[ 33.805931] ipu3-cio2 0000:00:14.3: Found supported sensor INT33BE:00
[ 33.806106] ipu3-cio2 0000:00:14.3: Found supported sensor INT347A:00
[ 33.806260] ipu3-cio2 0000:00:14.3: Found supported sensor INT347E:00
[ 33.806419] ipu3-cio2 0000:00:14.3: Connected 3 cameras
[ 33.809576] ipu3-cio2 0000:00:14.3: enabling device (0000 -> 0002)
[ 33.810374] ipu3-cio2 0000:00:14.3: device 0x9d32 (rev: 0x1)
[ 33.857395] ipu3-imgu 0000:00:05.0: loaded firmware version irci_irci_ecr-master_20161208_0213_20170112_1500, 17 binaries, 1212984 bytes
[ 33.863201] ipu3-imgu 0000:00:05.0: failed initialize subdev media entity (-22)
[ 33.863253] ipu3-imgu 0000:00:05.0: failed to register subdev0 ret (-22)
[ 33.863276] ipu3-imgu 0000:00:05.0: failed to register pipes (-22)
[ 33.863298] ipu3-imgu 0000:00:05.0: failed to create V4L2 devices (-22)
[ 33.873064] ov7251 i2c-INT347E:00: supply vdddo not found, using dummy regulator
[ 33.873124] ov7251 i2c-INT347E:00: supply vddd not found, using dummy regulator
[ 33.873135] ov7251 i2c-INT347E:00: supply vdda not found, using dummy regulator
[ 33.879702] ov7251 i2c-INT347E:00: OV7251 revision 7 (1F) detected at address 0x60
[ 33.889157] ov8865 i2c-INT347A:00: supply dvdd not found, using dummy regulator
[ 33.889199] ov8865 i2c-INT347A:00: supply dovdd not found, using dummy regulator
[ 33.889210] ov8865 i2c-INT347A:00: supply avdd not found, using dummy regulator
[ 33.890032] ov5693 i2c-INT33BE:00: supply avdd not found, using dummy regulator
[ 33.890069] ov5693 i2c-INT33BE:00: supply dovdd not found, using dummy regulator
[ 33.890078] ov5693 i2c-INT33BE:00: supply dvdd not found, using dummy regulator
[ 33.971431] ov8865 i2c-INT347A:00: Instantiated dw9719 VCM
[ 34.011686] ipu3-imgu 0000:00:05.0: wait css idle timeout
[ 34.011693] ipu3-imgu: probe of 0000:00:05.0 failed with error -22
[ 34.242673] dw9719 i2c-INT347A:00-VCM: supply vdd not found, using dummy regulator
```
opened 09:43AM - 04 Feb 24 UTC
**Until yesterday**
First of all thanks for the terrific job done with this por… t. I've happily used Arch+KDE Plasma on a Surface Pro 5 for months. All working, including both the cam (after following the wiki). Incidentally, sharing a trick, I almost daily use zoom for my University and zoom works greatly if launched as "pw-v4l2 /usr/bin/zoom", i.e., using the pipewire compatibility layer for v4l2. Not such luck with skype and other apps which however worked greatly with the loopback device.
**Yesterday...**
...I update the kernel to 6.7.2 (and all the system of course). All is ok with the exception of the two cams that are not detected (or detected but not usable, I am unable to say). "cam -l" says no cams is available... After downgrading linux-surface and linux-surface-header to 6.6.10 both cams work again. The 6.7.2 dmesg output is enclosed
[dmesg.log](https://github.com/linux-surface/linux-surface/files/14156222/dmesg.log)
Thanks again
guido
This is apparently fixed by [PATCH v3] media: staging: ipu3-imgu: Set fields before media_entity_pads_init() - Hidenori Kobayashi but I am not sure what the status of this patch is.
Maybe someone who knows more about kernel development can help.
Hope this helps.
vividskies
(Vivid Skies)
February 28, 2024, 2:32pm
5
Thanks Dariqq, I guess that patch has to be compiled before it can be used?
Thanks again.
Guy
dariqq
(Dariqq)
February 28, 2024, 3:09pm
6
You’d need to build a patched kernel yourself, but I have not looked into how to do this on fedora. Also given the hardware of the SGO1 it probably will take forever to build.
There is also an open pull request to add it to the linux-surface kernel so the cameras should work with the surface kernel once that gets added hopefully soon.
As it seems like an issue with the 6.7 kernel only you could also try to go back to the 6.6 kernel (maybe there is a copr repository or something that has an up to date version?)
Or just wait and hope that it will get fixed by someone else eventually.
dariqq
(Dariqq)
March 4, 2024, 1:57pm
8
In one of the issues before there are now instructions to only rebuild the (patched) ipu3 module. Haven’t tested this for myself but judging from the comments it seems to solve the issue.
dariqq
(Dariqq)
March 11, 2024, 9:32am
9
Over the weekend the camera patch from the lkml was added to the linux-surface kernel patches. So if you get the latest kernel from them cameras should work again.
Hopefully the patch will be included in the normal kernel as well soon.
dariqq
(Dariqq)
April 2, 2024, 7:27am
10