Añadiendo una tarjeta serie SGC-2PS

Renovarse o morir! Este deberia ser el resumen de esta entrada. Hoy me encuentro con la necesidad de montar un servidor de fax, si antiguo, pero los clientes mandan. Lo unico que queda por hacer es intentarse divertir con el montaje.

Como ya podéis imaginar viendo mi blog, la eleccion que voy a hacer es Hylafax sobre un Debian. Los problemas empiezan cuando quieres conseguir un Modem-Fax y te encuentras que los internos son HSF, y si, puedo utilizar los drivers de linuxant pero…

El caso es que decido utilizar un modem externo de puerto serie que habia comprado hace algun tiempo y que todavia tenia por aqui. Con eso, los problemas se deberian reducir, pero… las nuevas placas ya no llevan puertos serie. Bueno, con instalar una tarjeta con ellos , resuelto. Compro una tarjeta de Supergass, la SGC-2PS

Vale, ahora solo queda conseguir instalarla…ya que no viene con los drivers de Linux. Hablo con el departamento tecnico de Supergrass (España) y me envian por correo las instrucciones para instalarla..lastima que no funcionen, aunque os las dejare aqui y aqui para que podais disfrutarla.

Mi siguiente paso es averiguar el chip que esta utilizando, que es el MSC9865 de Moschip y comprobar con gran alegria que ha pensado en los sufridos usuarios de Linux, y dispone de un driver; que descargo y con el que inicio la instalacion.

Para ayudarnos, han incluido en la descarga un documento PDF que es el que voy a ir siguiendo, y dejaroslo en Castellano.

Lo primero de todo, apagar el equipo e instalar nuestra flamante tarjeta SGC-2PS , a continuacion, y despues de encenderlo, claro, lanzamos un lspci -v, la respuesta sera algo como

03:01.0 Serial controller: NetMos Technology Device 9865 (prog-if 02 [16550])
Subsystem: Device a000:1000
Flags: medium devsel, IRQ 16
I/O ports at ec00 [size=8]
Memory at febff000 (32-bit, non-prefetchable) [size=4K]
Memory at febfe000 (32-bit, non-prefetchable) [size=4K]
Capabilities: [48] Power Management version 2
03:01.1 Serial controller: NetMos Technology Device 9865 (prog-if 02 [16550])
Subsystem: Device a000:1000
Flags: medium devsel, IRQ 17
I/O ports at e880 [size=8]
Memory at febfd000 (32-bit, non-prefetchable) [size=4K]
Memory at febfc000 (32-bit, non-prefetchable) [size=4K]
Capabilities: [48] Power Management version 2
03:01.2 Parallel controller: NetMos Technology Device 9865 (prog-if 03 [IEEE1284])
Subsystem: Device a000:2000
Flags: bus master, medium devsel, latency 64, IRQ 10
I/O ports at e800 [size=8]
I/O ports at e480 [size=8]
Memory at febfb000 (32-bit, non-prefetchable) [size=4K]
Memory at febfa000 (32-bit, non-prefetchable) [size=4K]
Capabilities: [48] Power Management version 2

Comprobamos que nos ha identificado la tarjeta fijándonos en las lineas que ponen 9865, por lo que nos ponemos a instalar.

Lo primero sera descomprimir el fichero, si no lo habeis hecho todavia

fax:~# tar -xzvf MCS9865_Linux.tar.gz

Nos cambiamos al directorio generado

fax:~# cd MCS9865_V1.0.0.9/
fax:~/MCS9865_V1.0.0.9#

Y procedemos a compilar el modulo con make

