History log of /freebsd-10.1-release/usr.sbin/ndiscvt/ndisgen.sh
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
# 272461 02-Oct-2014 gjb

Copy stable/10@r272459 to releng/10.1 as part of
the 10.1-RELEASE process.

Approved by: re (implicit)
Sponsored by: The FreeBSD Foundation

# 261021 22-Jan-2014 glebius

Merge r259855: We have in base iconv.

PR: 185135


# 256281 10-Oct-2013 gjb

Copy head (r256279) to stable/10 as part of the 10.0-RELEASE cycle.

Approved by: re (implicit)
Sponsored by: The FreeBSD Foundation


# 178213 15-Apr-2008 thompsa

Use a ndis_ prefix on the C variable instead of directly using the .sys
filename, this would fail if the filename started with a number.

PR: bin/84911
Submitted by: Fredrik Lindberg


# 148350 23-Jul-2005 dougb

(More thoroughly) fix the problem with the EGREP lines that was reported
on -current by Ben Kaduk <minimarmot@gmail.com>.

Add a hack of my own to allow the user to supply the paths to the INF and
SYS files on the command line.


# 148283 22-Jul-2005 ceri

Use "FreeBSD/i386" over "FreeBSD/ia32" to avoid any confusion.


# 148281 22-Jul-2005 ceri

Correct some spelling and grammatical errors.


# 148279 22-Jul-2005 jkim

Fix ndisgen(8) for amd64

- file(1) does not recognize UTF-16 encoded .INF file:

netbc564.inf: MPEG ADTS, layer I, v1, 96 kBits, 32 kHz, Stereo

Use egrep(1) to match two strings, i. e., `Signature' and `Class=Net'.

- Fix linking failure. Generate a temporary Makefile to emluate
official kernel module build process.

- Some minor typo/style fixes.

Reviewed by: obrien


# 145485 24-Apr-2005 wpaul

Throw the switch on the new driver generation/loading mechanism. From
here on in, if_ndis.ko will be pre-built as a module, and can be built
into a static kernel (though it's not part of GENERIC). Drivers are
created using the new ndisgen(8) script, which uses ndiscvt(8) under
the covers, along with a few other tools. The result is a driver module
that can be kldloaded into the kernel.

A driver with foo.inf and foo.sys files will be converted into
foo_sys.ko (and foo_sys.o, for those who want/need to make static
kernels). This module contains all of the necessary info from the
.INF file and the driver binary image, converted into an ELF module.
You can kldload this module (or add it to /boot/loader.conf) to have
it loaded automatically. Any required firmware files can be bundled
into the module as well (or converted/loaded separately).

Also, add a workaround for a problem in NdisMSleep(). During system
bootstrap (cold == 1), msleep() always returns 0 without actually
sleeping. The Intel 2200BG driver uses NdisMSleep() to wait for
the NIC's firmware to come to life, and fails to load if NdisMSleep()
doesn't actually delay. As a workaround, if msleep() (and hence
ndis_thsuspend()) returns 0, use a hard DELAY() to sleep instead).
This is not really the right thing to do, but we can't really do much
else. At the very least, this makes the Intel driver happy.

There are probably other drivers that fail in this way during bootstrap.
Unfortunately, the only workaround for those is to avoid pre-loading
them and kldload them once the system is running instead.