[linux-dvb] How to find which command generates error in FE_SET_PROPERTY

Michel Verbraak michel at verbraak.org
Sat Nov 8 19:23:35 CET 2008


Darron Broad schreef:
> In message <4915C608.9000709 at verbraak.org>, Michel Verbraak wrote:
>
> LO
>
>   
>> I'm trying to modify one of my applications to use the new S2API. With 
>> this application I control my dvb-t and dvb-s/s2 receivers.
>>
>> I'm using szap-s2 as an example but I run into a problem that the ioctl 
>> FE_SET_PROPERTY always returns -1 and variable errno is set to 14.
>>
>> My question is. How do I determine which of the commands in the command 
>> queue given to FE_SET_PROPERTY is producing this error. I did not try 
>> yet to devide my command queue up into one command queue per command.
>>     
>
> The only commands as such as CLEAR and TUNE, the rest are tuning
> parameters. The way this works is that the TUNE command informs
> the kernel to retune using the parameters specified. This occurs
> outside of the IOCTL call itself and you don't directly know
> if a paramater was wrong, it just doesn't work.
>
> The error you have:
>   
>> grep 14 /usr/include/asm-generic/errno-base.h
>>     
> #define EFAULT          14      /* Bad address */
>
> Suggests a problem in your code...
>
>   
>> Regards,
>>
>> Michel.
>>
>> Part of source code for dvb-s/s2:
>>
>> #ifdef S2API
>> int TDVBDevice::SetProperty(struct dtv_property *cmdseq)
>>     
>
> This should something like SetProperties(struct dtv_properties cmdseq[])
> and then call ioctl(fefd, FE_SET_PROPERTY, cmdseq)
> This sends of your args at the same time.
>
>   
>>      if (SetProperty(&p[0]) == 0)
>>     
>
> That needs to be more like:
> 	SetProperties(&cmdseq)
>
> I hope that helps.
>
> cya!
>
> --
>
>  // /
> {:)==={ Darron Broad <darron at kewl.org>
>  \\ \ 
>
>   

Darron,

You were right. The error I had to solve was to change 
SetProperty(&p[0]) into SetProperty(&cmdseq).

I have been coding all day and missed this one.

Thanks,

Michel.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.linuxtv.org/pipermail/linux-dvb/attachments/20081108/65aef21a/attachment.htm 


More information about the linux-dvb mailing list