Re: Chronopic 3.0 y Linux: BUG ENCONTRADO (Y SOLUCIONADO!)
- From: "Xavi de Blas" <xaviblas gmail com>
- To: "For Chronojump developers (english, spanish)" <chronojump-devel-list gnome org>
- Subject: Re: Chronopic 3.0 y Linux: BUG ENCONTRADO (Y SOLUCIONADO!)
- Date: Fri, 25 Jan 2008 17:55:19 +0100
Probado en Kernel 2.6.24-5-generic y funciona a la perfección!!!
dmesg dice:
[ 180.141350] usb 3-1: new full speed USB device using uhci_hcd and address 2
[ 180.396857] usb 3-1: configuration #1 chosen from 1 choice
[ 180.553223] usbcore: registered new interface driver usbserial
[ 180.553393] /build/buildd/linux-2.6.24/drivers/usb/serial/usb-serial.c:
USB Serial support registered for generic
[ 180.553702] usbcore: registered new interface driver usbserial_generic
[ 180.553707] /build/buildd/linux-2.6.24/drivers/usb/serial/usb-serial.c:
USB Serial Driver core
[ 180.602476] /build/buildd/linux-2.6.24/drivers/usb/serial/usb-serial.c:
USB Serial support registered for FTDI USB Serial Device
[ 180.602731] ftdi_sio 3-1:1.0: FTDI USB Serial Device converter detected
[ 180.602947] /build/buildd/linux-2.6.24/drivers/usb/serial/ftdi_sio.c:
Detected FT232RL
[ 180.603247] usb 3-1: FTDI USB Serial Device converter now attached to ttyUSB0
[ 180.604047] usbcore: registered new interface driver ftdi_sio
[ 180.604055] /build/buildd/linux-2.6.24/drivers/usb/serial/ftdi_sio.c:
v1.4.3:USB FTDI Serial Converters Driver
Ha funcionado con
test-saltos (C)
test-saltos.mono.exe (C#, Mono)
chronojump_mini (C#, Mono)
Prueba realizada con Mono 1.2.6 y con la versión de Mono que viene con Ubuntu:
$mono -V
Mono JIT compiler version 1.2.4 (tarball)
Cuando se instale el programa habrá que avisar que para Chronopic3.0
Linux es necesario el kernel 2.6.24 o superior
Gracias Juan, buen bug cazado. Luego escribo a los de Mono
Saludos
2008/1/25, Xavi de Blas <xaviblas gmail com>:
> 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]