Subject: NDIS support is broken
To: None <current-users@netbsd.org>
From: Aleksej Saushev <asau@inbox.ru>
List: current-users
Date: 12/11/2007 22:12:10
  Hello!

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)
 */

#ifdef NDIS_REGVALS
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:

	mtx_destroy(&sc->ndis_mtx);

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?


-- 
CKOPO CE3OH...