patjak / facetimehd

Reverse engineered Linux driver for the FacetimeHD (Broadcom 1570) PCIe webcam
GNU General Public License v2.0
1.35k stars 160 forks source link

[Solved] gzip: firmware.bin.tmp: not in gzip format Error after # make #253

Open cdanokes opened 2 years ago

cdanokes commented 2 years ago

I am running Ubuntu 20.04.3 on a USB stick through my Macbook Pro 2015. I hadn't needed the webcam until I tried having a meeting today and ran into the issue that this repository solves. Following the instructions here alone I ran into issues and found an initial solution here https://www.reddit.com/r/linuxquestions/comments/6d8lx1/facetime_hd_camera_on_ubuntu/ The important piece was STEP 2 BEFORE STARTING boot OSX and make sure to get the firmware AppleCameraInterface from /System/Library/Extensions/AppleCameraInterface.kext/Contents/MacOS/ and putting that file into the facetimehd-firmware directory before running sudo make. I did this and proceeded, adjusting the hashes as mentioned in the above link, but at the sudo make step I kept getting the error gzip: firmware.bin.tmp: not in gzip format It seemed really odd that it didn't like the file. Long story short, I realized that extract-firmware.sh file was written for OS X El Capitan 10.11.5. My Mac is currently running Big Sur, so I guessed that the version of AppleCameraInterface firmware I had copied over was not compatible.

I did not know how to find the OS X El Capitan 10.11.5 version of the AppleCameraInterface firmware online (maybe somebody else knows). However, I knew I had time machine backups of my computer from when I was running OS X El Capitan 10.11.5, so I went in there and copied that version of the AppleCameraInterface firmware. For completeness, the version is the one last modified Wed 02 Dec 2015.

Then I started all over. I first deleted the patjack/facetimehd-firmware repository, and redownloaded it starting from "Getting Started". I copied the AppleCameraInterface firmware file into that directory.

As per the reddit link above, I first checked the hash of the AppleCameraInterface firmware file. Turns out this time it was identical to what was already in the original extract-firmware.sh! So I didn't change anything.

I ran sudo make and there were no errors! It Extracted firmware version 1.43.0 no problem.

I ran sudo make install, again success.

I grabbed the bcwc_pcie repository as per the Installation page of the wiki. I proceeded with sudo make and sudo make install. I did get a couple errors (see below) but I carried on with sudo depmod, sudo modprobe facetimehd. Then I tested the camera in google meets and it worked great!

At main.c:160:

Hopefully this can help someone, thought I'd share.

Thank you patjak for the great solution!

zetaomegagon commented 2 years ago

@cdanokes can you add something like [Solved] to your title. I think that would help with visibility and I'm not sure this should be closed, as it seems like it could possibly be used to update the wiki?

@patjak wdy think?