Actualització firmware WiFi xipset Prism2 per WDS interoperable

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 + la lletra de la columna secondary + revisió de firmware a instal·lar, per exemple, per el cas anterior, per instal·lar la versió 1.8.4:

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...

pàgina generada en: 0.469 segons.