Cannot tune DVB-T with a recent kaffeine and 2.6.28

View: New views
5 Messages — Rating Filter:   Alert me  

Cannot tune DVB-T with a recent kaffeine and 2.6.28

by Pavel Troller :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi!
  I've updated to the svn kaffeine and running linux-2.6.28. From now on, I
cannot tune my DVB. Kaffeine simply writes
ERROR Tuning
: Invalid argument
Frontend closed

In dmesg, the following message appears:
Jan 10 19:33:11 arcus kernel: ioctl32(kaffeine:18628): Unknown cmd fd(15) cmd(40086f52){t:'o';sz:8} arg(fffc3d84) on /dev/dvb/adapter0/frontend0

I was looking at the source, the ioctl which causes the problem is
FE_SET_PROPERTY. Its binary representation seems OK. I've looked to the
kernel sources, turned on dvb_core debugging, and I can see, that the ioctl
comes properly to dvb_frontend_ioctl (I can see it printed in the debug log)
but not to the dvb_frontend_ioctl_properties (not stated in the log).
The source seems clear and I don't know, why it doesn't call it and probably
comes to the dvb_frontend_ioctl_legacy (which doesn't generate the debug log)
and fails there.

The kernel is compiled for x86_64, but the kaffeine is still 32-bit binary.
Any hints ?

With regards, Pavel Troller

------------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It is the best place to buy or sell services for
just about anything Open Source.
http://p.sf.net/sfu/Xq1LFB
_______________________________________________
kaffeine-user mailing list
kaffeine-user@...
https://lists.sourceforge.net/lists/listinfo/kaffeine-user

Re: Cannot tune DVB-T with a recent kaffeine and 2.6.28

by Pavel Troller :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

> Hi!
>   I've updated to the svn kaffeine and running linux-2.6.28. From now on, I
> cannot tune my DVB. Kaffeine simply writes
> ERROR Tuning
> : Invalid argument
> Frontend closed
>
> In dmesg, the following message appears:
> Jan 10 19:33:11 arcus kernel: ioctl32(kaffeine:18628): Unknown cmd fd(15) cmd(40086f52){t:'o';sz:8} arg(fffc3d84) on /dev/dvb/adapter0/frontend0
>
> I was looking at the source, the ioctl which causes the problem is
> FE_SET_PROPERTY. Its binary representation seems OK. I've looked to the
> kernel sources, turned on dvb_core debugging, and I can see, that the ioctl
> comes properly to dvb_frontend_ioctl (I can see it printed in the debug log)
> but not to the dvb_frontend_ioctl_properties (not stated in the log).
> The source seems clear and I don't know, why it doesn't call it and probably
> comes to the dvb_frontend_ioctl_legacy (which doesn't generate the debug log)
> and fails there.
>
> The kernel is compiled for x86_64, but the kaffeine is still 32-bit binary.
> Any hints ?
>
> With regards, Pavel Troller
>

Hi!
Replying to myself, I've found the cause but I'm not sure, how to solve it.

I've found that I was wrong thinking that the ioctl is passed normally. It
was another one in the sequence. The FE_SET_PROPERTY ioctl was not passed
by /usr/src/linux/fs/compat_ioctl.c, because it was not entered in its table.
I thought that it's just a mistake of the developers, that they forgot to add
it because it's new. So I added all the missing ioctls from
/usr/src/linux/include/linux/dvb/frontend.h (total of 3) as compatible.
However, it didn't work either. More debugging showed me that this ioctl is
getting a different command code on 64bit platform (0x40106f52) and on 32bit
one (0x40086f52). I've then found that it's because there is a pointer in the
struct dtv_properties, passed as data area to the ioctl, which has different
length (32/64bits) on different platforms, making the length part of the
command code different too, so the command is not recognized by ioctl_compat.c.

And there I stopped. I don't think I have enough knowledges especially in the
platform peculiarities area to solve this. I think that those ioctls are wrong
by design, that they contain platform-dependent data, so they cannot be simply
handled in the compat layer. Maybe I would be able to make a quick hack to make
things work, but definitely not cleanly enough to be generally accepted.

So, it looks that 32bit kaffeine cannot run on 64bit kernels now. I think it's
a serious bug on the Linux kernel side. I will forward this mail to the
appropriate Linux folks too.

With regards, Pavel Troller

------------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It is the best place to buy or sell services for
just about anything Open Source.
http://p.sf.net/sfu/Xq1LFB
_______________________________________________
kaffeine-user mailing list
kaffeine-user@...
https://lists.sourceforge.net/lists/listinfo/kaffeine-user

Re: Cannot tune DVB-T with a recent kaffeine and 2.6.28

by Beso-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

2009/1/11 Pavel Troller <patrol@...>:

>> Hi!
>>   I've updated to the svn kaffeine and running linux-2.6.28. From now on, I
>> cannot tune my DVB. Kaffeine simply writes
>> ERROR Tuning
>> : Invalid argument
>> Frontend closed
>>
>> In dmesg, the following message appears:
>> Jan 10 19:33:11 arcus kernel: ioctl32(kaffeine:18628): Unknown cmd fd(15) cmd(40086f52){t:'o';sz:8} arg(fffc3d84) on /dev/dvb/adapter0/frontend0
>>
>> I was looking at the source, the ioctl which causes the problem is
>> FE_SET_PROPERTY. Its binary representation seems OK. I've looked to the
>> kernel sources, turned on dvb_core debugging, and I can see, that the ioctl
>> comes properly to dvb_frontend_ioctl (I can see it printed in the debug log)
>> but not to the dvb_frontend_ioctl_properties (not stated in the log).
>> The source seems clear and I don't know, why it doesn't call it and probably
>> comes to the dvb_frontend_ioctl_legacy (which doesn't generate the debug log)
>> and fails there.
>>
>> The kernel is compiled for x86_64, but the kaffeine is still 32-bit binary.
>> Any hints ?
>>
>> With regards, Pavel Troller
>>
>
> Hi!
> Replying to myself, I've found the cause but I'm not sure, how to solve it.
>
> I've found that I was wrong thinking that the ioctl is passed normally. It
> was another one in the sequence. The FE_SET_PROPERTY ioctl was not passed
> by /usr/src/linux/fs/compat_ioctl.c, because it was not entered in its table.
> I thought that it's just a mistake of the developers, that they forgot to add
> it because it's new. So I added all the missing ioctls from
> /usr/src/linux/include/linux/dvb/frontend.h (total of 3) as compatible.
> However, it didn't work either. More debugging showed me that this ioctl is
> getting a different command code on 64bit platform (0x40106f52) and on 32bit
> one (0x40086f52). I've then found that it's because there is a pointer in the
> struct dtv_properties, passed as data area to the ioctl, which has different
> length (32/64bits) on different platforms, making the length part of the
> command code different too, so the command is not recognized by ioctl_compat.c.
>
> And there I stopped. I don't think I have enough knowledges especially in the
> platform peculiarities area to solve this. I think that those ioctls are wrong
> by design, that they contain platform-dependent data, so they cannot be simply
> handled in the compat layer. Maybe I would be able to make a quick hack to make
> things work, but definitely not cleanly enough to be generally accepted.
>
> So, it looks that 32bit kaffeine cannot run on 64bit kernels now. I think it's
> a serious bug on the Linux kernel side. I will forward this mail to the
> appropriate Linux folks too.
>
> With regards, Pavel Troller
>
i just have a question: why do you want to use kaffein 32bit on a
64bit system when you have
a 64bit kaffeine available?
if you don't have a 64bit system i wonder why you're using a 64bit kernel.
it's stupid to have a 32bit system run on a 64bit kernel if you don't
need some particular 32bit
proprietary application. and also in that case is stupid to use a
32bit system on a 64bit kernel.
usually every 64bit distro provides a way to install 32bit proprietary
packages like acrobat reader
or oracle (these are still 2 that don't have a 64bit counterpart, for
now) and run as on 32bit systems.
so i think that if you want to use a 64bit kernel you'd better install
a 64bit system and install kaffeine
64bit binaries and not 32bit ones.

--
dott. ing. beso

------------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It is the best place to buy or sell services for
just about anything Open Source.
http://p.sf.net/sfu/Xq1LFB
_______________________________________________
kaffeine-user mailing list
kaffeine-user@...
https://lists.sourceforge.net/lists/listinfo/kaffeine-user

Re: Cannot tune DVB-T with a recent kaffeine and 2.6.28

by Pavel Troller :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

 Hi!

> i just have a question: why do you want to use kaffein 32bit on a
> 64bit system when you have
> a 64bit kaffeine available?

Yes, I understand your questions. Let me explain this.

>if you don't have a 64bit system i wonder why you're using a 64bit kernel.

I didn't say that I don't have 64bit system. In fact, I have almost fully
64bit system. The only major part, which still remains on 32bit, is KDE.
Even X.org and other essential support things are 64bit. KDE uses just the
32bit compatibility libraries.

> it's stupid to have a 32bit system run on a 64bit kernel if you don't
> need some particular 32bit

Of course, it is. But it is a question of time to convert all the system
to 64bit, you have to recompile all this. I've made a decision, that I will
switch KDE to 64bit together with a switch to KDE4. However, I still didn't
make this switch, because I still think that KDE3.5.10 is better for my
users than KDE4. BTW, kaffeine is still not ported to KDE4, I think.

> proprietary application. and also in that case is stupid to use a
> 32bit system on a 64bit kernel.

Fully agree. As I've explained, I'm not doing it.

> usually every 64bit distro provides a way to install 32bit proprietary
> packages like acrobat reader

Yes, but you mean that I'm using some of the common distros. It's not right
assumption in this case :-). I'm not using any common distro.

> or oracle (these are still 2 that don't have a 64bit counterpart, for
> now) and run as on 32bit systems.
> so i think that if you want to use a 64bit kernel you'd better install
> a 64bit system and install kaffeine
> 64bit binaries and not 32bit ones.

I cannot install 64bit kaffeine until I compile most of the KDE for 64bit.
As I told, I don't want it for 3.5, I think it's a waste of time. I want
to do it for KDE4.x, but, I think the time for it didn't come yet. And,
one of the reasons is that kaffeine is still not KDE4 compatible.

So, I still think that this should work, otherwise all the 64/32 compat
stuff would be useless. It's there just for similar cases, and this is clearly
a bug or yet-not-done thing.

>
> --
> dott. ing. beso

With regards, Pavel Troller


------------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It is the best place to buy or sell services for
just about anything Open Source.
http://p.sf.net/sfu/Xq1LFB
_______________________________________________
kaffeine-user mailing list
kaffeine-user@...
https://lists.sourceforge.net/lists/listinfo/kaffeine-user

Re: Cannot tune DVB-T with a recent kaffeine and 2.6.28

by Beso-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

2009/1/11 Pavel Troller <patrol@...>:

>  Hi!
>
>> i just have a question: why do you want to use kaffein 32bit on a
>> 64bit system when you have
>> a 64bit kaffeine available?
>
> Yes, I understand your questions. Let me explain this.
>
>>if you don't have a 64bit system i wonder why you're using a 64bit kernel.
>
> I didn't say that I don't have 64bit system. In fact, I have almost fully
> 64bit system. The only major part, which still remains on 32bit, is KDE.
> Even X.org and other essential support things are 64bit. KDE uses just the
> 32bit compatibility libraries.
>
this is a little strange to still have it 32bit since it has been
working for years very well on 64bit,
but it's not my issue.

>> it's stupid to have a 32bit system run on a 64bit kernel if you don't
>> need some particular 32bit
>
> Of course, it is. But it is a question of time to convert all the system
> to 64bit, you have to recompile all this. I've made a decision, that I will
> switch KDE to 64bit together with a switch to KDE4. However, I still didn't
> make this switch, because I still think that KDE3.5.10 is better for my
> users than KDE4. BTW, kaffeine is still not ported to KDE4, I think.
>
kaffeine has now in development kaffeine4 which is the full port. the
development on the
old one is still for what i know, with exception of major bugs. the
kaffeine4 port has some
major lacks, like the advancement of 10secs with the keys, the
playlist, but has dvb support
and is able to play whatever file xine-lib handles. for kaffeine to
work you just need kdelibs
kdepimlibs and maybe some kdemultimedia packages, so it's not a full kde rebuild

>> proprietary application. and also in that case is stupid to use a
>> 32bit system on a 64bit kernel.
>
> Fully agree. As I've explained, I'm not doing it.
>
>> usually every 64bit distro provides a way to install 32bit proprietary
>> packages like acrobat reader
>
> Yes, but you mean that I'm using some of the common distros. It's not right
> assumption in this case :-). I'm not using any common distro.
>
well, if you're compiling your own packages then maybe gentoo is a
good choice for you.
it handles a lot of packages that you actually compile them with
optimizations for your
pc and with an automated system. i think that it would do very well for you.

>> or oracle (these are still 2 that don't have a 64bit counterpart, for
>> now) and run as on 32bit systems.
>> so i think that if you want to use a 64bit kernel you'd better install
>> a 64bit system and install kaffeine
>> 64bit binaries and not 32bit ones.
>
> I cannot install 64bit kaffeine until I compile most of the KDE for 64bit.
> As I told, I don't want it for 3.5, I think it's a waste of time. I want
> to do it for KDE4.x, but, I think the time for it didn't come yet. And,
> one of the reasons is that kaffeine is still not KDE4 compatible.
>
as i've said before, the old version is not qt4 based => not kde4 based.

> So, I still think that this should work, otherwise all the 64/32 compat
> stuff would be useless. It's there just for similar cases, and this is clearly
> a bug or yet-not-done thing.
>
well, i might be wrong but i think that for a 32bit to access a kernel
module, that
has to be 32bit and not 64bit. maybe doing a 32 bit chroot could be your choice.

--
dott. ing. beso

------------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It is the best place to buy or sell services for
just about anything Open Source.
http://p.sf.net/sfu/Xq1LFB
_______________________________________________
kaffeine-user mailing list
kaffeine-user@...
https://lists.sourceforge.net/lists/listinfo/kaffeine-user