ALT Linux Community general discussions
 help / color / mirror / Atom feed
From: Sergey Vlasov <vsu@altlinux.ru>
To: community@altlinux.ru
Cc: hardware@lists.altlinux.org
Subject: Re: [Comm] Compact 3 + IEEE1394
Date: Sun, 30 Jul 2006 00:00:53 +0400
Message-ID: <20060729200053.GA15101@procyon.home> (raw)
In-Reply-To: <20060707101501.GC25942@osdn.org.ua>

[-- Attachment #1: Type: text/plain, Size: 4741 bytes --]

On Fri, Jul 07, 2006 at 01:15:01PM +0300, Michael Shigorin wrote:
> On Wed, Jul 05, 2006 at 04:32:00PM +0700, Gleb Kulikov wrote:
> > Вот те раз...
> 
> ...подумал Штирлиц.
> 
> > имеем Compact (3.0.4 + updates), ставим нвидиевскую карточку
> > 1394 (драйвера подгрузились), при подключении видиокамеры, 
> > ни raw1394/dv1394/video1394 *не грузятся автоматически*,
> 
> Нечто такое было.

Появилась возможность проверить работу с Sony DCR-HC17E и
контроллером, встроенным в плату ASUS A8V Deluxe:

0000:00:07.0 FireWire (IEEE 1394): VIA Technologies, Inc. IEEE 1394 Host Controller (rev 80)

Проверка в среде Compact 3.0 без примесей Сизифа (специально даже
использовалось ядро 2.6.12-std26-up-alt6, а не более свежие сборки из
updates) показала, что при подключении камеры модули raw1394 и dv1394
загружаются автоматически без каких-либо дополнительных действий, а в
/dev появляются файлы устройств:

	/dev/dv1394-0
	/dev/raw1394 (ссылка на /dev/raw/raw1394)

Модуль video1394 автоматически не загружался, но вроде бы он
предназначен не совсем для этого железа: оказывается, "Digital Camera"
и "DV camera" - это разные вещи:

http://www.linux1394.org/faq.php

Во всяком случае, Sony DCR-HC17E имеет specifier_id 0x00a02d и version
0x010001, что соответствует таблице в dv1394, но не соответствует
таблице в video1394.

Таким образом, с этой точки зрения в Compact 3.0 всё нормально.

Однако проблема возникает с правами на эти файлы устройств - при
настройках по умолчанию они создаются с правами 0660, причём для
/dev/dv1394-0 устанавливаются владелец и группа root:root, а для
/dev/raw/raw1394 - root:disk.  Естественно, в результате эти
устройства оказываются недоступными обычному пользователю.

Для исправления ситуации можно создать файл правил udev
/etc/udev/rules.d/90-local.rules, где написать, например, следующее:

KERNEL=="dv1394-*", GROUP="camera"
KERNEL=="raw1394", GROUP="camera"

После этого устройства станут доступными для пользователей, входящих в
группу camera (при установке Compact 3.0 в эту группу автоматически
заносится как минимум первый созданный пользователь).  На самом деле
для простого ввода видео с IEEE1394 достаточно доступа только к
/dev/dv1394-*, однако в этом случае отсутствует возможность управления
видеокамерой с компьютера; для управления нужен доступ через raw1394.

Впрочем, предоставление доступа к /dev/raw1394 обычным пользователям
может быть нежелательным с точки зрения безопасности - дело в том, что
через это устройство можно осуществлять полный доступ ко всем другим
устройствам на шине IEEE1394, а это могут быть далеко не только
видеокамеры.  Например, существуют дисковые накопители с таким
интерфейсом; доступ к /dev/raw1394 в этом случае может быть
эквивалентен полному доступу к содержимому диска (а с учётом
особенностей протоколов IEEE1394 и SBP-2, вероятно, ещё и доступу к
произвольным адресам физической памяти компьютера).  В настоящее время
отсутствует возможность как-то ограничить доступ через /dev/raw1394,
например, только определёнными классами устройств (из-за того, что
обращения ко всем устройствам осуществляются через один общий файл
устройства, в отличие от USB, где для каждого устройства есть
отдельный файл /proc/bus/usb/... или /dev/bus/usb/..., для которого
можно назначить нужные права доступа средствами hotplug или udev).

Кстати, сейчас подключение любого устройства по IEEE1394 даёт этому
устройству полный доступ к физической памяти компьютера (точнее, к
первым 4 Гб адресного пространства - большинство контроллеров
поддерживают только 32-разрядную адресацию со стороны PCI).  Были
разговоры о том, чтобы как-то ограничивать этот доступ (например,
предоставлять его по умолчанию только устройствам, для которых это
необходимо - в частности, SBP-2), но пока это не реализовано.

[...]
> PS: граблю dvgrab, kino сейчас не пробовал (я тогда немного
> сломал библиотеки, пока до кина добрался -- оно уже взрывалось
> на старте; сейчас reinstall их из родного репозитория,
> запускается, но вот именно захватывать не пробовал -- сидел
> на буке с сизифом).

У меня работали и kino, и dvgrab.  Правда, в них по умолчанию забиты
какие-то странные имена для устройств dv1394 - необходимо заменить их
в настройках (или командной строке dvgrab) на /dev/dv1394-0.  Через
raw1394 заработало сразу.

Хотя, похоже, поддержка dv1394 в этом случае получается неполная - там
должно создаваться 4 устройства:

	dv1394_init(ohci, DV1394_NTSC, MODE_RECEIVE);
	dv1394_init(ohci, DV1394_NTSC, MODE_TRANSMIT);
	dv1394_init(ohci, DV1394_PAL, MODE_RECEIVE);
	dv1394_init(ohci, DV1394_PAL, MODE_TRANSMIT);

Однако в драйвере это реализовано так, что работает только с devfs.

[-- Attachment #2: Type: application/pgp-signature, Size: 191 bytes --]

  reply	other threads:[~2006-07-29 20:00 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-07-05  9:32 Gleb Kulikov
2006-07-05 10:08 ` Sergey Vlasov
2006-07-05 14:43   ` Sergey Vlasov
2006-07-07 10:15 ` Michael Shigorin
2006-07-29 20:00   ` Sergey Vlasov [this message]
2006-07-30 21:18     ` Michael Shigorin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20060729200053.GA15101@procyon.home \
    --to=vsu@altlinux.ru \
    --cc=community@altlinux.ru \
    --cc=community@lists.altlinux.org \
    --cc=hardware@lists.altlinux.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

ALT Linux Community general discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/community/0 community/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 community community/ http://lore.altlinux.org/community \
		mandrake-russian@linuxteam.iplabs.ru community@lists.altlinux.org community@lists.altlinux.ru community@lists.altlinux.com
	public-inbox-index community

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.community


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git