XPS 13 webcam continues to break upon update

Bug #2039746 reported by Rafael Vanoni
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
oem-somerville-tentacool-meta (Ubuntu)
Invalid
Undecided
Unassigned

Bug Description

I've read and re-read and tried and re-tried every other bug report or documentation on this issue and nothing has brought my webcam back to life.

Please provide the exact combination of packages and their versions, along with any additional configuration needed to get the webcam back working.

Should I use the libhal support or the tentacool driver?

A simple, up-to-date document with these steps and package versions would be extremely helpful.

$ uname -a
Linux kelp 6.2.0-34-generic #34-Ubuntu SMP PREEMPT_DYNAMIC Mon Sep 4 13:06:55 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux

$ cat /etc/os-release
PRETTY_NAME="Ubuntu 23.04"
NAME="Ubuntu"
VERSION_ID="23.04"
VERSION="23.04 (Lunar Lobster)"
VERSION_CODENAME=lunar
ID=ubuntu
ID_LIKE=debian
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
UBUNTU_CODENAME=lunar
LOGO=ubuntu-logo

$ dpkg -l | grep tentacool
1670:ii oem-somerville-tentacool-meta 22.04ubuntu6 all hardware support for Dell XPS 13 9320

$ dpkg -l | grep ipu6
630:ii libcamhal-ipu6ep-common 0~git202204151018.5bc81d1~ubuntu22.04.4 all HAL library for MIPI camera through Intel IPU6 - common files
631:ii libcamhal-ipu6ep0 0~git202204151018.5bc81d1~ubuntu22.04.4 amd64 HAL library for MIPI camera through Intel IPU6
980:ii libipu6 0~git202204010644.0797f74-1~ubuntu22.04.1 amd64 API for Intel IPU6 camera on Intel Tiger Lake platform
981:ii libipu6ep 0~git202204010644.0797f74-1~ubuntu22.04.1 amd64 API for Intel IPU6 camera on Intel Alder Lake platform
1592:rc linux-modules-ipu6-6.2.0-26-generic 6.2.0-26.26~22.04.1 amd64 Linux kernel ipu6 modules for version 6.2.0-26
1593:rc linux-modules-ipu6-6.2.0-31-generic 6.2.0-31.31 amd64 Linux kernel ipu6 modules for version 6.2.0-31
1594:rc linux-modules-ipu6-6.2.0-32-generic 6.2.0-32.32 amd64 Linux kernel ipu6 modules for version 6.2.0-32
1595:ii linux-modules-ipu6-6.2.0-33-generic 6.2.0-33.33 amd64 Linux kernel ipu6 modules for version 6.2.0-33
1596:ii linux-modules-ipu6-6.2.0-34-generic 6.2.0-34.34 amd64 Linux kernel ipu6 modules for version 6.2.0-34
1597:ii linux-modules-ipu6-generic-hwe-22.04 6.2.0.34.34 amd64 Extra drivers for ipu6 for the generic flavour

Rafael Vanoni (rafaelv)
summary: - XPS 13 webcam continue to break upon update
+ XPS 13 webcam continues to break upon update
Revision history for this message
Kai-Chuan Hsieh (kchsieh) wrote (last edit ):

I don't think there is libcamhal-ipu6ep0 for 23.04. Did you do do-release-upgrade from 22.04? You will have working stack from jammy, but there won't have any update anymore, since we support it on LTS only.

On 22.04, all required packages are in the recommends list of oem-somerville-tentacool meta. I think all required packages will be installed by the auto prompts software updater.

The steps is in the nature update flow no specific tweak on 22.04, so there is no documents for it.

Revision history for this message
Rafael Vanoni (rafaelv) wrote :

More than happy to use the stack from jammy, even if I have to build it myself. Could you please provide a link to that list?

Revision history for this message
Kai-Chuan Hsieh (kchsieh) wrote :

The standard procedure is

1. Fresh install 22.04
2. sudo apt install oem-somerville-tentacool-meta
3. sudo apt dist-upgrade
4. sudo reboot

Then you should have below packages installed.

oem-somerville-tentacool-meta
libcamhal-ipu6ep0
linux-modules-ipu6-generic-hwe-22.04
linux-modules-ivsc-generic-hwe-22.04

Revision history for this message
Rafael Vanoni (rafaelv) wrote :

I have the latest versions of those packages installed. What else is required?
https://webcamtests.com/ sees the camera but errors out with "The video track is paused."

Revision history for this message
Kai-Chuan Hsieh (kchsieh) wrote :

Please upload your apport log here by

$ sudo -E oem-getlogs

Revision history for this message
Rafael Vanoni (rafaelv) wrote :

Here are the logs.

Revision history for this message
Kai-Chuan Hsieh (kchsieh) wrote (last edit ):

Hello,

