Re: Error: no camera exists
Brought to you by:
aeb,
bencollins
From: Stefan R. <st...@s5...> - 2015-10-12 06:36:06
|
On Oct 12 David wrote: > There are lots of posts on the net that look like my problem below, but > no solutions that I have been able to find. Is DV capture over firewire > unavailable now? DV works just fine. > Any help would be greatly appreciated. > > Ubuntu 12.04 > david@david:~$ uname -a > Linux david 3.2.0-91-generic #129-Ubuntu SMP Wed Sep 9 10:56:06 UTC 2015 > x86_64 x86_64 x86_64 GNU/Linux This kernel should be OK. > Canon XHA1 camcorder A HDV (MPEG-2) camcorder; AFAIU capture from this is supported by dvgrab. > When I plug in the firewire, the camera's screen reports: > "HDV/DV IN" > > david@david:~$ lspci | grep -i firewire > 08:06.0 FireWire (IEEE 1394): Texas Instruments TSB43AB23 > IEEE-1394a-2000 Controller (PHY/Link) This controller type is well supported. Please post the entire output of "lspci -nn" though, so that we see all other PCI(e) devices too and their numeric IDs. > david@david:~$ lsmod | grep -e 1394 -e firewire > firewire_ohci 41000 0 > firewire_core 63600 1 firewire_ohci > crc_itu_t 12707 1 firewire_core OK. > david@david:~$ ls -l /dev/raw1394 /dev/fw0 > crw-rw-rw- 1 root video 251, 0 Oct 11 15:54 /dev/fw0 > lrwxrwxrwx 1 root root 8 Oct 11 16:59 /dev/raw1394 -> /dev/fw0 This symlink is total nonsense. The /dev/raw1394 ABI is entirely different from the /dev/fw* ABI. Since after kernel 2.6.36, a file with the name /dev/raw1394 will simply do nothing. However, what's missing here is a second /dev/fw* file. There is one such file created on-the-fly for each present FireWire node, including each so-called local node = link layer controller. So, normally you would get crw------- 1 root root 250, 0 * /dev/fw0 for the controller after boot, and crw-rw---- 1 root video 250, 1 * /dev/fw1 for the camcorder as soon as it is plugged in/ switched on. Missing /dev/fw1 (or a higher number on systems with more than two FireWire nodes, e.g. with multiple FireWire controllers) means that the kernel did not discover any other FireWire node. > david@david:~$ sudo dvgrab -i > Error: no camera exists This is a consequence of the camera node not being detected. > david@david:~$ dvgrab -v > dvgrab 3.5 OK > I created the link for /dev/raw1394 because of this page: > https://help.ubuntu.com/community/FireWire/DigitalVideo Which is wrong. It does nothing, neither good nor harm. > I also did this (and then rebooted): > https://kdenlive.org/user-manual/troubleshooting-and-common-problems/troubleshooting-firewire-capture > > > david@david:~$ cat /etc/udev/rules.d/z95_firewire.rules > KERNEL=="dv1394*|video1394*|raw1394*|fw[0-9]*", GROUP="video" > SUBSYSTEM=="firewire", ATTR{vendor_name}=="Linux Firewire", GROUP="video" > SUBSYSTEM=="firewire", GROUP="video" This is unnecessary; stock udev already contains proper rules for almost all FireWire applications, including (H)DV capture. > david@david:~$ dmesg -T | grep firewire > [Sun Oct 11 15:53:52 2015] firewire_ohci 0000:08:06.0: PCI INT A -> GSI 17 (level, low) -> IRQ 17 > [Sun Oct 11 15:53:52 2015] firewire_ohci: Added fw-ohci device 0000:08:06.0, OHCI v1.10, 4 IR + 8 IT contexts, quirks 0x2 > [Sun Oct 11 15:53:52 2015] firewire_core: created device fw0: GUID 00cc13240000241d, S400 OK. > [Sun Oct 11 20:29:47 2015] firewire_ohci 0000:08:06.0: restoring config space at offset 0xf (was 0x4020100, writing 0x4020105) > [Sun Oct 11 20:29:47 2015] firewire_ohci 0000:08:06.0: restoring config space at offset 0x5 (was 0x0, writing 0xfb8f8000) > [Sun Oct 11 20:29:47 2015] firewire_ohci 0000:08:06.0: restoring config space at offset 0x4 (was 0x0, writing 0xfb8ff000) > [Sun Oct 11 20:29:47 2015] firewire_ohci 0000:08:06.0: restoring config space at offset 0x3 (was 0x0, writing 0x2010) > [Sun Oct 11 20:29:47 2015] firewire_ohci 0000:08:06.0: restoring config space at offset 0x1 (was 0x2100000, writing 0x2100006) > [Sun Oct 11 20:29:47 2015] firewire_core: skipped bus generations, destroying all nodes > [Sun Oct 11 20:29:47 2015] firewire_core: rediscovered device fw0 Not sure what that means. Maybe this is from a power management suspend--resume cycle. Messages about an fw1 are notably absent. What do you get in the kernel log if you run sudo modprobe -r firewire-ohci sleep 1 sudo modprobe firewire-ohci debug=2 while the camcorder is plugged in and switched on? And after this, what do you get if you leave firewire-ohci this way and unplug and replug the camcorder? (Please carefully note which kernel messages follow from what action.) -- Stefan Richter -=====-===== =-=- -==-- http://arcgraph.de/sr/ |