uvcvideo: iSight firmware loading does not work

Bug #185634 reported by Javier Cabezas
62
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Mactel Support
Fix Released
Low
Unassigned
iSight Firmware Tools
Fix Released
Undecided
Unassigned
linux-ubuntu-modules-2.6.24 (Ubuntu)
Invalid
Undecided
Unassigned
ubuntu-meta (Ubuntu)
Invalid
Medium
Unassigned

Bug Description

Binary package hint: linux-restricted-modules-2.6.24-4-generic

I am having problems with my iSight webcam in Hardy. I have copied AppleUSBVideoSupport to the firmware directory, but when I insert the isight_usb module I get:

[26902.255394] uvcvideo: iSight: firmware loading init failed
[26902.255745] usbcore: registered new interface driver isight
[26902.255749] USB Video Class driver (v0.1.0)

Revision history for this message
Bruno Santos (bsantos) wrote :

uvcvideo belongs to linux-ubuntu-modules.
I could go as far as seeing where it fails:
if (usb_control_msg(dev, usb_rcvctrlpipe(dev, 0), 0xA0, 0x40, 0xe600, 0,
                            "\1", 1, TIMEOUT) < 0)

Something goes wrong in this call, but I don't know how to debug further. :-(

Revision history for this message
Bruno Santos (bsantos) wrote :

The file is: ubuntu/media/usbvideo/uvc_isight_firmware.c in the linux-ubuntu-modules source, if someone knows how to debug the the usb call.

Revision history for this message
Bruno Santos (bsantos) wrote :

Oh and in 2.6.24-7 the module isight_usb is gone since the patches were merged to uvcvideo.

Revision history for this message
Javier Cabezas (javier-cabezas) wrote :

Yes, isight patches have been merged to uvcvideo. However they it is not working properly yet:

$ sudo modprobe uvcvideo

[ 2076.312730] uvcvideo: iSight firmware: firmware loading init failed.
[ 2076.313004] usbcore: registered new interface driver uvcvideo
[ 2076.313009] USB Video Class driver (v0.1.0)

Revision history for this message
Ulf Karlsson (ohmega) wrote :

I have the same problem with the isight and uvcvideo.

Are we supposed to extract the firmware with the isight-firmware-tools? This package can be obtained at

http://bersace03.free.fr/ift/

There is also an Ubuntu package by Etienne Bersace at

http://ppa.launchpad.net/bersace/ubuntu/pool/main/i/isight-firmware-tools/isight-firmware-tools_1.0.2-0ubuntu0~ppa1_i386.deb

The package seems to be pretty recently updated, so I assume that there is some use for it?

The driver appears however to be looking explicitly for the file AppleUSBVideoSupport and not isight.fw that the isight-firmware-tools extracts.

The situation is not entirely clear to me..

Revision history for this message
Étienne BERSAC (bersace) wrote : Re: [Bug 185634] Re: iSight doesn't work in Hardy Kernels

Did you read the howto at http://bersace03.free.fr/ift ?

Étienne.
--
E Ultreïa !

Revision history for this message
Ulf Karlsson (ohmega) wrote : Re: iSight doesn't work in Hardy Kernels
Download full text (3.7 KiB)

Yes, I read the howto but I could not get it to work even after removing the ubuntu drivers.

There was a problem with ift-load on ubuntu since usbfs wasn't mounted.

Once I had mounted usbfs with

$ sudo mount -t usbfs /dev/bus/usb /proc/bus/usb/

I could run ift-load (after checking the bus/device id with lspci):

$ sudo ./ift-load -f /lib/firmware/isight.fw -b 005 -d 006
ift-load: Firmware loaded succesfully to 005:006

Now, I tried to modprobe uvcvideo from the SVN repository but got another error:

[ 3706.366474] uvcvideo: Found UVC 1.00 device Built-in iSight (05ac:8501)
[ 3706.369141] uvcvideo: Failed to query (135) UVC control 1 (unit 0) : -32 (exp. 26).
[ 3706.371099] usbcore: registered new interface driver uvcvideo
[ 3706.371109] USB Video Class driver (SVN r182)

Or with modprobe uvcvideo trace=65536:

