Commit Graph

8457 Commits

Author SHA1 Message Date
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
Maxim Konovalov
369bf356c9 Grammar.
PR:		docs/60158
Submitted by:	Lukas Ertl
MFC after:	1 week
2003-12-11 21:54:26 +00:00
Joseph Koshy
385032f901 Typo fix. 2003-12-11 13:30:26 +00:00
Joseph Koshy
f096643b2d Document a few kernel functions and the sysctl tunables that
affect their behaviour.
2003-12-11 13:29:05 +00:00
Ruslan Ermilov
fc063beedb Grammar. 2003-12-10 09:43:53 +00:00
Mike Makonnen
8c307294e6 Grammar 2003-12-09 09:04:45 +00:00
David E. O'Brien
a5b5101f5e Move the bktr(4) <arch>/include/ioctl_{bt848,meteor}.h files to dev/bktr
as these ioctl's aren't MD.  This also means they are installed in
/usr/include/dev/bktr now.  Also provide compatability wrappers for
where these headers lived in 4.x.
2003-12-08 07:22:42 +00:00
Warner Losh
d642c42ed3 Add the meteor driver man page back. It has moved up a level from the
man4.i386.  It documents that meteor no longer works, but keeps the
extensive documentation on the meteor interface, which the bktr driver
implements also.  This should be merged into tha man page, but such a
merging seems to be planned by others.

# we really need something like video4bsd to define these sorts of
# things for all video capture drivers.

Requested by: rwatson and obrien
2003-12-08 02:59:34 +00:00
Warner Losh
946984d155 Copy the old dgb man page to digi.4, plus very minor hacking. Add a
note that says that this man page is sub-optimal.  Bruce Mah should be
happier about this, but someone that groks the cards supported by the
digi driver is encouraged to make this man page suck less.
2003-12-08 00:11:22 +00:00
Scott Long
4fb638c329 Add a manual page for the consolidated debugging commit. 2003-12-07 20:48:00 +00:00
Murray Stokely
a298e0ba03 Add support for timeout: and attempts: resolver options.
Submitted by:	Paul Vixie <paul@vix.com> / ISC
MFC After:	1 week
2003-12-07 12:32:24 +00:00
Warner Losh
af20af3e68 lmc.4 is now gone 2003-12-07 06:49:10 +00:00
Warner Losh
65b4a1b917 Remote meteor driver. It hasn't compiled in over 3 years. If someone
makes it compile again, and can test it, we can restore the driver to
the tree.
2003-12-07 04:41:11 +00:00
Warner Losh
6ee2f106aa The dgb driver is redundant with the digi driver in the tree. It uses
lots of old interfaces, and digi now supports all cards that dgb
supported.  The author of the driver says that this is no longer
necessary.

Approved by: babkin@
2003-12-07 04:18:52 +00:00
Warner Losh
29b4184577 Continue to remove drivers that don't compile and haven't compiled in
a long time: lmc The LAN Media Corp PCI WAN driver based on tulip.
This driver hasn't compiled for 3 years since the PCI compat shims
were removed, and Lan Media appears to have gone out of business.
These cards appear to be rare (a recent search of ebay had no hits).

Should someone wish to revive this driver, submitting patches to make
it compile plus a testing report will bring it back.
2003-12-07 04:05:19 +00:00
Bruce A. Mah
1d8f8416ad Hook the sab(4) manpage up to the build.
Reviewed by:	bms
Approved by:	re (implicitly)
2003-12-07 00:46:37 +00:00
MIHIRA Sanpei Yoshiro
773c505f3c Add support for ELECOM/Laneed CardBus FastEtherner Card(LD-CBL/TXA)
Submitted by:	Masahiro Yamagishi <night@pluto.dti.ne.jp>
Approved by:	re (scottl)
2003-12-06 02:29:31 +00:00
Warner Losh
335cd66dc2 Updated man page from cronyx.
Forgotten by: imp
Reminded by: Roman Kurakin
Approved by: re@ <scottl>
2003-12-05 07:03:58 +00:00
Bruce A. Mah
72a6e47193 Add a few wi-supported cards to get this manpage caught up with
the hardware notes.

Reviewed by:	imp
Approved by:	re (implicitly)
2003-12-02 07:07:45 +00:00
Simon L. B. Nielsen
1cd908be33 Mdoc(7) janitor cleanup.
Reviewed and improved by:	ru
OK'ed by:	phk
Approved by:	re (rwatson)
2003-11-30 12:42:01 +00:00
Ruslan Ermilov
320a3e0c19 Removed the i386 specific bit from title.
Reviewed by:	non
Approved by:	re (rwatson)
2003-11-30 08:50:17 +00:00
Ruslan Ermilov
16d8e9335a - Connect a few forgotten Netgraph manpages.
- Sort.

Approved by:	re (rwatson)
2003-11-29 18:14:04 +00:00
Poul-Henning Kamp
ccc5f62f97 Add manual page for CPU_ELAN, CPU_SOEKRIS and related options for the
Elan 520 CPU chip.

Approved by:	re@
2003-11-27 20:28:25 +00:00
Poul-Henning Kamp
9491306ad3 Improve semantics of the 'sequence' command to led(4) devices:
use lowercase for off and upper case for on.

Approved by:	re@
2003-11-27 20:23:32 +00:00
Noriaki Mitsunaga
985b09e826 Add nsp(4) man page for nsp PC-Card SCSI host adapter device driver,
and attach it to the build.

Submitted by:	non, rushani
Approved by:	re (rwatson)
2003-11-24 23:57:59 +00:00
Noriaki Mitsunaga
af3ebabea3 o Add HISTORY and AUTHORS section
o Add scsi.4 in the SEE ALSO section

