[pyar] Ctypes + IOError: [Errno 1] Operation not permitted

Sergio Daniel Gomez sergiogomez en tostado.com.ar
Mie Oct 26 16:32:04 ART 2011


El 26/10/11 14:54, Alejandro Santos escribió:
> 2011/10/26 Alejandro Santos<listas en alejolp.com>:
>> 2011/10/26 Sergio Daniel Gomez<sergiogomez en tostado.com.ar>:
>>> El 26/10/11 13:44, Alejandro Santos escribió:
>>>
>>>> Lo que podés hacer es fijarte qué valor tenés en errno despues de
>>>> hacer la llamda a ioctl().
>>>>
>>>
>>> Disculpame, cómo puedo saber el valor del error devulto?
>>>
>>
>> Ah se me escapó; el valor de errno aparece en el mensaje de error:
>>
>>> IOError: [Errno 1] Operation not permitted
>>
>> El valor 1 de errno es EPERM, que significa que no tenés permisos, lo
>> cual no nos dice mucho mas de lo que ya sabemos :(
>>
>
> Cuando hacés:
>
>>>> f.tune(12163)
>
> ¿Ese valor de dónde sale? ¿Es un canal que el sintonizador deberia
> reconocer como válido?
>

el valor de f.tune(12163) es uno en rango 10700 - 12500 en Mhz al que 
pertenece la banda ku, probé también en hz y devuelve el mismo error :(

En cuanto a lo de no tener permisos... no lo comprendo... Mirá este 
código en C:
int tune(int frontend_fd, struct tune_p *t)
{
         struct dtv_property p_clear[] = {
                 { .cmd = DTV_CLEAR }
         };

         struct dtv_properties cmdseq_clear = {
                 .num = 1,
                 .props = p_clear
         };

         if ((ioctl(frontend_fd, FE_SET_PROPERTY, &cmdseq_clear)) == -1) {
                 perror("FE_SET_PROPERTY DTV_CLEAR failed \n");
                 return -1;
         }
         usleep (20000);
...

es de una aplicación que se llama tune-s2 la cual utilizo sin problemas 
y ese comando que es mas básico que el que intento hacer, pasado a 
python también arroja el mismo error...



More information about the pyar mailing list