[ 3178.990711] uvcvideo: Adding mapping Brightness to control 00000000-0000-0000-0000-000000000101/2.
[ 3178.990722] uvcvideo: Adding mapping Contrast to control 00000000-0000-0000-0000-000000000101/3.
[ 3178.990729] uvcvideo: Adding mapping Hue to control 00000000-0000-0000-0000-000000000101/6.
[ 3178.990735] uvcvideo: Adding mapping Saturation to control 00000000-0000-0000-0000-000000000101/7.
[ 3178.990742] uvcvideo: Adding mapping Sharpness to control 00000000-0000-0000-0000-000000000101/8.
[ 3178.990748] uvcvideo: Adding mapping Gamma to control 00000000-0000-0000-0000-000000000101/9.
[ 3178.990755] uvcvideo: Adding mapping Backlight Compensation to control 00000000-0000-0000-0000-000000000101/1.
[ 3178.990762] uvcvideo: Adding mapping Gain to control 00000000-0000-0000-0000-000000000101/4.
[ 3178.990768] uvcvideo: Adding mapping Power Line Frequency to control 00000000-0000-0000-0000-000000000101/5.
[ 3178.990776] uvcvideo: Adding mapping Hue, Auto to control 00000000-0000-0000-0000-000000000101/16.
[ 3178.990783] uvcvideo: Adding mapping Exposure, Auto to control 00000000-0000-0000-0000-000000000001/2.
[ 3178.990791] uvcvideo: Adding mapping Exposure, Auto Priority to control 00000000-0000-0000-0000-000000000001/3.
[ 3178.990798] uvcvideo: Adding mapping Exposure (Absolute) to control 00000000-0000-0000-0000-000000000001/4.
[ 3178.990806] uvcvideo: Adding mapping White Balance Temperature, Auto to control 00000000-0000-0000-0000-000000000101/11.
[ 3178.990815] uvcvideo: Adding mapping White Balance Temperature to control 00000000-0000-0000-0000-000000000101/10.
[ 3178.990823] uvcvideo: Adding mapping Focus (absolute) to control 00000000-0000-0000-0000-000000000001/6.
[ 3178.990831] uvcvideo: Adding mapping Focus, Auto to control 00000000-0000-0000-0000-000000000001/8.
[ 3178.990881] uvcvideo: Probing known UVC device 4 (05ac:8501)
[ 3178.990897] uvcvideo: Found format YUV 4:2:2 (UYVY).
[ 3178.990901] uvcvideo: - 640x480 (30.0 fps)
[ 3178.990904] uvcvideo: - 352x288 (30.0 fps)
[ 3178.990907] uvcvideo: - 320x240 (30.0 fps)
[ 3178.990913] uvcvideo: Found a Status endpoint (addr 81).
[ 3178.990917] uvcvideo: Found UVC 1.00 device Built-in iSight (05ac:8501)
[ 3178.990924] uvcvideo: Added control 00000000-0000-0000-0000-000000000101/2 to device 4 entity 2
[ 3178.990931] uvcvideo: Added control 00000000-0000-0000-0000-000000000101/...

Read more...

Revision history for this message
Ulf Karlsson (ohmega) wrote :

OK, never mind the error I got in my last comment, it was not fatal - the isight does work!

I think these are the steps:

Install isight-firmware-tools from:

http://ppa.launchpad.net/bersace/ubuntu/pool/main/i/isight-firmware-tools/isight-firmware-tools_1.0.2-0ubuntu0~ppa1_i386.deb

Then extract the firmware with ift-extract, and add an entry for usbfs to /etc/fstab (or mount it directly):

sudo addgroup --system usbfs
cat /etc/group | grep usbfs | sed -e 's/.*:.*:\([0-9]*\):.*/\1/' | \
xargs -iUSBFS_ID echo none /proc/bus/usb usbfs devgid=USBFS_ID,devmode=664 0 0 | sudo tee -a /etc/fstab

Now reboot and the firmware should be loaded by udev automatically.

If you do modprobe uvcvideo, the firmware is already loaded and it will not fail.

I suggest that the firmware loading is removed from linux-ubuntu-modules-2.6.24, as they are in the upstream uvcvideo. The firmware loading inside uvcvideo does not work.

Can anyone confirm this?

Changed in linux-ubuntu-modules-2.6.24:
assignee: nobody → ubuntu-kernel-team
importance: Undecided → Medium
status: New → Triaged
Revision history for this message
Ricky Campbell (cyberdork33) wrote :

Method above (finally) worked for me...
For those interested, there are also 64bit packages:
http://ppa.launchpad.net/bersace/ubuntu/pool/main/i/isight-firmware-tools/isight-firmware-tools_1.0.2-0ubuntu0~ppa1_amd64.deb

