freebsd-skq/share/man/man4
Bill Paul c854fc1092 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
2003-12-11 22:34:37 +00:00
..
man4.alpha
man4.i386 Commit the first cut of Project Evil, also known as the NDISulator. 2003-12-11 22:34:37 +00:00
aac.4 Note support for the Adaptec 2410SA in the aac.4 manpage. 2003-11-11 08:40:43 +00:00
acpi.4 Clean up one more sentence that was wrapped unnecessarily. 2003-11-19 20:37:15 +00:00
adv.4
adw.4
agp.4
aha.4 Add the meteor driver man page back. It has moved up a level from the 2003-12-08 02:59:34 +00:00
ahb.4 Update list of supported devices for ahb 2003-11-09 01:52:13 +00:00
ahc.4 Add some pc98-specific devices from the hardware notes. 2003-11-09 22:53:58 +00:00
ahd.4
aio.4
amd.4
amr.4
an.4 Mention Cisco and Xircom devices supported by an driver. 2003-11-08 22:48:23 +00:00
asr.4
ata.4 Grammar. 2003-12-11 21:54:26 +00:00
atapicam.4
ath_hal.4 update supported card table 2003-11-04 23:43:43 +00:00
ath.4 update supported card table 2003-11-04 23:43:43 +00:00
atkbd.4
atkbdc.4
aue.4
awi.4
axe.4 Assorted mdoc(7) fixes. 2003-05-29 21:28:36 +00:00
bfe.4
bge.4
bktr.4
blackhole.4
bpf.4
bridge.4
bt.4
cardbus.4
ccd.4
cd.4
ch.4
ciss.4 Synchronize the list of support devices with the driver source code. 2003-11-07 11:43:05 +00:00
crypto.4
csa.4
cue.4
cy.4
da.4
dc.4 Add support for ELECOM/Laneed CardBus FastEtherner Card(LD-CBL/TXA) 2003-12-06 02:29:31 +00:00
dcons_crom.4 I wrongly committed an older version. 2003-10-28 01:31:50 +00:00
dcons.4 I wrongly committed an older version. 2003-10-28 01:31:50 +00:00
ddb.4 Mdoc Janitor: 2003-11-12 02:35:20 +00:00
de.4 Synchronize list of supported cards with hardware notes, reformat 2003-11-09 00:50:55 +00:00
devctl.4
digi.4 Copy the old dgb man page to digi.4, plus very minor hacking. Add a 2003-12-08 00:11:22 +00:00
disc.4
divert.4
dpt.4
dummynet.4
ed.4
ef.4
ehci.4
em.4
en.4
exca.4
faith.4
fast_ipsec.4
fatm.4
fd.4
fdc.4
firewire.4
fla.4
fpa.4
fwe.4
fwohci.4
fxp.4
gbde.4
gem.4
geom.4
gif.4
gre.4
gusc.4
gx.4 Add cross reference to the em(4) driver, which also supports the NICs 2003-11-13 20:35:13 +00:00
harp.4
hatm.4 Make the maximum number of pages for external mbufs configurable in 2003-10-29 15:07:10 +00:00
hifn.4
hme.4
ichsmb.4
icmp6.4
icmp.4
ida.4
idt.4 Add a manual page for the IDT NICStAR driver, and hook it up to the build. 2003-11-14 20:29:12 +00:00
ieee80211.4
ifmib.4
iic.4
iicbb.4
iicbus.4
iicsmb.4
iir.4
inet6.4
inet.4 Mdoc Janitor: 2003-11-12 02:35:20 +00:00
intpm.4
intro.4 Mdoc Janitor: 2003-11-12 02:35:20 +00:00
ip6.4
ip.4
ipfirewall.4
ips.4 Mdoc Janitor: 2003-11-12 02:26:47 +00:00
ipsec.4
isp.4
ispfw.4
joy.4
kame.4
keyboard.4
kld.4 - Add note that loading modules only works if the system 2003-10-26 14:21:30 +00:00
ktr.4
kue.4
led.4 Improve semantics of the 'sequence' command to led(4) devices: 2003-11-27 20:23:32 +00:00
lge.4
lo.4
lomac.4
lp.4
lpbb.4
lpt.4
mac_biba.4
mac_bsdextended.4
mac_ifoff.4
mac_lomac.4
mac_mls.4
mac_none.4
mac_partition.4
mac_portacl.4
mac_seeotheruids.4
mac_stub.4
mac_test.4
mac.4
maestro3.4
Makefile Add the meteor driver man page back. It has moved up a level from the 2003-12-08 02:59:34 +00:00
matcd.4
md.4
mem.4
meteor.4 Add the meteor driver man page back. It has moved up a level from the 2003-12-08 02:59:34 +00:00
miibus.4 Add rue(4) into list of miibus-using drivers and reference. 2003-11-16 11:52:26 +00:00
mlx.4
mly.4
mouse.4
mpt.4 Change FreeBSD.ORG to FreeBSD.org. 2003-11-07 21:05:31 +00:00
mtio.4
multicast.4
my.4
natm.4
natmip.4
ncr.4 - Sync the list of supported device with the hardware notes and the 2003-11-09 22:21:21 +00:00
ncv.4 Bring in a new manual page, ncv.4, and attach it to the build. 2003-11-21 00:55:11 +00:00
netgraph.4 Document that the length of a command string is now 32. Also change all 2003-11-12 13:24:03 +00:00
netintro.4
ng_async.4
ng_atm.4 Replace all uses of the old netgraph constants NG_*LEN by the new 2003-11-15 15:26:35 +00:00
ng_atmpif.4
ng_bluetooth.4 Fix SYNOPSIS section in Bluetooth man pages 2003-11-11 03:27:08 +00:00
ng_bpf.4 Replace all uses of the old netgraph constants NG_*LEN by the new 2003-11-15 15:26:35 +00:00
ng_bridge.4
ng_bt3c.4 Fix SYNOPSIS section in Bluetooth man pages 2003-11-11 03:27:08 +00:00
ng_btsocket.4 Fix SYNOPSIS section in Bluetooth man pages 2003-11-11 03:27:08 +00:00
ng_cisco.4
ng_device.4
ng_echo.4
ng_etf.4 Replace all uses of the old netgraph constants NG_*LEN by the new 2003-11-15 15:26:35 +00:00
ng_ether.4
ng_frame_relay.4
ng_gif_demux.4
ng_gif.4
ng_h4.4 Fix SYNOPSIS section in Bluetooth man pages 2003-11-11 03:27:08 +00:00
ng_hci.4 Fix SYNOPSIS section in Bluetooth man pages 2003-11-11 03:27:08 +00:00
ng_hole.4
ng_iface.4 Grammar. 2003-12-10 09:43:53 +00:00
ng_ip_input.4
ng_ksocket.4
ng_l2cap.4 Fix SYNOPSIS section in Bluetooth man pages 2003-11-11 03:27:08 +00:00
ng_l2tp.4
ng_lmi.4
ng_mppc.4
ng_one2many.4
ng_ppp.4
ng_pppoe.4 Replace all uses of the old netgraph constants NG_*LEN by the new 2003-11-15 15:26:35 +00:00
ng_pptpgre.4
ng_rfc1490.4
ng_socket.4
ng_source.4
ng_split.4
ng_sscfu.4 Man pages for the NgATM SAAL protocol nodes. 2003-10-27 11:43:20 +00:00
ng_sscop.4 Man pages for the NgATM SAAL protocol nodes. 2003-10-27 11:43:20 +00:00
ng_tee.4
ng_tty.4
ng_ubt.4 Fix SYNOPSIS section in Bluetooth man pages 2003-11-11 03:27:08 +00:00
ng_UI.4
ng_uni.4 Mdoc Janitor: 2003-11-07 18:26:54 +00:00
ng_vjc.4
nge.4
nmdm.4
nsp.4 Add nsp(4) man page for nsp PC-Card SCSI host adapter device driver, 2003-11-24 23:57:59 +00:00
null.4
ohci.4
oldcard.4
orm.4
pass.4
patm.4
pccard.4
pccbb.4
pci.4
pcic.4
pcm.4 Minor word tweaks. 2003-11-15 19:53:22 +00:00
pcn.4
pcvt.4
pim.4
polling.4
ppbus.4
ppc.4
ppi.4
ppp.4
psm.4
pst.4
pt.4
pty.4
puc.4
raid.4
random.4
re.4
rl.4 Remove trailing commas from device list. 2003-11-08 17:31:49 +00:00
rndtest.4
route.4
rp.4
rue.4 Document this driver works for the Billionton 10/100 FastEthernet USBKR2 2003-11-13 21:01:58 +00:00
sa.4
sab.4
safe.4
sbc.4
sbp_targ.4 Add minimal manpage for sbp_targ(4). 2003-11-07 09:39:53 +00:00
sbp.4
sbsh.4
screen.4
scsi.4
sd.4
sem.4
ses.4
sf.4
si.4
sio.4
sis.4 Capitalize "Fast Ethernet" and "Ethernet" consistently. 2003-11-09 00:27:45 +00:00
sk.4 - Add Linksys EG1032 and SMC 9452TX to the list of supported devices. 2003-11-13 16:23:00 +00:00
sl.4
smb.4
smbus.4
smp.4
sn.4
snd_csa.4
snd_gusc.4
snd_maestro3.4
snd_sbc.4
snd_uaudio.4 Add a manual page for the USB Audio support in FreeBSD, 2003-11-10 20:25:40 +00:00
snp.4
spic.4
spkr.4
splash.4
sppp.4
st.4
ste.4
stf.4
stg.4 Removed the i386 specific bit from title. 2003-11-30 08:50:17 +00:00
sym.4 Add two PC-98 devices, from the hardware notes, which was missed in 2003-11-09 22:36:04 +00:00
syncache.4
syncer.4
syscons.4
sysmouse.4
tap.4
targ.4
tcp.4
tdfx.4
termios.4
ti.4
tl.4
trm.4
ttcp.4
tty.4
tun.4
twe.4
tx.4
txp.4
uart.4
uaudio.4 Add a manual page for the USB Audio support in FreeBSD, 2003-11-10 20:25:40 +00:00
ubsa.4
ubsec.4
ubtbcmfw.4
ucom.4
udbp.4
udp.4
ufm.4 Mdoc Janitor: 2003-11-07 19:08:13 +00:00
uftdi.4
ugen.4
uhci.4
uhid.4
uhidev.4
ukbd.4
ulpt.4
umass.4
umodem.4
ums.4
unix.4
uplcom.4 Add the following devices to the list of supported devices, to sync 2003-11-16 14:02:37 +00:00
urio.4
usb.4
uscanner.4
utopia.4 Fix Xr markup. 2003-10-26 19:42:55 +00:00
uvisor.4
uvscom.4
vga.4
vinum.4
vlan.4
vpo.4
vr.4
watchdog.4
wb.4
wi.4 Add a few wi-supported cards to get this manpage caught up with 2003-12-02 07:07:45 +00:00
witness.4
wlan.4
worm.4
xe.4 Score one 'duh' point for me and replace all instances of scott@ with 2003-11-10 21:56:47 +00:00
xl.4
xpt.4
zero.4