Subject: NDIS support is broken
To: None <>
From: Aleksej Saushev <>
List: current-users
Date: 12/11/2007 22:12:10

I've tried to use NDIS driver for my BCM4311 card, but it seems
that NDIS support is broken currently.  I tried to follow ndis(4)
usage examples, but encountered following problems:

1. ndiscvt refused to work:

/usr/sbin/ndiscvt -i *.inf -s *.sys
 * Generated from bcmwl5.inf and bcmwl5.sys (563968 bytes)

ndiscvt: line 1172: 5: syntax error.

2. ndiscvt generated broken file:

/usr/sbin/ndiscvt -s *.sys | head
 * Generated from <notused> and bcmwl5.sys (563968 bytes)

ndis_cfg ndis_regvals[] = {
	{ NULL, NULL, { 0 }, 0 }
#endif /* NDIS_REGVALS */
Note that #ifdef is not properly nested.

3. I moved #endif 1 line forth, so that I swapped last two lines
of fragment above, and proceeded.  The build stopped in if_ndis.c
at line 1195:


I've found that ndis_mtx is "struct simplelock", not mutex.
I tried changing that to kmutex_t, but this requires more work,
than I expected, and more time (and knowledge), than I have.

Is there any chance to unbreak NDIS support in nearest future?