Changed in mactel-support:
importance: Undecided → Medium
Changed in mactel-support:
status: New → Confirmed
Revision history for this message
Ricky Campbell (cyberdork33) wrote :

I did get everything working, gstreamer, ekiga, etc, but after reboot it is all broken again. I haven't messed with it again.

Revision history for this message
PeterKnaggs (peter-knaggs) wrote :

Sorry to spam everyone subscribed to this bug: I wrote up a quick summary over here:
  http://www.penlug.org/twiki/bin/view/Main/LinuxHardwareInfoAppleiMac24#Update_for_Ubuntu_8_04_Hardy_Her
Hope it helps anyone trying to the the iSight working on the iMac24 with alpha3 of Hardy Heron.

Revision history for this message
mabovo (mabovo) wrote :

Thanks PeterKnaggs to the Hardy isight update.
I had to modify busid from 005 -d 008 to 005 -d 003 in order to load the firmware. See below:

Revision history for this message
Ricky Campbell (cyberdork33) wrote :

Using PeterKnaggs instructions, (minus compiling uvcvideo, and just using the version in the repo), everything is working, even after reboot. I am current in Hardy.

Revision history for this message
Colin Ian King (colin-king) wrote :

Hi,

As I don't have this hardware I am unable to confirm if this fix / workaround now closes this bug report. Is it OK now to mark this as fixed?

Revision history for this message
Ricky Campbell (cyberdork33) wrote :

No something is still broken. I don't know that it is the kernel's fault though. Once you get it all working, you have to load the firmware manually after each reboot. (It worked through a reboot once for me, but since then I had to reload firmware.) It may be a problem with the udev rule in the firmware tools package, or the timing of loading the firmware vs. loading uvcvideo. All I know is that after bootup, you load the firmware, then everything works.

The command is something like:
sudo ./ift-load -f /lib/firmware/isight.fw -b 005 -d 003
being sure to specify the bus and device IDs correctly (found via lsusb).

Oh, the usbfs needs to be mounted as instructed above for this too work too.

Revision history for this message
Bruno Santos (bsantos) wrote :

Can't the userland tools be packaged and somekind of install script for the uvcvideo module be installed if the iSight is present?

Something like a install line somewhere in /etc/modprobe.d/uvcvideo:

install uvcvideo /sbin/modprobe --ignore-install uvcvideo && { /usr/lib/udev/ift-load -f /lib/firmware/isight.fw -b 005 -d 003 ; }

Maybe a script to detect the various models available and in what bus they are and check if the firmware is loaded (the device id also changes when the firmware is loaded), and load it if needed...

Revision history for this message
Ulf Karlsson (ohmega) wrote : Re: [Bug 185634] Re: uvcvideo: iSight firmware loading does not work

In fact udev is supposed to load the firmware in case isight when the
isight-firmware-tools is installed and isight is present.

Look at /etc/udev/rules.d/isight.rules.

Note that /proc/sys/usb must have been mounted when udev loads modules
for ift-load to work.

Revision history for this message
Ricky Campbell (cyberdork33) wrote :

yea but the udev rule is not working... I add the usb lines to fstab, and I still have to manually invoke ift-load.

Revision history for this message
marktraceur (marktraceur) wrote :

I have this little script showing how I got it working. I'll check if it works after restarting. This is better than having to get the isight firmware from the Mac partition, it's easily available on the web!

NOTE: To run the script, do:
chmod +x get_isight_working
./get_isight_working

Revision history for this message
Ricky Campbell (cyberdork33) wrote :

you don't need to compile linux-uvc. The Hardy module works fine.

Revision history for this message
mabovo (mabovo) wrote :

There is a new Hal released for testing on http://ubuntuforums.org/showthread.php?t=714694 [Hardy only]

After update Hall I followed all steps on http://www.penlug.org/twiki/bin/view/Main/LinuxHardwareInfoAppleiMac24#Update_for_Ubuntu_8_04_Hardy_Her

Reboot MacBook and tested iSight to see if udev loaded correctly uvcvideo.

On kernel 2.6.24-11 iSight is working now and I will be testing after a few reboots or up to the new kernel update ?

Revision history for this message
Ricky Campbell (cyberdork33) wrote :

well I don't know what has changed... I had a hard drive failure so had to reinstall... This time after using the same methods above, iSIght is working on every boot without issue.

