Breeze Cam on Linux
I know many people has this cam, it’s a cheap one, those “AS SEEN ON TV”, when I switched to Linux I really wanted to use it so I had to reboot on Windows just to use it, well I found a way to get it working in my ubuntu box, this could be useful for somebody in the future, if anybody has this camera, this is your solution, but this is just to make it work as webcam because I really don’t know how to download the pics (something that I’ll never need considering I have a real digital camera for this).

So ok, this is how to do it:
We will build the sqcam module for the kernel, but don’t be afraid it isn’t hard to do
http://prdownloads.sourceforge.net/sqcam/sqcam_driver_for_kernel_2_6-0.1b.tar.gz?download
Get that file
Then
$ tar -vxzf sqcam_driver_for_kernel_2_6-0.1b.tar.gz
$ cd sqcam_driver_for_kernel_2_6-0.1b/
And open sq905.c with your favorite editor and find this line:
if (remap_page_range(vma, start, page, PAGE_SIZE, PAGE_SHARED)) {and replace it with this:
if (remap_pfn_range(vma, start, page >> PAGE_SHIFT, PAGE_SIZE, PAGE_SHARED)) {
Now just save and close.
$ make
$ sudo cp sqcam.ko /lib/modules/`uname -r`/kernel/drivers/usb/media/
$ sudo depmod -a
$ sudo modprobe sqcam
w00t there it is, your cam is detected now, you could try it with gnomemeeting or amsn if you want, it should be /dev/video0
If you want this module to be loaded at the startup just edit /etc/modules with your favorite text editor and add sqcam at the end of the file, then just save and close.
Hope this is useful, it worked like a charm for me :).
Oh and remember you need to have enabled v4l to make it work tho.
This is based on this article: http://www.vivaolinux.com.br/artigos/verArtigo.php?codigo=3925&pagina=1
:>






luis Said,
November 20, 2006 @ 11:33 pm
Hi, thx for this info about changing the file, now it detected but i have a error in dmesg i get
send_msg: Failed sending control message, error -110.
ctrl msg:: dir: 1, value: 6, index: f0, size: 1
initalize: message 1, error -110.
what can it be? thx anyway
BlSabbath Said,
January 22, 2007 @ 6:29 pm
make -C /usr/src/linux/ SUBDIRS=/archivio/sqcam_driver_for_kernel_2_6 modules
make[1]: Entering directory `/usr/src/linux-headers-2.6.18-3-686′
CC [M] /archivio/sqcam_driver_for_kernel_2_6/sq905.o
In file included from /archivio/sqcam_driver_for_kernel_2_6/sq905.c:39:
/archivio/sqcam_driver_for_kernel_2_6/usbvideo.h:203: error: field ‘vdev’ has incomplete type
/archivio/sqcam_driver_for_kernel_2_6/usbvideo.h:277: error: field ‘vdt’ has incomplete type
/archivio/sqcam_driver_for_kernel_2_6/sq905.c:84: error: field ‘vdev’ has incomplete type
/archivio/sqcam_driver_for_kernel_2_6/sq905.c: In function ‘sqcam_ioctl’:
/archivio/sqcam_driver_for_kernel_2_6/sq905.c:309: warning: implicit declaration of function ‘video_devdata’
/archivio/sqcam_driver_for_kernel_2_6/sq905.c:309: warning: initialization makes pointer from integer without a cast
/archivio/sqcam_driver_for_kernel_2_6/sq905.c:310: error: dereferencing pointer to incomplete type
/archivio/sqcam_driver_for_kernel_2_6/sq905.c:336: warning: implicit declaration of function ‘copy_to_user’
/archivio/sqcam_driver_for_kernel_2_6/sq905.c:347: warning: implicit declaration of function ‘copy_from_user’
/archivio/sqcam_driver_for_kernel_2_6/sq905.c: In function ‘sqcam_open’:
/archivio/sqcam_driver_for_kernel_2_6/sq905.c:549: warning: initialization makes pointer from integer without a cast
/archivio/sqcam_driver_for_kernel_2_6/sq905.c:551: error: dereferencing pointer to incomplete type
/archivio/sqcam_driver_for_kernel_2_6/sq905.c:561: warning: ISO C90 forbids mixed declarations and code
/archivio/sqcam_driver_for_kernel_2_6/sq905.c: In function ‘sqcam_close’:
/archivio/sqcam_driver_for_kernel_2_6/sq905.c:629: warning: initialization makes pointer from integer without a cast
/archivio/sqcam_driver_for_kernel_2_6/sq905.c:630: error: dereferencing pointer to incomplete type
/archivio/sqcam_driver_for_kernel_2_6/sq905.c: In function ‘sqcam_read’:
/archivio/sqcam_driver_for_kernel_2_6/sq905.c:737: warning: initialization makes pointer from integer without a cast
/archivio/sqcam_driver_for_kernel_2_6/sq905.c:738: error: dereferencing pointer to incomplete type
/archivio/sqcam_driver_for_kernel_2_6/sq905.c: In function ‘sqcam_mmap’:
/archivio/sqcam_driver_for_kernel_2_6/sq905.c:782: error: dereferencing pointer to incomplete type
/archivio/sqcam_driver_for_kernel_2_6/sq905.c:783: error: dereferencing pointer to incomplete type
/archivio/sqcam_driver_for_kernel_2_6/sq905.c:783: error: dereferencing pointer to incomplete type
/archivio/sqcam_driver_for_kernel_2_6/sq905.c:785: warning: initialization makes pointer from integer without a cast
/archivio/sqcam_driver_for_kernel_2_6/sq905.c:795: error: dereferencing pointer to incomplete type
/archivio/sqcam_driver_for_kernel_2_6/sq905.c:795: warning: ISO C90 forbids mixed declarations and code
/archivio/sqcam_driver_for_kernel_2_6/sq905.c:816: warning: implicit declaration of function ‘remap_pfn_range’
/archivio/sqcam_driver_for_kernel_2_6/sq905.c:816: error: ‘PAGE_SHARED’ undeclared (first use in this function)
/archivio/sqcam_driver_for_kernel_2_6/sq905.c:816: error: (Each undeclared identifier is reported only once
/archivio/sqcam_driver_for_kernel_2_6/sq905.c:816: error: for each function it appears in.)
/archivio/sqcam_driver_for_kernel_2_6/sq905.c: At top level:
/archivio/sqcam_driver_for_kernel_2_6/sq905.c:855: error: unknown field ‘owner’ specified in initializer
/archivio/sqcam_driver_for_kernel_2_6/sq905.c:855: warning: initialization from incompatible pointer type
/archivio/sqcam_driver_for_kernel_2_6/sq905.c: In function ‘sqcam_exclusive_release’:
/archivio/sqcam_driver_for_kernel_2_6/sq905.c:866: error: dereferencing pointer to incomplete type
/archivio/sqcam_driver_for_kernel_2_6/sq905.c:873: warning: implicit declaration of function ‘video_unregister_device’
/archivio/sqcam_driver_for_kernel_2_6/sq905.c:887: error: dereferencing pointer to incomplete type
/archivio/sqcam_driver_for_kernel_2_6/sq905.c: At top level:
/archivio/sqcam_driver_for_kernel_2_6/sq905.c:894: error: variable ‘sqcam_template’ has initializer but incomplete type
/archivio/sqcam_driver_for_kernel_2_6/sq905.c:895: error: unknown field ‘owner’ specified in initializer
/archivio/sqcam_driver_for_kernel_2_6/sq905.c:895: warning: excess elements in struct initializer
/archivio/sqcam_driver_for_kernel_2_6/sq905.c:895: warning: (near initialization for ‘sqcam_template’)
/archivio/sqcam_driver_for_kernel_2_6/sq905.c:896: error: unknown field ‘name’ specified in initializer
/archivio/sqcam_driver_for_kernel_2_6/sq905.c:896: warning: excess elements in struct initializer
/archivio/sqcam_driver_for_kernel_2_6/sq905.c:896: warning: (near initialization for ‘sqcam_template’)
/archivio/sqcam_driver_for_kernel_2_6/sq905.c:897: error: unknown field ‘type’ specified in initializer
/archivio/sqcam_driver_for_kernel_2_6/sq905.c:897: warning: excess elements in struct initializer
/archivio/sqcam_driver_for_kernel_2_6/sq905.c:897: warning: (near initialization for ‘sqcam_template’)
/archivio/sqcam_driver_for_kernel_2_6/sq905.c:898: error: unknown field ‘hardware’ specified in initializer
/archivio/sqcam_driver_for_kernel_2_6/sq905.c:898: warning: excess elements in struct initializer
/archivio/sqcam_driver_for_kernel_2_6/sq905.c:898: warning: (near initialization for ‘sqcam_template’)
/archivio/sqcam_driver_for_kernel_2_6/sq905.c:899: error: unknown field ‘release’ specified in initializer
/archivio/sqcam_driver_for_kernel_2_6/sq905.c:899: warning: excess elements in struct initializer
/archivio/sqcam_driver_for_kernel_2_6/sq905.c:899: warning: (near initialization for ‘sqcam_template’)
/archivio/sqcam_driver_for_kernel_2_6/sq905.c:900: error: unknown field ‘fops’ specified in initializer
/archivio/sqcam_driver_for_kernel_2_6/sq905.c:900: warning: excess elements in struct initializer
/archivio/sqcam_driver_for_kernel_2_6/sq905.c:900: warning: (near initialization for ‘sqcam_template’)
/archivio/sqcam_driver_for_kernel_2_6/sq905.c:901: error: unknown field ‘minor’ specified in initializer
/archivio/sqcam_driver_for_kernel_2_6/sq905.c:901: warning: excess elements in struct initializer
/archivio/sqcam_driver_for_kernel_2_6/sq905.c:901: warning: (near initialization for ‘sqcam_template’)
/archivio/sqcam_driver_for_kernel_2_6/sq905.c: In function ‘sqcam_probe’:
/archivio/sqcam_driver_for_kernel_2_6/sq905.c:961: error: invalid application of ‘sizeof’ to incomplete type ‘struct video_device’
/archivio/sqcam_driver_for_kernel_2_6/sq905.c:961: error: invalid application of ‘sizeof’ to incomplete type ‘struct video_device’
/archivio/sqcam_driver_for_kernel_2_6/sq905.c:961: error: invalid application of ‘sizeof’ to incomplete type ‘struct video_device’
/archivio/sqcam_driver_for_kernel_2_6/sq905.c:972: warning: implicit declaration of function ‘video_register_device’
/archivio/sqcam_driver_for_kernel_2_6/sq905.c:972: error: ‘VFL_TYPE_GRABBER’ undeclared (first use in this function)
/archivio/sqcam_driver_for_kernel_2_6/sq905.c: In function ‘usbvideo_rvmalloc’:
/archivio/sqcam_driver_for_kernel_2_6/sq905.c:1336: warning: implicit declaration of function ‘SetPageReserved’
/archivio/sqcam_driver_for_kernel_2_6/sq905.c:1336: warning: implicit declaration of function ‘vmalloc_to_page’
/archivio/sqcam_driver_for_kernel_2_6/sq905.c: In function ‘usbvideo_rvfree’:
/archivio/sqcam_driver_for_kernel_2_6/sq905.c:1353: warning: implicit declaration of function ‘ClearPageReserved’
/archivio/sqcam_driver_for_kernel_2_6/sq905.c: In function ‘usbvideo_kvirt_to_pa’:
/archivio/sqcam_driver_for_kernel_2_6/sq905.c:1364: warning: implicit declaration of function ‘page_address’
make[2]: *** [/archivio/sqcam_driver_for_kernel_2_6/sq905.o] Error 1
make[1]: *** [_module_/archivio/sqcam_driver_for_kernel_2_6] Error 2
make[1]: Leaving directory `/usr/src/linux-headers-2.6.18-3-686′
make: *** [module] Error 2
debian:/archivio/sqcam_driver_for_kernel_2_6#
any idea?
Lare Said,
March 2, 2007 @ 6:08 pm
Hi,
The layout of struct video_device would change depending on whether
videodev.h (V4L1) was include or not before v4l2-dev.h, which caused the compilation error
Try instead of on usbvideo.h
Good luck
Lare Said,
March 2, 2007 @ 6:11 pm
Sorry,
“#include ” instead of “#include “
baze Said,
April 23, 2007 @ 11:08 am
hello,
I have the same problem, but i don’t understand your explication
Joe Said,
April 25, 2007 @ 12:55 pm
Got it to compile with kernel 2.6.20-1.2944.fc6 on Fedora Core 6. You need to make the following mods to sqcam.c:
1. Add the following include just under the include for videodev.h:
#include
2. Comment out /remove the “.owner” field at about line 859.
Now to see if it actually works…
Joe Said,
April 25, 2007 @ 12:56 pm
Sorry that file I mentioned above should have been sq905.c
The diff looks like this:
diff sq905.c sq905.c.bck
35d34
859c858
.owner = THIS_MODULE,
Gerardo Said,
April 30, 2007 @ 8:30 pm
BlSabbath,
usbvideo.h changed in latest kernel(s?). copy the one from the linux source over the one in sqcam26 directory, and try again.
Worked in Ubuntu gutsy.
Jruschme Said,
May 12, 2007 @ 11:18 am
Okay, I’m stuck…
I’m running Ubuntu Feisty and managed to get the module to compile (removed usbvideo.h and changed sq905.c to point to the one in kernel sources; replaced include of linux/videodev.h in sq905 with include of media/v4l2-dev.h). Module builds, device is detected, but I get the dreaded send_msg fail with error -110.
Further thoughts?
Thanks…
John
Anna4 Said,
August 4, 2008 @ 1:51 pm
Good job.
Interesting indeed.
раскрутка сайта Said,
August 15, 2008 @ 2:14 am
поисковая раскрутка сайтов екатеринбург Yuri написал(а):
6 июля 2007 года, Пятница в 15:27
В конце концов, если вы сделали всё возможное, чтобы показать себя зарубежом и вы никому не нравитесь, нужно сделать из этого соответствующие выводы, а не писать о том, что “они тупые”. Да, они другие, но если хочешь им что-то продавать или даже сотрудничать, нужно их узнавать и находить пути для налаживания отношений.
Возможно, менеджеры проектов по разработке сайтов на зарубежный рынок могут об этом порассказать, к примеру, или что уже продает что-то со своего анлийского сайта.
Как я сказал, возможно непонятно, чтобы продавать американцам и вообще зарубеж, достаточно настроиться на предоставление пользы с помощью продукта, услуги или ещё чего конечным пользователям, а не пытаться нагреть на них руки или вообще обмануть.
Если никто этого не будет делать, то так всё и останется, и поделом.
Тип: Комментарий seo-miheeff.ru продвижение сайта раскрутка ключевые слова
soizheivith Said,
October 19, 2008 @ 5:55 am
Hi people!
The interesting name of a site - blog.tecnovm64.com
I at night 9 hours
sat in the Internet So I have found your site
The interesting site but does not suffice several sections!
However this section is very necessary!
I have added you in elected!
Forgive I is drunk :))
DDDepressionnn Said,
November 20, 2008 @ 2:34 pm
There has come winter

It became cold and cloudy!
Mood very bad
Depression Begins
DDDDepressionnnn Said,
November 20, 2008 @ 10:23 pm
Depression Depression Depression aaaaaaaa
:( 
HEEEEELP
I hate winter! I want summer!
wintervssummer Said,
November 29, 2008 @ 11:29 am
I very much love summer



Someone very much loves winter
I Wish to know whom more
For what you love winter?
For what you love summer? Let’s argue