Kernel, kamerki i zc0301 vs. gspca

Jacek Konieczny jajcus w jajcus.net
Czw, 12 Lut 2009, 10:08:09 CET


Hej,

W kernelu 2.6.27 mamy już moduł gspca, który obsługuje, między innymi,
moją kamerkę, na chipsecie ZC0301. Niestety, mamy też moduł "zc0301",
a gdy ten jest włączony w konfiguracji kernela, to gspca buduje się bez
wsparcia dla kamer na chipsecie ZC0301. A moduł "zc0301" mojej kamerki
nie obsługuje, bo oprócz głównego chipsetu jest potrzebne wsparcie dla
konkretnego sensora. gspca obsługuje więcej sensorów niż zc0301.

Widzę dwie możliwości rozwiązania tego problemu:
1. wyłączenie modułu zc0301. Pytanie, czy ktoś tego potrzebuje. Może
jest sprzęt, który działa tylko pod zc0301, a pod gspca już nie.


--- config-dist 2009-01-25 12:21:25.000000000 +0100
+++ .config     2009-02-12 09:31:51.000000000 +0100
@@ -2898,7 +2898,7 @@
 CONFIG_USB_SE401=m
 CONFIG_USB_SN9C102=m
 CONFIG_USB_STV680=m
-CONFIG_USB_ZC0301=m
+# CONFIG_USB_ZC0301 is not set
 CONFIG_USB_PWC=m
 # CONFIG_USB_PWC_DEBUG is not set
 CONFIG_USB_ZR364XX=m

2. wywalenie warunkowej obsługi chipsetu w gspca. Wtedy będziemy mieli
dwa moduły dla tego samego usb-id i właściwy będzie można/trzeba wybrać
używając "blacklist" w /etc/modprobe.conf

--- drivers/media/video/gspca/zc3xx.c.orig      2009-02-12 10:07:13.000000000 +0100
+++ drivers/media/video/gspca/zc3xx.c   2009-02-12 10:07:26.000000000 +0100
@@ -7534,9 +7534,7 @@
        {USB_DEVICE(0x046d, 0x08aa)},
        {USB_DEVICE(0x046d, 0x08ac)},
        {USB_DEVICE(0x046d, 0x08ad)},
-#if !defined CONFIG_USB_ZC0301 && !defined CONFIG_USB_ZC0301_MODULE
        {USB_DEVICE(0x046d, 0x08ae)},
-#endif
        {USB_DEVICE(0x046d, 0x08af)},
        {USB_DEVICE(0x046d, 0x08b9)},
        {USB_DEVICE(0x046d, 0x08d7)},
@@ -7555,9 +7553,7 @@
        {USB_DEVICE(0x0ac8, 0x0301), .driver_info = SENSOR_PAS106},
        {USB_DEVICE(0x0ac8, 0x0302)},
        {USB_DEVICE(0x0ac8, 0x301b)},
-#if !defined CONFIG_USB_ZC0301 && !defined CONFIG_USB_ZC0301_MODULE
        {USB_DEVICE(0x0ac8, 0x303b)},
-#endif
        {USB_DEVICE(0x0ac8, 0x305b), .driver_info = SENSOR_TAS5130C_VF0250},
        {USB_DEVICE(0x0ac8, 0x307b)},
        {USB_DEVICE(0x10fd, 0x0128)},



Prosiłbym więc opiekunów kernela o wybranie i zastosowanie jednego z
tych rozwiązań.



Pozdrowienia,
        Jacek


Więcej informacji o liście dyskusyjnej pld-devel-pl