Revision history for this message
mabovo (mabovo) wrote :

Hardy A6 Kernel 2.6-11.20 uvcvideo don't work after reboot.

Revision history for this message
Ricky Campbell (cyberdork33) wrote :

Working just fine for me:
2.6.24-11-generic #1 SMP Fri Feb 29 21:26:31 UTC 2008 x86_64 GNU/Linux

Revision history for this message
mabovo (mabovo) wrote :

Every boot I have to do the following procedure:

mabovo@macbook:~$ cd /lib/firmware/
mabovo@macbook:/lib/firmware$ sudo ift-extract --apple-driver AppleUSBVideoSupport
[sudo] password for mabovo:
** Message: Found Mac OS X.4 intel driver
** Message: Firmware extracted successfully in /lib/firmware/isight.fw
** Message: Apply patch 0 : Fix video control interface descriptor
** Message: Apply patch 1 : Fix video streaming interface descriptor
** Message: Apply patch 2 : Fix video streaming device qualifier
** Message: Firmware patched successfully
mabovo@macbook:/lib/firmware$ cd trunk/
mabovo@macbook:/lib/firmware/trunk$ sudo make
Building USB Video Class driver...
make[1]: Entrando no diretório `/usr/src/linux-headers-2.6.24-12-generic'
  CC [M] /lib/firmware/trunk/uvc_driver.o
  LD [M] /lib/firmware/trunk/uvcvideo.o
  Building modules, stage 2.
  MODPOST 1 modules
WARNING: could not open /lib/firmware/trunk/version.h: Invalid argument
  LD [M] /lib/firmware/trunk/uvcvideo.ko
make[1]: Saindo do diretório `/usr/src/linux-headers-2.6.24-12-generic'
mabovo@macbook:/lib/firmware/trunk$ sudo make install
Installing USB Video Class driver...
make[1]: Entrando no diretório `/usr/src/linux-headers-2.6.24-12-generic'
  INSTALL /lib/firmware/trunk/uvcvideo.ko
  DEPMOD 2.6.24-12-generic
make[1]: Saindo do diretório `/usr/src/linux-headers-2.6.24-12-generic'
depmod -ae `uname -r`
mabovo@macbook:/lib/firmware/trunk$ sudo /usr/lib/udev/ift-load -f /lib/firmware/isight.fw -b 005 -d 003
ift-load: Firmware loaded succesfully to 005:003
mabovo@macbook:/lib/firmware/trunk$ gst-launch-0.10 v4l2src ! video/x-raw-yuv,format=\(fourcc\)UYVY,width=640,height=480 ! ffmpegcolorspace ! ximagesink

(gst-launch-0.10:15997): libgnomevfs-WARNING **: Cannot load module `/usr/lib/gnome-vfs-2.0/modules/libmapping.so' (/usr/lib/gnome-vfs-2.0/modules/libmapping.so: Não é possivel abrir arquivo de objetos compartilhado: Arquivo ou diretório inexistente)

(gst-launch-0.10:15997): libgnomevfs-WARNING **: Cannot load module `/usr/lib/gnome-vfs-2.0/modules/libmapping.so' (/usr/lib/gnome-vfs-2.0/modules/libmapping.so: Não é possivel abrir arquivo de objetos compartilhado: Arquivo ou diretório inexistente)

(gst-launch-0.10:15997): libgnomevfs-WARNING **: Cannot load module `/usr/lib/gnome-vfs-2.0/modules/libmapping.so' (/usr/lib/gnome-vfs-2.0/modules/libmapping.so: Não é possivel abrir arquivo de objetos compartilhado: Arquivo ou diretório inexistente)

(gst-launch-0.10:15997): libgnomevfs-WARNING **: Cannot load module `/usr/lib/gnome-vfs-2.0/modules/libmapping.so' (/usr/lib/gnome-vfs-2.0/modules/libmapping.so: Não é possivel abrir arquivo de objetos compartilhado: Arquivo ou diretório inexistente)
Deixando a conexão como PAUSADA ...
A conexão está viva e não necessita PREROLL ...
Deixando a conexão em TOCANDO ...
New clock: GstSystemClock
Aviso: do elemento /pipeline0/v4l2src0: Got unexpected frame size of 153600 instead of 614400.
Informação de depuração adicional:
gstv4l2src.c(1077): gst_v4l2src_get_mmap (): /pipeline0/v4l2src0

