Skip to content

No camera device in OpenSUSE for Surface Go #1323

Open

Description

@5er9e1

I'm using an openSUSE kernel 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:

 ~ > 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

Activity

  1. mojyack commented on Feb 2, 2024

    @mojyack

    Environment

    • Hardware model: Surface GO 2
    • Kernel version: 6.7.2+ (4e36132e272de3d84833b799be56c2b460db08b6)
    • Distribution: Gentoo

    I think I have the same problem. See dmesg.txt.
    Applying this patch fixes the "failed initialize subdev media entity" error.
    But lens focus still doesn't work. See dmesg-patched.txt
    This issue is also mentioned in here.

  2. fvasco commented on Feb 2, 2024

    @fvasco

    Same issue on Kubuntu, kernel 6.7.2-surface-1, on Surgace GO 1

    [   17.961199] ipu3-imgu 0000:00:05.0: loaded firmware version irci_irci_ecr-master_20161208_0213_20170112_1500, 17 binaries, 1212984 bytes
    [   17.962118] ipu3-imgu 0000:00:05.0: failed initialize subdev media entity (-22)
    [   17.962133] ipu3-imgu 0000:00:05.0: failed to register subdev0 ret (-22)
    [   17.962140] ipu3-imgu 0000:00:05.0: failed to register pipes (-22)
    [   17.962148] ipu3-imgu 0000:00:05.0: failed to create V4L2 devices (-22)
    
    $ cam -l
    [0:07:45.846405723] [2538]  INFO Camera camera_manager.cpp:284 libcamera v0.2.0
    Available cameras:
    
  3. mojyack commented on Feb 2, 2024

    @mojyack

    I found that the dw9719(lens voice coil) driver was rewritten in linux-6.6, and unfortunately, that doesn't work with Surface Go.
    In order to restore camera functionalities in 6.7.x, I had to apply some patches:

    # v6.7 camera workarounds
    ## fix "failed initialize subdev media entity" error
    ## cherry-pick from staging tree
    curl 'https://git.linuxtv.org/media_stage.git/patch/?id=87318b7092670d4086bfec115a0280a60c51c2dd' | patch -p1
    ## revert dw9719 driver
    curl 'https://raw.githubusercontent.com/linux-surface/kernel/v6.5-surface/drivers/media/i2c/dw9719.c' -o drivers/media/i2c/dw9719.c
    sed -i 's/.probe_new/.probe/' drivers/media/i2c/dw9719.c
    ## optional: suppress the "source of link 'ipu3-imgu 0 input':0->'ipu3-imgu 0':0 is not a V4L2 sub-device, driver bug!" warning
    curl 'https://github.com/linux-surface/kernel/commit/55f1ecb1199000932cf82e357841cc7498ac904f.patch' | patch -R -p1
    ## optional: suppress annoying stacktrace around call_s_stream on application exit
    curl 'https://github.com/linux-surface/kernel/commit/009905ec50433259c05f474251000b040098564e.patch' | patch -R -p1
    
  4. qzed commented on Feb 2, 2024

    @qzed
    Member

    @mojyack Could you send a PR with those changes to our kernel repo?

  5. mojyack commented on Feb 3, 2024

    @mojyack

    I have sent fixes.
    Sad to had to revert dw9719 driver.

  6. Dariqq commented on Feb 6, 2024

    @Dariqq

    Same Issue with my SGO1 on Fedora39 with fedora kernel 6.7.3-200.fc39.x86_64.

    kernel: ipu3-imgu: probe of 0000:00:05.0 failed with error -22
    kernel: ipu3-imgu 0000:00:05.0: wait css idle timeout
    kernel: ipu3-imgu 0000:00:05.0: failed to create V4L2 devices (-22)
    kernel: ipu3-imgu 0000:00:05.0: failed to register pipes (-22)
    kernel: ipu3-imgu 0000:00:05.0: failed to register subdev0 ret (-22)
    kernel: ipu3-imgu 0000:00:05.0: failed initialize subdev media entity (-22)
    kernel: ipu3-imgu 0000:00:05.0: loaded firmware version irci_irci_ecr-master_20161208_0213_20170112_1500, 17 binaries, 1212984 bytes
    kernel: ipu3-cio2 0000:00:14.3: device 0x9d32 (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-cio2 0000:00:14.3: Found supported sensor INT33BE:00
    
  7. hydrandt commented on Feb 26, 2024

    @hydrandt

    Same here (SGO1, Ubuntu 23.10). Booting with previous kernel, 6.6.11, cameras work. Does the PR have a good chance of being merged?

  8. Dariqq commented on Apr 2, 2024

    @Dariqq

    The patch from the LKML that is supposed to fix the ipu3 issue is now proposed for

    6.7.12: https://lore.kernel.org/stable/[email protected]/
    6.8.3 : https://lore.kernel.org/stable/[email protected]/

    So hopefully it should arrive at a stable kernel near you soon.

  9. Dariqq commented on Apr 6, 2024

    @Dariqq

    Fedora updated me to 6.8.4-200.fc39.x86_64 today and cameras are working again.

  10. sononicola commented on Feb 18, 2026

    @sononicola

    Is there any update to make cameras work in OpenSuse? I have no cameras listed too (SGO2)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions