Flashen einer Prism 2.5 Wlan-Karte mit Intersil Firmware
für WPA Support
linux-image
Stefan Bauer (sb at edv-fix dot de)

23 November  2006




Einleitung:

Flashen einer Prism2.5 Wlan-Karte mit Intersil Firmware um WPA Unterstützung zu erhalten


Voraussetzung:

Wlan-PCI Karte mit Intersil Firmware PCI, Mini-PCI (Notebooks)

Installierte Linux Distribution sowie passende Kernel Sourcen zu seinem laufenden Kernel

Bestehende Internetverbindung, da Pakete bezogen werden müssen


Ablauf:


1. Der Grundgedanke

1.1 Vorbereitung & Überprüfung der Karte

1.2  Patchen der Kernel Sourcen


2. Der Flashvorgang


3. Überprüfung der Funktionen


4. Quellen und weitere Hinweise




1. Der Grundgedanke:


Die besagte Wlan Karte kommt hier in einem IBM Thinkpad X22 (zur Notebookinfo) zum Einsatz. Die Karte wird korrekt erkannt aber liefert nach folgender Abfrageoption den Hinweis auf eine veraltete Firmware. Hinweis, evtl. muss das Device angepasst werden.

# dmesg |grep wifi

wifi0: NIC: id=0x813 v1.0.0
wifi0: PRI: id=0x15 v1.1.0
wifi0: STA: id=0x1f v1.4.9

Stand der Dinge ist 1.7.4 oder höher. (zur Firmware Seite)

Nach unserem erfolgreichen Flash Vorgang wird die Wlan Karte mit neuer Firmware bespielt sein und WPA sprechen können.



1.1 Vorbereitung & Überprüfung der Karte:


Wir stellen sicher, dass es sich bei unserer Karte, egal ob PCI oder Mini-PCI um eine Intersil Prism handelt.

# dmesg |grep Intersil

wifi0: Intersil Prism 2.5 PCI: mem=0xf00000000, irq=11

# lspci |grep Intersil

0000:02:05.0 Network controller: Intersil Corporation Prism 2.5 Wavelan chipset (rev 01)

Folgende Pakete werden unter Debian Linux für den korrekten Ablauf installiert:

# apt-get install hostap-utils wireless-tools unzip

Um uns von der korrekten Installation zu überzeugen, starten wir eine Abfrage an die Firmware der Karte:

# hostap_diag wifi0

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)

So oder so ähnlich, lautet eine korrekte Ausgabe und wir gehen zum nächsten Schritt über.



1.2 Patchen der Kernel Sourcen:


Nachdem der Grundstein gelegt ist, prüfen wir unsere lokale Kernel Version und passen die Quellen an:

# uname -a

Der von uns verwendete Kernel sollte bereits einmal aus den Quellen kompiliet worden sein, um den selben Stand zu haben. Hierzu wechseln wir ins das nötige Verzeichnis, wo wir die hostap_config.h anpassen.

# cd /usr/src/linux-2.6.18/drivers/net/wireless/hostap/
# vi hostap_config.h

Der Inhalt der Datei sollte so angepasst werden:
#ifndef HOSTAP_CONFIG_H
#define HOSTAP_CONFIG_H
#define PRISM2_VERSION "0.4.4-kernel"
#define PRISM2_MAX_INTERRUPT_EVENTS 20
#define PRISM2_DOWNLOAD_SUPPORT
#define PRISM2_NON_VOLATILE_DOWNLOAD

#endif
Auf dem Debian Weg bauen wir jetzt die Module neu und binden sie ins System ein:

# make modules && make modules_install
# modprobe -f hostap_pci
# modprobe -f hostap

Falls im Kernel keine Unterstützung für CONFIG_MODULE_FORCE_UNLOAD verfügbar ist, die Module händisch entfernen und neu einbinden.



2. Der Flashvorgang:

Zum Einsatz kommt prism2_srec aus dem Paket hostap-utils

Wir wechseln in ein Verzeichnis, entpacken dort die aktuellen Quellen für den Flashvorgang von hier

# cd /home/hans/ && wget http://www.netgate.com/info/miniPCI/Prism/Firmware/1.7.4.zip && unzip 1.7.4.zip

Wir starten einen Test Durchlauf.

# prism2_srec -v wlan0 PK010101.HEX SF010704.HEX

Die letzten Zeilen sollten ein OK enthalten.

Falls nicht siehe 4. Quellen und weitere Hinweise

Jetzt starten wir den eigentlichen Flashvorgang:

# prism2_srec -v -f wlan0 PK010101.HEX SF010704.HEX

Die letzten Zeilen sollten ein OK enthalten.

Falls nicht siehe 4. Quellen und weitere Hinweise



3. Überprüfung der Funktionen:

Wir versichern uns, dass die Wlan Karte mit der neuen Firmware ausgestattet wurde:

# hostap_diag wifi0

Host AP driver diagnostics information for ‘wifi0′
NICID: id=0×8013 v1.0.0 (PRISM II (2.5) Mini-PCI (SST parallel flash))
PRIID: id=0×0015 v1.1.1
STAID: id=0×001f v1.7.4 (station firmware)



 4. Quellen und weitere Hinweise:


Welche Probleme sind während des Durchlaufs aufgetreten:

Frage: Ich erhalte:
Could not read wlan PDA. This requires PRISM2_DOWNLOAD_SUPPORT
definied in driver/module/hostap_config.h.
Antwort: Hierfür gibt es mehrere Ursachen:

Hilfreiche Adressen:

Jun Sun's mini-HOWTO on flashing Intersil Prism chipsets http://linux.junsun.net/intersil-prism/

Netgate: Intersil Prism 2.5 Firmware Info Page http://www.netgate.com/info/miniPCI/Prism/Firmware/help.html

Prism WLAN-Karten für WPA flashen http://www.onderka.com/index.php/2006/07/08/prism-wlan-karten-fur-wpa-flashen/



Howto Version 0.1

Dieses HOWTO wurde mit größter Sorgfalt erstellt. Trotzdem können Fehler nicht vollstaädig ausgeschlossen werden. Ich kann für fehlerhafte Angaben und deren Folgen weder eine juristische Verantwortung noch irgendeine Haftung uebernehmen. Für Verbesserungsvorschläge und Hinweise auf Fehler bin ich dankbar.