Firmware Wive-Bal

Esta es una Guía de como instalar y configurar las opciones mas importantes del Firm Wive-Bal.

Descargas

  • Edimax EW-7209apg, Edimax BR-6204-wg, JAHT WP-4001BR2, INVECOM AP5L

    wive-bal.bin

  • Tamaño: 1,57Mb.
  • MD5: 0c8685d2d55ee428a4c27a674f18762f wive-bal.bin
  • MD5: 39d6831faaf554e11110d7ac009220d9 wive-bal-wl5460.bin

Flasheo del Firm

  1. Conectar un cable de red desde la PC hasta uno de los puertos del switch.
  2. Con el conector de alimentación del dispositivo desconectado, apretar el botón reset y sosteniéndolo apretado conectar la alimentación luego de 5 segundos más o menos, soltar el botón reset.
    • Ahora el router entra en modo TFTP server con dirección 192.168.1.6
    • Atención! El dispositivo no responde al comando ping
  3. Asignarle al PC una dirección IP ej: 192.168.1.5
  4. Luego conectarse con un cliente TFTP , aquí pondré los comandos utilizados desde Linux.

 tftp> connect 192.168.1.6
 tftp> binary
 tftp> put wive-bal.bin
 tftp> quit
  • Es muy importante que durante el proceso de flasheo el router no pierda la alimentación de energía eléctrica.
  • Después de aproximadamente 2 a 4 minutos el router se reiniciará automáticamente.

Configuración por defecto

  • Las interfaces del dispositivo tendrán los siguientes valores luego de la instalación del Firmware:

 Interfaz eth0 (switch 4 puertos) dirección IP: 192.168.2.50 netmask: 255.255.255.0
 Interfaz eth1 (puerto WAN) dirección IP: 192.168.1.50 netmask: 255.255.255.0
 Interfaz wlan0 (Wireless) dirección IP: 192.168.0.50 netmask: 255.255.255.0
 Interfaz wlan0 (Modo de funcionamiento): Access Point
 Interfaz wlan0 (essid): Wive

Acceso a la Consola

  • El acceso a la Consola se puede hacer a través de cualquiera de sus interfaces, se debe configurar la PC con una IP dentro del rango de direcciones de subred de la interfaz seleccionada para acceder.
  • Ingresar mediante telnet ej:

# telnet 192.168.2.50
Trying 192.168.2.50...
Connected to 192.168.2.50.
Escape character is '^]'.
Wive login: root
Password: rtl8186 (no aparece)
  • En este ejemplo la conexión es a uno de los puertos del switch(eth0), con usuario "root" y el password por defecto es "rtl8186"
  • Luego se podrá cambiar el password del usuario root mediante el comando 'passwd'

Configuración de Wive

  • Wive se configura mediante archivos de texto, estos archivos de texto pueden ser modificados con el editor de textos vi.

Configuración de las interfaces de red

# cat /etc/network/interfaces

BRIDGE_START=yes
#When auto_bridge is "yes" then init.script makes bridge itself
# when aut_bridge is "no" then init.script start /etc/network/bridge
AUTO_BRIDGE=yes
BR0_IPADDR=192.168.2.91/24

IPV4_FORWARD_ENABLE=yes
START_IPTABLES=yes

ETH0_ENABLED=yes
ETH0_IPADDR=192.168.2.50/24
ETH0_MACADDR=00006c576921
ETH0_DEVICE=eth0

ETH1_ENABLED=yes
ETH1_IPADDR=192.168.1.50/24
ETH1_MACADDR=00006c576922
ETH1_DEVICE=eth1

WLAN_ENABLED=yes
WLAN_IPADDR=192.168.0.50/24
WLAN_MACADDR=00006c576923
  • El archivo '/etc/network/interfaces' es el poseedor de los valores de configuración de las interfaces de red.
  • Cada interfaz de red tiene una sección de configuración

ETH0_ENABLED=yes               #habilita ó no la interfaz 
ETH0_IPADDR=192.168.2.50/24    #asigna dirección IP/mascara subred
ETH0_MACADDR=00006c576921      #asigna MAC Address, Wive por defecto asigna siempre las mismas MAC Address, es aconsejable cambiarle el valor
ETH0_DEVICE=eth0               #asigna nombre al dispositivo

