[LUG.ro-Wireless] Fwd: [Lug-wireless] DLINK 520+ HOWTO sobre mw-cerro

Jorge Montenegro lugro-wireless@lugro.org.ar
Thu, 25 Sep 2003 09:56:57 -0300


--------------Boundary-00=_XATRA0BKXL34Q47KEFIL
Content-Type: text/plain;
  charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

Hola Gente !!
Aqui les mando un howto que escribio un integrante de la mendoza-wireless
en el cual comentan el problema de la desaparicion de la empresa Intersil=
 que
desarrollaba los chips Prism el cual tenia un exelente soporte bajo la
plataforma GNU/Linux, el mismo comenta sobre la DWL520+ una placa que se
consigue f=E1cilmente ac=E1 en Argentina, y cuenta con el chip acx100 de =
Texas
Instrument.

-------------------------------------------------------


--=20
lu4fkb@yahoo.com.ar
Jorge Montenegro
Rosario (SF) Argentina
Linux User #322177
http://counter.li.org
JID: caseretis@lugro.org.ar

--------------Boundary-00=_XATRA0BKXL34Q47KEFIL
Content-Type: text/plain;
  charset="iso-8859-1";
  name="Adjuntos: 1"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment; filename="dwl520plus-howto.txt"


Howto-cito para placas DLINK 520+ contra AP mw-cerro bajo GNU/Linux
con Driver Opensource

Luciano Ruete

   luciano;at;lugmen.org.ar

Harpo Maxx

   harpo;at;lugmen.org.ar

   Versi=F3n 0.1 ($id)
     _________________________________________________________

   Tabla de contenidos
         =20
        1. Raz=F3n de este documento
        2. Consiguiendo el driver
        3. Consiguiendo los pseudo-firmware
        4. Asociando contra el AP Nokia del nodo mw-cerro
        5. Compilaci=F3n y configuraci=F3n para mw-cerro
        6. Asoci=E1ndonos
        7. Varios

   Tabla de contenidos
   1. Raz=F3n de este documento
   2. Consiguiendo el driver
   3. Consiguiendo los pseudo-firmware
   4. Asociando contra el AP Nokia del nodo mw-cerro
   5. Compilaci=F3n y configuraci=F3n para mw-cerro
   6. Asoci=E1ndonos
   7. Varios

1. Raz=F3n de este documento

   Dada la reciente desaparecion de Intersil, desarrolladora de
   los chips Prism, los cuales ten=EDan un excelente soporte bajo
   GNU/Linux, en Mendoza-wireless , nos hemos visto en la
   necesidad de buscar nuevos equipos que tengan soporte bajo
   GNU/Linux y sobre todo que sean de c=F3digo abierto.

   La DWL520+ es un placa que se consigue f=E1cilmente ac=E1 en
   Argentina, y cuenta con el chip acx100 de Texas Instrument. TI
   no se ha portado amigablemente con la comunidad GNU/Linux, ya
   que no ha tenido la gentileza de liberar las especificaciones
   del Chip. Si bien hace unos meses ya se libero un driver para
   GNU/Linux, este es totalmente binario y por lo tanto no
   permite el hacking al que la comunidad esta habituada.

   Por suerte la haciendo uso de la ingenier=EDa inversa y con
   mucha paciencia, se ha logrado desarrollar un driver
   OpenSource. Este documento cuenta las experiencias al utilizar
   este driver contra el AP del Cerro Arco dentro de
   Mendoza-wireless

   Sin embargo tambien puede servir para cualquiera que tenga
   problemas a la hora de utilizar este driver Opensource
     _________________________________________________________

2. Consiguiendo el driver

   Bajar la ultima versi=F3n del driver de
   http://acx100.sf.net/download.html .Se bajo la versi=F3n 0.2pre1
   del cvs con la linea tal cual indica en la page de download

   Los tarballs los encontras en
   http://sourceforge.net/projects/acx100/
     _________________________________________________________

