Re: [Bcm43xx-dev] handle_irq_transmit_status() never called on iBook, Airport Extreme
On Sun, 2006-01-01 at 08:54 -0600, Matteo Frigo wrote: I would appreciate if other people could confirm whether handle_irq_transmit_status() is called on their system, so that I can try to further diagnose the problem. It's not being called here -- I see precisely the same as you. It stops after sending about 410 packets. With the built-in wireless (PowerBook5,3) this leads to a TX timeout, a reset, and then I need to set the ESSID again before it works any more. With a Belkin F5D7010 I found lying around, it didn't recover from the error... SoftMAC: assoc request timed out! NETDEV WATCHDOG: eth2: transmit timed out bcm43xx_interrupt_disable(), 0-0 bcm43xx: FATAL ERROR (TX timeout): Resetting the chip... bcm43xx: Radio turned off bcm43xx: DMA 0x0260 (RX) max used slots: 0/64 bcm43xx: DMA 0x0200 (RX) max used slots: 0/64 bcm43xx: DMA 0x0260 (TX) max used slots: 0/512 bcm43xx: DMA 0x0240 (TX) max used slots: 0/512 bcm43xx: DMA 0x0220 (TX) max used slots: 2/512 bcm43xx: DMA 0x0200 (TX) max used slots: 0/512 bcm43xx: Card IRQ register not responding. Giving up. bcm43xx: Chip reset failed! The only way to recover was to physically remove the card... which was OK a couple of times but then http://david.woodhou.se/dcp_1910.jpg happened when I removed the card a third time. Since rebooting, the Belkin card does seem to recover OK from the TX timeout. -- dwmw2 ___ Bcm43xx-dev mailing list Bcm43xx-dev@lists.berlios.de http://lists.berlios.de/mailman/listinfo/bcm43xx-dev
Re: [Bcm43xx-dev] handle_irq_transmit_status() never called on iBook, Airport Extreme
On Sunday 01 January 2006 19:35, David Woodhouse wrote: On Sun, 2006-01-01 at 08:54 -0600, Matteo Frigo wrote: I would appreciate if other people could confirm whether handle_irq_transmit_status() is called on their system, so that I can try to further diagnose the problem. It's not being called here -- I see precisely the same as you. It stops after sending about 410 packets. With the built-in wireless (PowerBook5,3) this leads to a TX timeout, a reset, and then I need to set the ESSID again before it works any more. With a Belkin F5D7010 I found lying around, it didn't recover from the error... SoftMAC: assoc request timed out! NETDEV WATCHDOG: eth2: transmit timed out bcm43xx_interrupt_disable(), 0-0 bcm43xx: FATAL ERROR (TX timeout): Resetting the chip... I am not sure why this happens. It is currently a bit hard to audit the code for the issue, because the webserver with the specifications is down and I don't have an up-to-date mirror. -- Greetings Michael. pgpBKqi1FnLhz.pgp Description: PGP signature
Re: [Bcm43xx-dev] handle_irq_transmit_status() never called on iBook, Airport Extreme
On Sunday 01 January 2006 19:35, David Woodhouse wrote: On Sun, 2006-01-01 at 08:54 -0600, Matteo Frigo wrote: I would appreciate if other people could confirm whether handle_irq_transmit_status() is called on their system, so that I can try to further diagnose the problem. It's not being called here -- I see precisely the same as you. It stops after sending about 410 packets. With the built-in wireless (PowerBook5,3) this leads to a TX timeout, a reset, and then I need to set the ESSID again before it works any more. With a Belkin F5D7010 I found lying around, it didn't recover from the error... SoftMAC: assoc request timed out! NETDEV WATCHDOG: eth2: transmit timed out bcm43xx_interrupt_disable(), 0-0 bcm43xx: FATAL ERROR (TX timeout): Resetting the chip... bcm43xx: Radio turned off bcm43xx: DMA 0x0260 (RX) max used slots: 0/64 bcm43xx: DMA 0x0200 (RX) max used slots: 0/64 bcm43xx: DMA 0x0260 (TX) max used slots: 0/512 bcm43xx: DMA 0x0240 (TX) max used slots: 0/512 bcm43xx: DMA 0x0220 (TX) max used slots: 2/512 bcm43xx: DMA 0x0200 (TX) max used slots: 0/512 bcm43xx: Card IRQ register not responding. Giving up. bcm43xx: Chip reset failed! Can you please check if latest SVN (r994 or later) has the same behaviour? -- Greetings Michael. pgpS0bIsLMizf.pgp Description: PGP signature
Re: [Bcm43xx-dev] handle_irq_transmit_status() never called on iBook, Airport Extreme
On Sunday 01 January 2006 22:21, Matteo Frigo wrote: Michael Buesch [EMAIL PROTECTED] writes: You have a device with a wlcore rev 5, which uses one DMA engine for TX status blobs. This code is untested and indeed likely to be wrong. I have no facilities to test it (neither has any other developer). Well, I do have a card with rev 5, so I can test it. On my machine, the code does invoke dma_rx() to read from rx_ring1, so at least this part is working. However, I always get len == 0 when (ring-mmio_base == BCM43xx_MMIO_DMA4_BASE), the packet is dropped, and the bcm43xx_rx_transmitstatus() mechanism is not invoked. Any suggestion? Ok, it should not be dropped. Afaik the len should be ignored on DMA4. (I can not check, as the specs server is down). But you may play around by yourself. Do a hack to ignore the len on DMA4 and pass the xmitstatus blob to bcm43xx_rx_transmitstatus(). The xmitstatus blob is at the beginning of the descriptor buffer (_no_ frame offset is used) and has a length of sizeof(struct bcm43xx_hwxmitstatus). So instead of doing: len = le16_to_cpu(rxhdr-frame_length); You might hack something like that: if (ring-mmio_base == BCM43xx_MMIO_DMA4_BASE) len = sizeof(struct bcm43xx_hwxmitstatus); else len = le16_to_cpu(rxhdr-frame_length); Please also do another thing. dump the xmitstatus blob, using bcm43xx_printk_dump() and post the hexdump here. Just to see if we actually receive sane data. -- Greetings Michael. pgpP8LV1pMy7v.pgp Description: PGP signature
Re: [Bcm43xx-dev] handle_irq_transmit_status() never called on iBook, Airport Extreme
This patch seems to do the trick. I am ignoring the bcm43xx_rx_transmitstatus() mechanism and calling bcm43xx_dma_handle_xmitstatus() directly. patch Description: Binary data
Re: [Bcm43xx-dev] handle_irq_transmit_status() never called on iBook, Airport Extreme
On Sunday 01 January 2006 23:52, you wrote: This patch seems to do the trick. I am ignoring the bcm43xx_rx_transmitstatus() mechanism and calling bcm43xx_dma_handle_xmitstatus() directly. Ok, very good. I will apply this patch and also remove the dead bcm43xx_rx_transmitstatus code. Thanks. -- Greetings Michael. pgp86mIQOMTHh.pgp Description: PGP signature