View this PageEdit this PageUploads to this PageVersions of this PageHomeRecent ChangesSearchHelp Guide

Instalar soporte Etherlite en Debian Etch (dgrp, probado con SIV)

El Etherlite 80 RealPort (Terminal Server) es uno de esos OutOfTreeDrivers: ftp://ftp1.digi.com/support/beta/linux/dgrp/, Etherlite 80 RealPort drivers La versión 1.9-17 soporta hasta 2.6.22, la 1.9-18beta soporta hasta 2.6.24 (aunque los únicos cambios son: (1) que piden más memoria al núcleo para el network read/write buffer en dgrp_net_ops.c; antes pedían "UIO_MAX + 10", mientras que ahora piden "UIO_MAX * 2 + 10", aparte de activar un par de trazas en dicho fichero y (2) que definen TTY_FLIPBUF_SIZE a 512 en linux_ver_fix.h, si es que no estaba definido).
  1. Se descomprime el driver de dgrp 1.9 que nos mandaron los de Digi para el núcleo 2.6.x en /usr/src
  2. Se compila :-)
  3. Se instala (¿make install? o copiar los .ko a su sitio y poner en /etc/init.d el dgrp_daemon y ditty_... y poner en el /etc/modules.conf que cargue el dgrp)
  4. Se copian los /etc/ttyEL* /dev/ttys[0-9][0-9] de de un ordenador de teleindicadores de línea 6 (p.ej. carpetana) a /dev/.static/dev /lib/udev/devices/
  5. Se edita /etc/init.d/udev para que después de procesar el /etc/udev/links.conf haga un:
    ( cd /dev/.static/dev & tar -cpf - ttyEL* ttys[0-9][0-9] ) | ( cd /dev & tar -cpf - )
  6. Se copia de otra estación (p.ej. de siviglesia) el /etc/init.d/dgrp_sico y hacer:
    # cd /etc/init.d
    #mv dgrp_daemon dgrp_daemon.digi
    # ln -s dgrp_sico dgrp_daemon
  7. Se configura, p.ej. con:
    dgrp_cfg_node init (ttyid) (ip_address) (number_of_ports)
    dgrp_cfg_node init EL 192.168.1.1 16

Y eso es todo.
NOTA: Para etch (Debian 4.0 con 3.6.18-4) ver Actualizar ...de beta a etch final

Preparación para los TCEs


  1. Se baja el driver beta de la dirección de arriba a /usr/src/modules/etherlite/tce:
    # mkdir -p /usr/src/modules/etherlite/tce
    # cd /usr/src/modules/etherlite/tce
    # wget -U Unknown/1.0 ftp://ftp1.digi.com/support/beta/linux/dgrp/dgrp-1.9-18.src.rpm
  2. Se descomprime y renombras el directorio dgrp-1.9 generado por dgrp-1.9-18, que es su versión de verdad (y así queda explícito para otras veces):
    # mc
    (Te metes en el dgrp-1.9-18.src.rpm, después te metes en el CONTENTS.cpio y copias fuera (F5) el dgrp-1.9.tgz que contiene)
    # tar -xvzf dgrp-1.9.tgz
    # mv dgrp-1.9 dgrp-1.9-18
  3. Se ejecuta el module-assistant para que prepare los programas para poder compilar el driver. El núcleo que tienen los TCEs es el 2.6.18-6-686, por lo que el comando a usar es:
    # m-a -k /usr/src/linux-headers-2.6.18-6-686 -l 2.6.18-6-686 prepare
  4. Te vas al directorio de los fuentes del driver y lo preparas para compilar:
    # cd dgrp-1.9-18
    # cp configure configure.digi
    # sed -i 's:`/bin/uname -r`:2.6.18-6-686:g' configure
    # ./configure KERNEL_HEADERS=/usr/src/linux-headers-2.6.18-6-686
  5. Compilas:
    # make
  6. Copias la parte interesante en un directorio aparte (NOTA: no copiamos el ditty, ya que no lo usamos):
    # mkdir -p ../instalar-1.9-18/daemon/../share/man/man8/
    # cp driver/dgrp.ko ../instalar-1.9-18
    # cp -a config ../instalar-1.9-18/
    # rm -f ../instalar-1.9-18/config/Makefile* ../instalar-1.9-18/config/*.c
    # mv ../instalar-1.9-18/config/dgrp_cfg_node.man ../instalar-1.9-18/share/man/man8/dgrp_cfg_node.8
    # mv ../instalar-1.9-18/config/dgrp_gui.man ../instalar-1.9-18/share/man/man8/dgrp_gui.8
    # cp driver/dgrp.man ../instalar-1.9-18/share/man/man8/dgrp.8
    # cp daemon/drpd ../instalar-1.9-18/daemon/
    # cp daemon/drpd.man ../instalar-1.9-18/share/man/man8/drpd.8
  7. Te llevas ese directorio (instalar-1.9-18) a la máquina donde quieres instalar el dgrp, así como el "dgrp-devices.tar.gz" (que es un "tar -cvzf /tmp/dgrp-devices.tar.gz /lib/udev/devices" hecho en siviglesia(L1)), el dgrp_sico (cogido de /etc/init.d/dgrp_sico de siviglesia) y el dgrp.backing.store (p.ej. tb. de siviglesia, pero editándolo para que la IP sea 127.0.0.1) al /root/dgrp/ de la máquina donde vas a instalar el dgrp.
    (...)
  8. Ya en la máquina de destino, se instala el .ko (en /lib/modules/2.6.18-6-686/kernel/drivers/misc/), se hace un "depmod -a", se pone en el /etc/modules:
    destino# cp instalar-1.9-18/dgrp.ko /lib/modules/2.6.18-6-686/kernel/drivers/misc/
    destino# depmod -a
    destino# echo dgrp >> /etc/modules
  9. Se instala la script de inicio/parada del dgrp:
    destino# cp dgrp_sico /etc/init.d/
    destino# ln -s /etc/init.d/dgrp_sico /etc/init.d/dgrp_daemon
    destino# update-rc.d dgrp_daemon defaults 20
  10. Se instalan las utilidades en /usr/bin/dgrp/daemon y /usr/bin/dgrp/config:
    destino# mkdir -p /usr/bin/dgrp /usr/share/man/man8
    destino# cp -a instalar-1.9-18/config /usr/bin/dgrp/
    destino# cp -a instalar-1.9-18/daemon /usr/bin/dgrp/
    destino# cp instalar-1.9-18/share/man/man8/* /usr/share/man/man8/
  11. Se instalan los dispositivos en /lib/udev/devices/:
    destino# tar -C / -xvzf dgrp-devices.tar.gz
    destino# ( cd /lib/udev/devices && tar -cpf - . ) | (cd /dev && tar -xpf - )
  12. Se pone el fichero de configuración:
    destino# cp dgrp.backing.store /etc/
  13. Se arranca el dgrp:
    destino# /etc/init.d/dgrp_daemon start
    destino# cat /proc/dgrp/config
Si todo ha ido bien, el último paso debería darte un resultado similar a:
maestrotce:~/dgrp# cat /proc/dgrp/config 
#------------------------------------------
#                        Avail
# ID  Major  State       Ports
#------------------------------------------
  4V  250    IDLE        0    
  3V  251    IDLE        0    
  2V  252    IDLE        0    
  1V  253    IDLE        0    
  EL  254    IDLE        0    
maestrotce:~/dgrp# 


NOTA: Esto ha sido realizado y probado usando el chroot de etch que hay en seraphim (entras en seraphim como metro, escribes "etch" (sin las comillas) y pulsas ENTER, te pones como root con un "su" y te vas al directorio /usr/src/modules/etherlite/tce). Allí están también los ficheros que se mencionan en el paso 7, es decir: dgrp-devices.tar.gz dgrp.backing.store y dgrp_sico .

Link to this Page