iSight Macbook 4.1 web cam

This forum is dedicated to basic help and support :

Ask here your questions about basic installation and usage of Mageia. For example you may post here all your questions about getting Mageia isos and installing it, configuring your printer, using your word processor etc.

Try to ask your questions in the right sub-forum with as much details as you can gather. the more precise the question will be, the more likely you are to get a useful answer

iSight Macbook 4.1 web cam

Postby newbie » Jul 7th, '20, 20:58

Hi all,
can any one help me, please. I successfully installed Mageia 7.1 on Macbook 4.1 the white one. I am having problems with the driver for Mac iSight webcam. I successfully installed the isight-firmware-tools-1.6-2.mga7 and doing a command
Code: Select all
lsusb

Code: Select all
Bus 002 Device 002: ID 05ac:8300 Apple, Inc. Built-in iSight (no firmware loaded)
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 007 Device 003: ID 05ac:0229 Apple, Inc. Internal Keyboard/Trackpad (ANSI)
Bus 007 Device 002: ID 05ac:8242 Apple, Inc. Built-in IR Receiver
Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 006: ID 058f:6387 Alcor Micro Corp. Flash Drive
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 002: ID 05ac:1000 Apple, Inc. Bluetooth HCI MacBookPro (HID mode)
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

shows that there's no firmware loaded. How to proceed in order to make iSight work?
Thanks,
Daniel
newbie
 
Posts: 15
Joined: Jul 6th, '20, 00:57

Re: iSight Macbook 4.1 web cam

Postby doktor5000 » Jul 8th, '20, 16:54

Please post the output of
Code: Select all
journalctl -ab|grep -iE "isight|ift"


Also, did you provide the firmware already? This is explained in more detail at e.g. https://wiki.archlinux.org/index.php/Mac#iSight

From

/usr/share/doc/isight-firmware-tools/README wrote:
[...]

ift-extract :
—————————————

ift-extract extracts isight.fw from any AppleUSBVideoSupport
driver from Darwin. This driver is located in
/System/Library/Extensions/IOUSBFamily.kext/Contents/PlugIns/AppleUSBVideoSupport.kext/Contents/MacOS/AppleUSBVideoSupport
on your Mac OS X root partition.
Cauldron is not for the faint of heart!
Caution: Hot, bubbling magic inside. May explode or cook your kittens!
----
Disclaimer: Beware of allergic reactions in answer to unconstructive complaint-type posts
User avatar
doktor5000
 
Posts: 17630
Joined: Jun 4th, '11, 10:10
Location: Leipzig, Germany

Re: iSight Macbook 4.1 web cam

Postby newbie » Jul 8th, '20, 23:32

Hi, thanks again Doktor
Code: Select all
journalctl -ab |grep -iE "isight|ift"

Code: Select all
 jul 08 16:26:06 localhost kernel: efifb: Truecolor: size=8:8:8:8, shift=24:16:8:0
jul 08 16:26:12 localhost kernel: usb 2-4: Direct firmware load for isight.fw failed with error -2
jul 08 16:26:12 localhost kernel: Unable to load isight firmware
jul 08 16:26:12 localhost kernel: usbcore: registered new interface driver isight_firmware

Also, did you provide the firmware already? This is explained in more detail at e.g. https://wiki.archlinux.org/index.php/Mac#iSight

I'll try this just now and post here news
newbie
 
Posts: 15
Joined: Jul 6th, '20, 00:57

Re: iSight Macbook 4.1 web cam

Postby newbie » Jul 9th, '20, 01:02

Hi again
Code: Select all
ift-extract --apple-driver AppleUSBVideoSuport

did extract firmware to
Code: Select all
/usr/lib/firmware/isight.fw

after rebooting i ran drakhardware which installed many rpms and now isight is under scanner it really believes it is a scanner (is this correct?). I installed cheese and the webcam still doesn't work. drakhardware says there is no module
newbie
 
Posts: 15
Joined: Jul 6th, '20, 00:57

Re: iSight Macbook 4.1 web cam

Postby newbie » Jul 9th, '20, 14:07

I found on the internet in some Ubunto web site which I don't remember how to install bcw_pci .
As root do
Code: Select all
urpmi git

Code: Select all
cd /usr/src/

Code: Select all
git clone https://github.com/patjak/bcwc_pcie

Code: Select all
cd bcwc_pcie/

Code: Select all
make

Code: Select all
make install

then this installer did not find System.map so linking solved the problem, apparently
Code: Select all
cd ..

