Re: Chronopic 3.0 y Linux: BUG ENCONTRADO (Y SOLUCIONADO!)



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]