Revision history for this message
Ricky Campbell (cyberdork33) wrote :

you should only have to do the very last step if anything... you have already extracted the firmware, so unless you delete it, it should still be there. You should not need to compile another version of uvcvideo (linux-uvc) The module that comes as part of the Hardy kernel is already patched and works fine. The ift-load command is the command that is ran in the udev rule. This is the part that was not running for some reason, but eventually starting working, so if it is not working you should only have to load the firmware only to get it to work again, other wise you have an issue somewhere else.

Revision history for this message
michelem (michele-marcucci) wrote :

I got the isight working with the following command:

sudo /usr/local/lib/udev/ift-load -f /lib/firmware/isight.fw -b 007 -d 002

Revision history for this message
Étienne BERSAC (bersace) wrote :

Hi everyone,

I'm sorry not to have answered question earlier. I've been busy releasing GNOME Scan 0.6 and more. I setted up a git repos with Gitorious : http://gitorious.org/projects/isight-firmware-tools . Yes, i don't use bzr, git rocks so much i drop bzr.

I'm thinking at using a HAL callout for loading the firmware. This will allow more portable firmware loading accross system (Linux, Solaris and BSD) and distributions without needing usbfs or else. I plan to let the udev loader in, but disabled by default.

Comments welcome.

Regards,
Étienne.

Revision history for this message
Étienne BERSAC (bersace) wrote :

Hi,

Uploaded 1.2 with HAL callout :D

Regards,
Étienne.

Revision history for this message
Ricky Campbell (cyberdork33) wrote :

The new firmware tools fixed it on a system that was not loading automatically for me.

Changed in isight-firmware-tools:
status: New → Fix Released
Changed in linux-ubuntu-modules-2.6.24:
status: Triaged → Fix Released
Revision history for this message
John Dong (jdong) wrote :

I don't think this is fixed in l-u-m: [ 367.442459] uvcvideo: iSight firmware: invalid firmware file

The stock AppleUSBVideoSupport still does not work for me without using ift-load. Considering that the isight-firmware-tools are not in Ubuntu, this problem is not fixed.

Changed in linux-ubuntu-modules-2.6.24:
status: Fix Released → Confirmed
Revision history for this message
Ricky Campbell (cyberdork33) wrote :

The uvcvideo module that is in l-u-m is fine and has been working for awhile. That is the only part of Ubuntu this relates to.

Have you tried re-extracting the firmware? uvcvideo seems to be rejecting the firmware load for some reason which means the previous issue is fixed since it wasn't even trying to load firmware with the old version.

I think you may have a slightly different problem. Can you try with a different version of AppleUSBVideoSupport

Revision history for this message
Étienne BERSAC (bersace) wrote : Re: [Bug 185634] Re: uvcvideo: iSight firmware loading does not work

Hi,

Are you sure you have /lib/firmware/isight.fw ? The debs fails silently
if you mispell the path.

Regards,
Étienne.
--
Alléluia !

Revision history for this message
John Dong (jdong) wrote :

Etienne, installing your i-f-t debs work fine on my stock Hardy setup, but the old Gutsy way of just copying over AppleUSBVideoSupport no longer works.

Revision history for this message
Ricky Campbell (cyberdork33) wrote :

that is because you only need the firmware from the AppleUSBVideoSupport file. the ift package does this. This is a change from how it was done previous to Hardy

Revision history for this message
John Dong (jdong) wrote :

I understand that, Ricky. What I am saying though, is just because some 3rd party package addresses proper loading of firmware doesn't mean this is "fixed release" in Ubuntu. This is not meant to be a derogatory statement towards Etienne and other community contributors, but rather for the out-of-the-boxness of Ubuntu. Macbooks and iSights are common hardware and to ask people to go grab a third party deb to get their webcams working is somewhat unreasonable of a solution.

Before marking this fix released in Ubuntu I'd like a bit more closure on how we can better integrate ift's functionality into Ubuntu officially.

Revision history for this message
Ricky Campbell (cyberdork33) wrote :

ift is a separate package though. The Ubuntu package is fixed. Getting a new package (IFT ) into Ubuntu is a completely different matter.

The way that uvcvideo works was changed (outside of Ubuntu) the IFT package has just not made it into Ubuntu yet. Give it some time.

Revision history for this message
John Dong (jdong) wrote :

It is a separate package, but that's not the point:

