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

Reply via email to