New user's registration have been closed due to high spamming and low trafic on this forum. Please contact forum admins directly if you need an account. Thanks !

Webcam driver compilation on B3

Got problems with your B2 or B3? Share and get helped!
Ubi
Posts: 1549
Joined: 17 Jul 2007, 09:01

Re: Webcam driver compilation on B3

Post by Ubi »

yup

Code: Select all

# apt-get source bubba-kernel
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Picking 'linux' as source package instead of 'bubba-kernel'
Need to get 96.1 MB of source archives.
Get:1 http://b3.update.excito.org/ elvin/main linux 1:2.6.39.4-13 (dsc) [1122 B]
Get:2 http://b3.update.excito.org/ elvin/main linux 1:2.6.39.4-13 (tar) [96.0 MB]
Get:3 http://b3.update.excito.org/ elvin/main linux 1:2.6.39.4-13 (diff) [42.0 kB]                              
Fetched 96.1 MB in 17s (5570 kB/s)                                                               
stasheck
Posts: 126
Joined: 15 Jan 2014, 13:13

Re: Webcam driver compilation on B3

Post by stasheck »

Please kill me. I've no idea how it got there.

And yes, it's working now :-) Thanks!
stasheck
Posts: 126
Joined: 15 Jan 2014, 13:13

Re: Webcam driver compilation on B3

Post by stasheck »

One more question: I see that it's downloading 2.6.39.4-13, but the stock kernel is -11. Do I need to recompile kernel as well?
Gordon
Posts: 1464
Joined: 10 Aug 2011, 03:18

Re: Webcam driver compilation on B3

Post by Gordon »

stasheck wrote:One more question: I see that it's downloading 2.6.39.4-13, but the stock kernel is -11. Do I need to recompile kernel as well?
That's what I said last week.

The kernel source has had two revisions since it was released for the B3. These revisions are specific for the B2 and will in fact do nothing if you select ARM as the target platform (B2 is powerpc). So for ARM there is absolutely no difference between -11 and -13 revision, except for that version stamping which is taken from <sourcedir>/debian/changelog when you create the kernel package with "debuild -uc -us".

This is not what you want to do. Debuild will use a copy of this source for compiling and delete that copy when done and so you will still not have a prepared source to build your third party driver. You need to prepare this source by running "make prepare" but you need to fix the version stamping first by editing the Makefile. If you don't fix that version stamping than you will be creating a library for version 2.6.39.4 and it will not load.
stasheck
Posts: 126
Joined: 15 Jan 2014, 13:13

Re: Webcam driver compilation on B3

Post by stasheck »

All right - almost there, copy old config, make oldconfig, make prepare - but even in the source, there is no linux/videodev.h header, necessary for the driver to get compiled.

I've found two packets with this file:
linux-headers-2.6.32-5-common: /usr/src/linux-headers-2.6.32-5-common/include/linux/videodev.h
linux-libc-dev: /usr/include/linux/videodev.h

but I'm guessing 2.6.32.5 is far enough not to use it, and linux-libc-dev is already installed. Does it mean that it's just missing from this kernel, and I won't be able to compile driver, I did something wrong or missed something, or should I just d/l tarball from kernel.org and extract from there?
Ubi
Posts: 1549
Joined: 17 Jul 2007, 09:01

Re: Webcam driver compilation on B3

Post by Ubi »

Could you please stop insulting the people who are trying to help you by putting more care into reading their posts and not start whining when the slightest mishap occurs?
stasheck
Posts: 126
Joined: 15 Jan 2014, 13:13

Re: Webcam driver compilation on B3

Post by stasheck »

Ubi, if anyone's insulting anyone, it's you insulting me by constantly assuming my ill-will and not reading posts of other people. Even though you wrote multiple posts in this topic, not a single one was meaning to help me; instead you are suggesting over and over again that I'm lazy/stupid/unkind. This makes you a troll; please stop responding to this topic.

To all others (esp. Gordon): as you can see, I'm compiling kernel drivers for the first time, I just always went with hardware that already has pre-compiled drivers (that explains why I have such noob problems even though I've some 10 years of Linux experience).

I believe (but please correct me if I'm wrong) that I'm writing my posts extensively to show what I tried to do, even if that didn't make any sense for seasoned veteran. If I ask additional questions, it's not for laziness, but rather to make things more precise. Example: Gordon is saying that he already explained the kernel versioning issue before, but I just didn't understand what he meant. Now it's clear.

I already learned that apt-get source automatically uses patches on source, if it there are any; that after downloading the kernel I need to use 'oldconfig', source for which is found in /boot; that first 2 things I need to do with kernel source, if I want to compile drivers, is to run 'make oldconfig && make prepare'. I also learned (and I don't know how else could I learn that but by asking) that 2.6.39.4-11 and -13 are not different with regards to B3's platform.

Forgive me if I'm trying to also understand if it's normal not to have specific header file, or is that caused by something else entirely.

I also don't understand why it was necessary for me to download kernel sources, since (as I understand) the module source needs just kernel header files, which I already had on my system (and from which videodev.h was also missing).
Gordon
Posts: 1464
Joined: 10 Aug 2011, 03:18

Re: Webcam driver compilation on B3

Post by Gordon »

There's no videodev.h in the kernel source. This file is part of the video4linux library

This Stackoverflow subject will probably help.
stasheck
Posts: 126
Joined: 15 Jan 2014, 13:13

Re: Webcam driver compilation on B3

Post by stasheck »

Long story short, the driver won't compile.

The method Gordon provided was a step into right direction, although only the package from backports has the proper file. Even then, the compilation fails.

So I started researching this from ground up again, and I came onto this little gem:

Code: Select all

LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so motion
...does the trick.

In short: you need to point the software you want to use onto v4l1 compatibility library.

Anyway, totally not a loss of time for me - I've learned a lot about how things are put together. Gordon: big thanks to you, let me know on PM how can I arrange for you to have a beer on me :-)
Gordon
Posts: 1464
Joined: 10 Aug 2011, 03:18

Re: Webcam driver compilation on B3

Post by Gordon »

No worries. Shame that it didn't work out compiling.
Post Reply