Netgear MA301 works
david at gibson.dropbear.id.au
Mon Jan 1 11:36:09 EST 2001
On Thu, Nov 15, 2001 at 10:08:49AM +0100, Bjoern Giesler wrote:
> *phew* finally. I got my MA301 working under Linux with the orinoco_plx
> driver. I use a Lucent/WaveLAN Silver card. The fix was indeed fiddling
> with the PLX's Interrupt Enable register. Patch (to orinoco-0.08b, from
> David Gibson's testing directory) attached; it's very small. I haven't
> tried any encryption, and only Ad-Hoc mode; still, I watched a DivX movie
> across the wireless link last night, which suggests it's quite stable.
> One issue remains: On rmmod, some things obviously get corrupted in
> kernel memory (try cat /proc/interrupts; produces garbage on my machine).
> I'll look into that.
> But I have a (perhaps PCI-related) question. The PLX's PCI base address
> registers theoretically have the first one (resource 0) point to
> memory-accessable memory and the second one (resource 1) point to
> IO-accessable memory; apart from the access method, both should allow the
> same local configuration access (see p8-1 of the PLX data book for
> Now, the first one points to 0; accordingly, pci_resource_start(dev, 0)
> returns 0x0. So that probably means that no memory access is possible to
> the local config. So far, so good; if we're supposed to do inb/outb, we
> can. But if I don't check for 0-ness of that address, and just pass it to
> ioremap(), I get a valid adress back! (Which is, of course, bogus -- I
> don't want to know whose driver space I fiddled with when that happened
> to me.) Is this by design, or is it a bug in ioremap()?
ioremap() has no way to tell that the address is invalid - it doesn't
understand PCI itself. It will just set up a virtual mapping to the
specified physical address. Physical address zero will probably
correspond to the beginning of RAM.
David Gibson | For every complex problem there is a
david at gibson.dropbear.id.au | solution which is simple, neat and
| wrong. -- H.L. Mencken
More information about the wireless