Skip to contentSkip to conversation

Fusion HDTV7 again

linux-dvb Matyas Sustik 3 participants 4 messages Dec 20, 2008 – Dec 23, 2008 Media (V4L/DVB)

lore
Share & tools
lore
#0 lore raw

Hi All,

After a dist-upgrade my HDTV7 Dual Express card stopped working. I managed to get it to work before, from the logs from Dec 15:

Dec 15 23:47:47 cheetah kernel: [   10.701054] cx23885 driver version 0.0.1 load
ed
Dec 15 23:47:47 cheetah kernel: [   10.701117] ACPI: PCI Interrupt 0000:02:00.0[
A] -> GSI 16 (level, low) -> IRQ 16
Dec 15 23:47:47 cheetah kernel: [   10.701237] CORE cx23885[0]: subsystem:
18ac:d618, board: DViCO FusionHDTV7 Dual Express [card=10,autodetected]
Dec 15 23:47:47 cheetah kernel: [   10.842540] cx23885[0]: i2c bus 0 registered
Dec 15 23:47:47 cheetah kernel: [   10.842540] cx23885[0]: i2c bus 1 registered
Dec 15 23:47:47 cheetah kernel: [   10.842540] cx23885[0]: i2c bus 2 registered
Dec 15 23:47:47 cheetah kernel: [   10.870102] cx23885[0]: cx23885 based dvb card

That was with linux-image-2.6.26-1-amd64_2.6.26-11_amd64.deb and compiled the cx23885 module from the mercurial repo.

The current kernel is from: linux-image-2.6.26-1-amd64_2.6.26-12_amd64.deb. I pulled the mercurial sources again did make and make install, rebooted but I still get:

Dec 20 13:15:02 cheetah kernel: [   11.801129] cx23885: disagrees about
version of symbol v4l_compat_ioctl32
Dec 20 13:15:02 cheetah kernel: [   11.801133] cx23885: Unknown symbol

v4l_compat_ioctl32

I have seen this before, but I cannot figure out what is happening. I would appreciate if someone could explain to me what is going on here. That may reduce my frustration somewhat.

If there is some documentation on how to debug a problem like this I would be willing to do some debug and even work on it. I suspect that the kernel interface got updated and changes for the driver is needed. Maybe this is a simple enough project to get started with open source. (Let me know if not...) I have not contributed to open source yet, so please be gentle.

I tried reinstalling the old linux-image package but that now does not work either. There must be some other software/libs that got updated from apt-get dist-upgrade rendering the cx23885 module unusable at the present.

Any insight would be appreciated.
Matyas
-
Every hardware eventually breaks. Every software eventually works.

_______________________________________________
linux-dvb mailing list
[email protected]
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb

#1 lore raw

Hi Matyas,

Am Samstag, den 20.12.2008, 13:39 -0600 schrieb Matyas Sustik:

Quoted 38 lines

Hi All,

After a dist-upgrade my HDTV7 Dual Express card stopped working. I managed to get it to work before, from the logs from Dec 15:

Dec 15 23:47:47 cheetah kernel: [   10.701054] cx23885 driver version 0.0.1 load
ed
Dec 15 23:47:47 cheetah kernel: [   10.701117] ACPI: PCI Interrupt 0000:02:00.0[
A] -> GSI 16 (level, low) -> IRQ 16
Dec 15 23:47:47 cheetah kernel: [   10.701237] CORE cx23885[0]: subsystem:
18ac:d618, board: DViCO FusionHDTV7 Dual Express [card=10,autodetected]
Dec 15 23:47:47 cheetah kernel: [   10.842540] cx23885[0]: i2c bus 0 registered
Dec 15 23:47:47 cheetah kernel: [   10.842540] cx23885[0]: i2c bus 1 registered
Dec 15 23:47:47 cheetah kernel: [   10.842540] cx23885[0]: i2c bus 2 registered
Dec 15 23:47:47 cheetah kernel: [   10.870102] cx23885[0]: cx23885 based dvb card

That was with linux-image-2.6.26-1-amd64_2.6.26-11_amd64.deb and compiled the cx23885 module from the mercurial repo.

The current kernel is from: linux-image-2.6.26-1-amd64_2.6.26-12_amd64.deb. I pulled the mercurial sources again did make and make install, rebooted but I still get:

Dec 20 13:15:02 cheetah kernel: [   11.801129] cx23885: disagrees about
version of symbol v4l_compat_ioctl32
Dec 20 13:15:02 cheetah kernel: [   11.801133] cx23885: Unknown symbol

v4l_compat_ioctl32

I have seen this before, but I cannot figure out what is happening. I would appreciate if someone could explain to me what is going on here. That may reduce my frustration somewhat.

