Hendrik Sattler | 1 Oct 14:11 2006
Picon
Picon

Re: Driver problem (2.6.18 kernel)

Am Dienstag 26 September 2006 16:46 schrieb Larry Finger:
> To fix as much as we can at the moment, please get the
> "patch_2.6.18_to_wireless-2.6.bz2" file from
> ftp://lwfinger.dynalias.org/patches and apply that to your kernel.

Anything else that could be applied? I built 2.6.18 with wireless2.6 patch 
yesterday and tonight, I got:
NETDEV WATCHDOG: wlan0: transmit timed out
bcm43xx: Controller RESET (TX timeout) ...
bcm43xx: Controller restarted

I have a BCM4306.

HS
Michael Buesch | 1 Oct 15:28 2006
Picon

Re: Driver problem (2.6.18 kernel)

On Sunday 01 October 2006 14:11, Hendrik Sattler wrote:
> Am Dienstag 26 September 2006 16:46 schrieb Larry Finger:
> > To fix as much as we can at the moment, please get the
> > "patch_2.6.18_to_wireless-2.6.bz2" file from
> > ftp://lwfinger.dynalias.org/patches and apply that to your kernel.
> 
> Anything else that could be applied? I built 2.6.18 with wireless2.6 patch 
> yesterday and tonight, I got:
> NETDEV WATCHDOG: wlan0: transmit timed out
> bcm43xx: Controller RESET (TX timeout) ...
> bcm43xx: Controller restarted
> 
> I have a BCM4306.

Well, did it crash?

--

-- 
Greetings Michael.
Hendrik Sattler | 1 Oct 15:45 2006
Picon
Picon

Re: Driver problem (2.6.18 kernel)

Am Sonntag 01 Oktober 2006 15:28 schrieb Michael Buesch:
> On Sunday 01 October 2006 14:11, Hendrik Sattler wrote:
> > Am Dienstag 26 September 2006 16:46 schrieb Larry Finger:
> > > To fix as much as we can at the moment, please get the
> > > "patch_2.6.18_to_wireless-2.6.bz2" file from
> > > ftp://lwfinger.dynalias.org/patches and apply that to your kernel.
> >
> > Anything else that could be applied? I built 2.6.18 with wireless2.6
> > patch yesterday and tonight, I got:
> > NETDEV WATCHDOG: wlan0: transmit timed out
> > bcm43xx: Controller RESET (TX timeout) ...
> > bcm43xx: Controller restarted
> >
> > I have a BCM4306.
>
> Well, did it crash?

No. Just connection going offline. I'll try with BADNESS_LIMIT set to 0.

HS
Rainer Dorsch | 1 Oct 16:16 2006
Picon

bcm43xx support in Debian etch

Hello,

I installed a US Robotics MAXg PCI Adapter in a Debian etch machine with a 
2.6.17.12 kernel.

grieve:~# lspci -n |grep 4318
00:08.0 0280: 14e4:4318 (rev 02)
grieve:~# 
00:08.0 Network controller: Broadcom Corporation BCM4318 [AirForce One 54g] 
802.11g Wireless LAN Controller (rev 02)

I installed bcm43xx-fwcutter which downloaded the firmware and installed it 
in /lib/firmware

