Too Evil, Too Furious

Bill Paul wpaul at FreeBSD.ORG
Mon Apr 25 10:15:28 PDT 2005

Having reached yet another milestone of sorts in Project Evil develpment,
it's time once again to concentrate on cleaning up some of the rough spots.
This means fixing problems with cards/drivers that don't quite work right.

Naturally, all the cards/drivers that people are having issues with are
ones that I don't have. Now, it doesn't do any good to just tell me that
your card/driver isn't working right: to fix the problem, whatever it is,
I need to experiment, and for that I need access to the hardware. No, I
won't send you patches to test. No, there isn't any debugging information
you can give me via e-mail that will help. No, I'm not kidding.

The cards that I can't seem to get my hands on are:

- Marvell wireless -- supposedly D-Link used this on a card called the
  DWL-G510, but only on the first revision. The second board revision
  uses an Atheros chipset, which is already supported. Unfortunately, aside
  from this one PCI card, this chipset tends to only show up as a built-in
  component on motherboards or laptops, which makes it hard for me to just
  go out and get one.

- Inprocomm wireless -- this chipset has been reported to work on i386,
  but there's also an amd64 driver, and to date nobody has reported trying
  it with FreeBSD/amd64.

- AirGo Pre-N wireless -- there's apparently a Belkin cardbus card
  (F5D8010?) that uses this one

- RayLink RT2500 wireless -- this one shows up on some PCI cards, but
  I haven't had any luck finding one locally yet

The developers of the Marvell and Inprocomm drivers apparently chose
to use Microsoft structured exception handling (*sigh*), which is
interesting in that these devices have drivers for amd64 as well as
i386. From what I've read, Microsoft's amd64 implementation of SEH
should not cause any problems for Project Evil on amd64, but I haven't
personally tested it since the only card I have with an amd64 driver
is a Broadcom one.

My problems with finding these cards locally are:

- In-store selections around here really suck
- In many cases, the chips appear on only certain revs of a given
  card, and either I can't find that rev, or the boxes aren't well
  enough marked for me to figure out just which rev is inside
- Some of them show up most often as built-in devices, and I can't
  go out and buy a new laptop or motherboard just to test one network

If you have one of these cards and would like to loan or donate it, we
at Project Evil Laboratories would be most appreciative. If you don't want
to part with your hardware, you can still help by giving me remote access
to a system with the card installed. Note that just giving me a shell
really doesn't help: in order to experiment, I need to be able to load,
test and unload kernel modules, which requires superuser access. The
ideal setup would be to use a serial console, since in some cases it
may be necessary to poke around with the kernel debugger. Don't consider
this unless you have a scratch box lying around that you can afford to
have bounced a few times, because I guarantee you I will crash the thing
a few times before I get it to work.

Lastly, if you can't do either of these things, you can still help by
providing some important information. If you have one of these cards,
tell me where you got it! Tell me what manufacturer and model number
it is, but also carefully inspect the box it came in and tell me _ANY_
identifying markings on it that will help me distinguish it from all
the other cards out there. Very often, card distributors will sell two
different cards with the same part number. (I own no less than 4 cards
called the "LinkSys LNE100TX," all of which have different chipsets on
them.) D-Link and Linksys are some of the worst offenders in this area.
Even worse, most PCI cards now have metal RF shields on them that
cover up the chipsets, which makes it impossible to tell what you're
getting just by looking at the picture on the box.

Look for hardware revision info. Look for firmware revision info. If
you can provide a URL to the exact card you got from the place you
ordered it, even better. Whatever you do, don't just tell "I have
a D-Link model so-and-so." Instead, tell me "I have a D-Link model
so-and-so that I ordered from the following URL, and the box has
a sticker that says HW rev: B3 FW rev: 2.0." If I have info like this,
I can grab a card off a store shelf when I find the right one. Otherwise,
I can't take the chance on paying for it only to find out later it
uses a chipset I already have.

If you want to donate/load a card to Project Evil, you can send it
to the following address:

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

Bill's office phone number: 1 (510) 749-2329

Remember to include a note with your address so that the card can be
shipped back to you, and specify how soon you need the card back. All
loaned cards will be returned.


-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-hardware mailing list