Reviewed by:	rushani
Approved by:	re (rwatson)
2003-11-24 23:47:24 +00:00
Scott Long
90768c55d4 Install UDF header files to unbreak /sbin building when /sys is not present.
Submitted by:	imura@ryu16.org
2003-11-22 06:08:59 +00:00
Tom Rhodes
381fd5b439 Bring in a new manual page, ncv.4, and attach it to the build.
Based on an original version submitted by:	non

Approved by:	re (scottl)
2003-11-21 00:55:11 +00:00
John Baldwin
e3ba3497a3 Fix a typo that broke one of the Greek keyboard maps.
PR:		bin/59078
Submitted by:	Panagiotis Astithas <past@noc.ntua.gr>
Approved by:	re (rwatson)
2003-11-20 20:41:12 +00:00
Nate Lawson
39330d77d4 Clean up one more sentence that was wrapped unnecessarily.
Approved by:	re (implicitly)
2003-11-19 20:37:15 +00:00
Nate Lawson
1e14834ae3 Update the man page for hw.acpi.reset_video and a few mdoc(7) cleanups.
Submitted by:	Andreas Kohn <andreas.kohn@gmx.net>
Approved by:	re (implicitly)
2003-11-19 20:30:18 +00:00
Nate Lawson
c25a3f8a7a Improve the section on Cx states, documenting the removal of -1 as a
valid value for cx_lowest.  To disable sleeping, use machdep.cpu_idle_hlt
instead.  Update the version of the ACPI spec we implement.

Approved by:	re (implicitly)
2003-11-19 20:28:56 +00:00
Gordon Tetlow
eb5ed42cfe Update hier(7) to reflect the world with respect to /lib and /libexec. 2003-11-17 17:29:04 +00:00
Simon L. B. Nielsen
52108daca2 Document NO_DYNAMICROOT.
Reviewed by:	gordon
2003-11-16 22:15:09 +00:00
Ceri Davies
ef7da08509 Add the ports/arabic category to the examples.
MFC After:	4 days
2003-11-16 17:55:54 +00:00
Simon L. B. Nielsen
f72375e102 mdoc(7) janitor:
- Use .Aq macro instead of <foo>.
- Kill EOL whitespace.
2003-11-16 15:16:19 +00:00
Simon L. B. Nielsen
a013513add Add the following devices to the list of supported devices, to sync
manual page with the source code:
- HAL Corporation Crossam2+USB IR commander
- RATOC REX-USB60
- SOURCENEXT KeikaiDenwa 8 (with and without charger)
2003-11-16 14:02:37 +00:00
Shunsuke Akiyama
6ee806e35e Add rue(4) into list of miibus-using drivers and reference.
MFC after:	1 week
2003-11-16 11:52:26 +00:00
Tom Rhodes
4008aa4cd2 Minor word tweaks.
Submitted by:	Mathew Kanner <mat@cnd.mcgill.ca>
2003-11-15 19:53:22 +00:00
Nate Lawson
6b74f9b7f5 Implement Cx CPU idle states and updated throttling support.
* Use the cpu_idle_hook() to do idling for C1-C3.
* Use both _CST and the FADT to detect Cx states.
* Use both _PTC and P_CNT for controlling throttling.
* Add a notify handler to detect changes in _CST and _PSS
* Call the _INI function for each processor if present.  This will be
  done by ACPI-CA in the future.
* Fix a bug on SMP systems where CPUs will attach multiple times if the
  bus is rescan.
* Document new sysctls for controlling idling.
2003-11-15 19:26:06 +00:00
Hartmut Brandt
89624a3490 Replace all uses of the old netgraph constants NG_*LEN by the new
constants NG_*SIZ that include the trailing NUL byte. This change
is mostly mechanical except for the replacement of a couple of snprintf()
and sprintf() calls with strlcpy.
2003-11-15 15:26:35 +00:00
Tom Rhodes
53b2520d01 Remove an extra 'for' in the HISTORY section. 2003-11-15 14:23:48 +00:00
Tom Rhodes
b88ca5c03e Bring in a 90% rewrite of the pcm.4 manual page. This adds tunables, loader
options, information on VCHANs, and more.

Based on content submitted by:	Mathew Kanner <mat@cnd.mcgill.ca> && Cameron Grant
Update requested by:		ru, and I think hmp
2003-11-15 06:08:57 +00:00
Bruce M Simpson
69d9a82eb9 Add a manual page for the IDT NICStAR driver, and hook it up to the build. 2003-11-14 20:29:12 +00:00
Warner Losh
b35ee63d8a Amplify the reboot requirement 2003-11-14 16:55:00 +00:00
Warner Losh
614e1f02e8 Add required reboot into single-user mode step.
# mdoc janitors should make sure I did the markup right

Inspired by: recent problems in this area
2003-11-14 06:24:20 +00:00
David E. O'Brien
9f067574ba Document this driver works for the Billionton 10/100 FastEthernet USBKR2
"thumb" adaptor.
2003-11-13 21:01:58 +00:00
Simon L. B. Nielsen
2e76d77fd0 Add cross reference to the em(4) driver, which also supports the NICs
supported by the gx(4) driver.
2003-11-13 20:35:13 +00:00
Simon L. B. Nielsen
9e151be8fd Add a few more devices from the hardware notes. 2003-11-13 17:01:08 +00:00
Simon L. B. Nielsen
ad76688d59 - Add Linksys EG1032 and SMC 9452TX to the list of supported devices.
- Sort the device list.
2003-11-13 16:23:00 +00:00