GUTSY:
Copy over the Apple firmware, iSight works without any additional software.

HARDY:
Copy over Apple firmware, dmesg shows an error.

This behavior in itself is a regression from Gutsy and should be treated as such and fixed. If fixing involves including IFT in Hardy, then let's get the FFe paperwork going right away. Sitting around and waiting at this stage in Hardy's release will result in the iSight not working for this release and everyone having to go to a 3rd party PPA.

Revision history for this message
Ricky Campbell (cyberdork33) wrote :

then do it. I don't know why you are instead complaining in a bug report that doesn't have to do with that.

Revision history for this message
Étienne BERSAC (bersace) wrote :

Hi,

Well, actually this bug is fixed for ift but not for ubuntu. I found Ubuntu quite slow at integrating software :(.

Regards,
Étienne.

Revision history for this message
Étienne BERSAC (bersace) wrote :

Hi,

The bug is not in linux-ubuntu-modules but rather in ubuntu-meta, not including ift. Please include IFT to get straight forward support for iSight.

Regards,
Étienne.

Revision history for this message
John Dong (jdong) wrote :

Subscribing the MOTU release team -- please consider including isight-firmware-tools in Hardy universe, without which we cannot load the firmware onto iSight webcams any longer

Revision history for this message
Scott Kitterman (kitterman) wrote :

We'd need an FFe for that.

Revision history for this message
StefanPotyra (sistpoty) wrote :

kernel team, can you share some insights wether this should go in? Thanks.

Revision history for this message
mabovo (mabovo) wrote :

Still not working !
Not in restricted nor in modules patch ?

Revision history for this message
Étienne BERSAC (bersace) wrote :

Hi,

> Still not working !

Sorry, but such sentence does not help fixing bugs … Can you be more
expressive ?

Étienne.
--
E Ultreïa !

Revision history for this message
StefanPotyra (sistpoty) wrote :

regarding the FFe:
[21:53:15] <crimsun> sistpoty: no. I'd ask for the udev rule to be updated (e.g., checking for ACTION!="add" then short-circuiting, etc.)

so NACK from me.

Revision history for this message
Étienne BERSAC (bersace) wrote :

Hi,

Please update to 1.2 which is based on HAL rather than udev.

Regards,
Étienne.
--
E Ultreïa !

Revision history for this message
Steffen Röcker (sroecker) wrote :

I think we can close this bug, linux-ubuntu-modules-2.6.24 supports firmware loading since 2.6.24-7.11,
so we don't need ift-load anymore.

Can someone uninstall isight-firmware-tools and see if their iSight is working out of the box?
(You just need AppleUSBVideoSupport in /lib/firmware)

Mine gets loaded but fails on the video chain, but I think thats another issue (I filed bug #216310)

Revision history for this message
Ricky Campbell (cyberdork33) wrote :

I think that is wrong. the newer versions of uvcvideo require another tool to load firmware (it was being patched before). i-f-t allows this to be done out of kernelspace.

Revision history for this message
Étienne BERSAC (bersace) wrote : Re: [Mactel-support] [Bug 185634] Re: uvcvideo: iSight firmware loading does not work

Hi,

> I think that is wrong.

Yes, this is completely wrong. Things goes exactly in the reverse
orde :)

> the newer versions of uvcvideo require another
> tool to load firmware (it was being patched before).

Laurent Pinchard, linux-uvc author, never accepted the isight patch
including kernel-space firmware loader. And this is a wise decision. I
reworked the patch which goes from 20K to 7K and implement
isight-firmware-tools to properly load the firmware. The patch has been
accepted upstream.

I moved the extraction code in userspace as isight-firmware-tools. I
also splitted extraction and loading of the firmware, saving use to have
a AppleUSBVideoSupport file lost in /lib/firmwares ;). HAL is meant to
do additionnal job on device in order to get them ready to use. So ift
just do it the right way, as it has been designed for. Something nice
would have been to use generic firmware loading (see unmaintained
fxload).

Ubuntu shipped isight_usb along uvcvideo, but now, isight_usb is
redundant with uvcvideo and ift. It can even be annoying.

Something nice would be to be able to download the driver and extract
the firmware automatically. I never found where to find this driver.
Neither for Windows® nor Mac OS X (and Combo Update weight hundreds of
megabytes).

I wish this mail clarify the situation. Please tell me if we need
something like a wikipage, better launchpad project page description or
anything else.