Configuración del dispositivo como Bridge

  • Para unir las interfaces de red y hacerlas funcionar como una interfaz bridge, es necesario asignarle el valor 'yes' a la variable BRIDGE_START.
  • Si la variable 'AUTO_BRIDGE' tiene asignado el valor 'yes', entonces se creará la interfaz br0 la cual estará integrada por las interfaces habilitadas en sus respectivas secciones, con la dirección IP y Máscara de Sub Red asignada por la variable 'BR0_IPADDR', si 'AUTO_BRIDGE' se le asigna el valor 'no', entonces para configurar el bridge Wive lanzará el script '/etc/network/bridge'

BRIDGE_START=yes
AUTO_BRIDGE=yes
BR0_IPADDR=192.168.2.91/24

Habilitar Ruteo

  • Para habilitar el ruteo entre las interfaces se debe asignar el valor 'yes' a la variable 'IPV4_FORWARD_ENABLE'

IPV4_FORWARD_ENABLE=yes

Configuración de parametros de la interfaz wireless

  • El archivo '/etc/network/wifi/general' es un script de shell, el cual configura los parámetros de la interfaz wireless.

# cat /etc/network/wifi/general
#!/bin/sh

#Set ESSID of wirelless Infrastructure Network
iwpriv wlan0 set_mib ssid="Wive"

iwpriv wlan0 set_mib hiddenAP=0

#Set Mode: 8 - Client;16 - AP; 32 - AdHoc
iwpriv wlan0 set_mib opmode=16

#Set Regulatory Domain:
#  "3" - 13 channels available, "6" - 14 channels available.
#  FCC=1;IC=2;ETSI=3;SPAIN=4;FRANCE=5;MKK=6
iwpriv wlan0 set_mib regdomain=6

#Set Channel here
iwpriv wlan0 set_mib channel=6

#Set Initial Gain: in range 0-7
#   It seems to be sens but maybe not. Just test
iwpriv wlan0 set_mib initialGain=4

#Set TransmitPower for CCK(802.11b) modulation
#  Please Change it in variable
CCKPOWER=0a
iwpriv wlan0 set_mib TxPowerCCK=`ader $CCKPOWER 14`
#iwpriv wlan0 set_mib TxPowerCCK=1010101010101010101010101010

#Set TransmitPower for OFDM(802.11g) modulation
#  Please Change it in variable
OFDMPOWER=0a
iwpriv wlan0 set_mib TxPowerOFDM=`ader $OFDMPOWER 162`
#iwpriv wlan0 set_mib TxPowerOFDM=1010101010101010101010101010101010101010101010101010101010101010101010
10101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010
10101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010
1010101010101010101010101010101010101010101010

iwpriv wlan0 set_mib basicrates=4095
iwpriv wlan0 set_mib oprates=4095
iwpriv wlan0 set_mib fixrate=1
iwpriv wlan0 set_mib autorate=1

iwpriv wlan0 set_mib band=3

iwpriv wlan0 set_mib bcnint=100

#RTS/CTS Threshold
iwpriv wlan0 set_mib rtsthres=2346

iwpriv wlan0 set_mib fragthres=2346
iwpriv wlan0 set_mib expired_time=50000
iwpriv wlan0 set_mib dtimperiod=1

iwpriv wlan0 set_mib show_hidden_bss=1
iwpriv wlan0 set_mib preamble=0

iwpriv wlan0 set_mib shortretry=6
iwpriv wlan0 set_mib longretry=6

iwpriv wlan0 set_mib Diversity=0
iwpriv wlan0 set_mib DefaultAnt=0
iwpriv wlan0 set_mib RFChipID=7
iwpriv wlan0 set_mib led_type=7

#G protection
iwpriv wlan0 set_mib disable_protection=0

#For bridged mode set this parameters
# Nat2.5 is technology to change the source MAC to MAC of Wlan-interface
#  be carefull it says disabled, so make inverse in your decision
iwpriv wlan0 set_mib nat25_disable=0
# Macclone says all about itself. It just takes MAC of ETHERNET device on other end of line
#  and take it for Wlan-interface. be carefull if this enabled it must be one device on a line.
iwpriv wlan0 set_mib macclone_enable=0