Code: Select all
cd kernel-5.6.14-desktop-2.mga7/

which is the kernel in uname -a then
Code: Select all
ln -s /boot/System.map-5.6.14-desktop-2.mga7 System.map

after this turn to
Code: Select all
cd ../bcwc_pci

Code: Select all
make

Code: Select all
make install

then it did went through and installed the module. Camera is working. But is unstable because of initialization (grub) in my case.
newbie
 
Posts: 15
Joined: Jul 6th, '20, 00:57

Re: iSight Macbook 4.1 web cam

Postby mitlox » Mar 8th, '24, 06:26

Hi,
Thank you for your instructions. Unfortunately, in Cheese I get "No device found". Please find below my steps:

```
Code: Select all
$ sudo urpmi kernel-desktop-latest kernel-desktop-devel-latest git
[sudo] password for michal:
Packages git-2.41.0-1.mga9.x86_64, kernel-desktop-latest-6.6.18-1.mga9.x86_64, kernel-desktop-devel-latest-6.6.18-1.mga9.x86_64 are already installed
[michal@localhost ~]$ cd /usr/src/
```
```
[michal@localhost src]$ sudo git clone https://github.com/patjak/bcwc_pcie
Cloning into 'bcwc_pcie'...
remote: Enumerating objects: 1161, done.
remote: Counting objects: 100% (78/78), done.
remote: Compressing objects: 100% (40/40), done.
remote: Total 1161 (delta 47), reused 56 (delta 38), pack-reused 1083
Receiving objects: 100% (1161/1161), 419.58 KiB | 1.29 MiB/s, done.
Resolving deltas: 100% (774/774), done.
```
```
[michal@localhost src]$ cd bcwc_pcie/
[michal@localhost bcwc_pcie]$ sudo make && sudo make install
make -C /lib/modules/6.6.18-desktop-1.mga9/build M=/usr/src/bcwc_pcie modules
make[1]: Entering directory '/usr/src/kernel-6.6.18-desktop-1.mga9'
  CC [M]  /usr/src/bcwc_pcie/fthd_ddr.o
  CC [M]  /usr/src/bcwc_pcie/fthd_hw.o
  CC [M]  /usr/src/bcwc_pcie/fthd_drv.o
  CC [M]  /usr/src/bcwc_pcie/fthd_ringbuf.o
  CC [M]  /usr/src/bcwc_pcie/fthd_isp.o
  CC [M]  /usr/src/bcwc_pcie/fthd_v4l2.o
  CC [M]  /usr/src/bcwc_pcie/fthd_buffer.o
  CC [M]  /usr/src/bcwc_pcie/fthd_debugfs.o
  LD [M]  /usr/src/bcwc_pcie/facetimehd.o
  MODPOST /usr/src/bcwc_pcie/Module.symvers
  CC [M]  /usr/src/bcwc_pcie/facetimehd.mod.o
  LD [M]  /usr/src/bcwc_pcie/facetimehd.ko
make[1]: Leaving directory '/usr/src/kernel-6.6.18-desktop-1.mga9'
make -C /lib/modules/6.6.18-desktop-1.mga9/build M=/usr/src/bcwc_pcie modules_install
make[1]: Entering directory '/usr/src/kernel-6.6.18-desktop-1.mga9'
  INSTALL /lib/modules/6.6.18-desktop-1.mga9/updates/facetimehd.ko
  DEPMOD  /lib/modules/6.6.18-desktop-1.mga9
Warning: modules_install: missing 'System.map' file. Skipping depmod.
make[1]: Leaving directory '/usr/src/kernel-6.6.18-desktop-1.mga9'
```
```
[michal@localhost bcwc_pcie]$ uname -a
Linux localhost 6.6.18-desktop-1.mga9 #1 SMP PREEMPT_DYNAMIC Sat Feb 24 02:17:35 UTC 2024 x86_64 GNU/Linux
```
```
[michal@localhost bcwc_pcie]$ cd ..
[michal@localhost src]$ cd kernel-6.6.18-desktop-1.mga9/
```
```
[michal@localhost kernel-6.6.18-desktop-1.mga9]$ sudo ln -s /boot/System.map-6.6.18-desktop-1.mga9 System.map
```
```
[michal@localhost kernel-6.6.18-desktop-1.mga9]$ cd ../bcwc_pcie/
[michal@localhost bcwc_pcie]$ sudo make && sudo make install
make -C /lib/modules/6.6.18-desktop-1.mga9/build M=/usr/src/bcwc_pcie modules
make[1]: Entering directory '/usr/src/kernel-6.6.18-desktop-1.mga9'
make[1]: Leaving directory '/usr/src/kernel-6.6.18-desktop-1.mga9'
make -C /lib/modules/6.6.18-desktop-1.mga9/build M=/usr/src/bcwc_pcie modules_install
make[1]: Entering directory '/usr/src/kernel-6.6.18-desktop-1.mga9'
  INSTALL /lib/modules/6.6.18-desktop-1.mga9/updates/facetimehd.ko
  DEPMOD  /lib/modules/6.6.18-desktop-1.mga9
make[1]: Leaving directory '/usr/src/kernel-6.6.18-desktop-1.mga9'
```
```
[michal@localhost bcwc_pcie]$ sudo modprobe facetimehd
[michal@localhost bcwc_pcie]$ lsmod | grep facetimehd
facetimehd            126976  0
videobuf2_dma_sg       16384  1 facetimehd
videobuf2_v4l2         36864  1 facetimehd
videodev              356352  2 videobuf2_v4l2,facetimehd
videobuf2_common       77824  4 videobuf2_v4l2,facetimehd,videobuf2_dma_sg,videobuf2_memops

```

