[Bug 1225636] New: Facetimehd firmware/driver fails to load
![](https://seccdn.libravatar.org/avatar/a895f78a81a109471893519443e4d933.jpg?s=120&d=mm&r=g)
https://bugzilla.suse.com/show_bug.cgi?id=1225636 Bug ID: 1225636 Summary: Facetimehd firmware/driver fails to load Classification: openSUSE Product: openSUSE Tumbleweed Version: Current Hardware: x86-64 OS: openSUSE Tumbleweed Status: NEW Severity: Normal Priority: P5 - None Component: Kernel:Drivers Assignee: kernel-bugs@suse.de Reporter: crdcastro5@gmail.com QA Contact: qa-bugs@suse.de Target Milestone: --- Found By: --- Blocker: --- Hardware is a late 2015 11" Macbook Air. The facetimehd-kmp-default package was installed by default and I installed the facetimehd-firmware manually, despite this the driver fails to load and the camera is not detected as a device. [I] clayton@s-169-232-95-114 ~> dmesg -w | grep facetimehd [ 2.934906] [ T349] facetimehd 0000:02:00.0: Found FaceTime HD camera with device id: 1570 [ 2.937304] [ T349] facetimehd 0000:02:00.0: Setting 64bit DMA mask [ 2.958735] [ T349] facetimehd 0000:02:00.0: S2 PCIe link init succeeded [ 2.958770] [ T349] facetimehd 0000:02:00.0: Refclk: 25MHz (0xa) [ 2.968787] [ T349] facetimehd 0000:02:00.0: PLL reset finished [ 2.968793] [ T349] facetimehd 0000:02:00.0: Waiting for S2 PLL to lock at 450 MHz [ 2.968808] [ T349] facetimehd 0000:02:00.0: S2 PLL is locked after 10 us [ 2.978828] [ T349] facetimehd 0000:02:00.0: S2 PLL is in bypass mode [ 2.998898] [ T349] facetimehd 0000:02:00.0: DDR40 PHY PLL locked on safe settings [ 2.998916] [ T349] facetimehd 0000:02:00.0: STRAP valid [ 2.998917] [ T349] facetimehd 0000:02:00.0: Configuring DDR PLLs for 450 MHz [ 2.998925] [ T349] facetimehd 0000:02:00.0: DDR40 PLL is locked after 0 us [ 2.998935] [ T349] facetimehd 0000:02:00.0: First DDR40 VDL calibration completed after 2 us [ 2.998943] [ T349] facetimehd 0000:02:00.0: Second DDR40 VDL calibration completed after 1 us [ 2.998944] [ T349] facetimehd 0000:02:00.0: Using step size 144 [ 2.998950] [ T349] facetimehd 0000:02:00.0: VDL set to: coarse=0x10008, fine=0x10119 [ 2.998955] [ T349] facetimehd 0000:02:00.0: Virtual VTT enabled [ 3.019479] [ T349] facetimehd 0000:02:00.0: S2 DRAM memory address: 0x22159559 [ 3.019496] [ T349] facetimehd 0000:02:00.0: Rewrite DDR mode registers succeeded [ 3.019719] [ T349] facetimehd 0000:02:00.0: Full memory verification succeeded! (0) [ 3.019942] [ T349] facetimehd 0000:02:00.0: Direct firmware load for facetimehd/firmware.bin failed with error -2 [ 3.020079] [ T349] facetimehd 0000:02:00.0: probe with driver facetimehd failed with error -2 I force reinstalled both and rebooted but still saw the same behavior. additional context: uname -a Linux localhost.localdomain 6.9.1-1-default #1 SMP PREEMPT_DYNAMIC Fri May 17 11:59:46 UTC 2024 (0c0b0b5) x86_64 x86_64 x86_64 GNU/Linux -- You are receiving this mail because: You are on the CC list for the bug.
![](https://seccdn.libravatar.org/avatar/a895f78a81a109471893519443e4d933.jpg?s=120&d=mm&r=g)
https://bugzilla.suse.com/show_bug.cgi?id=1225636
https://bugzilla.suse.com/show_bug.cgi?id=1225636#c3
Clayton Castro
![](https://seccdn.libravatar.org/avatar/a895f78a81a109471893519443e4d933.jpg?s=120&d=mm&r=g)
https://bugzilla.suse.com/show_bug.cgi?id=1225636
https://bugzilla.suse.com/show_bug.cgi?id=1225636#c6
--- Comment #6 from Clayton Castro
Packages can be installed without internet access so I had to ask.
Sorry, wasn't aware.
Do you have any special dracut configs?
I haven't touched dracut.
Does the module load properly
[I] clayton@localhost ~> sudo modprobe -r facetimehd
[I] clayton@localhost ~> sudo modprobe facetimehd
[I] clayton@localhost ~> lsmod | grep facetimehd
facetimehd 139264 0
videobuf2_v4l2 45056 1 facetimehd
videobuf2_dma_sg 20480 2 facetimehd
videodev 409600 2 videobuf2_v4l2,facetimehd
videobuf2_common 94208 4
videobuf2_v4l2,facetimehd,videobuf2_dma_sg,videobuf2_memops
[I] clayton@localhost ~ [127]> modinfo facetimehd
filename: /usr/lib/modules/6.9.1-1-default/updates/facetimehd.ko
license: GPL
description: FacetimeHD camera driver
author: Patrik Jakobsson
BTW, the proper path for firmware files after TW (and former ALP) are /usr/lib/firmware. I guess /lib/firmware still works, but the package should manage the right path instead.
[I] clayton@localhost ~> ll /usr/lib/firmware/facetimehd/firmware.bin -rw-r--r-- 1 root root 1425412 May 30 09:33 /usr/lib/firmware/facetimehd/firmware.bin [I] clayton@localhost ~> ll /lib/firmware/facetimehd/firmware.bin -rw-r--r-- 1 root root 1425412 May 30 09:33 /lib/firmware/facetimehd/firmware.bin It seems to exist in both locations. -- You are receiving this mail because: You are on the CC list for the bug.
![](https://seccdn.libravatar.org/avatar/a895f78a81a109471893519443e4d933.jpg?s=120&d=mm&r=g)
https://bugzilla.suse.com/show_bug.cgi?id=1225636
https://bugzilla.suse.com/show_bug.cgi?id=1225636#c7
--- Comment #7 from Patrik Jakobsson
Do you have any special dracut configs?
I haven't touched dracut.
When I try installing the driver it doesn't end up on the initrd so something is different in our configs. Maybe I've changed something on my end. Can you paste the output from the command: $ cat /etc/dracut.conf.d/*
I've been testing with cheese,
There is an issue with Cheese and the driver. Can you try some other application? I usually test with qv4l2. -- You are receiving this mail because: You are on the CC list for the bug.
![](https://seccdn.libravatar.org/avatar/a895f78a81a109471893519443e4d933.jpg?s=120&d=mm&r=g)
https://bugzilla.suse.com/show_bug.cgi?id=1225636
https://bugzilla.suse.com/show_bug.cgi?id=1225636#c8
--- Comment #8 from Clayton Castro
Can you paste the output from the command: $ cat /etc/dracut.conf.d/*
# When dracut generates the initramfs, it must refer to disks and partitions to
# be mounted in a persistent manner, to make sure the system will boot
# correctly. By default, dracut uses /dev/mapper device names.
# For example, when dracut detects multipath devices, it will use the DM-MP
# device names such as
#
# /dev/mapper/3600a098000aad73f00000a3f5a275dc8-part1
#
# This is good if the system always runs in multipath mode. But if the system
is
# started without multipathing, booting with such an initramfs will fail,
# because the /dev/mapper devices will not exist. The same problem can happen
# with multipath maps and cloned SAN LUNs.
#
# To prevent this from happening, the dracut policy for addressing disks
# and partitions is changed to use /dev/disk/by-uuid device names on all
# architectures except s390/s390x, which must be by-path (bsc#915218).
persistent_policy="by-uuid"
# Below adds additional tools to the initrd which are not urgently necessary to
# bring up the system, but help to debug problems.
# See /usr/lib/dracut/modules.d/95debug/module-setup.sh which additional tools
# are installed and add more if you need them. This specifically helps if you
# use:
# rd.break=[cmdline|pre-udev|pre-trigger|initqueue|pre-mount|
# mount|pre-pivot|cleanup]
# boot parameter or if you are forced to enter the dracut emergency shell.
# add_dracutmodules+=" debug "
# Copyright (C) 2013 Colin Walters
There is an issue with Cheese and the driver. Can you try some other application? I usually test with qv4l2.
So looks like it works if I manually reload the kernel module. On boot its loaded but there's no video device (/dev/video0). Once I unload and load I can get a video output from both ffplay and firefox. Output from a fresh boot looks like so: [I] clayton@localhost ~ [SIGINT]> dmesg -w | grep facetimehd [ 2.217575] [ T353] facetimehd: loading out-of-tree module taints kernel. [ 2.244464] [ T353] facetimehd 0000:02:00.0: Found FaceTime HD camera with device id: 1570 [ 2.244757] [ T353] facetimehd 0000:02:00.0: Setting 64bit DMA mask [ 2.269670] [ T353] facetimehd 0000:02:00.0: S2 PCIe link init succeeded [ 2.269707] [ T353] facetimehd 0000:02:00.0: Refclk: 25MHz (0xa) [ 2.279738] [ T353] facetimehd 0000:02:00.0: PLL reset finished [ 2.279743] [ T353] facetimehd 0000:02:00.0: Waiting for S2 PLL to lock at 450 MHz [ 2.279759] [ T353] facetimehd 0000:02:00.0: S2 PLL is locked after 10 us [ 2.289767] [ T353] facetimehd 0000:02:00.0: S2 PLL is in bypass mode [ 2.309814] [ T353] facetimehd 0000:02:00.0: DDR40 PHY PLL locked on safe settings [ 2.309836] [ T353] facetimehd 0000:02:00.0: STRAP valid [ 2.309839] [ T353] facetimehd 0000:02:00.0: Configuring DDR PLLs for 450 MHz [ 2.309860] [ T353] facetimehd 0000:02:00.0: DDR40 PLL is locked after 0 us [ 2.309872] [ T353] facetimehd 0000:02:00.0: First DDR40 VDL calibration completed after 2 us [ 2.309882] [ T353] facetimehd 0000:02:00.0: Second DDR40 VDL calibration completed after 1 us [ 2.309885] [ T353] facetimehd 0000:02:00.0: Using step size 144 [ 2.309891] [ T353] facetimehd 0000:02:00.0: VDL set to: coarse=0x10008, fine=0x10119 [ 2.309910] [ T353] facetimehd 0000:02:00.0: Virtual VTT enabled [ 2.330449] [ T353] facetimehd 0000:02:00.0: S2 DRAM memory address: 0x22159559 [ 2.330469] [ T353] facetimehd 0000:02:00.0: Rewrite DDR mode registers succeeded [ 2.330707] [ T353] facetimehd 0000:02:00.0: Full memory verification succeeded! (0) [ 2.333543] [ T353] facetimehd 0000:02:00.0: Direct firmware load for facetimehd/firmware.bin failed with error -2 [ 2.333708] [ T353] facetimehd 0000:02:00.0: probe with driver facetimehd failed with error -2 [ 3.286168] [ T355] Modules linked in: wl(POE+) hid_apple crct10dif_pclmul hid_generic crc32_pclmul polyval_clmulni polyval_generic gf128mul ghash_clmulni_intel sha512_ssse3 sha256_ssse3 sha1_ssse3 usbhid aesni_intel nvme crypto_simd i915(+) cfg80211 cryptd nvme_core facetimehd(O) rfkill videobuf2_dma_sg videobuf2_memops nvme_auth t10_pi videobuf2_v4l2 xhci_pci xhci_pci_renesas i2c_algo_bit drm_buddy videodev ttm xhci_hcd applespi spi_pxa2xx_platform dw_dmac videobuf2_common video mc drm_display_helper wmi usbcore cec rc_core btrfs blake2b_generic libcrc32c crc32c_intel xor raid6_pq msr efivarfs -- You are receiving this mail because: You are on the CC list for the bug.
![](https://seccdn.libravatar.org/avatar/a895f78a81a109471893519443e4d933.jpg?s=120&d=mm&r=g)
https://bugzilla.suse.com/show_bug.cgi?id=1225636
https://bugzilla.suse.com/show_bug.cgi?id=1225636#c9
--- Comment #9 from Clayton Castro
participants (1)
-
bugzilla_noreply@suse.com