Quoting Florian Fainelli :
> Hello Jussi,
>
> On 02/08/12 14:15, Jussi Kivilinna wrote:
>> Quoting Florian Fainelli :
>>
>>>
>>> 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?
>
Yes, do that or add URL to original mail. Thanks.
>>
>> -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 majord...@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 majord...@vger.kernel.org
>> More majordomo info at http://vger.kernel.org/majordomo-info.html
>
>
>
--
Keep Your Developer Skills Current with LearnDevNow!
The most comprehensive online learning library for Microsoft developers
is just $99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, MVC3,
Metro Style Apps, more. Free future releases when you subscribe now!
http://p.sf.net/sfu/learndevnow-d2d
___
Zd1211-devs mailing list - http://zd1211.wiki.sourceforge.net/
Unsubscribe: https://lists.sourceforge.net/lists/listinfo/zd1211-devs