HP Spectre x360 (2023): webcam INT3537 does not work
- Dominant language
- C
- Stars
- 251
- Forks
- 75
- PR merge metrics
- No merged PRs in 30d
Description
I'm having trouble to get my webcam to work on my new laptop running Fedora 39.
- Laptop: 13.5" HP x360 [14-ef2759nz](https://support.hp.com/us-en/drivers/hp-spectre-x360-13.5-inch-2-in-1-laptop-pc-14-ef2000/model/2101549652?sku=7P401EA&serialnumber=CND3290HZY)
- Camera description: "HP True Vision 5MP IR camera with camera shutter, temporal noise reduction and integrated dual array digital microphones".
- Model `INT3537` (According to `dmesg`.)
- Sensor `HI556`
- This model has been mentioned in these issues: #182 #48 (maybe #105)
I'm using Fedora 39 and installed the latest kernel and ipu6 as explained here.
```bash
sudo dnf update \
--enablerepo=updates-testing \
--enablerepo=rpmfusion-free-updates-testing \
--enablerepo=rpmfusion-nonfree-updates-testing \
'kernel*' '*v4l2loopback'
# And now things are ready to install the IPU6 driver stack:
sudo dnf install \
--enablerepo=updates-testing \
--enablerepo=rpmfusion-free-updates-testing \
--enablerepo=rpmfusion-nonfree-updates-testing \
akmod-intel-ipu6
# Secure boot must be disabled.
# Reboot.
```
Installed packages:
- kernel-6.6.2-201.fc39.x86_64
- kmod-intel-ipu6-6.6.2-201.fc39.x86_64-0.0-10.20230622git8e41080.fc39.x86_64
- kmod-v4l2loopback-6.6.2-201.fc39.x86_64-0.12.7^20230503g2c9b670-2.fc39.x86_64
The webcam seems to be detected:
Output of v4l2-ctl
```bash
$ v4l2-ctl --list-devices
ipu6 (PCI:pci:pci0000:00):
/dev/video7
ipu6 (pci:pci0000:00):
/dev/media0
Intel MIPI Camera (platform:v4l2loopback-000):
/dev/video0
$ v4l2-ctl --device=/dev/video0 --all
Driver Info:
Driver name : v4l2 loopback
Card type : Intel MIPI Camera
Bus info : platform:v4l2loopback-000
Driver version : 6.6.2
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 : 'YU12' (Planar YUV 4:2:0)
Field : None
Bytes per Line : 1280
Size Image : 1382400
Colorspace : Rec. 709
Transfer Function : sRGB
YCbCr/HSV Encoding: ITU-R 601
Quantization : Limited Range
Flags :
Format Video Output:
Width/Height : 1280/720
Pixel Format : 'YU12' (Planar YUV 4:2:0)
Field : None
Bytes per Line : 1280
Size Image : 1382400
Colorspace : Rec. 709
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 (button) : value=0 flags=write-only, execute-on-write
```
However, it doesn't work with Cheese nor Firefox.
```text
$ cheese
...
stream error: can't negotiate buffers on port: ../src/gst/gstpipewiresrc.c(689): on_state_changed (): /GstCameraBin:camerabin/GstWrapperCameraBinSrc:camera_source/GstBin:bin36/GstPipeWireSrc:pipewiresrc1
...
```
`dmesg` seems to detect a problem:
```text
$ dmesg | grep ipu6
[ 8.045838] intel-ipu6 0000:00:05.0: enabling device (0000 -> 0002)
[ 8.046155] intel-ipu6 0000:00:05.0: Device 0xa75d (rev: 0x1)
[ 8.046182] intel-ipu6 0000:00:05.0: physical base address 0x601c000000
[ 8.046184] intel-ipu6 0000:00:05.0: mapped as: 0x000000008acf977f
[ 8.046898] intel-ipu6 0000:00:05.0: IPU in secure mode
[ 8.046902] intel-ipu6 0000:00:05.0: IPU secure touch = 0x80000000
[ 8.046904] intel-ipu6 0000:00:05.0: IPU camera mask = 0x0
[ 8.064533] intel-ipu6 0000:00:05.0: IPC reset done
[ 8.064537] intel-ipu6 0000:00:05.0: cpd file name: intel/ipu6ep_fw.bin
[ 8.067861] intel-ipu6 0000:00:05.0: FW version: 20220510
[ 8.068682] intel-ipu6 0000:00:05.0: Found supported sensor INT3537:00
[ 8.068804] intel-ipu6 0000:00:05.0: Connected 1 cameras
[ 8.070216] intel-ipu6 0000:00:05.0: Sending BOOT_LOAD to CSE
[ 8.093284] intel-ipu6 0000:00:05.0: Sending AUTHENTICATE_RUN to CSE
[ 8.162665] intel-ipu6 0000:00:05.0: CSE authenticate_run done
[ 8.162885] intel-ipu6 0000:00:05.0: IPU6-v3 driver version 1.0
[ 8.200939] intel-ipu6-psys intel-ipu6-psys0: pkg_dir entry count:8
[ 8.201941] intel-ipu6-psys intel-ipu6-psys0: psys probe minor: 0
[ 10.089105] intel-ipu6-isys intel-ipu6-isys0: isys port open ready failed -16
[ 10.089110] intel-ipu6-isys intel-ipu6-isys0: Device close failure: -16
[ 12.088705] intel-ipu6-isys intel-ipu6-isys0: Device release time out -16
[ 12.135337] intel-ipu6-isys intel-ipu6-isys0: Clearing old context
```
Output of sudo -E gst-launch-1.0 icamerasrc device-name=ov13b10-wf af-mode=2 ! video/x-raw,format=NV12,width=1280,height=720 ! videoconvert ! ximagesink
```text
$ sudo -E gst-launch-1.0 icamerasrc device-name=ov13b10-wf af-mode=2 ! video/x-raw,format=NV12,width=1280,height=720 ! videoconvert ! ximagesink
Setting pipeline to PAUSED ...
[11-27 21:18:06.662] CamHAL[INF] aiqb file name ov13b10.aiqb
[11-27 21:18:06.662] CamHAL[ERR] there is no aiqb file:ov13b10
[11-27 21:18:06.662] CamHAL[INF] aiqb file name ov13b10.aiqb
[11-27 21:18:06.662] CamHAL[ERR] there is no aiqb file:ov13b10
[11-27 21:18:06.662] CamHAL[INF] aiqb file name ov8856.aiqb
[11-27 21:18:06.662] CamHAL[ERR] there is no aiqb file:ov8856
[11-27 21:18:06.662] CamHAL[INF] aiqb file name ov8856.aiqb
[11-27 21:18:06.662] CamHAL[ERR] there is no aiqb file:ov8856
[11-27 21:18:06.662] CamHAL[INF] aiqb file name ov01a10.aiqb
[11-27 21:18:06.662] CamHAL[INF] aiqb file name ov01a10.aiqb
[11-27 21:18:06.662] CamHAL[INF] aiqb file name ov01a10.aiqb
[11-27 21:18:06.662] CamHAL[INF] aiqb file name ov01a10.aiqb
[11-27 21:18:06.662] CamHAL[INF] aiqb file name OV02C10_1BG203N3_ADL.aiqb
[11-27 21:18:06.662] CamHAL[INF] aiqb file name OV02C10_1BG203N3_ADL.aiqb
[11-27 21:18:06.662] CamHAL[INF] aiqb file name OV02C10_1SG204N3_ADL.aiqb
[11-27 21:18:06.662] CamHAL[INF] aiqb file name OV02C10_1SG204N3_ADL.aiqb
[11-27 21:18:06.662] CamHAL[INF] aiqb file name OV02C10_CIFME14_ADL.aiqb
[11-27 21:18:06.662] CamHAL[INF] aiqb file name OV02C10_CIFME14_ADL.aiqb
[11-27 21:18:06.662] CamHAL[INF] aiqb file name OV02C10_1BG203N3_ADL.aiqb
[11-27 21:18:06.663] CamHAL[INF] aiqb file name OV02C10_1BG203N3_ADL.aiqb
[11-27 21:18:06.663] CamHAL[INF] aiqb file name OV02C10_1SG204N3_ADL.aiqb
[11-27 21:18:06.663] CamHAL[INF] aiqb file name OV02C10_1SG204N3_ADL.aiqb
[11-27 21:18:06.663] CamHAL[INF] aiqb file name OV02C10_CIFME14_ADL.aiqb
[11-27 21:18:06.663] CamHAL[INF] aiqb file name OV02C10_CIFME14_ADL.aiqb
[11-27 21:18:06.663] CamHAL[INF] aiqb file name OV2740_CJFLE23_ADL.aiqb
[11-27 21:18:06.663] CamHAL[INF] aiqb file name OV2740_CJFLE23_ADL.aiqb
[11-27 21:18:06.663] CamHAL[INF] aiqb file name HM2170_1SG205N3_ADL.aiqb
[11-27 21:18:06.663] CamHAL[INF] aiqb file name HM2170_1SG205N3_ADL.aiqb
[11-27 21:18:06.663] CamHAL[INF] aiqb file name HM2170_CJFME18_ADL.aiqb
[11-27 21:18:06.663] CamHAL[INF] aiqb file name HM2170_CJFME18_ADL.aiqb
[11-27 21:18:06.663] CamHAL[INF] aiqb file name HI556_1BG502T3_ADL.aiqb
[11-27 21:18:06.663] CamHAL[INF] aiqb file name HI556_1BG502T3_ADL.aiqb
[11-27 21:18:06.663] CamHAL[INF] aiqb file name HI556_CJFLE25_ADL.aiqb
[11-27 21:18:06.664] CamHAL[INF] aiqb file name HI556_CJFLE25_ADL.aiqb
[11-27 21:18:06.664] CamHAL[INF] aiqb file name ov01a1s.aiqb
[11-27 21:18:06.664] CamHAL[INF] aiqb file name ov01a1s.aiqb
[11-27 21:18:06.664] CamHAL[ERR] Failed to find DevName for cameraId: 0, get video node: ov13b10 , devname: /dev/v4l-subdev1
Pipeline is live and does not need PREROLL ...
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
[11-27 21:18:06.671] CamHAL[ERR] Get entity fail for calling getEntityById
[11-27 21:18:06.671] CamHAL[ERR] Get entity fail for calling getEntityById
[11-27 21:18:06.671] CamHAL[ERR] setup Link ov13b10 [-1:0] ==> Intel IPU6 CSI-2 [-1x0] enable 1 failed.
[11-27 21:18:06.671] CamHAL[ERR] set MediaCtlConf McLink failed: ret = -1
[11-27 21:18:06.671] CamHAL[ERR] set up mediaCtl failed
[11-27 21:18:06.671] CamHAL[ERR] @configure Device Configure failed
[11-27 21:18:06.671] CamHAL[ERR] failed to config streams.
ERROR: from element /GstPipeline:pipeline0/Gstcamerasrc:camerasrc0: src pad: Internal data flow error.
Additional debug info:
gstcambasesrc.cpp(3143): gst_cam_base_src_loop (): /GstPipeline:pipeline0/Gstcamerasrc:camerasrc0:
streaming task paused, reason not-negotiated (-4)
Execution ended after 0:00:00.004439587
Setting pipeline to NULL ...
Freeing pipeline ...
```
Output of ls /sys/bus/i2c/devices
```text
$ ls /sys/bus/i2c/devices
i2c-0 i2c-11 i2c-14 i2c-17 i2c-2 i2c-5 i2c-8 i2c-INT3537:00 i2c-TXNW3643:01
i2c-1 i2c-12 i2c-15 i2c-18 i2c-3 i2c-6 i2c-9 i2c-OVTI00AB:00
i2c-10 i2c-13 i2c-16 i2c-19 i2c-4 i2c-7 i2c-ELAN2513:00 i2c-SYNA32E9:00
```
Can you please help me get it to work?
Contributor guide
Assessment
This issue has not been assessed yet.