Regards,
Étienne.
--
E Ultreïa !

Revision history for this message
Adrián (adrianbn) wrote :

Well, at this point Im a bit of confused. I understand the changes but can't see how to make isight work yet. May be a wiki its a good idea.

Revision history for this message
mabovo (mabovo) wrote :

Hi, sorry for the last message. I mean still needs manual intervention.
So, I was configuring i f t 1.2 to compile from sources and got these message :

checking for makeinfo... ${SHELL} /home/mabovo/downloads/isight-firmware-tools-1.2/missing --run makeinfo
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for IFT... yes
checking for LOAD... yes
checking for HAL... configure: error: Package requirements (hal) were not met:

No package 'hal' found

Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.

Alternatively, you may set the environment variables HAL_CFLAGS
and HAL_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.

The /usr/local/etc/udev/rules.d/isight.rules could be used If I downgrade i-f-t to 1.01 ?

Revision history for this message
Étienne BERSAC (bersace) wrote : Re: [Bug 185634] Re: uvcvideo: iSight firmware loading does not work

Hi,

This bug is about firmware loading, not ift compilation. Please don't
spam this bug. Open a question or ask on a forum.

Regards,
Étienne.
--
E Ultreïa !

Revision history for this message
cjp (cjp-0x1) wrote :

So, I noticed /usr/share/hal/fdi/preprobe/20thirdparty/50-isight-firmware.fdi had wrong product_id for my iSight... lsusb reports 8501, not 8300. So I changed it.

Now it appears that hal is trying to load the firmware. But ift-callout is failing?

[ 48.659922] usb 5-4: new high speed USB device using ehci_hcd and address 7
[ 48.794312] usb 5-4: configuration #1 chosen from 1 choice
[ 48.794551] uvcvideo: Found UVC 1.00 device Built-in iSight (05ac:8501)
[ 48.801504] uvcvideo: Failed to query (135) UVC control 1 (unit 0) : -32 (exp. 26).
[ 48.806571] usbcore: registered new interface driver hci_usb
[ 49.094907] uvcvideo: Failed to query (1) UVC control 1 (unit 0) : -71 (exp. 26).
[ 49.095117] usb 5-4: USB disconnect, address 7
[ 50.394496] usb 5-4: new high speed USB device using ehci_hcd and address 8
[ 50.527710] usb 5-4: configuration #1 chosen from 1 choice
[ 50.528508] uvcvideo: Found UVC 1.00 device Built-in iSight (05ac:8501)
[ 50.530900] uvcvideo: Failed to query (135) UVC control 1 (unit 0) : -32 (exp. 26).
[ 50.775298] uvcvideo: Failed to query (1) UVC control 1 (unit 0) : -71 (exp. 26).
[ 50.775509] usb 5-4: USB disconnect, address 8
[ 50.902606] ift-callout[5613]: segfault at 1018 rip 7f968ee8cd3f rsp 7fff975706a0 error 4

uname -a:
Linux byzantium 2.6.24-16-generic #1 SMP Thu Apr 10 12:47:45 UTC 2008 x86_64 GNU/Linux

Suggestons?

Revision history for this message
Ricky Campbell (cyberdork33) wrote :

both 8300 and 8501 are right. It is 8300 with a generic description until firmware is loaded, then it reconnects as a new device.

Changed in mactel-support:
importance: Medium → Low
Revision history for this message
cjp (cjp-0x1) wrote :

Ok, that is strange then. Let me hard boot this macbook to ensure that
the firmware isn't loaded in some broken state already. I'll set that
back to 8300 before the reboot.

Revision history for this message
cjp (cjp-0x1) wrote :

Ok, to 8300 shows up, disconnects, and then becomes 8501. That would suggest to me firmware is loading. (hal and ift-callout are a little *too* quiet... no dmesg output on success?) But still this "No valid video chain found." error...

cjp@byzantium:~$ dmesg | egrep '(uvcvideo|5\-4)'
[ 28.535584] usb 5-4: new high speed USB device using ehci_hcd and address 3
[ 28.672008] usb 5-4: configuration #1 chosen from 1 choice
[ 41.023834] uvcvideo: iSight firmware: firmware successfully loaded.
[ 41.023844] uvcvideo: Found UVC 0.00 device <unnamed> (05ac:8300)
[ 41.023849] uvcvideo: No valid video chain found.
[ 41.023895] usbcore: registered new interface driver uvcvideo
[ 41.095860] usb 5-4: USB disconnect, address 3
[ 42.775095] usb 5-4: new high speed USB device using ehci_hcd and address 6
[ 42.908247] usb 5-4: configuration #1 chosen from 1 choice
[ 42.908503] uvcvideo: Found UVC 1.00 device Built-in iSight (05ac:8501)
[ 42.908525] uvcvideo: No valid video chain found.

