Michael,
I'm gaining on my problems with 2 PCI (not Cardbus) cards, which are
as follows:
1. BCM4301 - With the ssb patch fixing IRQ TPS flag handling, I was
finally able to read beacons; however, no output interrupts were
delivered. By comparing the code in bcm43xx with that of b43legacy, I
found a section that had not been transferred. In it all bits are set
in B43legacy_MMIO_GEN_IRQ_REASON, the magic number 0x20402 is written
to B43legacy_MMIO_MACCTL, and the program spins waiting for IRQ_READY.
I was able to simplify the code to the following:
b43legacy_write32(dev, B43legacy_MMIO_GEN_IRQ_REASON,
0xFFFFFFFF);
b43legacy_write32(dev, B43legacy_MMIO_MACCTL, 0x00020402);
msleep(1);
b43legacy_read32(dev, B43legacy_MMIO_GEN_IRQ_REASON);
With this code added, the data disappears from the TX rings, but does
not appear over the air. I'm still looking for some differences
between bcm43xx and b43legacy regarding B-PHY and/or radio
initialization. One other observation is that this chip does not have
a ChipCommon core.
2. BCM4318 - an ASUS WL-138G V2 PCI card. This card can receive
beacons, but output data never is transferred out of the TX rings. The
above "fix" does not help.
If you have any suggestions on stuff to dump, etc., I would appreciate
them.
Thanks,
Larry
_______________________________________________
Bcm43xx-dev mailing list
[email protected]
https://lists.berlios.de/mailman/listinfo/bcm43xx-dev