miércoles, 16 de diciembre de 2009

TSXCUSB485 en GNU/Linux!

Arranque esta semana testeando un dispositivo MODBUS, sobre un enlace RS485. Para ello decidi utilizar un lindo conversor usb a RS485, de la firma Schneider Electrics: el TSXCUSB 485.El aparatito en Cuestión

Probe en Win, lo detecto como un puerto com, usando un driver privativo. Probe en GNU/Linux y.... nada... me mostraba el vendor id y el product id del dispositivo pero no me lo montaba como un "ttyUSBx".

Las opciones: resignarse y usarlo bajo windows, o buscar, escribir, parchar lo que fuera necesario.

Obviamente, elejí la opción 2, ya que si lo sacaba funcionando tenia resuelto un punto importante en materia de comunicaciones industriales, rubro al que me dedico.

Empeze leyendo un poco de guias sobre como son los drivers usb en linux, y googleando si alguien lo habia hecho andar, pero, se ve que a los que trabajan de esto usan solo windows.

El primer paso para hacer ingeniería inversa, era ver el hardware que componia la placa:



Detalle de la Plaqueta
Ya, de un golpe de vista nos encontramos con el corazón de la conversión usb-rs232, el ft232bl, un chip bastante estandar.
El lugar mas ovio para encontrar información era la pagina del fabricante, y ¡Oh Sorpresa! estaba el driver para nuestro querido pinguÑu, incluso una guia para agregar vendor y product ids pero:
La edición del driver, para que reconozca el dispositivo, en si, es bastante trivial, pero el problema es compilarlo: hay muchas versiones del driver y muy pocas de ellas son compilables, porque, según entiendo, el soporte de usb del kernel se fue modificando con cada versión.

Finalmente, termine buceando en el git de www.kernel.org y encontré uno que compilo de maravillas.

La verdad que me sorprende cuan poderoso es el software libre: en el sistema de la ventana, ante un problema así ¡estas fregado!
En balance de tiempo tarde unas 3 horas en resolverlo, pero ya esta!!! cuando consiga comittear mi pach para el driver, en futuros kernels, el dispositivo va a tener soporte, ¡para mucha gente!

3 comentarios:

Anónimo dijo...

felicitaciones!

Unknown dijo...
Este comentario ha sido eliminado por el autor.
Alejandro G. dijo...

Hola!!! Tengo Ubuntu 20, alguna referencia como conseguir el driver? Saludo!!!