All of lore.kernel.org
 help / color / mirror / Atom feed
From: Florian Fainelli <florian@openwrt.org>
To: Jussi Kivilinna <jussi.kivilinna@mbnet.fi>
Cc: linux-wireless@vger.kernel.org, Daniel Drake <dsd@gentoo.org>,
	Ulrich Kunitz <kune@deine-taler.de>,
	zd1211-devs@lists.sourceforge.net
Subject: Re: zd1211rw firmware loading timeout
Date: Wed, 08 Feb 2012 14:17:17 +0100	[thread overview]
Message-ID: <4F3275DD.2000107@openwrt.org> (raw)
In-Reply-To: <20120208151536.92555oyai8wffqww@www.81.fi>

Hello Jussi,

On 02/08/12 14:15, Jussi Kivilinna wrote:
> Quoting Florian Fainelli <florian@openwrt.org>:
>
>>
>> Hello,
>>
>> I am running Debian testing kernel 3.1.0-1-amd64, using a 079b:0062 
>> Sagem
>> XG-76NA 802.11bg stick.
>>
>> Upon zd1211rw interface
>> bringup (ifconfig wlan0 up) I get the following timeout:
>>
>> [  950.330573] zd1211rw 1-3:1.0: phy2
>> [  955.108510] zd1211rw 1-3:1.0: firmware version 4725
>> [  955.148532] zd1211rw 1-3:1.0: zd1211b chip 079b:0062 v4810 high 
>> 00-19-70
>> AL2230_RF pa0 g--NS
>> [snip]
>> [  955.204072] zd1211rw 1-3:1.0: error ioread32(CR_REG1): -110
>>
>> A second ifconfig wlan0 up brings the interface up without problems.
>>
>> After a bit more debugging, the call trace is the following:
>>
>> [10241.028130] zd1211rw 1-3:1.0: zd_chip_lock_phy_regs: error
>> ioread32(CR_REG1): -110
>> [10241.028140] zd1211rw 1-3:1.0: zd_switch_radio_on: failed to lock 
>> PHY regs
>> [10241.028148] zd1211rw 1-3:1.0: zd_op_start: failed to set radio on
>>
>> The following small modification works around the issue:
>>
>> diff --git a/zd_mac.c b/zd_mac.c
>> index cabfae1..6bfb673 100644
>> --- a/zd_mac.c
>> +++ b/zd_mac.c
>> @@ -306,9 +306,14 @@ int zd_op_start(struct ieee80211_hw *hw)
>>        r = set_mc_hash(mac);
>>        if (r)
>>                goto disable_int;
>> +
>> +       msleep(10);
>> +
>>        r = zd_chip_switch_radio_on(chip);
>> -       if (r < 0)
>> +       if (r < 0) {
>> +               dev_err(zd_chip_dev(chip), "%s: failed to set radio 
>> on\n",
>> __func__);
>>                goto disable_int;
>> +       }
>>        r = zd_chip_enable_rxtx(chip);
>>        if (r < 0)
>>                goto disable_radio;
>>
>> Is it possible that some chips require more time between a 
>> set_mc_hash and a
>> radio on? Or in general that consequent writes to the PHY regs should 
>> be timed
>> appropriately?
>
> Yes, it is possible. Vendor driver appears to have quite alot sleeps 
> spread around in RF-chip handling code. I might have seen this myself 
> sometimes when zd1211 device has firmware freeze and has to be 
> reseted. But since freeze is hard to reproduce and reset didn't fail 
> always, I didn't bother with it.
>
> Can you give your "Signed-off-by" line for the patch?

Sure, I will resubmit this patch, do you also want me to keep the line 
showing the error?

>
> -Jussi
>
>>
>> When I googled for this timeout issue, I could see quite some reports 
>> of other
>> people having this error while the chip was already operating.
>>
>> Thanks
>> -- 
>> Florian
>> -- 
>> To unsubscribe from this list: send the line "unsubscribe 
>> linux-wireless" in
>> the body of a message to majordomo@vger.kernel.org
>> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>>
>>
>
>
> -- 
> To unsubscribe from this list: send the line "unsubscribe 
> linux-wireless" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html


  reply	other threads:[~2012-02-08 13:17 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-11-29 14:44 zd1211rw firmware loading timeout Florian Fainelli
     [not found] ` <CAFAL1Txx=qn3WXdRrtaYPVySY2vx+HinKk-NgthR+2ufcYNMwA@mail.gmail.com>
2012-02-08 13:15   ` Jussi Kivilinna
2012-02-08 13:17     ` Florian Fainelli [this message]
2012-02-08 16:01       ` Jussi Kivilinna
2012-02-09 10:24         ` [PATCH] zd1211rw: wait between setting hash table and powering radio on Florian Fainelli
2012-02-09 10:40           ` Julian Calaby
2012-02-09 10:54             ` Florian Fainelli
2012-02-09 11:10               ` Julian Calaby
2012-02-09 11:41                 ` Jussi Kivilinna
2012-02-15 10:33                   ` Florian Fainelli
2012-02-15 12:52                     ` Jussi Kivilinna
2012-02-29  9:36                       ` [PATCH v2] " Florian Fainelli
2012-02-29 10:25                         ` Julian Calaby
2012-02-29 13:00                         ` [PATCH v3] " Florian Fainelli

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4F3275DD.2000107@openwrt.org \
    --to=florian@openwrt.org \
    --cc=dsd@gentoo.org \
    --cc=jussi.kivilinna@mbnet.fi \
    --cc=kune@deine-taler.de \
    --cc=linux-wireless@vger.kernel.org \
    --cc=zd1211-devs@lists.sourceforge.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.