Re: Chronpic 3.0 y Linux: BUG ENCONTRADO



Después de comer actualizo el kernel y te cuento

http://msdark.atwebpages.com/actualizar-kernel-a-la-version-2624-de-ubuntu-hardy-para-ubuntu-gutsy

Gracias Juan, ha sido una genial aportación!


2008/1/25, juan <juan iearobotics com>:
> Hola,
>
>   He seguido haciendo pruebas y ya he encontrado el Bug:
>
>   El driver del kernel tiene un bug y no funcionará correctamente en
> mono en los kernels 2.6.20, 2.6.21, 2.6.22 y 2.6.23. PERO ya está
> solucionado en el 2.6.24 (el último kernel liberado). Yo no lo he podido
> probar todavía.
>
>   El error del driver es que no está implementado el "metodo" TIOCMGET
> que sirve para leer las señales de control: CTS, RTS, etc... Esta
> llamada al sistema normalmente no se hace al abrir un puerto serie y por
> eso no falla en los programas C ni en Python. Pero parece ser que la
> implementación de Mono sí lo usa y por eso "peta".
>
>   Es muy fácil reproducir el problema desde una consola python:
> (hay que tener intalado el paquete python-serial)
>
> $ python
> Python 2.4.4 (#2, Jan  3 2008, 13:36:28)
> [GCC 4.2.3 20071123 (prerelease) (Debian 4.2.2-4)] on linux2
> Type "help", "copyright", "credits" or "license" for more information.
> >>>
>
> Ejecutamos los siguientes comandos:
>
> >>> import serial
> >>> ser = serial.Serial("/dev/ttyUSB0")
>
> Y ahora si leemos el estado de cualquier señal de control puerto serie
> se invoka a TIOCMGET y se produce el error:
>
> >>> ser.getCTS()
> Traceback (most recent call last):
>   File "<stdin>", line 1, in ?
>   File "/usr/lib/python2.4/site-packages/serial/serialposix.py", line
> 349, in getCTS
>     s = fcntl.ioctl(self.fd, TIOCMGET, TIOCM_zero_str)
> IOError: [Errno 14] Bad address
>
> -----------------------------------------------------------------
>
> Una vez encontrado, he googleado un poco y me he encontrado con este
> mensaje de la lista del kernel, en el que otra persona lo ha detectado y
> ha enviado un parche:
>
> http://kerneltrap.org/mailarchive/linux-usb-devel/2007/10/6/342318
>
> En este otro mail indican que lo incluirán en el 2.6.24:
>
> http://kerneltrap.org/mailarchive/linux-usb-devel/2007/10/9/342411
>
> Y por último, en la lista de cambios el actual Kernel (2.6.24) se puede
> ver que lo han incluido (haciendo una búsqueda de la cadena FT232RL)
>
> http://www.kernel.org/pub/linux/kernel/v2.6/ChangeLog-2.6.24
>
> Reproduzco aquí la parte importante:
>
>
> commit ed6e52829c113ca18f042ac55cc77b1b90745eab
> Author: Andrew M. Bishop <amb gedanken demon co uk>
> Date:   Tue Aug 21 19:08:56 2007 +0100
>
>     USB: ftdi_sio: Handle FT232RL devices like FT232BM devices
>
>     Handle the FT232RL device type in exactly the same way as FT232BM
>     devices (FT232RL detection was added around kernel 2.6.20 but not
> code
>     for handling it).
>
>     Signed-off-by: Andrew M. Bishop <amb gedanken demon co uk>
>     Signed-off-by: Greg Kroah-Hartman <gregkh suse de>
>
> ------------------------------------------------------------------------
>
> CONCLUSIONES:
>
>   -Con el nuevo kernel 2.6.24 debería funcionar correctamente--> PERO
> hay que probarlo. [PENDIENTE]
>
>   -Para kernels <2.6.20 --> FUNCIONA [COMPROBADO]
>
>   -Si  kernel esta en el rango [2.6.20, 2.6.23] --> NO FUNCIONA
> [COMPROBADO]
>
> Saludos, Juan
>
>
>
> --
> Juan Gonzalez Gomez
> juan iearobotics com
> www.iearobotics.com
>
> _______________________________________________
> Chronojump-devel-list mailing list
> Chronojump-devel-list gnome org
> http://mail.gnome.org/mailman/listinfo/chronojump-devel-list
>


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]