Can you try remove v4l2loopback-dkms? I think linux-image-6.2.0-34.generic should provide it, so that you don't need to install it.

If your package doesn't provide it, it is probably because the kernel track doesn't support it. We didn't test on lunar's kernel track. Can you do a fresh install of 22.04 and do the step in #3 which is the platform's certification scope, so that it can be under our test coverage.

Thanks,

Revision history for this message
Kai-Chuan Hsieh (kchsieh) wrote :

By the way, your packages are too old. And libcamhal-common and libcamhal-ipu6ep-common are mutually exclusive. http://dell.archive.canonical.com/dists/jammy-somerville/public/binary-amd64/Packages

I think it is because you upgrade to 23.04 so that you are not able to see the sources list anymore. We need later userspace stack to adapt new kernel driver.

Thanks,

Revision history for this message
Rafael Vanoni (rafaelv) wrote :

I can't go back to 22.04 at the moment. I tried installing from source (https://github.com/intel/ipu6-drivers#3-build-with-dkms) but that didn't work either. Is that the right repository?

Revision history for this message
Kai-Chuan Hsieh (kchsieh) wrote :

if you can't back to 22.04, please enable the source list oem-somerville-tentacool-meta.list and make sure it directs to jammy but not lunar, and remove libcamhal-common, then do

$ sudo apt update
$ sudo apt dist-upgrade
$ sudo reboot

I think your problem is in userspace but not kernel driver, the ipu6 camera employ userspace lib for dealing with image processing. Therefore, I don't think you need to build any kernel driver.

Revision history for this message
Rafael Vanoni (rafaelv) wrote :

What's the latest version of that package? I currently have

$ apt info oem-somerville-tentacool-meta
Package: oem-somerville-tentacool-meta
Version: 22.04~ubuntu1
Status: install ok installed
Priority: optional
Section: misc
Maintainer: Commercial Engineering <email address hidden>
Installed-Size: 14.3 kB
Depends: ubuntu-oem-keyring
Modaliases: meta(pci:*sv00001028sd00000AF3bc0Csc05*)
Ubuntu-Oem-Kernel-Flavour: default
Download-Size: unknown
APT-Manual-Installed: yes
APT-Sources: /var/lib/dpkg/status
Description: hardware support for Dell XPS 13 9320
 This is a metapackage for Dell PC:
  * Dell XPS 13 9320
 It installs packages needed to support this hardware fully.

Revision history for this message
Kai-Chuan Hsieh (kchsieh) wrote :

The link I provided in #8.

You should be able to find all packages related to libcamhal-ipu6ep0, it is the main package in the userspace, and it will install depends and recommends packages when you install it.

Package: libcamhal-ipu6ep0
Source: ipu6-camera-hal
Priority: optional
Section: libs
Installed-Size: 3573
Maintainer: Commercial Engineering <email address hidden>
Architecture: amd64
Version: 0~git202302081109.884b81a~ubuntu22.04.2
Recommends: gstreamer1.0-icamera, v4l2-relayd
Provides: libcamhal.so.0
Depends: libc6 (>= 2.34), libexpat1 (>= 2.0.1), libgcc-s1 (>= 3.3.1), libipu6ep (>= 0~git202302081105.276859f), libstdc++6 (>= 12), libcamhal-ipu6ep-common (= 0~git202302081109.884b81a~ubuntu22.04.2)
Conflicts: libcamhal.so.0
Filename: pool/public/i/ipu6-camera-hal/libcamhal-ipu6ep0_0~git202302081109.884b81a~ubuntu22.04.2_amd64.deb
Size: 1155646
SHA256: d77adfb2eadeb8e7cbc0b168244b60b9ecf8d54c378dd63bccfe56e769a1ba0f
SHA1: c9e2ea21cfb41f26e9c08964113cf2057b29db19
MD5sum: 1518400498931200064e7172f2f02d91
Description: HAL library for MIPI camera through Intel IPU6
 This package contains the main runtime library on Intel Alder Lake platform
 (ipu6ep).
Modaliases: oem(pci:v00008086d0000465Dsv00001028sd00000AF3bc*sc*i*, pci:v00008086d0000465Dsv00001028sd00000B11bc*sc*i*, pci:v00008086d0000465Dsv00001028sd00000B14bc*sc*i*, pci:v00008086d0000465Dsv00001028sd00000B29bc*sc*i*, pci:v00008086d0000A75Dsv00001028sd00000C08bc*sc*i*, pci:v00008086d0000A75Dsv00001028sd00000C0Abc*sc*i*, pci:v00008086d0000A75Dsv00001028sd00000C0Bbc*sc*i*, pci:v00008086d0000A75Dsv00001028sd00000C0Dbc*sc*i*, pci:v00008086d0000A75Dsv00001028sd00000C0Ebc*sc*i*, pci:v00008086d0000A75Dsv00001028sd00000C10bc*sc*i*, pci:v00008086d0000A75Dsv00001028sd00000C11bc*sc*i*, pci:v00008086d0000A75Dsv00001028sd00000C40bc*sc*i*, pci:v00008086d0000A75Dsv00001028sd00000C4Fbc*sc*i*)

