BSDForen.de  

Zurück   BSDForen.de > News und Umfragen > News

 
 
Themen-Optionen Thema bewerten Ansicht
Alt 26.01.2004, 19:46   #1
ouTi
BSD sucker
 
Benutzerbild von ouTi
 
Registrierungsdatum: Nov 2003
Ort: /dev/de/mannheim
Beiträge: 589
Exclamation Broadcom WLAN, Intel WLAN geht jetzt mit BSD

Hallo,

seit kurzem gibt es im -current eine NDIS-API, die Windows-Netzwerktreiber unter BSD emuliert.

Ihr habt vielleicht auch schonmal vom NDIS-Wrapper für Linux (Kernel-Modul) oder Linuxant's DriverLoader (kostet knapp 30€) gehört? Das ist nun für BSD commited worden.

Ich habe heute Nachmittag meine Welt neugebaut und das ndis.ko ausprobiert.

Ich verwende eine Dell TrueMobile 1300 in einem Latitude D600. Und? Es funktioniert! Teilweise etwas buggy, aber es funktionert!

Ich habe eine File mit voll 54Mbit gezogen (1,7mb/s). Soviel habe ich selten in WindowsXP erreicht.

WEP und am AP anmelden funktioniert auch.

hier der CVS-Zeig:
http://cvsup.leo.org/cgi-bin/cvsweb....s/compat/ndis/

Zitat:
Commit the first cut of Project Evil, also known as the NDISulator.

Yes, it's what you think it is. Yes, you should run away now.

This is a special compatibility module for allowing Windows NDIS
miniport network drivers to be used with FreeBSD/x86. This provides
_binary_ NDIS compatibility (not source): you can run NDIS driver
code, but you can't build it. There are three main parts:

sys/compat/ndis: the NDIS compat API, which provides binary
compatibility functions for many routines in NDIS.SYS, HAL.dll
and ntoskrnl.exe in Windows (these are the three modules that
most NDIS miniport drivers use). The compat module also contains
a small PE relocator/dynalinker which relocates the Windows .SYS
image and then patches in our native routines.

sys/dev/if_ndis: the if_ndis driver wrapper. This module makes
use of the ndis compat API and can be compiled with a specially
prepared binary image file (ndis_driver_data.h) containing the
Windows .SYS image and registry key information parsed out of the
accompanying .INF file. Once if_ndis.ko is built, it can be loaded
and unloaded just like a native FreeBSD kenrel module.

usr.sbin/ndiscvt: a special utility that converts foo.sys and foo.inf
into an ndis_driver_data.h file that can be compiled into if_ndis.o.
Contains an .inf file parser graciously provided by Matt Dodd (and
mercilessly hacked upon by me) that strips out device ID info and
registry key info from a .INF file and packages it up with a binary
image array. The ndiscvt(8) utility also does some manipulation of
the segments within the .sys file to make life easier for the kernel
loader. (Doing the manipulation here saves the kernel code from having
to move things around later, which would waste memory.)

ndiscvt is only built for the i386 arch. Only files.i386 has been
updated, and none of this is turned on in GENERIC. It should probably
work on pc98. I have no idea about amd64 or ia64 at this point.

This is still a work in progress. I estimate it's about %85 done, but
I want it under CVS control so I can track subsequent changes. It has
been tested with exactly three drivers: the LinkSys LNE100TX v4 driver
(Lne100v4.sys), the sample Intel 82559 driver from the Windows DDK
(e100bex.sys) and the Broadcom BCM43xx wireless driver (bcmwl5.sys). It
still needs to have a net80211 stuff added to it. To use it, you would
do something like this:

# cd /sys/modules/ndis
# make; make load
# cd /sys/modules/if_ndis
# ndiscvt -i /path/to/foo.inf -s /path/to/foo.sys -o ndis_driver_data.h
# make; make load
# sysctl -a | grep ndis

All registry keys are mapped to sysctl nodes. Sometimes drivers refer
to registry keys that aren't mentioned in foo.inf. If this happens,
the NDIS API module creates sysctl nodes for these keys on the fly so
you can tweak them.

An example usage of the Broadcom wireless driver would be:

# sysctl hw.ndis0.EnableAutoConnect=1
# sysctl hw.ndis0.SSID="MY_SSID"
# sysctl hw.ndis0.NetworkType=0 (0 for bss, 1 for adhoc)
# ifconfig ndis0 <my ipaddr> netmask 0xffffff00 up

Things to be done:

- get rid of debug messages
- add in ndis80211 support
- defer transmissions until after a status update with
NDIS_STATUS_CONNECTED occurs
- Create smarter lookaside list support
- Split off if_ndis_pci.c and if_ndis_pccard.c attachments
- Make sure PCMCIA support works
- Fix ndiscvt to properly parse PCMCIA device IDs from INF files
- write ndisapi.9 man page
das ganze in den Kernel einzubauen ist bei mir gescheitert... Aber man kann es ja auch als Module laden:

/boot/loader.conf:

ndis_load="YES"
wlan_load="YES"
if_ndis_load="YES"


/etc/rc.conf

ifconfig_ndis0="inet 192.168.0.222 netmask 0xffffff00 ssid ouTi-WLAN nwkey 1:0xb1d7a3c8a5c1b2a3d4b1c0c2a9 up"

Und meine DMESG hänge ich noch an...

Ich hoffe ich habe damit einigen geholfen... obwohl ich von BSD noch keine Ahnung habe und ich mich damit erst 3 Wochen rumschlage


P.S.: Seit dem Update von RELEG_5_2 auf -current brauche ich keinen ACPI-Fix mehr für mein Dell Latitude Bios (siehe http://sandcat.nl/~stijn/freebsd/dell.php).
Angehängte Dateien
Dateityp: txt dmesg.txt (6,8 KB, 243x aufgerufen)
__________________
Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, nd the Universe trying to produce bigger and better idiots. So far, the Universe is winning. - Rich Cook
ouTi ist offline   Mit Zitat antworten
 


Dieses Thema betrachten zurzeit 1 Personen. (0 registrierte Benutzer und 1 Gäste)
 
Themen-Optionen
Ansicht Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist An.
Smileys sind An
[IMG] Code ist An
HTML-Code ist Aus
Gehe zu

Ähnliche Themen
Thema Erstellt von Forum Antworten Letzter Beitrag
Die unendliche Geschichte vom Scheitern mit BSD Enigma Howtos 198 02.10.2011 22:12
FreeBSD Samba PDC Howto Highfish Howtos 103 25.09.2006 21:14
Die Geschichte von BSD (bzw. UNIX) asg News 31 11.05.2006 20:20
Drucker sharing mit BSD - Fragen über Fragen ... m!cele FreeBSD - Netzwerk 2 08.07.2003 15:46


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:25 Uhr.


Powered by vBulletin (Deutsch)
Copyright ©2000 - 2013, Jelsoft Enterprises Ltd.