CFT/CFR: NDIS(4) USB support

Weongyo Jeong weongyo.jeong at gmail.com
Thu Jul 24 12:02:55 UTC 2008


Hello All,

It looks that NDIS USB support works for some USB wireless drivers so
I'd like to call for tests to everyone who interested in NDIS for
FreeBSD.  I have 7 USB wireless adapters and with current NDIS USB
support 4 of 7 adapters are supported.  The detail is as follows:

Working:
  U-Khan UW-2054i (Marvell Libertas chipset)
  Netgear WG111v2 (Intersil/Prism chipset) - supported by upgt(4)
  EFM-IPTIME G054U2 (Ralink RT2573) - supported by rum(4)
  ZCOM XM-142 (Intersil/Prism chipset, another revision)

Not working:
  Unicorn WL-54G (ZyDAS zd1211b chipset) - supported by zyd(4)
    Attaching is working sucessfully and LED works fine but it's not
    UPed.
  Zyxel G-200v2 (ZyDAS zd1211 chipset) - supported by zyd(4)
    The sympotom is same with Unicorn WL-54G.
  SMCWUSBT-G-CA EZ 108Mbps (Atheros chipset)
    This NDIS driver uses some functions which aren't supported by
    current NDIS implementation.  So I can't test it now.

The patch for HEAD can be found at:

	http://people.freebsd.org/~weongyo/patch_ndisusb_20080724.diff

When you try to test this patch, you should make sure that ndiscvt(8)
is updated.  Some instructions like below could be helpful:

  # cd /usr/src
  # patch -p0 < ~/patch_ndisusb_20080724.diff
  # cd usr.sbin/ndiscvt
  # make && make install
  # cd ~/
  # ndisgen ABC.inf ABC.sys
  # cd /usr/src/sys/modules/ndis
  # make
  # kldload ./ndis.ko
  # cd /usr/src/sys/modules/if_ndis
  # make
  # kldload ./if_ndis.ko
  # kldload ~/ABC_sys.ko

It seems that the current status of NDIS USB support is beta status so
I'm not sure I've implemented all features yet that it needs more
debugging and stability.  I don't have all H/Ws for testing! :)
Please tell me if you were successful or you failed though it looks
it's not easy to debug NDIS .sys binary using disassembler.

Any help and comments are welcome.  Thanks.

regards,
Weongyo Jeong



More information about the freebsd-current mailing list