# V4L DVB(external) drivers with gentoo-sources-2.6.18-r6

## Samoth

So I upgraded my system which included upgrading the kernel.I upgraded from 2.6.17-r8 to 2.6.18-r6. I would like to use this kernel as it fixes netfilter/via_velocity networking problems. However, I tried to rebuild my external kernel modules(I have a pcHDTV 5500, doesn't work with the internal kernel drivers) and it failed, producing:

```
[kv80:root]~/v4l-dvb> make

make -C /root/v4l-dvb/v4l

make[1]: Entering directory `/root/v4l-dvb/v4l'

scripts/make_makefile.pl

creating symbolic links...

make -C /lib/modules/2.6.18-gentoo-r6/build SUBDIRS=/root/v4l-dvb/v4l  modules

make[2]: Entering directory `/usr/src/linux-2.6.18-gentoo-r6'

  CC [M]  /root/v4l-dvb/v4l/flexcop-pci.o

In file included from /root/v4l-dvb/v4l/dmxdev.h:40,

                 from /root/v4l-dvb/v4l/flexcop-common.h:20,

                 from /root/v4l-dvb/v4l/flexcop-pci.c:10:

/root/v4l-dvb/v4l/dvbdev.h:30:35: error: linux/devfs_fs_kernel.h: No such file or directory

make[3]: *** [/root/v4l-dvb/v4l/flexcop-pci.o] Error 1

make[2]: *** [_module_/root/v4l-dvb/v4l] Error 2

make[2]: Leaving directory `/usr/src/linux-2.6.18-gentoo-r6'

make[1]: *** [default] Error 2

make[1]: Leaving directory `/root/v4l-dvb/v4l'

make: *** [all] Error 2

```

Anybody have any ideas why devfs_fs_kernel.h doesn't exist? Did it get taken out of the kernel? Any help would be appreciated.

----------

## RoundsToZero

The HD-5500 should be supported in 2.6.18 and higher, what do you mean that it "doesn't work with internal kernel drivers?"  Make sure the following are enabled:

```

 - Device Drivers -> Multimedia devices -> Video For Linux (M)

 - Device Drivers -> Multimedia devices -> Video For Linux -> Enable Video For Linux API 1

 - Device Drivers -> Multimedia devices -> Digital Video Broadcasting Devices -> DVB For Linux

 - Device Drivers -> Multimedia devices -> Digital Video Broadcasting Devices -> DVB For Linux -> DVB Core Support (M)

 - Device Drivers -> Multimedia devices -> Video For Linux -> Video Capture Adapters -> Conexant 2388x (bt878 successor) support (M)

 - Device Drivers -> Multimedia devices -> Video For Linux -> Video Capture Adapters -> Conexant 2388x (bt878 successor) support -> Conexant 2388x DMA audio support (M) (only if you do not want to connect line out of the TV card to the line in of your sound card)

 - Device Drivers -> Multimedia devices -> Video For Linux -> Video Capture Adapters -> Conexant 2388x (bt878 successor) support ->DVB/ATSC Support for cx2388x based TV cards (M)

 - Device Drivers -> Multimedia devices -> Video For Linux -> Video Capture Adapters -> Conexant 2388x (bt878 successor) support ->DVB/ATSC Support for cx2388x based TV cards -> Build all supported frontends for cx2388x based TV cards

```

----------

## Samoth

Well, it is true that it is supposed to be supported, but I couldn't get it to work with vanilla 2.6.18.2(that was before gentoo-sources-2.6.18 was stable). The kernel would detect the card, but then it wouldn't create the /dev/dvb/adapter*/ files.  :Evil or Very Mad:  So I just stuck with 2.6.17. Now, I have gentoo sources and would like to upgrade, but apparently it won't work.

----------

## WouterC

I'm using also the external v4l-dvb drivers from the mercurial repository but for a different card. It didn't give errors during compilation.

I'm running on a 2.6.19-gentoo kernel, but that shouldn't make a difference. 

Make sure the /usr/src/linux is pointing to the right kernel sources and run a 'make update' in the v4l-dvb directory. It is possible that a little fault sneaked in but was fixed a few hours later. After all it's a developement tree.

Wouter

----------

## Samoth

I ran make update in /root/v4l-dvb/

I got this:

```
[kv80:root]~/v4l-dvb> make update[kv80:root]~/v4l-dvb> make update

Pulling changes from master repository http://linuxtv.org/hg/v4l-dvb

hg pull -u http://linuxtv.org/hg/v4l-dvb

make: hg: Command not found

make: [update] Error 127 (ignored)

[kv80:root]~/v4l-dvb>

Pulling changes from master repository http://linuxtv.org/hg/v4l-dvb

hg pull -u http://linuxtv.org/hg/v4l-dvb

make: hg: Command not found

make: [update] Error 127 (ignored)

[kv80:root]~/v4l-dvb>
```

However, anything related to 'hg' is masked in portage. This tree I have should be ok, I have used it on 2.6.17 for ages. The driver came on the disk from pcHDTV with the card. I really think the problem is that the kernel devs got rid of linux/devfs_fs_kernel.h as it isn't included in the sources anymore.

I will look into getting hg(any idea what package it is provided by in portage?) so I can get updates to the  v4l-dvb drivers.

----------

## linuxtuxhellsinki

I thought that devfs was obsolete after 2.6.13 or sth like that ?

Why don't you try to make those /dev/dvb/adapter* nodes by yourself with mknod and try that new Kernel again   :Question: 

----------

## Samoth

That is what I thought, but I ignored it as 2.6.17 used to(and still does) work. I get this message when installing gentoo-sources-2.6.18-r6

 *Quote:*   

> 
> 
>  * If you are upgrading from a previous kernel, you may be interested
> 
>  * in the following documents:
> ...

 

How would I do this mknod command? I don't know much about udev/mknod.

EDIT: I ran make update(using mercurial) and got the latest code. It still errors out the same way though.

----------

## Samoth

It seems as if 2.6.18 removed devfs in its entirety. Not just support, the whole thing! I guess since 2.6.13 it has been unsupported, but 2.6.18 got rid of it!  :Sad: 

So, the obvious question would be, "Is it necessary to create the device files manually? will there even be a /dev anymore?"

It seems sort of odd......

Anyway here are two links(patch,article)

http://kernelnewbies.org/Linux_2_6_18

http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d8deac5094988c7ad1127ee61f52c59a952fcabb

What should I do? I was thinking of giving 2.6.18's internal drivers one more chance, as that is the only way it will ever work now.

----------