grieve:~# /usr/share/bcm43xx-fwcutter/install_bcm43xx_firmware.sh
--16:09:48--  http://svit.epfl.ch/stuff/wl_apsta.o
           => `wl_apsta.o'
Auflösen des Hostnamen »svit.epfl.ch«.... 128.178.192.9
Verbindungsaufbau zu svit.epfl.ch|128.178.192.9|:80... verbunden.
HTTP Anforderung gesendet, warte auf Antwort... 200 OK
Länge: 652.866 (638K) [text/plain]

100%[==============================================================>] 652.866      
123.00K/s    ETA 00:00

16:09:54 (121.30 KB/s) - »wl_apsta.o« gespeichert [652866/652866]

bcm43xx-fwcutter can cut the firmware out of wl_apsta.o

  filename :  wl_apsta.o
(Continue reading)

Hendrik Sattler | 2 Oct 00:24 2006
Picon
Picon

Re: Driver problem (2.6.18 kernel)

Am Sonntag 01 Oktober 2006 15:45 schrieb Hendrik Sattler:
> I'll try with BADNESS_LIMIT set to 0.

Didn't help.

HS
Larry Finger | 2 Oct 01:21 2006
Picon

Re: Driver problem (2.6.18 kernel)

Hendrik Sattler wrote:
> Am Sonntag 01 Oktober 2006 15:45 schrieb Hendrik Sattler:
>> I'll try with BADNESS_LIMIT set to 0.
> 
> Didn't help.
> 

Please send a listing of routine bcm43xx_periodic_work_handler in 
drivers/net/wireless/bcm43xx/bcm43xx_main.c.

Larry
Hendrik Sattler | 2 Oct 01:32 2006
Picon
Picon

Re: Driver problem (2.6.18 kernel)

Am Montag 02 Oktober 2006 01:21 schrieb Larry Finger:
> Hendrik Sattler wrote:
> > Am Sonntag 01 Oktober 2006 15:45 schrieb Hendrik Sattler:
> >> I'll try with BADNESS_LIMIT set to 0.
> >
> > Didn't help.
>
> Please send a listing of routine bcm43xx_periodic_work_handler in
> drivers/net/wireless/bcm43xx/bcm43xx_main.c.

Didn't change anything manually in that function, only the wireless26 patch 
from you and setting the BADNESS_LIMIT define to 0.

static void bcm43xx_periodic_work_handler(void *d)
{
        struct bcm43xx_private *bcm = d;
        unsigned long flags;
        u32 savedirqs = 0;
        int badness;

        mutex_lock(&bcm->mutex);
        badness = estimate_periodic_work_badness(bcm->periodic_state);
        if (badness > BADNESS_LIMIT) {
                /* Periodic work will take a long time, so we want it to
                 * be preemtible.
                 */
                netif_tx_disable(bcm->net_dev);
                spin_lock_irqsave(&bcm->irq_lock, flags);
                bcm43xx_mac_suspend(bcm);
                if (bcm43xx_using_pio(bcm))
(Continue reading)

Larry Finger | 2 Oct 02:16 2006
Picon

Re: Driver problem (2.6.18 kernel)

Hendrik,

Please try this patch.

Thanks,

Larry

Index: wireless-2.6/drivers/net/wireless/bcm43xx/bcm43xx_main.c
===================================================================
--- wireless-2.6.orig/drivers/net/wireless/bcm43xx/bcm43xx_main.c
+++ wireless-2.6/drivers/net/wireless/bcm43xx/bcm43xx_main.c
 <at>  <at>  -3250,11 +3250,11  <at>  <at>  static void bcm43xx_periodic_work_handle

  	mutex_lock(&bcm->mutex);
  	badness = estimate_periodic_work_badness(bcm->periodic_state);
+	netif_tx_disable(bcm->net_dev);
  	if (badness > BADNESS_LIMIT) {
  		/* Periodic work will take a long time, so we want it to
  		 * be preemtible.
  		 */
-		netif_tx_disable(bcm->net_dev);
  		spin_lock_irqsave(&bcm->irq_lock, flags);
  		bcm43xx_mac_suspend(bcm);
  		if (bcm43xx_using_pio(bcm))
 <at>  <at>  -3278,10 +3286,10  <at>  <at>  static void bcm43xx_periodic_work_handle
  		if (bcm43xx_using_pio(bcm))
  			bcm43xx_pio_thaw_txqueues(bcm);
  		bcm43xx_mac_enable(bcm);
-		netif_wake_queue(bcm->net_dev);
(Continue reading)

Hendrik Sattler | 2 Oct 02:52 2006
Picon
Picon

report queue full via ieee_device->is_queue_full

Am Montag 02 Oktober 2006 01:21 schrieb Larry Finger:
> Hendrik Sattler wrote:
> > Am Sonntag 01 Oktober 2006 15:45 schrieb Hendrik Sattler:
> >> I'll try with BADNESS_LIMIT set to 0.
> >
> > Didn't help.
>
> Please send a listing of routine bcm43xx_periodic_work_handler in
> drivers/net/wireless/bcm43xx/bcm43xx_main.c.

Didn't try your patch, yet, but with the last try, the following made some 
parts (e.g. running ifconfig) freeze:
Oct  2 01:56:55 yavin kernel: NETDEV WATCHDOG: wlan0: transmit timed out
Oct  2 01:57:00 yavin kernel: NETDEV WATCHDOG: wlan0: transmit timed out
Oct  2 01:57:01 yavin kernel: wlan0: NETDEV_TX_BUSY returned; driver should 
report queue full via ieee_device->is_queue_full
.

Grepping over 2.6.18, only ipw2200 uses this, bcm43xx doesn't.

HS
Johannes Berg | 2 Oct 09:14 2006
Picon

Re: bcm43xx support in Debian etch


> 00:08.0 Network controller: Broadcom Corporation BCM4318 [AirForce One 54g] 

> Not sure where to continue to debug here. Any hint is very welcome.

suggestion: search the archives (hint: bcm4318 is a good keyword) before
posting a huge email of mostly useless info. (oh, and the answer you'll
find is: 4318 is simply not supported properly yet)

johannes

Gmane