iwpriv wlan0 set_mib dhcp_bcst_disable=0

#Block packets between clients connected
# 0 - disable; 1 - block relay;2 - block relay but passup 
iwpriv wlan0 set_mib block_relay=0

iwpriv wlan0 set_mib wifi_specific=0
  • El seteo de los valores se realiza mediante el comando 'iwpriv', a continuación se describirán los seteos más relevantes.

Configuración del SSID

  • El SSID es el nombre o identificador de la red inhalámbrica.

iwpriv wlan0 set_mib ssid="Wive"

Configuración del modo de operación inalámbrica

  • Aquí seteamos el modo de operación de la interfaz inalámbrica con un valor de 8 funciona como cliente, con un valor de 16 funciona como Access Point, y con un valor de 32 funciona como adhoc.

iwpriv wlan0 set_mib opmode=16

Configuración del Canal

  • Selección del Canal a utilizar. En este caso Wive trae por defecto seleccionado la norma, dominio o región "MKK" la cual habilita los canales del 1 al 14

iwpriv wlan0 set_mib channel=6

Configuración de la potencia de transmición

  • Hay un ajuste de la potencia de transmición para la norma B(CCKPOWER) y otro para la morma G(OFDMPOWER) que se realiza con las siguientes variables dentro del script:

CCKPOWER=0a
OFDMPOWER=0a
  • Los valores que se les asigna son hexadecimeales, debajo coloco una tabla con valores de referencia. Es recomendable no superar los 200mw de potencia.

02==16mW
05==32mW
07==50mW
08==63mW
0a==100mW
0c==150mW
0f==200mW
10==250mW
12==315mW
1b==400mw

Configuración de la Banda

  • Esta configuración permite setear el dispositivo para funcionar en 802.11b(1), 802.11g(2) o ambas(3).

iwpriv wlan0 set_mib band=3

Habilitar el Portal Cautivo

  • El archivo "/etc/config" es el encragado de configurar algunas opciones relacionadas con BAL.
  • AL asignar el valor "si" a la variable "CAPTIVEPORTAL", Se pondrá en funcionamiento, el Portal Cautivo, Wive lanzará el script "etc/network/iptables" el cual tiene un conjunto de reglas, que son las que filtrarán ó redireccionarán el tráfico no autorizado hacia el Portal.
  • El fitrado se hace a travéz de MAC Address, para habilitar una MAC hay que agregarla al archivo "/etc/network/mac-filtering"
  • Modificar el archivo "etc/network/iptables" para las direcciones IP que se han asignado a las interfaces y chequear las reglas iptables.

# cat config
HOSTNAME=Wive
CAPTIVEPORTAL=si
BALLSUPDATE=si

#-----------Variables BAL---------------

HARDWARE="Edimax EW-7209apg"
FIRMWARE="Wive 0.5.5"
CANAL=""
ADMIN=""
EMAIL=""
TIPONODO=""
INFO="http://wiki.buenosaireslibre.org"

http://img87.imageshack.us/img87/3783/pantallazoxd2.png

BALLS Update

  • Para hacer latir el corazón en el mapa de BAL, es necesario, por un lado asignar el valor "si" a la variable "BALLSUPDATE", y por otro lado en el sistema de BALLS, agregar la dirección MAC Address de la interfaz que está conectada a la red WAN ó "internet".

Configuración de OLSRD

  • Para configurar el OLSRD se debe editar el archivo "/etc/olsrd.conf" recomiendo leer información sobre el tema, aqui un buen tutorial.

Búsqueda de Access Points

  • Wive posee una utilidad en modo consola para la búsqueda de Access Point, desde la consola tipear 'scanner' y se pondrá en funcionamiento.
  • Es bastante útil a la hora de orientar una antena, ya que cada aproximadamente 2 segundos hace un refresco de pantalla con los valores de los Access Point encontrados.

sitesurvey2.jpg

Cómo configurar el servidor DHCP

  • Esta es una guía de como configurar el servidor DHCP en Wive, puede resultar útil para cualquier sistema que utilce udchpd que es el servidor DHCP que provee Busybox.
  • El único argumento de la linea de comando de udhcpd es opcional, y es para especificar un archivo de configuración, si no se especifica ninguno utilizará por defecto "/etc/udhcpd.conf" ej: udhcpd /etc/udhcpd.eth1.conf

# Ejemplo de archivo de configuración udhcpd (/etc/udhcpd.conf)

# Comienzo y finalización del bloque de concesión de IPs

start           192.168.0.20    #default: 192.168.0.20
end             192.168.0.254   #default: 192.168.0.254


# Interfaz que udhcpd utilizará

interface       eth0            #default: eth0


# Máximo número de concesiones (incluyendo direcciones reservadas
# por OFFER's, DECLINE's, y conflictos ARP)

#max_leases     254             #default: 254


# Si remaining está seteado en yes (default), udhcpd guardará el tiempo
# restante por cada concesión en el archivo de concesiones de udhcpd. 
# Si remaining está seteado en no, se guardará en el archivo dhcpd.leases 
# el tiempo absoluto en el que la concesión expirará.

#remaining      yes             #default: yes


# Periodo de tiempo en el cual udhcpd escribirá el archivo udhcpd.leases
# Si esta seteado a 0, udhcpd nunca escribirá en el archivo de concesiones.
# (tiempo especificado en segundos)

#auto_time      7200            #default: 7200 (2 hours)


# Cantidad de tiempo que una IP será reservada (concedida) si un mensaje 
# de negación de DHCP es recibido (segundos).

#decline_time   3600            #default: 3600 (1 hour)


# Cantidad de tiempo que una IP será reservada (concedida) si un mensaje 
# de conflicto de ARP ocurriese. (segundos)

#conflict_time  3600            #default: 3600 (1 hora)


# Cantidad de tiempo que una dirección será reservada (concedida) en segundos

#offer_time     60              #default: 60 (1 minuto)

# Si una concesión por otorgarse está por debajo de este valor, es usado
# el tiempo completo de concesión (segundos).

#min_lease      60              #defult: 60


# Directorio del archivo de concesiones

#lease_file     /var/lib/misc/udhcpd.leases     #defualt: /var/lib/misc/udhcpd.leases

# Directorio del archivo pid
#pidfile        /var/run/udhcpd.pid     #default: /var/run/udhcpd.pid

# Cada vez que udhcpd escribe el archivo de concesiones, el script debajo será llamado.
# Útil para escribir el archivo de concesiones en la flash cada algunas horas.

#notify_file                            #default: (no script)

#notify_file    dumpleases      # <--- usefull for debugging

# Las siguientes son opciones especificas de bootp, seteables por udhcpd.

#siaddr         192.168.0.22            #default: 0.0.0.0

#sname          zorak                   #default: (none)

#boot_file      /var/nfs_root           #default: (none)

# Las opciones restantes son opciones de DHCP y pueden ser indicadas con la
# palabra clave 'opt' o 'option'. Si una opción puede tener varios items, como
# la opción dns, pueden ser listadas en la misma linea, o en varias lineas.
  • Aquí dejo como ejemplo el archivo de configuración que utilizo.
  • La opción static_lease sirve para vincular o asignar a una MAC address una determinada IP.

# cat /etc/udhcpd.conf
start           10.4.16.8
end             10.4.16.30

interface       wlan0

max_leases      21
lease_file      /var/run/udhcpd.leases

static_lease 00:08:54:aa:bb:02 10.4.16.20

option          dns             192.168.2.20
option          subnet          255.255.255.224
option          router          10.4.16.1
option          lease           7200 
  • Solo restaría agregar el script de inicio que lanzará el servicio, y colocarlo en "/etc/rc.d/"

# cat S82udhcpd
#!/bin/sh

start() {
 echo -n "Starting udhcpd: "
 touch /var/run/udhcpd.leases
 udhcpd
 echo " Ok"
}

stop() {
 echo -n "Stopping udhcpd: "

 echo " Ok"
}

case "$1" in
        start)
            start
            ;;

        stop)
            stop
            ;;

        restart)
            stop
            start
            ;;

        *)
            echo $"Usage: $0 {start|stop|restart}"
            exit 1
esac

Véase también




CategoryDocuments

Wiki: Wive-Bal (last edited 2008-12-02 21:02:54 by EduardoMizerit)

USLA