Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Freeze in Arch Linux #265

Open
davix3f opened this issue Apr 25, 2022 · 1 comment
Open

Freeze in Arch Linux #265

davix3f opened this issue Apr 25, 2022 · 1 comment

Comments

@davix3f
Copy link

davix3f commented Apr 25, 2022

Didn't find any similar issue, so I'm opening a new one.

HW:
MacBook Air 2011
i5-4260U - 4GB RAM
Arch Linux 5.15.35-1

Driver installs fine, both from AUR and compiling manually. It is also loaded correctly at reboot etcetera:

lsmod | grep facetime
facetimehd            122880  0
videobuf2_dma_sg       20480  1 facetimehd
videobuf2_v4l2         40960  1 facetimehd
videobuf2_common       81920  4 videobuf2_v4l2,facetimehd,videobuf2_dma_sg,videobuf2_memops
videodev              303104  3 videobuf2_v4l2,facetimehd,videobuf2_common

However, /dev/vide0 is not created. modprobe -r bdc_pci doesn't work, as the module does not exist in the first place.
If I try to modprobe -r facetimehd && modprobe facetimehd the laptop freezes and hard reboot is required. Sometimes, however, the driver gets reloaded, and /dev/video0 is created, if I execute this command sequence:

modprobe -r facetimehd
modprobe -r videobuf2_v4l2
modprobe -r videobuf2_dma_sg
modprobe videobuf2_v4l2
modprobe videobuf2_dma_sg
modprobe facetimehd

but most of the times even this solution just ends up in a frozen laptop. This the result of a dmesg | grep facetime after a clean reboot, to see what's happening when the driver is loaded during boot.

[    6.246902] facetimehd 0000:02:00.0: Found FaceTime HD camera with device id: 1570
[    6.247137] facetimehd 0000:02:00.0: Setting 64bit DMA mask
[    6.256599] facetimehd 0000:02:00.0: S2 PCIe link init succeeded
[    6.256665] facetimehd 0000:02:00.0: Refclk: 25MHz (0xa)
[    6.266687] facetimehd 0000:02:00.0: PLL reset finished
[    6.266693] facetimehd 0000:02:00.0: Waiting for S2 PLL to lock at 450 MHz
[    6.266708] facetimehd 0000:02:00.0: S2 PLL is locked after 10 us
[    6.276722] facetimehd 0000:02:00.0: S2 PLL is in bypass mode
[    6.296787] facetimehd 0000:02:00.0: DDR40 PHY PLL locked on safe settings
[    6.296805] facetimehd 0000:02:00.0: STRAP valid
[    6.296807] facetimehd 0000:02:00.0: Configuring DDR PLLs for 450 MHz
[    6.296816] facetimehd 0000:02:00.0: DDR40 PLL is locked after 0 us
[    6.296828] facetimehd 0000:02:00.0: First DDR40 VDL calibration completed after 3 us
[    6.296837] facetimehd 0000:02:00.0: Second DDR40 VDL calibration completed after 1 us
[    6.296839] facetimehd 0000:02:00.0: Using step size 146
[    6.296844] facetimehd 0000:02:00.0: VDL set to: coarse=0x10008, fine=0x10119
[    6.296851] facetimehd 0000:02:00.0: Virtual VTT enabled
[    6.317374] facetimehd 0000:02:00.0: S2 DRAM memory address: 0x22159559
[    6.317397] facetimehd 0000:02:00.0: Rewrite DDR mode registers succeeded
[    6.317663] facetimehd 0000:02:00.0: Full memory verification succeeded! (0)
[    6.438084] facetimehd 0000:02:00.0: Loaded firmware, size: 1392kb
[    6.515921] facetimehd 0000:02:00.0: ISP woke up after 0ms
[    6.515932] facetimehd 0000:02:00.0: Number of IPC channels: 7, queue size: 44865
[    6.515937] facetimehd 0000:02:00.0: Firmware requested heap size: 3072kb
[   16.520101] facetimehd 0000:02:00.0: Init failed! No second int
[   16.520225] facetimehd: probe of 0000:02:00.0 failed with error -5

I have no idea what the last three lines mean, but maybe you guys can get something out of it. I have zero knowledge nor experience in driver programming. Let me know if I can help in any way!

@ipatch
Copy link

ipatch commented Dec 6, 2022

attempted to install this driver with a new install of archlinux this afternoon, and sure enough i'm getting a similar error message,

[  +0.000012] facetimehd 0000:04:00.0: Virtual VTT enabled
[  +0.020538] facetimehd 0000:04:00.0: S2 DRAM memory address: 0x22159559
[  +0.000029] facetimehd 0000:04:00.0: Rewrite DDR mode registers succeeded
[  +0.000223] facetimehd 0000:04:00.0: Full memory verification succeeded! (0)
[  +0.115435] facetimehd 0000:04:00.0: Loaded firmware, size: 1392kb
[  +0.040714] facetimehd 0000:04:00.0: ISP woke up after 0ms
[  +0.000015] facetimehd 0000:04:00.0: Number of IPC channels: 7, queue size: 44865
[  +0.000009] facetimehd 0000:04:00.0: Firmware requested heap size: 3072kb
[  +0.010034] facetimehd 0000:04:00.0: ISP second int after 0ms
[  +0.000008] facetimehd 0000:04:00.0: Channel description table at 00800000
[  +0.010343] facetimehd 0000:04:00.0: magic value: 00000000 after 0 ms
[  +0.000008] facetimehd 0000:04:00.0: Enabling interrupts
[  +0.000247] facetimehd 0000:04:00.0: Direct firmware load for facetimehd/1871_01XX.dat failed with error -2

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants