Procedimiento de prueba RDSI

De WikiEtl
Saltar a: navegación, buscar

Procedimiento de prueba

1-Conectar el latiguillo RDSI y comprobar que carga el modulo de RDSI (Hisacx), para ello:

  -bash-3.1$ lsmod | grep hisax
  hisax                 432128  0
  crc_ccitt               3200  1 hisax
  isdn                  125664  1 hisax

En caso de que no este cargarlo a mano mediante:

  -bash-3.1$ sudo /sbin/modprobe hisax type=11 protocol=2
  o 
  -bash-3.1$ ~lablis/bin3/modprobe hisax type=11 protocol=2


Trazas:


Jul 17 14:16:01 doc002 kernel: ISDN subsystem Rev: 1.1.2.3/1.1.2.3/1.1.2.2/1.1.2.3/1.1.2.2/1.1.2.2 loaded
Jul 17 14:16:01 doc002 kernel: HiSax: Linux Driver for passive ISDN cards
Jul 17 14:16:01 doc002 kernel: HiSax: Version 3.5 (module)
Jul 17 14:16:01 doc002 kernel: HiSax: Layer1 Revision 2.46.2.5
Jul 17 14:16:01 doc002 kernel: HiSax: Layer2 Revision 2.30.2.4
Jul 17 14:16:01 doc002 kernel: HiSax: TeiMgr Revision 2.20.2.3
Jul 17 14:16:01 doc002 kernel: HiSax: Layer3 Revision 2.22.2.3
Jul 17 14:16:01 doc002 kernel: HiSax: LinkLayer Revision 2.59.2.4
Jul 17 14:16:01 doc002 kernel: HiSax: Total 1 card defined
Jul 17 14:16:01 doc002 kernel: HiSax: Card 1 Protocol EDSS1 Id=HiSax (0)
Jul 17 14:16:01 doc002 kernel: HiSax: Eicon.Diehl Diva driver Rev. 1.33.2.6
Jul 17 14:16:01 doc002 kernel: ACPI: PCI Interrupt 0000:02:09.0[A] -> GSI 19 (level, low) -> IRQ 19
Jul 17 14:16:01 doc002 kernel: Diva: IPACX PCI card configured at 0xf8bfc000 IRQ 19
Jul 17 14:16:01 doc002 kernel: Diva: IPACX PCI space at 0xf8b98000
Jul 17 14:16:01 doc002 kernel: Diva: IPACX Design Id: 24
Jul 17 14:16:01 doc002 kernel: Eicon.Diehl Diva: IRQ 19 count 0
Jul 17 14:16:01 doc002 kernel: HiSax: IPACX ISDN driver v0.1.0
Jul 17 14:16:01 doc002 kernel: Eicon.Diehl Diva: IRQ 19 count 3
Jul 17 14:16:01 doc002 kernel: HiSax: DSS1 Rev. 2.32.2.3
Jul 17 14:16:01 doc002 kernel: HiSax: 2 channels added
Jul 17 14:16:01 doc002 kernel: HiSax: MAX_WAITING_CALLS added


2-Arrancar el servicio desde el temporal para evitar conflictos con pwd de sudo:

doc005:~> cd /tmp
doc005:/tmp>  sudo /etc/init.d/isdnutils start
Starting ISDN services... ipppd
Sorry - this system lacks PPP kernel support.
Check whether you configured at least the ippp0 device!

3-Probar a ejecutar los scripts de prueba para las practicas (do_device.isdn0 start ORIGEN DESTINO)

doc005:/tmp> cd ~lablis
doc005:~lablis> cd bin2
doc005:~lablis/bin2> sudo ./do_device.isdn0 start 10.0.0.5 3061 10.0.0.4 3060
isdn0 added
EAZ/MSN for isdn0 is 3061
Security for isdn0 is on
Hangup-Timeout for isdn0 is 60 sec.
Encapsulation for isdn0 is rawip
Layer-2-Protocol for isdn0 is hdlc
Layer-3-Protocol for isdn0 is trans
Verbose-level set to 2.
doc005:~lablis/bin2> sudo ifconfig
isdn0     Link encap:Ethernet  HWaddr FC:FC:0A:00:00:05
         inet addr:10.0.0.5  P-t-P:10.0.0.4  Mask:255.255.255.255
         inet6 addr: fe80::fefc:aff:fe00:5/64 Scope:Link
         UP POINTOPOINT RUNNING NOARP  MTU:1500  Metric:1
         RX packets:0 errors:0 dropped:0 overruns:0 frame:0
         TX packets:0 errors:1 dropped:0 overruns:0 carrier:0
         collisions:0 txqueuelen:30
         RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)
lo        Link encap:Local Loopback
         inet addr:127.0.0.1  Mask:255.0.0.0
         inet6 addr: ::1/128 Scope:Host
         UP LOOPBACK RUNNING  MTU:16436  Metric:1
         RX packets:13916 errors:0 dropped:0 overruns:0 frame:0
         TX packets:13916 errors:0 dropped:0 overruns:0 carrier:0
         collisions:0 txqueuelen:0
         RX bytes:1391123 (1.3 MiB)  TX bytes:1391123 (1.3 MiB)

4-Realizar la misma operacion en otro terminal para establecer un enlace punto a punto entre dos terminales a traves de RDSI.Cada extremo debera tener una direccion IP asociada al interfaz isdn0 pertenecientes al rango 10.0.0.0-10.255.255.255, ademas cada equipo tiene un numero RDSI indicado en la pegatina de cada puesto. El scritp do_device.isdn0 crea un interfaz IP sobre la tarjeta RDSI asociada al dispositivo isdn0. Por ejemplo pongamos que tenemos dos equipos: doc004 con Nº RDSI 3061 al que asociamos la direccion 10.0.0.5 y el doc004 con Nº RDSI 3162 al que asociamos la direccion 10.0.0.4 para hacer el enlace punto-punto

  En doc004--> do_device.isdn0 start 10.0.0.4 3064  10.0.0.5 3063
  En doc005--> do_device.isdn0 start 10.0.0.5 3063  10.0.0.4 3064

Finalmente comprobamos que ambos tienen conectividad mediante ping

doc005:~lablis/bin2> ping 10.0.0.4 -I isdn0 
PING 10.0.0.4 (10.0.0.4) from 10.0.0.5 isdn0: 56(84) bytes of data.
64 bytes from 10.0.0.4: icmp_seq=1 ttl=64 time=58.7 ms
64 bytes from 10.0.0.4: icmp_seq=2 ttl=64 time=197 ms
64 bytes from 10.0.0.4: icmp_seq=3 ttl=64 time=350 ms
--- 10.0.0.4 ping statistics --- 
3 packets transmitted, 3 received, 0% packet loss, time 2000ms
rtt min/avg/max/mdev = 58.789/202.079/350.232/119.030 ms

5-Por otra parte probamos la señalizacion:

doc004:~>sudo isdnctrl
doc004:~> sudo hisaxctrl HiSax 1 0x0004
doc004:~> sudo hisaxctrl HiSax 11 0x0800
doc004:~> cat /dev/isdnctrl0
frame user->network tei management
00:20.28 l3 dss1down state 0 prim 0x300
00:20.28 l3 newstate cr 6 0 --> 1
HEX: 00 85 7F...

Actualizacion imagen 2013-2014

1. Levantamos el servicio:

sudo /etc/init.d/isdnutils-base start

2. Comprobamos que el módulo hisax esta con un

lsmod | grep hisax

Si no está, levantámos el módulo con:

sudo /sbin/modprobe hisax type=11 protocol=2

3. Generará un archivo que debemos modificar, para ello:

sudo nano /etc/isdn/device.isdn0

Lo primero comentaremos la linea 4, para poder probarlo. ACORDARSE DESPUÉS DE VOLVER A DESCOMENTARLA PARA QUE QUEDE ASÍ, YA QUE ES EL OBJETIVO DE LAS PRACTICAS CONFIGURARLO

Después modificamos las lineas 51 y 52 con las ips origen y destino de la conexión pointopoint que vamos a efectuar.

Después ejecutamos el script.

sudo sh /etc/isdn/device.isdn0

Una vez ejecutado lanzamos el siguiente comando:

sudo isdnctrl eaz isdn0 <eaz>

Siendo <eaz> el numero de RDSI que hay indicado en cada puesto.

4. Para probar que funciona.

doc010:/etc/isdn> ping 10.0.0.4 -I isdn0
PING 10.0.0.4 (10.0.0.4) from 10.0.0.4 isdn0: 56(84) bytes of data.
64 bytes from 10.0.0.4: icmp_req=1 ttl=64 time=0.034 ms
64 bytes from 10.0.0.4: icmp_req=2 ttl=64 time=0.041 ms
64 bytes from 10.0.0.4: icmp_req=3 ttl=64 time=0.041 ms

Donde con la opción -I le indicamos al ping la interfaz de red que queremos usar.

Descripcion del servicio y despliegue en los laboratorios

En primer lugar debemos observar el despliegue del servicio dentro de los laboratorios del servicio de rdsi, estamos levantando un servicio pero solo la parte que nos permite realizar la configuracion y no los ficheros de configuracion de los enlaces, esto es, que debemos deshabilitar la configuracion de los interfaces isdn y ppp. Para ello dentro de los ficheros device.ipppx y device.isdnx pondremos un exit 1 para evitar su configuracion ya que ese es el cometido de las practicas

 Nota: podeis mirar como los ficheros de las practicas son sospechosamente muy parecidos....

Problemas Conocidos

Equipos nuevos

Si al cargar el módulo hisax con modprobe el ordenador se queda colgado, modificar el archivo /etc/lilo.conf y añadir la opcion "irqpoll" al inicio (si no la tiene ya):

# LILO configuration file
# NOT generated by 'liloconfig' :-)
#
# Start LILO global section
boot = /dev/hda
append = "panic=30 irqpoll"
lba32
prompt
.....  


Problemas al cargar el isdnutils

Puede ser que al cargar el isdnutils el equipo el equipo se quede pillado, esto es por que el isdnutils cambia la ruta por defecto del equipo a la del interfaz ippp0 que crea. Para ello hay que modificar el fichero /etc/isdn/isdn.ipp0, donde crea la ruta por defecto debemos comentarla:

   #Inesita 28/09/07 Comentamos la ruta por defecto
       #if [ "$bindnum" = 0 ]; then
       #    route del default 2>/dev/null
       #    route add default netmask 0 ${device}
       #fi

Dar permisos al /dev/isdninfo

Puede que en algunas practicas sea necesario acceder al /dev/isdninfo, tendriamos que dar permisos a los usuarios pero se crea dinamicamente al configurar los interfaces de rdsi por lo que debemos acceder al fichero /etc/init.d/init.d.functions y darle los permisos dentro de la funcion que lo crea.

Problemas al arracar el servicio por conflicto con rutas

Puede ser que tengamos problemas de rutas al arrancar el servicio ya que estamos pasando de usuario normal a sudo para arrancar el isndutils, para ello debemos modificar la variable PWD dentro del fichero de configuracion init.d.funcions:

 olddir=`pwd`
 #olddir="$HOME"

Asi debemos igualmente arrancar el servicio desde el temporal o sino nos dara problemas


La señalizacion no saca las trazas correctas

Probablemente sea porque al arrancar el isdnutils se crea por defecto el /dev/isdnlog, el cual tambien lee las trazas de señalizacion, lo que provoca conflicto entre ambos dispositivos, para solucionarlo unicamente deshabilitarlo en el arranque del servicio (en el init.d.functions)


NOTA: No caer en la desesperacion..esto alguna vez funciono...suerte!!!


Modificaciones en script /etc/isdn/init.d.functions

Línea 93, función check_isdncards:

 if [ ! -e /dev/isdnctrl ]; then
               cd /dev && ln -s isdnctrl0 isdnctrl
               # goyo 21/07/2008 added
               chmod 777 /dev/isdnctrl*
 fi

