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:1000Flags: medium devsel, IRQ 16I/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 203:01.1 Serial controller: NetMos Technology Device 9865 (prog-if 02 [16550])Subsystem: Device a000:1000Flags: medium devsel, IRQ 17I/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 203:01.2 Parallel controller: NetMos Technology Device 9865 (prog-if 03 [IEEE1284])Subsystem: Device a000:2000Flags: bus master, medium devsel, latency 64, IRQ 10I/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 || trueln -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 mcs9865modprobe 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)