ALT Linux Sisyphus discussions
 help / color / mirror / Atom feed
From: Sergey Vlasov <vsu@altlinux.ru>
To: sisyphus@lists.altlinux.org
Subject: Re: [sisyphus] gspca
Date: Wed, 20 May 2009 16:50:16 +0400
Message-ID: <20090520125016.GI23228@newmaster.mivlgu.local> (raw)
In-Reply-To: <fdddcb8137b0353e1f653ed42d159857.squirrel@mail.gauss.com.ua>

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

On Wed, May 20, 2009 at 02:44:46PM +0300, tiger@gauss.com.ua wrote:
> 
>   Народ ! Есть такое чудо:
> 0ac8:303b Z-Star Microelectronics Corp. ZC0303 Webcam
> на старом ядре 2.6.25-чего-то там std-def жило и вполне сносно
> обслуживается драйвером gspca. В старом ядре оно было отдельным пакетом,
> сейчас включено в модули ядра (вроде v4l). Обслуживается оно конкретно
> драйвером gspca_zc3xx. Причем система сама считает, что надо обслуживать
> устройство драйвером zc0301, и в логах ругается так:
> ----------/var/log/messages------------
> Product: PC Camera
> usb 1-4: Manufacturer: Vimicro Corp.
> zc0301: V4L2 driver for ZC0301[P] Image Processor and Control Chip v1:1.10
> usb 1-4: ZC0301[P] Image Processor and Control Chip detected (vid/pid
> 0x0AC8:0x303B)
> usb 1-4: No supported image sensor detected
> usbcore: registered new interface driver zc0301
> ---------------------------------------
> ---------dmesg-------------------------
> Product: PC Camera
> Manufacturer: Vimicro Corp.
> usb 1-4: USB disconnect, address 13
> usb 1-4: new full speed USB device using ohci_hcd and address 14
> usb 1-4: configuration #1 chosen from 1 choice
> usb 1-4: New USB device found, idVendor=0ac8, idProduct=303b
> usb 1-4: New USB device strings: Mfr=1, Product=2, SerialNumber=0
> usb 1-4: Product: PC Camera
> usb 1-4: Manufacturer: Vimicro Corp.
> zc0301: V4L2 driver for ZC0301[P] Image Processor and Control Chip v1:1.10
> usb 1-4: ZC0301[P] Image Processor and Control Chip detected (vid/pid
> 0x0AC8:0x303B)
> usb 1-4: No supported image sensor detected
> usbcore: registered new interface driver zc0301
> --------------------------------------
> никакого /dev/video* не появляется, естественно.
> если грузить драйвер gspca_zc3xx, то тоже не работает ничего.

В 2.6.27 (commit c41492c89a00630c7482eae25deaf9af91b73c98) в драйвере
gspca_zc3xx отключили поддержку USB ID для устройств, для которых в
ядре есть другие драйверы (в том числе zc0301).  В 2.6.27-std-*-alt17
этот код выглядит так:

#if !defined CONFIG_USB_ZC0301 && !defined CONFIG_USB_ZC0301_MODULE
	{USB_DEVICE(0x0ac8, 0x303b)},
#endif

Т.е., если в конфигурации ядра включена сборка драйвера zc0301, в
драйвере gspca_zc3xx отключается поддержка USB ID, совпадающих в этих
драйверах, чтобы для устройства выбирался только один драйвер.

Однако на самом деле хитрые китайцы собирают камеры из тех чипов,
которые подвернулись им под руку, при этом USB ID зависит от
используемого контроллера, но к одному и тому же контроллеру могут
быть подключены разные сенсоры.  В данном случае драйвер zc0301
поддерживает используемый контроллер, но поддержки подключенного к
нему сенсора в этом драйвере нет, а в gspca, вероятно, есть.  Эта
проблема исправлена в 2.6.30-rc1 путём переноса USB ID 0ac8:303b в
драйвер gspca_zc3xx (commit ef6bc5aec2d8bd53dcc851a5cd2fc8e918db239b);
теперь уже в zc0301 это устройство добавляется в таблицу только в том
случае, если драйвер gspca_zc3xx не собирается.

С имеющейся версией ядра можно попробовать сделать следующее:

  modprobe gspca_zc3xx
  echo "0x0ac8 0x303b" > /sys/bus/usb/drivers/gspca_zc3xx/new_id

Чтобы не грузился лишний модуль zc0301, можно дополнительно запретить
его автозагрузку:

  echo "blacklist zc0301" >> /etc/modprobe.d/local.conf

(если этот модуль не нужен для других устройств).

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

  reply	other threads:[~2009-05-20 12:50 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-05-20 11:44 tiger
2009-05-20 12:50 ` Sergey Vlasov [this message]
2009-05-20 13:39   ` Dmitry V. boyko
2009-05-21 16:09     ` A.Kitouwaykin
2009-05-21 18:59       ` Roman Lesnichenko
2009-05-21 19:50         ` Pavlov Konstantin
2009-05-22  6:14           ` Roman Lesnichenko
2009-05-22  7:21         ` Dmitry V. boyko
2009-05-25 16:43           ` Rinat Bikov
2009-05-22  7:17       ` Dmitry V. boyko

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=20090520125016.GI23228@newmaster.mivlgu.local \
    --to=vsu@altlinux.ru \
    --cc=sisyphus@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 Sisyphus discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/sisyphus/0 sisyphus/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 sisyphus sisyphus/ http://lore.altlinux.org/sisyphus \
		sisyphus@altlinux.ru sisyphus@altlinux.org sisyphus@lists.altlinux.org sisyphus@lists.altlinux.ru sisyphus@lists.altlinux.com sisyphus@linuxteam.iplabs.ru sisyphus@list.linux-os.ru
	public-inbox-index sisyphus

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


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