Generelle Treiberinstallation via NDISwrapper

Aus EasyVDR Wiki
Wechseln zu: Navigation, Suche

Allgemeines

Diese Beschreibung soll am Beispiel eines Netgear WG111V3 mit RTL8187b Chipsatz die Installation eines USB WLAN Steaks beschreiben, der NDISwrapper verwendet.
Bei NDISwrapper wird der Windows-Treiber verwendet um das WLAN Device zu installieren. Diese Methode unterstützt somit zu gut wie jedes WLAN Device.

Achtung: Alle hier genannten Dateinamen sind durch die entsprechenden Dateinamen zu ersetzen.

Gültigkeit: easyVDR 0.6.xx und neue Beta

Treiber installieren

Den passenden Treiber erhält man meist von der beiliegenden Treiber CD oder von der Hersteller Webseite.
Es werden zwei/drei Dateien (die Namen hier sind beispielhaft) benötigt:

  • net8187b.inf # Das Installationsscript für den Treiber (welche Dateien werden benötigt, ..)
  • rtl8187B.sys # Treiberdatei
  • (net8187b.cat # Treiberdatei)

Auskunft über die wirklich benötigten Dateien gibt die *.inf Datei in einem Abschnitt Copyfiles.

cd /etc/ndiswrapper
ndiswrapper -i net8187b.inf

Kontrollieren ob der Treiber installiert wurde

easyVDR:/etc/ndiswrapper# ndiswrapper -l
fwlan : driver installed
net8187b : driver installed
netwg11t : driver installed
wg311v3 : driver installed
easyVDR:/etc/ndiswrapper#

Die Treiber entladen und laden

easyVDR:/etc/ndiswrapper# rmmod ndiswrapper
easyVDR:/etc/ndiswrapper# modprobe ndiswrapper
easyVDR:/etc/ndiswrapper#

Die USB ID herausfinden, um den Treiber explizit zu laden

Teilweise ist es nötig den WLAN Stick explizit über seine Vendor-ID anzusprechen. Hierzu wird mit dem Befehl lsusb alle Devise am USB Bus abgefragt. Nicht immer muss es so eindeutig sein wie hier.

easyVDR:/etc/vdr# lsusb
Bus 001 Device 004: ID 0846:4260 NetGear, Inc. 
Bus 001 Device 001: ID 0000:0000 

Treiber explizit mit USB ID laden

Jetzt wird mit der ermittelten Vendor-ID der Treiber (hier net8187b) mit der Vendor/ Device-ID (hier 0846:4260) geladen.

easyVDR:/etc/vdr# ndiswrapper -a 0846:4260 net8187b
WARNING: Driver 'net8187b' will be used for '0846:4260'
This is safe _only_ if driver net8187b is meant for chip in device 0846:4260

Testen ob der Treiber geladen ist

easyVDR:/etc/vdr# ndiswrapper -l
fwlan : driver installed
net8187b : driver installed
   device (0846:4260) present
netwg11t : driver installed
wg311v3 : driver installed
easyVDR:/etc/vdr#

modprobe automatisch ausführen lassen

ndiswrapper -ma

Damit wird der USB Stick nach dem Einstecken erkannt (modprobe wird automatisch ausgeführt) und sollte nur so funktionieren. Mit dieser Methode ist die dauerhafte Funktion nach jedem Neustart des Systems gegeben.

VDR neu starten

Ohne Neustart funktioniert der Treiber noch nicht. Deshalb auf der Konsole mit reboot das System neu starten.

Testen ob eine WLAN gefunden wird

iwlist scanning

Probleme und Lösungen

  • Der verwendete Treiber macht Schwierigkeiten. Hier gilt es Win98 und WinXP Treiber zu probieren. Es kann sein, dass nur eine Variante funktioniert.
  • WPA/ WPA2 Verschlüsselung will nicht funktionieren
    • WPA: WPA und WPA2 verwenden unterschiedliche Konfigurationsparameter (siehe Beispiel unten). Im Zweifelsfall immer WPA verwenden.

Beispiel einer WLAN Access Point Kennung

Das Beispiel ist von einer Fritz!Box 7270 mit WPA/ WPA2 aktiviert. Die niedrige Bandbreite ergibt sich aus abgeschalteten Sonderfunktionen (802.11n Standard und Multimediaübertragung wegen Strahlung und Kanalbedarf (viele AccessPoints im Umfeld => Störung = Probleme).

easyVDR:/# iwlist scanning

lo Interface doesn't support scanning.

Warning: Driver for device wlan0 has been compiled with version 22
of Wireless Extension, while this program supports up to version 20.
Some things may be broken...

wlan0 Scan completed :

Cell 01 - Address: 00:24:FE:47:5D:08
          ESSID:"Airport"
          Protocol:IEEE 802.11g
          Mode:Managed
          Frequency:2.437 GHz (Channel 6)
          Quality:62/100  Signal level:-56 dBm  Noise level:-96 dBm
          Encryption key:on
          Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 11 Mb/s; 6 Mb/s
                    9 Mb/s; 12 Mb/s; 18 Mb/s; 24 Mb/s; 36 Mb/s
                    48 Mb/s; 54 Mb/s
          Extra:bcn_int=100
          Extra:atim=0
          IE: IEEE 802.11i/WPA2 Version 1
              Group Cipher : TKIP 
              Pairwise Ciphers (1) : CCMP 
              Authentication Suites (1) : PSK  
          IE: WPA Version 1
              Group Cipher : TKIP 
              Pairwise Ciphers (1) : TKIP 
              Authentication Suites (1) : PSK

Wenn es dann nicht mit den WLAN OSD Einstellungen möchte

Je nach easyVDR Version 0.6.xx gibt es Konfigurationen, die geprüft werden sollten:
Mit stopvdr den VDR auf der Konsole stoppen.

pico /etc/init.d/RCLanStart 

folgende Zeile anpassen:

 case "$WLAN_WPA_PASSPHRASETYPE" in
"ASCII")

Dann klappts auch mit WLAN und OSD und bei jedem Reboot mit dem Erstellen/Umkonfigurieren der wpa_supplicant.conf

Ebenso in pico /etc/vdr/plugins/setup/vdr-setup-xml

 <entry name="WPA-Protokoll" sysconfig="WLAN_WPA_PROTO" type="selection" value="WPA">
                       <value>RSN</value>
                       <value>WPA</value>
                   </entry>
                   <entry name="Pairwise" sysconfig="WLAN_WPA_PAIRWISE" type="selection" value="TKIP">
                       <value>TKIP</value>
                       <value>CCMP</value>
                   </entry>
                   <entry name="Group" sysconfig="WLAN_WPA_GROUP" type="selection" value="TKIP">
                       <value>TKIP</value>
                       <value>CCMP</value>
                   </entry>
                   <entry name="Passhprase-Art" sysconfig="WLAN_WPA_PASSPHRASETYPE" type="selection" value="=ASCII">
                       <value>ASCII</value>
                       <value>HEX</value>
                   </entry>

ersetzen. Hier wurde ASCI in ASCII ersetzt und beim TKIP/ ASCI(I) das = davor gelöscht. Also einfach den Codeteil kopieren und einsetzen.

Die Einstellungen für IP Adressen, WLAN SSID und Co kommen aus der /etc/vdr/sysconfig

Und dann wieder mit startvdr den VDR aktivieren und das System neu starten (reboot auf der Konsole).