Linux за българи: Форуми

Linux секция за начинаещи => Настройка на хардуер => Темата е започната от: abadon в Sep 17, 2007, 10:48



Титла: Настройка на камера?
Публикувано от: abadon в Sep 17, 2007, 10:48
Здравейте.
Взех си един лаптоп lenovo 3000 N100 и сега не мога да си подкарам камерата, която е вградена в него. До сега никога не съм настройвал каквито и да било камери под Линукс и затова нямам никаква представа от къде да почна  :(  Ако някой може да ми даде някаква информация как да си пусна камерата ще съм му много благодарен!

Предварително благодаря!


Титла: Настройка на камера?
Публикувано от: HeadPhoneS в Sep 17, 2007, 11:28
Дай информация за дистрото / ядрото/ както и изхода на lsusb
Има един проект за драйвери под линукс , който подържа бая чипове - модула gspca





Титла: Настройка на камера?
Публикувано от: abadon в Sep 17, 2007, 14:11
Дистрибуцията ми е Debian Lenny, ядро е 2.6.21-2-686,
Цитат
lsusb
Bus 005 Device 003: ID 0c45:624f Microdia
Bus 005 Device 001: ID 0000:0000
Bus 004 Device 001: ID 0000:0000
Bus 003 Device 002: ID 08ff:2580 AuthenTec, Inc.
Bus 003 Device 001: ID 0000:0000
Bus 002 Device 001: ID 0000:0000
Bus 001 Device 004: ID 0a5c:2101 Broadcom Corp.
Bus 001 Device 001: ID 0000:0000


Имам и инсталирани някакви два пакета gspca-modules-2.6.21-2-686 и gspca-modules-2.6-686





Титла: Настройка на камера?
Публикувано от: abadon в Sep 21, 2007, 17:25
Доколкото виждам след много дългото ми ровене в нета камерата ми е базирана на чипа  Sonix “Microdia” SN9C201 който за момента май не се подържа от Debian-а  :(  Намерих някакви пакети за  PCLinuxOS 2007,  Ubuntu 7.04 (Feisty, 32Bit) ,  Ubuntu 7.04 (Feisty, 64Bit),  openSUSE 10.2  обаче никъде не успях да намеря сорс код на тъпия драйвер за да пробвам да си го компилирам за моето ядро. Ако има някакви идей да казва


Титла: Настройка на камера?
Публикувано от: Nik123 в Sep 21, 2007, 19:42
Мисля, че ти трябва това- линк

Моята камера е базирана на същия чип, макар и по-стара версия, и работи отлично с драйвъра за мандрива, свален от линка по-горе. Успех


Титла: Настройка на камера?
Публикувано от: vstoykov в Sep 21, 2007, 19:44
Накратко: ще пуснат кода на драйвера, ако някой (вероятно производителя) им плати.

Цитат

3. Q: Is the driver open-source or closed-source?
   A: The driver is closed-source and provided as a binary-only kernel module.


4. Q: Will you release the source code one day?
   A: It's likely I will never release the source code, unless I have BIG
      financial proposals. The best candidate is the manufacturer of these
      controllers. If you would like to see this driver released under
      the GPL, please send them a request.
The more requests they will see,
      the more they will consider this driver.






Титла: Настройка на камера?
Публикувано от: ivo1204 в Sep 22, 2007, 00:39
Горе -долу е така ,
Ще потърса един линк ,(дано се сетя какво точно да търся).Та с мой думи това беше меко казано дебат между двама , французина ,дето пише gspca драйверите и тоя , за ядрото , там говореха за твоя модел камера:  SN9C201 чипсет , кой ще се разправя с него.Това беше някъде лятото.
А, ето един:
http://www.linux-projects.org/modules/news/article.php?storyid=121
http://www.linux-projects.org/modules/news/

( Ама на Лука , много не вервам , тоя е дето работи за ядрото , ама французина е по пич!;)
П.П.
Да  ,верно се прави на интересен , ама поразрови тази история ...
E добре  ,що не вземеш някое ядро от тия дистра там , сложи си го на Дебиана и заспива ?
Сега , гледам този пост:
http://lists.berlios.de/piperma....59.html
Обърни внимание на ТОВА:
It is not, the sn9c20x is a Vendor Class
Това е много лошо , може да го провериш с lsusb -vvv.
Ще поразгледам още  ....





Титла: Настройка на камера?
Публикувано от: abadon в Sep 24, 2007, 10:49
Цитат (Nik123 @ Сеп. 21 2007,19:42)
Мисля, че ти трябва това- линк

Моята камера е базирана на същия чип, макар и по-стара версия, и работи отлично с драйвъра за мандрива, свален от линка по-горе. Успех

Свалих си и си инсталирах пакета spca5xx-source_20060501-2_all.deb след което отидох в /usr/src .... разархивирах пакета, отворих си INSTALL и видях, че за ядра от серията 2.6. това се инсталира по следния начин:
Цитат
make clean
   make
   if all goes right as root :
   make install

Обаче след изпълняването на make получавам следния изход:
Цитат
# make
   Building SPCA5XX driver for 2.5/2.6 kernel.
   Remember: you must have read/write access to your kernel source tree.
make -C /lib/modules/`uname -r`/build SUBDIRS=/home/genko/modules/spca5xx CC=cc modules
make[1]: Entering directory `/usr/src/linux-headers-2.6.21-2-686'
  CC [M]  /home/genko/modules/spca5xx/drivers/usb/spca5xx.o
/home/genko/modules/spca5xx/drivers/usb/spca5xx.c:39:26: error: linux/config.h: No such file or directory
/home/genko/modules/spca5xx/drivers/usb/spca5xx.c: In function 'spca50x_init_isoc':
/home/genko/modules/spca5xx/drivers/usb/spca5xx.c:1621: warning: assignment from incompatible pointer type
/home/genko/modules/spca5xx/drivers/usb/spca5xx.c: In function 'spca50x_create_sysfs':
/home/genko/modules/spca5xx/drivers/usb/spca5xx.c:3448: warning: ignoring return value of 'video_device_create_file', declared with attribute warn_unused_result
/home/genko/modules/spca5xx/drivers/usb/spca5xx.c:3449: warning: ignoring return value of 'video_device_create_file', declared with attribute warn_unused_result
/home/genko/modules/spca5xx/drivers/usb/spca5xx.c:3450: warning: ignoring return value of 'video_device_create_file', declared with attribute warn_unused_result
make[2]: *** [/home/genko/modules/spca5xx/drivers/usb/spca5xx.o] Error 1
make[1]: *** [_module_/home/genko/modules/spca5xx] Error 2
make[1]: Leaving directory `/usr/src/linux-headers-2.6.21-2-686'
make: *** [default] Error 2

Проблема явно е в това, че не намира linux/config.h обаче от къде да го взема  :(

@ivo1204
Това It is not, the sn9c20x is a Vendor Class въобще не ми говори нищо  :(  И затова нямам представа защо е лошо. Ето го изхода на lsusb -vvv


Титла: Настройка на камера?
Публикувано от: v_badev в Sep 24, 2007, 13:37
Пакетите с модули за ядрото в Debian се компилират с module-assistant. Инсталирай си го с apt-get или както предпочиташ да инсталираш пакети и след това като root изпълни "m-a a-i spca5xx" или "m-a a-i gspca" (gspca май е новата версия на spca5xx). Тази команда ще ти компилира модула, ще ти направи deb пакет и ще го инсталира.


Титла: Настройка на камера?
Публикувано от: abadon в Sep 24, 2007, 17:31
Цитат (v_badev @ Сеп. 24 2007,13:37)
Пакетите с модули за ядрото в Debian се компилират с module-assistant. Инсталирай си го с apt-get или както предпочиташ да инсталираш пакети и след това като root изпълни "m-a a-i spca5xx" или "m-a a-i gspca" (gspca май е новата версия на spca5xx). Тази команда ще ти компилира модула, ще ти направи deb пакет и ще го инсталира.

С "m-a a-i gspca" ми downgrade-на пакета gspca-modules-2.6.21-2-686 който си бях инсталирал. А "m-a a-i spca5xx" даде някаква грешка, че ненамира пакета или нещо такова. След като си инсталирах нещата пробвах modprobe gspca зарежда се успешно, но не ми се появява устройство /dev/video или нещо от този род. Имам само някакви /dev/vcs*


Титла: Настройка на камера?
Публикувано от: ivo1204 в Sep 25, 2007, 03:21
@abadon,

Цитат
@ivo1204
Това It is not, the sn9c20x is a Vendor Class въобще не ми говори нищо  :(  И затова нямам представа защо е лошо. Ето го изхода на lsusb -vvv


Би било добре ,ако беше например  "USB Video Class ":
http://linux-uvc.berlios.de/
И не би поучил такъв отговор ,ако им пишеш.
https://lists.berlios.de/piperma....30.html

gspca са многи добри драйвери (работещи ,за разлика от тия на и  пречината да не са в ядрото е само стила на писане и някой други заяжданици. Но гледам , са и доста стари ,  поразгледай къде е най-новия код.
Сега ,тия (затворените) може и да работят , обаче виж как реагират на тях ( @imachine!;).
http://www.linux-projects.org/modules....tart=10
Мисля си и за опцията ,"зареждане на драйвер от друго ядро" , обаче не съм я използвал ... Или изпълнение направо
на бинарен драйвер (win).
Проблема сигурно ще се реши скоро , просто производителите да си дадат интерфейса , нищо повече не трябва за Линукс. Те може и да са го направили вече ( мой подозрения , ама и други мислят така ...)


Титла: Настройка на камера?
Публикувано от: abadon в Sep 25, 2007, 10:19
След тези разяснения доста неща ми се изясниха. И напълно подкрепям този imachine!.
Цитат
Мисля си и за опцията ,"зареждане на драйвер от друго ядро" , обаче не съм я използвал ... Или изпълнение направо
на бинарен драйвер (win).

За тези две неща си мислех и аз, но за съжаление не знам дали могат да станат.  ;)  Свалях всички пакети на този затворения драйвери и пробвах да ги заредя в моето ядро обаче нямах успех. Явно не става просто с копиране на модула в папката на ядрото и  после modprobe име на модула.  :(  Wireless-а съм си го пуснал с windows-ски драйвер с помощта на ndiswrapper и още някой други пакети (той и него как го пуснах на някаква "магия"). Имаш ли някакви идеи за тези неща как се правят? За да знам какво да търся в нета.


Титла: Настройка на камера?
Публикувано от: ivo1204 в Sep 26, 2007, 05:05
Цитат
Цитат
  Мисля си и за опцията ,"зареждане на драйвер от друго ядро" , обаче не съм я използвал ... Или изпълнение направо
на бинарен драйвер (win).

  За тези две неща си мислех и аз, но за съжаление не знам дали могат да станат.


Понеже често си компилирам ядро ,и хвърлям по едно око (дали нещо се е променило ) , винаги като стигна до опцията
"Enable loadable module support" ->"Module versioning support " си задавам същия въпрос.
Ето го хелпа към опцията:
Usually, you have to use modules compiled with your kernel.
Saying Y here makes it sometimes possible to use modules
compiled for different kernels, by adding enough information
to the modules to (hopefully) spot any changes which would
make them incompatible with the kernel you are running. If
unsure, say N.

Забравих да ти кажа за spca5xx-source_20060501-2_all.deb
Цитат
Проблема явно е в това, че не намира linux/config.h обаче от къде да го взема

Не го търси ,няма го , сега е :

#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 0)
#include <linux/autoconf.h>
#else
#include <linux/config.h>
#endif

Друга една:
"Executable file formats / Emulations"->"Kernel support for MISC binaries (BINFMT_MISC)"

If you say Y here, it will be possible to plug wrapper-driven binary
formats into the kernel ......................................

(По всяка вероятност ядрата на Дебиан са компилирани с тези опции , втората  най-вероятно е модул ,"binfmt_misc.ko"  )

P.P
може да пробваш с от директорията на модула:
insmod ./sn9cxxx.ko  ( Ако ядроти е 32-битово ,32 битовия модул и т.н.
( не с modprobe )
 dmesg , какво е станало...

Като ми остане време ,ще поразгледам и аз ...





Титла: Настройка на камера?
Публикувано от: abadon в Sep 26, 2007, 15:46
Пробвах да сложа модула с insmod, но ми даде следната грешка:
Цитат
# insmod sn9cxxx.ko
insmod: error inserting 'sn9cxxx.ko': -1 Invalid module format
# insmod /home/genko/sn9cxxx.ko
insmod: error inserting '/home/genko/sn9cxxx.ko': -1 Invalid module format

В dmesg няма нищо:
Цитат
dmesg | tail
printk: 108 messages suppressed.
TKIP: ICV error detected: STA=00:18:39:90:12:0a
printk: 55 messages suppressed.
TKIP: ICV error detected: STA=00:18:39:90:12:0a
printk: 47 messages suppressed.
TKIP: ICV error detected: STA=00:14:f6:eb:2e:e2
printk: 66 messages suppressed.
TKIP: ICV error detected: STA=00:14:f6:eb:2e:e2
printk: 46 messages suppressed.
TKIP: ICV error detected: STA=00:14:f6:eb:2e:e2


Пробвах всички бинарни модули които са налични тук резултата е същия.  :(


Титла: Настройка на камера?
Публикувано от: ivo1204 в Sep 27, 2007, 05:17
( Почти нищо ново , нямах време )
modprobe има "--force" опций (man modprobe,--force-vermagic ,--force-modversion, -f ), например сега съм с :
"uname -r "   2.6.22.6.  , но си вземам драйвера от  2.6.23-rc7
(..2.6.22.6/kernel/drivers/usb/misc/usbtest.ko )
#depmod
 # modinfo usbtest
................
vermagic:       2.6.23-rc7 preempt mod_unload
.......................

 # cat /boot/config-`uname -r` | grep MODV
CONFIG_MODVERSIONS=y
(Конфигурацията е в /boot/config-xxxxx)

# modprobe usbtest
FATAL: Error inserting usbtest (/lib/modules/2.6.22.6/kernel/drivers/usb/misc/usbtest.ko): Invalid module format

#modprobe -fv usbtest
insmod /lib/modules/2.6.22.6/kernel/drivers/usb/misc/usbtest.ko

#lsmod | grep usbt
usbtest                24204  0

Обаче това са много близки версии и с почти еднаква конфигурация...Опитах с по други от друго ядра и не ще.
(Дали заради версията на компилатора ? )

Google-->Module versioning support (MODVERSIONS)
Дава ,че е възможно.Обаче има някакви условия , не са ми ясни
, някъде става ,някъде не ...
 Можеш да вземеш ядро
от Убунту /Suse/PLC . Не е нужно да си махаш дебиянските , просто можеш да си слагаш още едно ( това с драйвера ).

П.П.
Понеже имам само една Мандрива 32 -битова ( не виждам 64-битов драйвер ? ) , мисля да взема ядро от тези ,с драйвера , да пробвам (с техния конфиг. файл  , с същата версия на компилатора и сорс и т.н. ).





Титла: Настройка на камера?
Публикувано от: abadon в Sep 27, 2007, 14:30
Примерен код
Обаче това са много близки версии и с почти еднаква конфигурация...Опитах с по други от друго ядра и не ще.

За съжаление и при мен нещата са същите  :(  Каквото и да правя не мога да заредя модул от друго ядро.
Гледах в google за това Module versioning support (MODVERSIONS)— и аз не разбрах как стават нещата. Имаше много примери с разни кодове на С, които не разбирам....

Не ми се ще да взимам ядра от друга дистрибуции, защото по всяка вероятност ще ми падне wireless-а а с него си играх един ден да го пусна и сега работи нормално обаче не съм много сигурен, че ще успея да си го настроя пак ако съм и с ядно от друго дистро...

Ето тука е 64 битови за Ubuntu Feisty


Титла: Настройка на камера?
Публикувано от: Nik123 в Oct 07, 2007, 19:28
Цитат (abadon @ Сеп. 24 2007,11:49)
Цитат на: Nik123,Сеп. 21 2007,19:42
Мисля, че ти трябва това- линк

Моята камера е базирана на същия чип, макар и по-стара версия, и работи отлично с драйвъра за мандрива, свален от линка по-горе. Успех

Свалих си и си инсталирах пакета spca5xx-source_20060501-2_all.deb след което отидох в /usr/src .... разархивирах пакета, отворих си INSTALL и видях, че за ядра от серията 2.6. това се инсталира по следния начин:
Цитат
make clean
   make
   if all goes right as root :
   make install

Обаче след изпълняването на make получавам следния изход:
Цитат
# make
   Building SPCA5XX driver for 2.5/2.6 kernel.
   Remember: you must have read/write access to your kernel source tree.
make -C /lib/modules/`uname -r`/build SUBDIRS=/home/genko/modules/spca5xx CC=cc modules
make[1]: Entering directory `/usr/src/linux-headers-2.6.21-2-686'
  CC [M]  /home/genko/modules/spca5xx/drivers/usb/spca5xx.o
/home/genko/modules/spca5xx/drivers/usb/spca5xx.c:39:26: error: linux/config.h: No such file or directory
/home/genko/modules/spca5xx/drivers/usb/spca5xx.c: In function 'spca50x_init_isoc':
/home/genko/modules/spca5xx/drivers/usb/spca5xx.c:1621: warning: assignment from incompatible pointer type
/home/genko/modules/spca5xx/drivers/usb/spca5xx.c: In function 'spca50x_create_sysfs':
/home/genko/modules/spca5xx/drivers/usb/spca5xx.c:3448: warning: ignoring return value of 'video_device_create_file', declared with attribute warn_unused_result
/home/genko/modules/spca5xx/drivers/usb/spca5xx.c:3449: warning: ignoring return value of 'video_device_create_file', declared with attribute warn_unused_result
/home/genko/modules/spca5xx/drivers/usb/spca5xx.c:3450: warning: ignoring return value of 'video_device_create_file', declared with attribute warn_unused_result
make[2]: *** [/home/genko/modules/spca5xx/drivers/usb/spca5xx.o] Error 1
make[1]: *** [_module_/home/genko/modules/spca5xx] Error 2
make[1]: Leaving directory `/usr/src/linux-headers-2.6.21-2-686'
make: *** [default] Error 2

Проблема явно е в това, че не намира linux/config.h обаче от къде да го взема  :(

@ivo1204
Това It is not, the sn9c20x is a Vendor Class въобще не ми говори нищо  :(  И затова нямам представа защо е лошо. Ето го изхода на lsusb -vvv


@abadon: Трябва ти gspcav1 , а не spca5xx- последното наистина не върви на новите ядра. Моят "пресен" опит е с ядро 2.6.20- там spca5xx заби, а gspcav1 си тръгна

Edit: Доколкото виждам, си с дебиан, не става ли направо от мирърите- apt-get install gspcav1, или както е там инстала на пакети в дебиана?





Титла: Настройка на камера?
Публикувано от: abadon в Oct 10, 2007, 17:41
Ми за съжаление по мирърите които ползвам го няма  :(
И тук и тук не го намирам Ако някой знае къде го има този пакет да свирка  ;)


Титла: Настройка на камера?
Публикувано от: Nik123 в Oct 12, 2007, 15:48
Ето ти линка- Клик

-това е сорса- и аз не намерих готов деб пакет, ама и не съм се ровил де. Другият вариант е от pbone.net да дръпнеш рпм-пакета gspcav1-1.00.18 (има го) и да го конвертираш в деб-пакет- една програмка знам за това, alien се казваше май


Титла: Настройка на камера?
Публикувано от: abadon в Oct 16, 2007, 17:37
Дръпнах си го този сорс през aptitude след което влезнах в /usr/src там имах един пакет gspca-source.tar.bz2, разархивирах го пуснах make, make install и всичко мина успешно.
 
Цитат
lsmod | grep gspca
gspca                 641444  0
videodev               25952  1 gspca
usbcore               123272  4 gspca,ehci_hcd,uhci_hcd

Уж го имам този модул но не мога да разбера дали ми работи камерата. ;)  Kopete-то не ми разпознава да имам никакво видео устройство... Ако всичко е наред не трябва ли да имам устройство
/dev/video или нещо от този род?


Титла: Настройка на камера?
Публикувано от: Nik123 в Oct 18, 2007, 09:21
значи, при мен, освен камерата, имам и тунер, и се бъркаха двете устройства, сега при мен тунера е /dev/video1 , a камерата- /dev/video0. Ето ти при мен modprobe.conf как е:

remove snd-via82xx /sbin/modprobe -r snd-pcm-oss; /sbin/modprobe --first-time -r --ignore-remove snd-via82xx
install snd-via82xx /sbin/modprobe --first-time --ignore-install snd-via82xx && { /sbin/modprobe snd-pcm-oss; /bin/true; }
alias eth0 8139too
install usb-interface /sbin/modprobe uhci-hcd; /bin/true
options bt878 card= gbuffers=4
options bttv radio=1 card=46 gbuffers=4

alias snd-0 snd-via82xx

options bttv video_nr=1 radio=1 card=46 gbuffers=4
options sn9c102 video_nr=0

# --- BEGIN: Generated by ALSACONF, do not edit. ---
# --- ALSACONF version 1.0.9 ---
alias snd-card-0 snd-via82xx
alias sound-slot-0 snd-via82xx
# --- END: Generated by ALSACONF, do not edit. ---


bttv е тунера ми, а sn9c102 е камерата. При тази "конфигурация" на modprobe.conf Ekiga (аз ползвам гном) сама си вади да десктопа иконка за камерата и я познава като GSPCA USB Camera, другите програми като kopete също си я опознават

Edit: В дебиана би трябвало да има някакъв инструмент за настройка на хардуера- опитай и оттам, при мен нямаше нужда, понеже след инстала на gspcav1, редакцията на modprobe.conf и рестарта системата си опозна камерата