Línea 123, función check_isdncards:

   # goyo 21/07/2008 added
   chmod 777 /dev/isdninfo
}

Línea 132, función start_isdnlog:

start_isdnlog() {
     # goyo 21/07/2008 added
     exit 0

Línea 146, :

 # goyo 21/07/2008
 if   [ -e /dev/$device ];      then
    #DEVISDNCTRL=/dev/$device;
    DEVISDNCTRL=/dev/$device
    chmod 777 /dev/$device
 elif [ -e /dev/isdn/$device ]; then DEVISDNCTRL=/dev/isdn/$device;

--Ines 13:06 25 sep 2007 (CEST)


Notas

  • No tienen que levantarse los demonios de isdn ni los de ppp:
mceleste@doc001:/usr/lab/asig/lablis/bin2$ pstree | grep isdn
mceleste@doc001:/usr/lab/asig/lablis/bin2$ pstree | grep ippp
mceleste@doc001:/usr/lab/asig/lablis/bin2$ pstree | grep ppp


  • Solo se crea el interfaz isdn0, no se crea ningun ppp:
mceleste@doc001:/usr/lab/asig/lablis/bin2$ sudo ifconfig
eth0      Link encap:Ethernet  HWaddr 00:19:66:32:08:A7  
         inet addr:163.117.144.100  Bcast:163.117.144.255  Mask:255.255.255.0
         inet6 addr: 2001:720:410:100c::100/64 Scope:Global
         inet6 addr: fe80::219:66ff:fe32:8a7/64 Scope:Link
         UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
         RX packets:8190 errors:0 dropped:0 overruns:0 frame:0
         TX packets:6836 errors:0 dropped:0 overruns:0 carrier:0
         collisions:0 txqueuelen:1000 
         RX bytes:3488695 (3.3 MiB)  TX bytes:1417004 (1.3 MiB)
         Interrupt:20 Base address:0xc000 
eth1      Link encap:Ethernet  HWaddr 00:0D:88:53:45:F4  
         inet addr:192.100.100.100  Bcast:192.100.100.255  Mask:255.255.255.0
         inet6 addr: fe80::20d:88ff:fe53:45f4/64 Scope:Link
         UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
         RX packets:0 errors:0 dropped:0 overruns:0 frame:0
         TX packets:11 errors:0 dropped:0 overruns:0 carrier:11
         collisions:0 txqueuelen:1000 
         RX bytes:0 (0.0 b)  TX bytes:1410 (1.3 KiB)
         Interrupt:23 Base address:0xec00 
isdn0     Link encap:Ethernet  HWaddr FC:FC:0A:00:00:01  
         inet addr:10.0.0.1  P-t-P:10.0.0.2  Mask:255.255.255.255
         inet6 addr: fe80::fefc:aff:fe00:1/64 Scope:Link
         UP POINTOPOINT RUNNING NOARP  MTU:1500  Metric:1
         RX packets:329 errors:0 dropped:0 overruns:0 frame:0
         TX packets:329 errors:0 dropped:0 overruns:0 carrier:0
         collisions:0 txqueuelen:30 
         RX bytes:27636 (26.9 KiB)  TX bytes:27636 (26.9 KiB)
lo        Link encap:Local Loopback  
         inet addr:127.0.0.1  Mask:255.0.0.0
         inet6 addr: ::1/128 Scope:Host
         UP LOOPBACK RUNNING  MTU:16436  Metric:1
         RX packets:300 errors:0 dropped:0 overruns:0 frame:0
         TX packets:300 errors:0 dropped:0 overruns:0 carrier:0
         collisions:0 txqueuelen:0 
         RX bytes:24532 (23.9 KiB)  TX bytes:24532 (23.9 KiB)


  • El scrip /etc/init.d/isdnutils sirve para crear el dispositivo isnd0
  • Solo tras ejecutar el script do_device.isdn0 se levantará el interfaz isdn0