Hi Brian ;-)

Brian J. Murrell wrote:
> Please excuse the cross-posting but this thread started on openwrt-users
> but the findings are probably more relevant to the developers.
> 
> On Tue, 2008-10-21 at 17:46 +0200, Michael Buesch wrote:
>> Lookup b43_interrupt_handler() and look for the "reason" variable.
>> Fairly straightforward, IMO.
> 
> OK.  I've managed to tool up a b43.ko with a printk and this is what I
> see, before I even pump anything through the wireless link (i.e. up in
> Master mode, and idle):
> 
> b43_interrupt_handler: 0xc18a
> b43_interrupt_handler: 0x418e
> b43_interrupt_handler: 0xc18a
> b43_interrupt_handler: 0x418e
> b43_interrupt_handler: 0xc18a
> b43_interrupt_handler: 0x418e
> ...
> 
> but looking at the IRQ reasons in b43.h I see a "hole".  Let's take the
> first one for example:
> 
> 0xc18a:
> 0xc000 = B43_IRQ_DMA | B43_IRQ_TIMER1
> 0x0100 = B43_IRQ_PIO_WORKAROUND
> 0x0080 = undefined
> 0x000a = B43_IRQ_BEACON_TX_OK | B43_IRQ_BEACON
> 
> The next one:
> 0x418e:
> 0x4000 = B43_IRQ_TIMER1
> 0x0100 = B43_IRQ_PIO_WORKAROUND
> 0x0080 = undefined
> 0x000e = B43_IRQ_BEACON_TX_OK | B43_IRQ_TBTT_INDI | B43_IRQ_BEACON
> 
> I wonder what 0x0080 is.
> 
> So I tried masking off B43_IRQ_BEACON IRQs and sure no more "noise" but
> very very few reasons being logged at all, including none during normal
> tx/rx.  Beacons must be in every interrupt.
> 
> So let's just mask off the B43_IRQ_TX_OK interrupts and send some bulk
> data (which drives the softirq through the ceiling).  The last packets
> through the router caused the following interrupts:
> 
> b43_interrupt_handler: 0x458e
> b43_interrupt_handler: 0xc5ca
> b43_interrupt_handler: 0xc5ca
> b43_interrupt_handler: 0x458e
> b43_interrupt_handler: 0xc5ca
> b43_interrupt_handler: 0x458e
> b43_interrupt_handler: 0xc5ca
> b43_interrupt_handler: 0xc5ca
> b43_interrupt_handler: 0x458e
> b43_interrupt_handler: 0xc58a
> b43_interrupt_handler: 0xc5ca
> b43_interrupt_handler: 0xc58a
> b43_interrupt_handler: 0xc5ce
> b43_interrupt_handler: 0x458e
> b43_interrupt_handler: 0xc5ca
> b43_interrupt_handler: 0xc58a
> b43_interrupt_handler: 0xc5ca
> b43_interrupt_handler: 0xc5ca
> b43_interrupt_handler: 0x458e
> b43_interrupt_handler: 0xc58a
> b43_interrupt_handler: 0xc58a
> b43_interrupt_handler: 0xc58a
> 
> Which are:
> 
> 0x458e:       B43_IRQ_TIMER1 | 
>       0x400 (unknown) | B43_IRQ_PIO_WORKAROUND |
>       0x80 (unknown) |
>       B43_IRQ_BEACON_TX_OK | B43_IRQ_TBTT_INDI | B43_IRQ_BEACON
> 
> 0xc5ca:       B43_IRQ_DMA | B43_IRQ_TIMER1 |
>       0x400 (unknown) | B43_IRQ_PIO_WORKAROUND |
>       0x80 (unknown) | B43_IRQ_PMQ |
>       B43_IRQ_BEACON_TX_OK | B43_IRQ_BEACON
> 
> 0xc58a:       B43_IRQ_DMA | B43_IRQ_TIMER1 |
>       0x400 (unknown) | B43_IRQ_PIO_WORKAROUND |
>       0x80 (unknown) |
>       B43_IRQ_BEACON_TX_OK | B43_IRQ_BEACON
> 
> 0xc5ce:       B43_IRQ_DMA | B43_IRQ_TIMER1 |
>       0x400 (unknown) | B43_IRQ_PIO_WORKAROUND |
>       0x80 (unknown) | B43_IRQ_PMQ |
>       B43_IRQ_BEACON_TX_OK | B43_IRQ_TBTT_INDI | B43_IRQ_BEACON
> 
> All packets had two unknown IRQ masks, 0x400 and 0x80.
> 
> It's also interesting to note that with relation to the issue of the
> wireless interface all of a sudden stopping it's transmission of data
> after a certain amount of bulk, which a number of people have reported;
> it seems to correlate to a:
> 
> b43-phy7 debug: Updated beacon template at 0x68
> 
> event.
> 
> Is any of this useful?
> 

Very much + thanx

-- 
Gregers Petersen
People-stuff, layer 8 and anthropology
glp on irc

   _______                     ________        __
  |       |.-----.-----.-----.|  |  |  |.----.|  |_
  |   -   ||  _  |  -__|     ||  |  |  ||   _||   _|
  |_______||   __|_____|__|__||________||__|  |____|
           |__| W I R E L E S S   F R E E D O M
  KAMIKAZE (bleeding edge) -----------------------
   * 10 oz Vodka       Shake well with ice and strain
   * 10 oz Triple sec  mixture into 10 shot glasses.
   * 10 oz lime juice  Salute!
  ---------------------------------------------------

_______________________________________________
openwrt-devel mailing list
[email protected]
http://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel

Reply via email to