Revision history for this message
Rafael Vanoni (rafaelv) wrote :

I was able to install these packages by adding this repository (for future reference):

deb http://dell.archive.canonical.com/ jammy-somerville public

But now webcamtest and others can't even see the camera device. Here's an updated log bundle.

Revision history for this message
Kai-Chuan Hsieh (kchsieh) wrote :

You didn't remove libcamhal-common.

Please show

$ systemctl status v4l2-relayd
$ cat /sys/class/video4linux/*/name
please check installed files of libcamhal-ipu6ep-common, and check if file exist to make sure you have everything installed correctly.
$ dpkg -L libcamhal-ipu6ep-common

Did you do the reboot after everything installed?

Revision history for this message
Rafael Vanoni (rafaelv) wrote :

$ sudo apt-get remove libcamhal-common
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Package 'libcamhal-common' is not installed, so not removed
0 upgraded, 0 newly installed, 0 to remove and 5 not upgraded.

$ systemctl status v4l2-relayd
× v4l2-relayd.service - v4l2-relay daemon service
     Loaded: loaded (/lib/systemd/system/v4l2-relayd.service; enabled; preset: enabled)
     Active: failed (Result: start-limit-hit) since Fri 2023-10-20 02:03:55 PDT; 2min 2s ago
   Duration: 34ms
    Process: 9075 ExecCondition=/usr/bin/test -n ${VIDEOSRC} (code=exited, status=0/SUCCESS)
    Process: 9076 ExecCondition=/usr/bin/test -n $FORMAT (code=exited, status=0/SUCCESS)
    Process: 9077 ExecCondition=/usr/bin/test -n $WIDTH (code=exited, status=0/SUCCESS)
    Process: 9078 ExecCondition=/usr/bin/test -n $HEIGHT (code=exited, status=0/SUCCESS)
    Process: 9079 ExecCondition=/usr/bin/test -n $FRAMERATE (code=exited, status=0/SUCCESS)
    Process: 9080 ExecCondition=/usr/bin/test -n ${CARD_LABEL} (code=exited, status=0/SUCCESS)
    Process: 9081 ExecStart=/bin/sh -c DEVICE=$(grep -l -m1 -E "^${CARD_LABEL}$" /sys/devices/virtual/video4linux/*/n>
   Main PID: 9081 (code=exited, status=0/SUCCESS)
        CPU: 30ms

Oct 20 02:03:55 kelp systemd[1]: v4l2-relayd.service: Scheduled restart job, restart counter is at 5.
Oct 20 02:03:55 kelp systemd[1]: Stopped v4l2-relayd.service - v4l2-relay daemon service.
Oct 20 02:03:55 kelp systemd[1]: v4l2-relayd.service: Start request repeated too quickly.
Oct 20 02:03:55 kelp systemd[1]: v4l2-relayd.service: Failed with result 'start-limit-hit'.
Oct 20 02:03:55 kelp systemd[1]: Failed to start v4l2-relayd.service - v4l2-relay daemon service.

$ cat /sys/class/video4linux/*/name
Intel IPU6 CSI-2 0
Intel IPU6 CSI-2 1
Intel IPU6 CSI-2 2
Intel IPU6 CSI-2 3
Intel IPU6 CSI-2 4
Intel IPU6 CSI-2 5
Intel IPU6 CSI-2 6
Intel IPU6 CSI-2 7
Intel IPU6 CSI2 BE SOC 0
ov01a10 3-0036
Dummy video device (0x0000)
Intel IPU6 BE SOC capture 0

$ dpkg -L libcamhal-ipu6ep-common
[all files exist]

Yes, I rebooted after installing the packages.

Revision history for this message
Kai-Chuan Hsieh (kchsieh) wrote :

Hello,

Do you have /etc/v4l2-relayd?

if not, can you re-install libcamhal-ipu6ep0.
if yes, please $ cat /etc/v4l2-relayd, and try $ sudo systemctl restart v4l2-relayd

Thanks,

Revision history for this message
Shih-Yuan Lee (fourdollars) wrote :

Only `sudo apt-get purge libcamhal-common` can completely remove the package and its config files.

Revision history for this message
Rafael Vanoni (rafaelv) wrote :

Purging that package brought the webcam back from the dead.

Thank you Kai-Chuan and Shih-Yuan, IOU a couple beers.

Changed in oem-somerville-tentacool-meta (Ubuntu):
status: New → Invalid
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.