fax:~/MCS9865_V1.0.0.9# make
rm -f *.mod.c *.o *.ko .*.cmd *.symvers
make -C /lib/modules/2.6.26-2-686/build/ SUBDIRS=/root/MCS9865_V1.0.0.9 modules
make[1]: se ingresa al directorio `/usr/src/linux-headers-2.6.26-2-686'
  CC [M]  /root/MCS9865_V1.0.0.9/mcs9865.o
  CC [M]  /root/MCS9865_V1.0.0.9/mcs9865-isa.o
  Building modules, stage 2.
  MODPOST 2 modules
  CC      /root/MCS9865_V1.0.0.9/mcs9865-isa.mod.o
  LD [M]  /root/MCS9865_V1.0.0.9/mcs9865-isa.ko
  CC      /root/MCS9865_V1.0.0.9/mcs9865.mod.o
  LD [M]  /root/MCS9865_V1.0.0.9/mcs9865.ko
make[1]: se sale del directorio `/usr/src/linux-headers-2.6.26-2-686'
fax:~/MCS9865_V1.0.0.9#

Ahora pasamos a instalar con make install

fax:~/MCS9865_V1.0.0.9# make install
cp mcs9865.ko mcs9865-isa.ko /lib/modules/2.6.26-2-686/kernel/drivers/serial/
depmod -A
chmod +x mcs9865
cp mcs9865 /etc/init.d/
ln -s /etc/init.d/mcs9865 /etc/rc.d/rc3.d/Smcs9865 || true
ln: creating symbolic link «/etc/rc.d/rc3.d/Smcs9865»: No existe el fichero o el directorio
ln -s /etc/init.d/mcs9865 /etc/rc.d/rc5.d/Smcs9865 || true
ln: creating symbolic link «/etc/rc.d/rc5.d/Smcs9865»: No existe el fichero o el directorio
modprobe mcs9865
modprobe mcs9865-isa
fax:~/MCS9865_V1.0.0.9#

En el listado anterior, observamos dos errores al hacer los ln, ello es debido a que en Debian no existe el directorio rc.d, por lo que o hacemos los dos enlaces a mano 0 modificamos  MCS9865_V1.0.0.9/Makefile

el contenido

ln -s /etc/init.d/mcs9865 /etc/rc.d/rc3.d/Smcs9865 || true
ln -s /etc/init.d/mcs9865 /etc/rc.d/rc5.d/Smcs9865 || true

quedara como

	ln -s /etc/init.d/mcs9865 /etc/rc3.d/Smcs9865 || true
	ln -s /etc/init.d/mcs9865 /etc/rc5.d/Smcs9865 || true

y repetimos el make install. Observad que si no hiciéramos esta modificación, cada vez que se reiniciara el ordenador, deberíamos volver a lanzar los modprobe para activar nuestra tarjeta

Podemos tambien, abrit el fichero /etc/init.d/msc9865 y dejarlo asi:

#! /bin/sh
# /etc/init.d/mcs9865
#
modprobe mcs9865
modprobe mcs9865-isa

En este momento, la tarjeta con el chip MSC9865 , en nuestro caso la SGC-2PS deberia estar instalada y lista para su uso. Si ahora tecleamos en nuestra terminal ls /dev/ttyD* nos deberia aparecer algo semejante a esto:

fax:~/MCS9865_V1.0.0.9# ls /dev/ttyD*
/dev/ttyD0  /dev/ttyD1

Dado que vamos a utilizar estos puertos para conectarlos a un Modem, vamos a ignorar la parte de configuracion; si la necesitais, en el PDF que acompaña el driver, viene perfectamente explicada, aunque su modificacion implica desintalar, recompilar y volver a instalar el modem; no deberia ser demasiado dificil.

Por defecto la configuracion que viene es como RS-232, DMA activo y Hardware Flow Control desactivado.

Una cosa mas; en internet he podido encontrar tambien, informacion de la tarjeta SY-PCI15004 y en la pagina encontrareis todos los driver (windows y linux)

Acerca de Miguel Garcia

Programador, Desarrollador web, Formador en distintas areas de informatica y director de equipos multidisciplinares.
Esta entrada fue publicada en Linux. Guarda el enlace permanente.

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.