3. Consiguiendo los pseudo-firmware

   El driver para funcionar necesita de unos pseudofirwmare que
   son cargados en el momento de levantar el driver

   Estos se pueden bajar de los instaladores que hay en la pagina
   de DLINK. Se pueden bajar los drivers para cualquier versi=F3n
   de windows ya que los firmwares permanecen iguales.
   http://www.dlink.com/products/support.asp?pid=3D24#drivers=20

   Una vez descomprimido el paquete, copiar los siguientes
   archivos al directorio firmware dentro de acx100 maintree
  WLANGEN.BIN - Generic firmware
  RADIO0d.BIN - Maxim radio module
  RADIO11.BIN - RFMD radio module

   Algunas 520+ usan un modulo de radio (Maxim Radio MOdule)
   distinto al tradicional RFDM que parece ser el habitual seg=FAn
   la documentaci=F3n. Es una buena decisi=F3n poner los 2 m=F3dulos en
   el directorio firmware y olvidarnos del asunto :)
     _________________________________________________________

4. Asociando contra el AP Nokia del nodo mw-cerro

   EL ap del nodo MW-Cerro es un NOKIA que funciona a 11Mps, al
   parecer en el primer mundo esto ya esta deprecated je ejej.
   Por que el driver acx100 al asociarse solicita una modulaci=F3n
   a 22Mps capacidad que el ap NOKIA no puede cumplir y por lo
   tanto l asociaci=F3n fallaba.

   Por suerte uno de los desarrolladores del acx100 (Andreas Mohr
   nos tiro la linea para solucionar ese problema en la linea
   1709 del src/acx100_helper2.c

   Donde figura:
               *(UINT16 *)pCurrPos =3D (hw->capabilities &
~(WLAN_SET_MGMT_CAP_INFO_IBSS(1)))
| WLAN_SET_MGMT_CAP_INFO_ESS(1);


   cambiar por:
   *(UINT16 *)pCurrPos =3D host2ieee16((hw->capabilities &
~(WLAN_SET_MGMT_CAP_INFO_IBSS(1)
|WLAN_SET_MGMT_CAP_INFO_PBCC(1)))
| WLAN_SET_MGMT_CAP_INFO_ESS(1));


   Esto deber=EDa estar solucionado en la proximal versi=F3n del
   driver (0.2pre2 y subsiguientes), seg=FAn palabras del propio
   Andreas.

   Si ves este mensaje en /var/log/syslog cuando est=E9s probando
   la placa:

Sep 14 13:59:53 wired kernel: Association FAILED: response status code
10: "Cann
ot support all requested capabilities in the Capability Information fie
ld"!

   Es que todav=EDa no se soluciono el problema y vas a tener que
   modificar las lineas mencionadas arriba.
     _________________________________________________________

5. Compilaci=F3n y configuraci=F3n para mw-cerro

   Basta un simple make dentro del directorio acx100/ y si no hay
   problemas deben encontrar el modulo dentro del directorio src/
   de nombre 'acx100_pci.o'

   Si hay alg=FAn problema, puede deberse a que no tengamos
   disponibles los fuentes del kernel o que el script de
   configuraci=F3n no los est=E9 encontrando. Si estamos seguros de
   tener las fuentes del kernel actual, entonces deber=EDamos poner
   un ojo en el script 'Configure' ubicado en el directorio ra=EDz
   de ac=E1100/

   Como el driver es considerado beta por sus autores no existe
   un TARGET 'install' dentro del make file. Esto quiere decir
   que el driver no se instalara solo. Pero eso no importa por
   ahora lo cargaremos a mano y si todo sale bien, deber=EDamos
   buscar un manera de automatizar un poco la tarea.

   Para cargar el driver bastar=EDa con un simple

   #insmod src/acx100_pci.o firwmare_dir=3Dfirmware/=20

   parados siempre en el directorio del acx100/
     _________________________________________________________

6. Asoci=E1ndonos

   Los pasos para la configuraci=F3n a partir de este momento son
   iguales a las de cualquier drivers, usando la utilidad
   iwconfig de las wireless-tools podemos seleccionar todas las
   variables necesarias para configurar una red wireless. A
   saber:

   CANAL:
          el total de la banda de la frecuencia libre de 2.4Ghz,
          se divide en canales, poder tener varias se=F1ales
          conviviendo amigablemente. Cada una de estas divisiones
          se llama canal y van del 1 al 11, cada uno con una
          frecuencia distinta.

   ESSID:
          es la cadena de identificaci=F3n de la red wireless.

   MODO:
          es el modo en que opera la placa wireless. Por ejemplo
          el modo 'monitor' es para monitorear una red wireless.
          El modo ad-hoc es para conectar 2 o m=E1s m=E1quinas, en
          forma descentralizada. En el modo managed, nos
          conectamos a un AP, que centraliza las conexiones al
          medio.

   Para el nodo mw-cerro

   #iwconfig wlan0 essid lugmen channel 6 mode managed

   y luego asignar un ip a la placa

   #ifconfig wlan0 10.55.0.237

   Si todo sale ok, deber=EDamos estar asociados. La salida del
   iwconfig se veria algo as=ED como

  wlan0     v0.1h  ESSID:"lugmen"
            Mode:Managed  Channel:6  Access Point: 00:E0:03:04:B0:A2
            Bit Rate=3D11Mb/s   Tx-Power:18 dBm
            Encryption key:off
            Link Quality:44/0  Signal level:-205 dBm  Noise level:-249
dBm
            Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
            Tx excessive retries:0  Invalid misc:0   Missed beacon:0

   Y no dever=EDamos tener problemas en hacer un 'ping 10.55.0.1' y
   obtener buenas respuestas

   En el directorio scripts se encuentran un par de scripts para
   facilitarnos el camino, en donde se puede mediante la
   definici=F3n de variables configurar todas estas opciones
   mencionadas y mas. Les recomiendo que le echen una mirada.
     _________________________________________________________

7. Varios

   El driver soporte un modo monitor ideal para kismetear a
   trav=E9s de iwpriv

   #iwpriv monitor 1 6

   coloca la placa en modo monitor y luego editando el
   kismet.conf y seleccionado un driver generic podemos kismetear
   sin problemas con la DLINK 520+

   En kismet/kismet.conf (si tienen debian) colocar esta linea

  source=3Dgeneric,wlan0,Kismet

   Por default el driver env=EDa mucha informaci=F3n de debug al
   syslog, para casi eliminar toda la info de debug y evitar que
   nos llene el disco (tengo un disco de 1.7G en mi STA)

   #iwpriv set_debug 0

   As=ED y todo puede suceder que el driver siga enviando mucha
   informaci=F3n al syslog, "ensuci=E1ndolo" de alguna manera. Como
   todav=EDa el driver no soporta loguear a un archivo aparte lo
   que podemos hacer es anular todo tipo de debug comentando la
   linea #define DEBUG en include/acx100.h, luego tendremos que
   volver a compilar el driver con make.

   El driver tampoco soporta a=FAn modo Multicast y Promiscuo como
   bien descubri=F3 Harpo y luego jjo lo confirmo en en dialogo con
   este. Por lo que programas como Zebra, o tcpdump por ahora no
   se pueden usar.
"  Harpo "... Puede ser que las capacidades del driver en la implementa
ci=F3n del
  soporte multicast puedan estar jodiendo, o estoy meando muy fuera del
  tarro? ..""
"  jjo "... Buena detecci=F3n, recordar que el driver _debe_ interactuar
con el la placa
  para manipular las direcciones MAC multicast  a las cuales este host
  pertenece; es decir: la placa _debe_ saber cuales macaddrs de multica
st debe
  dejar "pasar" hacia la capa de red (algo as=ED como nuevas direcciones
  MAC-destino "aceptadas" por la placa.).

  F=EDjate en la =FAltima versi=F3n del driver, en src/acx100.c
      netdev->set_multicast_list =3D acx100_set_rx_mode;
  y acx100_set_rx_mode deber=EDa ser la funci=F3n que copiare la lista de
  direcciones multicast a las cuales este host deseare pertenecer... pe
ro es
  una funci=F3n que no hace nada =3D)

  Es decir: este driver NO habla con el hardware para el setup de multi
cast;
  y tampoco parece manejar el modo promiscuo de acuerdo a lo q'cont=E1s d
e
  tcpdump...""

--------------Boundary-00=_XATRA0BKXL34Q47KEFIL
Content-Type: application/pgp-signature;
  charset="iso-8859-1";
  name="Adjuntos: 2"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.1 (GNU/Linux)

iD8DBQE/ak01ruT6SN9wTWgRAgj2AKCectoALEVzxS3WX2UnVnTZBtcSRwCeJgst
9q0q3UphwhQv9wfCjEXX4fA=
=AMCN
-----END PGP SIGNATURE-----

--------------Boundary-00=_XATRA0BKXL34Q47KEFIL--