What did I miss?
Last edited by isadora on Mar 8th, '24, 08:59, edited 1 time in total.
Reason: Please place command-output between {CODE]-tags, for improving readability
mitlox
 
Posts: 5
Joined: Jan 1st, '24, 13:51

Re: iSight Macbook 4.1 web cam

Postby doktor5000 » Mar 8th, '24, 17:13

Cauldron is not for the faint of heart!
Caution: Hot, bubbling magic inside. May explode or cook your kittens!
----
Disclaimer: Beware of allergic reactions in answer to unconstructive complaint-type posts
User avatar
doktor5000
 
Posts: 17630
Joined: Jun 4th, '11, 10:10
Location: Leipzig, Germany

Re: iSight Macbook 4.1 web cam

Postby mitlox » Mar 11th, '24, 12:46

Hi, Thank you. I was missing these steps:

Code: Select all
[michal@localhost ~]$ cd Downloads/
[michal@localhost Downloads]$ git clone https://github.com/patjak/facetimehd-firmware.git
Cloning into 'facetimehd-firmware'...
remote: Enumerating objects: 899, done.
remote: Counting objects: 100% (14/14), done.
remote: Compressing objects: 100% (9/9), done.
remote: Total 899 (delta 5), reused 12 (delta 5), pack-reused 885
Receiving objects: 100% (899/899), 294.35 KiB | 1.54 MiB/s, done.
Resolving deltas: 100% (590/590), done.
[michal@localhost Downloads]$ cd facetimehd-firmware/
[michal@localhost facetimehd-firmware (master)]$ ls
debian/  extract-firmware.sh*  facetimehd-firmware-install.sh*  Makefile
[michal@localhost facetimehd-firmware (master)]$ make

Checking dependencies for driver download...
/usr/bin/curl
/usr/bin/xzcat
/usr/bin/cpio

Downloading the driver, please wait...


Found matching hash from OS X, El Capitan 10.11.5
==> Extracting firmware...
 --> Decompressing the firmware using gzip...
 --> Deleting temporary files...
 --> Extracted firmware version 1.43.0

[michal@localhost facetimehd-firmware (master)]$ sudo make install
[sudo] password for michal:
Copying firmware into '//usr/lib/firmware/facetimehd'

[michal@localhost ~]$  sudo reboot


Chees only show a photo and I can't change to video. However, Zoom and Mplayer working fine:
Code: Select all
[michal@localhost ~]$ mplayer tv://
MPlayer 1.5-12.mga9-12 (C) 2000-2022 MPlayer Team
do_connect: could not connect to socket
connect: No such file or directory
Failed to open LIRC support. You will not be able to use your remote control.

Playing tv://.
TV file format detected.
Selected driver: v4l2
 name: Video 4 Linux 2 input
 author: Martin Olschewski <olschewski@zpr.uni-koeln.de>
 comment: first try, more to come ;-)
v4l2: your device driver does not support VIDIOC_G_STD ioctl, VIDIOC_G_PARM was used instead.
Selected device: Apple Facetime HD
 Capabilities:  video capture  read/write  streaming
 supported norms:
 inputs: 0 = Camera;
 Current input: 0
 Current format: YUYV
