Les targes WiFi amb xipset Prism 2, ténen problemes per generar paquets WDS amb el format correcte si el seu firmware secundari és inferior a la versió v1.5.6, de totes maneres, el hostap intenta fer alguns ajustos per tal que funcioni, però el resultat és que l'WDS només funciona en equips que estiguin emprant el driver hostap amb targes que disposin d'una versió de firmware amb el mateix problema, o sigui, que res d'enllaçar-lo amb els Linksys...
Tot això és escrit suposant que la tara és PCI, tot i que els canvis per fer-ho amb una PCMCIA no haurien d'ésser massa importants.
El sistema operatiu de l'equip que porta la tarja és un Debian Sarge amb kernel de la branca 2.6.
No entro massa deltalls, per això he posat el nivell "avançat" a l'entrada, no vol dir que la operació sigui gaire difícil.
Assegurar-se que hi ha instal·lats el driver hostap i que no hi ha els següents (de fet, si voleu fer servir el driver hostap, haureu de fer que no es carreguin en iniciar l'equip, perquè carreguen abans que hostap i no el deixen funcionar correctament):
orinoco_pci
orinoco
hermes
Es poden localitzar amb un lsmod.
Si hi són, fer
rmmod orinoco_pci
rmmod orinoco
rmmod hermes
rmmod hostap_pci
rmmod hostap
I després:
modprobe hostap
modprobe hostap_pci
Tot seguit, ens assegurem que tenim instal·lats els útils:
apt-get install hostap hostap-utils
I fem
hostap_diag wlan0
Això retorna per exemple:
Host AP driver diagnostics information for 'wlan0'
NICID: id=0x8013 v1.0.0 (PRISM II (2.5) Mini-PCI (SST parallel flash))
PRIID: id=0x0015 v1.1.0
STAID: id=0x001f v1.4.9 (station firmware)
Veiem que en aquest cas, el firmware secundari (STAID) és inferior al que necessitem per a poder tenir un WDS en condicions.
Depenent del NICID s'ha de fer servir un firmware o un altre que es pot descarregar d'aquí. Tot seguit, cal localitzar el NICID en la següent taula... continua després de la taula...
| Component ID |
Interface |
MAC |
NVRAM |
RAM Config |
Release Code ID |
|||
| Initial |
Primary |
Secondary |
Tertiary |
|||||
| 8000 EVB/PI |
PCMCIA |
3841 |
Atmel |
x8 |
0 (G) |
0 (G) |
0 (G) |
0 (G) |
| 8002, 8003 |
PCMCIA |
3841 |
AMD |
x8 |
1 (H) |
1 (H) |
1 (H) |
1 (H) |
| 8009 EVB/PII |
PCMCIA |
3841 |
Atmel |
x8 |
1 (G) |
J |
J |
J |
| 8008 |
PCMCIA |
3841 |
x8 |
4 |
4 |
1 (H) |
1 (H) |
|
| 800A EVB3842 |
PCMCIA/ USB |
3842 |
x8 |
A |
F, U, X, Y |
F, U, X, Y |
F, U, X, Y |
|
| 800B, 8012, 8016, 801A |
PCMCIA & PCI |
3842 |
AMD |
x8 |
A |
F |
F |
F |
| x16 |
B |
|||||||
| 800C, 8013, 8017, 801B, 8022, 8023 |
PCMCIA & PCI |
3842 |
SST |
x8 |
C |
K |
||
| x16 |
D |
|||||||
| 800D, 8014, 8018, 801C |
PCMCIA & PCI |
3842 |
Large Serial |
x8 |
E |
L |
||
| x16 |
||||||||
| 800E, 8015, 8019, 801D |
PCMCIA |
3842 |
Large Serial |
x8 |
N/A |
M |
M |
M |
| 800F, 801E |
USB |
3842 |
AMD |
x8 |
A |
U |
U |
N/A |
| x16 |
B |
|||||||
| 8010, 801F |
USB |
3842 |
SST |
x8 |
C |
O |
||
| x16 |
D |
|||||||
| 8011, 8020 |
USB |
3842 |
Large Serial |
x8 |
E |
P |
||
| x16 |
F |
|||||||
Per l'actualització firmware, s'ha de cercar en els arxius descarregats, el que tingui per nom s + , per exemple, per el cas anterior, per instal·lar la versió 1.8.4:la lletra de la columna secondary + revisió de firmware a instal·lar
prism2_srec -f wlan0 sf010804.hex
Ha d'acabar amb un diagnòstic
STAID: id=0x001f v1.8.4 (station firmware)
Si això dóna un error (i normalment el dóna perquè el driver per defecte, porta protecció contra escriptura de la flash de la tarja per tal d'evitar "accidents" -però no de la RAM, que es configura en les opcions del kernel-), cal descarregar la font del kernel que tingueu instal·lat (apt-get linux-source-VERSIO_DEL_KERNEL), desempaquetar-lo dins /usr/src (que és on hi ha el .bz2) i editar l'arxiu:
/usr/src/linux-source-VERSIO_DEL_KERNEL/drivers/net/wireless/hostap/hostap_config.h
i descomentar el #define PRISM2_NON_VOLATILE_DOWNLOAD que permet fer actualització de la flash de la tarja wireless.
Tot seguit, es compila fent un make estant a la carpeta /usr/src/linux-source-VERSIO_DEL_KERNEL i (després d'esperar una estona...) ja es poden substituir els arxius:
/lib/modules/VERSIO_DEL_KERNEL/kernel/drivers/net/wireless/hostap/hostap.ko
/lib/modules/VERSIO_DEL_KERNEL/kernel/drivers/net/wireless/hostap/hostap_pci.ko
per els que hi ha a:
/usr/src/linux-source-VERSIO_DEL_KERNEL/drivers/net/wireless/hostap/hostap.ko
/usr/src/linux-source-VERSIO_DEL_KERNEL/drivers/net/wireless/hostap/hostap_pci.ko
I tornem a començar el procediment fent un rmmod dels drivers del hostap i després el modprobe. Tot seguit fem l'actualització i ja no hauria de donar cap error.
Ho reiniciem tot per si de cas, i ja és a punt per poder muntar un node amb suport AP + WDS...

