[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <4819D38A.2010905@s5r6.in-berlin.de>
Date: Thu, 01 May 2008 16:28:26 +0200
From: Stefan Richter <stefanr@...6.in-berlin.de>
To: Miles Lane <miles.lane@...il.com>
CC: Kristian Hoegsberg <krh@...hat.com>,
linux1394-devel@...ts.sourceforge.net, linux-kernel@...r.kernel.org
Subject: Re: 2.6.25-git16 -- IEEE 1394 device has ROM CRC error -- No /dev/video0
device
(We don't really need to Cc Kristian on this, since it is about
drivers/ieee1394, not about drivers/firewire.)
Miles Lane wrote:
> I noticed that no /dev/video0 device was being created, so I enabled
> all the video driver options and rebuilt my kernel with ieee1394
> debugging enabled.
> Unfortunately, I still don't get a /dev/video0 device for my
> OrangeMicro iBot. Is this simply due to the CRC error? If so, is
> there a way of working around this, since the webcam works okay under
> Windows?
The video1394 driver, if built modular, has the following module aliases
built in:
alias: ieee1394:ven*mo*sp0000A02Dver00000102*
alias: ieee1394:ven*mo*sp0000A02Dver00000101*
alias: ieee1394:ven*mo*sp0000A02Dver00000100*
These are the codes of Unit_Spec_ID = 1394 Trade Association and
Unit_SW_Version = 1394 Based Digital Camera Specification (IIDC) version
1.04, 1.20, and 1.30 respectively.
Whenever an IIDC compliant device is plugged in, the kernel will emit an
uevent (formerly called hotplug event) with a string which can be
matched against module aliases. Modern distributions contain scripts
which will the modprobe all kernel modules which contain matching aliases.
The raw1394 driver, if built modular, contains the same aliases as
video1394 (because it is required as well to work with IIDC cameras) and
an alias for AV/C devices. BTW, video1394 is also being used for
devices other than IIDC, but it has to be manually loaded for those.
Once the video1394 is present in the kernel (either because it was
modprobed automatically or manually or because it was linked in
statically to begin with), it will register a character device interface
for each host adapter. This also works with adapters which are added
later, e.g. CardBus cards.
Now, modern distributions have scripts (udev scripts) which recognize
the addition or removal of a character device interface and will create
or remove corresponding character device files in /dev on the fly.
If your distro doesn't do so, you need to create these files yourself
with mknod, specifying the correct major and minor device number:
http://wiki.linux1394.org/video1394
(Note, this contains outdated references to devfs which is no longer in
use and not supported by video1394 anymore since Linux 2.6.17 or
probably even earlier.)
Both autoloading of video1394 and automatic creation of video1394
character device files work for me on 2.6.25 + latest linux1394-2.6.git
on Gentoo Linux --- without me having a clue how all the details work. I
hope you too get it working with these hints. On Gentoo, the video1394
character device files are called /dev/video1394-?, ? being 0 or more
for each host adapter.
--
Stefan Richter
-=====-==--- -=-= ----=
http://arcgraph.de/sr/
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists