Project Evil: The Evil Continues

Bill Paul wpaul at FreeBSD.ORG
Sat Jan 24 19:49:00 PST 2004

Previously, I had asked for help getting the Intel Centrino wireless
cards to work with Project Evil, and thanks to various wonderful people,
a couple of Centrino cards and a miniPCI-to-PCI adapter turned up on
Project Evil Labs' doorstep. The Centrino NDIS driver now works
correctly. (The problem turned out to be that I wasn't initializing
some special flags in ndis_packet structures).

Now I'm trying to get a handle on getting support done for all
the remaining unsupported 802.11 chipsets out there. There are a
couple that I know don't work, and a few which might work, but I
don't know for sure since I don't have them.

Right now, it looks like all of the Broadcom-based cards should be
supported, as well as the Centrino cards. There are various ethernet
cards that I've tested which work as well. I am looking for success
or failure reports concerning the following devices:

- nVidia MCP ethernet, integrated into the nVidia nForce2 chipset.
  This driver should work using the nvenet.sys driver for Windows
  which is available from nVidia's web site. Note: recent versions
  of the driver consist of just two files: the nvenet.sys binary
  module, and its accompanying .inf file. However some of the older
  driver distributions included a couple of additional firmware/microcode
  files that nvenet.sys would try to load at runtime. If you have one
  of these older drivers, put the firmware/microcode files in
  /compat/ndis, and the driver should load them correctly.

- RealTek RTL8180 wireless LAN chipset. I have been unable to find
  a card with this chip in any of my local computer stores. The
  RealTek driver for this chip _should_ work. I'm pretty sure all
  of the routines it calls are implemented.

- ADMtek 8211 wireless LAN chipset. This one should also work, but I
  can't find any cards with this chipset in my local computer stores.

- Intel PRO/5000 wirless card. This is apparently an Atheros 5210
  chipset. I have been told the wl50nd5.sys driver for this card
  crashes when you call its reset method, but again I don't have one of
  these so I can't confirm this or figure out what the problem is.

- AMD Am1771/Am1772 wireless LAN chipset. This one probably won't
  work: the supplied AMD driver calls lots of functions in ntoskrnl.exe
  which I haven't implemented yet. This chipset is present on the
  SMC 2602w version 3 card. I repeat: that's the SMC 2602w VERSION THREE.
  The version 1 card is a Prism chipset. I don't know what the v2 card is.

- Texas Instruments ax100 chipset. I'm not sure if this one works or
  not. This chipset has been reverse-engineered and there is a native
  FreeBSD driver available, but I'm still curious to see if it works
  with the NDISulator.

- Atheros chipsets. Of course, we have the ath(4) driver to support
  these, but it would be nice to know which ones work (or do not work)
  with the NDISulator.

- Any other PCI or cardbus NIC that I've overlooked which isn't currently
  supported by an existing native driver.

If you have a system with one of these chipsets, please give the
NDISulator a try. Note: you do NOT have to recompile your kernel to
test it. Find the .sys and .inf files from your Windows driver media
and do the following:

# cp foo.sys foo.inf /sys/modules/if_ndis
# cd /sys/modules/ndis
# make; make load
# cd /sys/modules/if_ndis
# ndiscvt -i foo.inf -s foo.sys -o ndis_driver_data.h
# make; make load

You don't even have to reboot. Well, not unless the driver causes
a panic. :/

If the NIC works, that's great! Drop me a line letting me know, so I
can cross it off the list. If it doesn't work, please do the

- Describe the failure to me _in_ _detail_. DON'T LOAD THE DRIVER
  WITH X RUNNING. (I hate it when people do that. If for some reason
  there's a panic, you'll never see it unless you're watching the
  console. If X is running, it will just look like the system froze,
  and you won't be able to tell what happened.) If you see messages
  of the form "No match for <ConfusingWindowsFunctionName>" on the
  console, then the driver is trying to call some functions that I
  haven't implemented yet. In very rare cases, the driver may still
  work, but don't bet on it. Make a note of all console messages that
  appear when you try to load the driver module. And send them to me,
  along with a description of what card you have and whar Windows driver
  module you used.

- Tell me where you got your card so I can try to get one too. As with
  the Centrino, it's not always possible to debug these problems without
  actual hardware.

- If you're feeling really generous, loan me your card for a while so
  I can coerce^Wcoax it into working. (This doesn't apply to NICs
  that are integrated into your system.)

Again, we at Project Evil appreciate your assistance in our efforts
to dominate^Wimprove the world. If you decide to loan us your hardware,
please send it do:

Attn: Bill Paul
Wind River Systems
500 Wind River Way
Alameda, CA. 94102

Project Evil: when it absolutely, positively has to be evil overnight.


-Bill Paul            (510) 749-2329 | Senior Engineer, Master of Unix-Fu
                 wpaul at | Wind River Systems
              <adamw> you're just BEGGING to face the moose

More information about the freebsd-current mailing list