Revision history for this message
mabovo (mabovo) wrote :

mine doesn't appear ok to 8300 ?

mabovo@macbook:~$ dmesg | egrep '(uvcvideo|5\-4)'
[ 28.448007] usb 5-4: new high speed USB device using ehci_hcd and address 3
[ 28.580505] usb 5-4: configuration #1 chosen from 1 choice
[ 42.484244] uvcvideo: Found UVC 1.00 device Built-in iSight (05ac:8501)
[ 42.484252] uvcvideo: No valid video chain found.
[ 42.579644] usbcore: registered new interface driver uvcvideo

Revision history for this message
Ricky Campbell (cyberdork33) wrote :

It seems to carryover the firmware sometimes... Mabye only a reboot? I noticed this on my iMac as well. It seems that the newer IFT handles this just fine though (for me anyway).

Revision history for this message
mabovo (mabovo) wrote :

I reinstalled ift and after reboot got same result as cjp.

mabovo@macbook:~$ dmesg | egrep '(uvcvideo|5\-4)
[ 27.362150] usb 5-4: new high speed USB device using ehci_hcd and address 3
[ 27.494410] usb 5-4: configuration #1 chosen from 1 choice
[ 46.745585] uvcvideo: iSight firmware: firmware successfully loaded.
[ 46.745597] uvcvideo: Found UVC 0.00 device <unnamed> (05ac:8300)
[ 46.745602] uvcvideo: No valid video chain found.
[ 46.745646] usbcore: registered new interface driver uvcvideo
[ 46.817517] usb 5-4: USB disconnect, address 3
[ 48.556311] usb 5-4: new high speed USB device using ehci_hcd and address 6
[ 48.689147] usb 5-4: configuration #1 chosen from 1 choice
[ 48.690596] uvcvideo: Found UVC 1.00 device Built-in iSight (05ac:8501)
[ 48.690605] uvcvideo: No valid video chain found.

Revision history for this message
linkx (link-mustbuilddigital) wrote :

On Hardy final I compiled uvcvideo-isight according to the instructions here: https://help.ubuntu.com/community/MacBookPro#head-f51c36a88cf3c1a775f5745b9601fac8a5a15b1d

Not knowing that you do not need this in hardy. How can I un-do this? (noob)

Revision history for this message
mabovo (mabovo) wrote :

I hope this bug is not closed, because I still have isight freezing my system with 8.0.4.1

Changed in mactel-support:
status: Confirmed → Fix Released
Changed in linux-ubuntu-modules-2.6.24:
status: New → Invalid
Revision history for this message
mabovo (mabovo) wrote :

Not anymore on Intrepid 8.10 with kernel 2.6.27-7.

Works perfectly.

Changed in ubuntu-meta:
status: Confirmed → Invalid
Revision history for this message
Étienne BERSAC (bersace) wrote : Re: [Mactel-support] [Bug 185634] Re: uvcvideo: iSight firmware loading does not work

Hi,

Did you use de .deb ? The firmware needs to be extracted from the
AppleUSBVideoSupport driver file and patched by ift-extract.

Étienne.

Revision history for this message
mabovo (mabovo) wrote :

It's working perfectly.
Kernel 2.6.27-8

Revision history for this message
Launchpad Janitor (janitor) wrote : Kernel team bugs

Per a decision made by the Ubuntu Kernel Team, bugs will longer be assigned to the ubuntu-kernel-team in Launchpad as part of the bug triage process. The ubuntu-kernel-team is being unassigned from this bug report. Refer to https://wiki.ubuntu.com/KernelTeamBugPolicies for more information. Thanks.

Changed in ubuntu-meta (Ubuntu):
status: Invalid → New
Revision history for this message
Thomas Hotz (thotz-deactivatedaccount) wrote :

May I mark this bug as fixed then if it works? Thank you!

Changed in ubuntu-meta (Ubuntu):
status: New → Incomplete
Changed in ubuntu-meta (Ubuntu):
status: Incomplete → Invalid
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.