tv.c: norm_from_string(pal): Bogus norm parameter, setting default.
v4l2: ioctl enum norm failed: Inappropriate ioctl for device
Error: Cannot set norm!
Selected input hasn't got a tuner!
v4l2: ioctl set mute failed: Invalid argument
==========================================================================
Opening video decoder: [raw] RAW Uncompressed Video
Movie-Aspect is undefined - no prescaling applied.
VO: [xv] 640x480 => 640x480 Packed YUY2  [zoom]
Selected video codec: [rawyuy2] vfm: raw (RAW YUY2)
==========================================================================
Audio: no sound
Starting playback...
V:   0.0 989/989 ??% ??% ??,?% 0 0


MPlayer interrupted by signal 2 in module: video_read_frame
V:   0.0 990/990 ??% ??% ??,?% 0 0
v4l2: ioctl set mute failed: Invalid argument
v4l2: 990 frames successfully processed, -989 frames dropped.


How to get video playback in Chees?
How to get automatically the compiled when the Kernel get updated?

Thank you in advance
mitlox
 
Posts: 5
Joined: Jan 1st, '24, 13:51

Re: iSight Macbook 4.1 web cam

Postby doktor5000 » Mar 11th, '24, 18:38

mitlox wrote:How to get video playback in Chees?


Do you mean cheese?
There could be many reasons, it would help if you would run cheese from a terminal and post the messages here during video recording/playback
See e.g. https://askubuntu.com/questions/797366/ ... the-webcam or https://ubuntuforums.org/showthread.php?t=2481916


mitlox wrote:How to get automatically the compiled when the Kernel get updated?

You'd need to turn it into a DKMS module. See e.g. https://wiki.mageia.org/en/DKMS_packaging_policy
Cauldron is not for the faint of heart!
Caution: Hot, bubbling magic inside. May explode or cook your kittens!
----
Disclaimer: Beware of allergic reactions in answer to unconstructive complaint-type posts
User avatar
doktor5000
 
Posts: 17630
Joined: Jun 4th, '11, 10:10
Location: Leipzig, Germany

Re: iSight Macbook 4.1 web cam

Postby mitlox » Mar 12th, '24, 12:58

Unfortunately, `$ cheese` on command line does not provide any output.

Are the below instructions correct for DKMS?

Code: Select all
$ sudo urpmi dkms
$ sudo mkdir /usr/src/facetimehd-0.1
$ sudo cp -a /usr/src/bcwc_pcie/* /usr/src/facetimehd-0.1/


Create a `dkms.conf` file inside `/usr/src/facetimehd-0.1` with the following content:

Code: Select all
PACKAGE_NAME="facetimehd"
PACKAGE_VERSION="0.1"
CLEAN="make clean"
MAKE="make -C $kernel_source_dir M=$dkms_tree/$PACKAGE_NAME/$PACKAGE_VERSION/build"
BUILT_MODULE_NAME[0]="facetimehd"
BUILT_MODULE_LOCATION[0]="."
DEST_MODULE_LOCATION[0]="/updates"
AUTOINSTALL="yes"


Build and Install the Module

Code: Select all
$ sudo dkms add -m facetimehd -v 0.1
$ sudo dkms build -m facetimehd -v 0.1
$ sudo dkms install -m facetimehd -v 0.1
$ sudo modprobe facetimehd


How to get include `sudo ln -s /boot/System.map-6.6.18-desktop-1.mga9 System.map` in DKMS. Otherwise I will get `Warning: modules_install: missing 'System.map' file. Skipping depmod.`?

thank you in advance
mitlox
 
Posts: 5
Joined: Jan 1st, '24, 13:51

Re: iSight Macbook 4.1 web cam

Postby doktor5000 » Mar 12th, '24, 19:45

Looks about right.
Although BUILT_MODULE_LOCATION[0]="." is pointless as that is the default

For your other question, you should have a /boot/System.map symlink by default pointing to the one for the currently used kernel. The handling for that should be fixed in the Makefile for the driver you build.
Or simply add depmod -a at the end of the make_install target in the makefile.
Cauldron is not for the faint of heart!
Caution: Hot, bubbling magic inside. May explode or cook your kittens!
----
Disclaimer: Beware of allergic reactions in answer to unconstructive complaint-type posts
User avatar
doktor5000
 
Posts: 17630
Joined: Jun 4th, '11, 10:10
Location: Leipzig, Germany


Return to Basic support

Who is online

Users browsing this forum: No registered users and 1 guest

cron