If there is some documentation on how to debug a problem like this I would be willing to do some debug and even work on it. I suspect that the kernel interface got updated and changes for the driver is needed. Maybe this is a simple enough project to get started with open source. (Let me know if not...) I have not contributed to open source yet, so please be gentle.

Quoted 7 lines

I tried reinstalling the old linux-image package but that now does not work either. There must be some other software/libs that got updated from apt-get dist-upgrade rendering the cx23885 module unusable at the present.

Any insight would be appreciated.
Matyas
-

if you install the first time mercurial v4l-dvb on older kernels, it always can happen that module names have changed and new modules are added.

Since you don't know what is going on in details, you are not aware of.

In this case the old compat-ioctl32 is not replaced by the new v4l2-compat-ioctl32 module.

If you do on top of the modules of your kernel version "less modules.symbols |grep ioctl32",
you likely will see this.
alias symbol:v4l_compat_ioctl32 compat_ioctl32 alias symbol:v4l_compat_ioctl32 v4l2-compat-ioctl32

But it should be only that.
less modules.symbols |grep ioctl32
alias symbol:v4l_compat_ioctl32 v4l2-compat-ioctl32

On top of the mercurial v4l-dvb do
"make rmmod", since some complaints are visible do it again.

Then "make rminstall" should remove all old modules, but renamed ones or such in distribution specific wrong locations remain.

Check with "ls -R |grep .ko" on top of your kernel's media modules folder.

Delete the media folder or the modules.

Now on "make install" everything is created new and a "depmod -a" on the end of it will automatically create all dependencies and module.symbols.

Only in case of a deprecated module is not unloaded with "make rmmod", you might have to do this manually or reboot.

Quoted 1 line

From now on everything will work automatically until again modules are

changed.

Use "modprobe -v" for loading, since this will also reveal possibly conflicting kernel modules in other locations than the media folder.

Cheers,
Hermann

_______________________________________________
linux-dvb mailing list
[email protected]
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb

#2 lore raw
Quoted 17 lines · hermann pitton

Hi Matyas,
In this case the old compat-ioctl32 is not replaced by the new v4l2-compat-ioctl32 module.

If you do on top of the modules of your kernel version "less modules.symbols |grep ioctl32",
you likely will see this.
alias symbol:v4l_compat_ioctl32 compat_ioctl32 alias symbol:v4l_compat_ioctl32 v4l2-compat-ioctl32

But it should be only that.
less modules.symbols |grep ioctl32
alias symbol:v4l_compat_ioctl32 v4l2-compat-ioctl32

On top of the mercurial v4l-dvb do
"make rmmod", since some complaints are visible do it again.

Quoted 8 lines

Then "make rminstall" should remove all old modules, but renamed ones or such in distribution specific wrong locations remain.

Check with "ls -R |grep .ko" on top of your kernel's media modules folder.

Delete the media folder or the modules.

I edited modules.symbols to comply to your suggestion. I made sure that the old modules are gone. After a recompile, install and reboot the driver started to work again!

Thanks a lot.
Matyas
-
Every hardware eventually breaks. Every software eventually works.

_______________________________________________
linux-dvb mailing list
[email protected]
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb

#3 lore raw

Hi
I had this same problem, but after i update the v4l-dvb code, the problem is solved.
But when i do "modprobe cx23885", it shows that "FATAL: Module cx23885 not found."
Can anyone tell me what should I do with this problem? Thank you so much
Audrey

Quoted 36 lines · Matyas Sustik
Quoted 17 lines · hermann pitton

Hi Matyas,
In this case the old compat-ioctl32 is not replaced by the new v4l2-compat-ioctl32 module.

If you do on top of the modules of your kernel version "less modules.symbols |grep ioctl32",
you likely will see this.
alias symbol:v4l_compat_ioctl32 compat_ioctl32 alias symbol:v4l_compat_ioctl32 v4l2-compat-ioctl32

But it should be only that.
less modules.symbols |grep ioctl32
alias symbol:v4l_compat_ioctl32 v4l2-compat-ioctl32

On top of the mercurial v4l-dvb do
"make rmmod", since some complaints are visible do it again.

Quoted 8 lines

Then "make rminstall" should remove all old modules, but renamed ones or such in distribution specific wrong locations remain.

Check with "ls -R |grep .ko" on top of your kernel's media modules folder.

Delete the media folder or the modules.

I edited modules.symbols to comply to your suggestion. I made sure that the old modules are gone. After a recompile, install and reboot the driver started to work again!

Thanks a lot.
Matyas
-
Every hardware eventually breaks. Every software eventually works.

Quoted 5 lines

_______________________________________________
linux-dvb mailing list
[email protected]
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb

_______________________________________________
linux-dvb mailing list
[email protected]
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb