diff mbox

Help debugging iwldvm / ath10k stalls

Message ID CANUX_P2XpeDOmNOX=p4yMUe5ZAZv-UQ97M0ayFcFSsTrEDS3CA@mail.gmail.com (mailing list archive)
State Not Applicable, archived
Headers show

Commit Message

Emmanuel Grumbach May 26, 2014, 8:39 a.m. UTC
On Mon, May 26, 2014 at 11:29 AM, Emmanuel Grumbach <egrumbach@gmail.com> wrote:
>>>>>
>>>>> Every now and then, my connection drops out.  From wireshark on the
>>>>> station, it looks like traffic from the AP to the STA is coming
>>>>> through but traffic from the STA to the AP is not.  I could be wrong
>>>>> here, though.  Nothing is logged in either machine's kernel log.
>>>>> After 5 seconds to a couple minutes, everything starts working again.
>>>>>
>>>>> A couple of Apple devices using the same radio on the same AP seem to work fine.
>>>>>
>>>>> Any advice for debugging this?  I don't know where to start.
>>>>
>>>> I caught one of the stalls with iwlwifi debugging on.  I've attached
>>>> the dmesg.  The stall ended ten seconds or so before the end of this
>>>> trace.  Is this an indication that something's wrong with iwlwifi?
>>>>
>>>> [151258.096091] iwlwifi 0000:03:00.0: U iwlagn_good_plcp_health plcp health thre
>>>> shold 50 delta 96 msecs 103
>>>> [151258.096095] iwlwifi 0000:03:00.0: U iwl_force_rf_reset perform radio reset.
>>>>
>>> Can you please disable powersave?
>>> It seems that it should be disabled by default, but you enabled it?
>>> I might be confused though... Looking again at the code...
>>
>> This?
>>
>> $ cat /sys/module/iwlwifi/parameters/power_save
>> N
>>
>> I have pcie_aspm.policy=powersave, but I don't think that should
>> matter.  Or am I missing something?
>
> That should be ok.

Does this help?

--
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

Comments

Andy Lutomirski May 26, 2014, 5:28 p.m. UTC | #1
On Mon, May 26, 2014 at 1:39 AM, Emmanuel Grumbach <egrumbach@gmail.com> wrote:
> On Mon, May 26, 2014 at 11:29 AM, Emmanuel Grumbach <egrumbach@gmail.com> wrote:
>>>>>>
>>>>>> Every now and then, my connection drops out.  From wireshark on the
>>>>>> station, it looks like traffic from the AP to the STA is coming
>>>>>> through but traffic from the STA to the AP is not.  I could be wrong
>>>>>> here, though.  Nothing is logged in either machine's kernel log.
>>>>>> After 5 seconds to a couple minutes, everything starts working again.
>>>>>>
>>>>>> A couple of Apple devices using the same radio on the same AP seem to work fine.
>>>>>>
>>>>>> Any advice for debugging this?  I don't know where to start.
>>>>>
>>>>> I caught one of the stalls with iwlwifi debugging on.  I've attached
>>>>> the dmesg.  The stall ended ten seconds or so before the end of this
>>>>> trace.  Is this an indication that something's wrong with iwlwifi?
>>>>>
>>>>> [151258.096091] iwlwifi 0000:03:00.0: U iwlagn_good_plcp_health plcp health thre
>>>>> shold 50 delta 96 msecs 103
>>>>> [151258.096095] iwlwifi 0000:03:00.0: U iwl_force_rf_reset perform radio reset.
>>>>>
>>>> Can you please disable powersave?
>>>> It seems that it should be disabled by default, but you enabled it?
>>>> I might be confused though... Looking again at the code...
>>>
>>> This?
>>>
>>> $ cat /sys/module/iwlwifi/parameters/power_save
>>> N
>>>
>>> I have pcie_aspm.policy=powersave, but I don't think that should
>>> matter.  Or am I missing something?
>>
>> That should be ok.
>
> Does this help?
>
> diff --git a/drivers/net/wireless/iwlwifi/dvm/power.c
> b/drivers/net/wireless/iwlwifi/dvm/power.c
> index f2c1439..e5a6b70 100644
> --- a/drivers/net/wireless/iwlwifi/dvm/power.c
> +++ b/drivers/net/wireless/iwlwifi/dvm/power.c
> @@ -288,6 +288,9 @@ static void iwl_power_build_cmd(struct iwl_priv *priv,
>         bool enabled = priv->hw->conf.flags & IEEE80211_CONF_PS;
>         int dtimper;
>
> +       iwl_power_sleep_cam_cmd(priv, cmd);
> +       return;
> +
>         dtimper = priv->hw->conf.ps_dtim_period ?: 1;
>
>         if (priv->wowlan)

This patch has survived for about 15 minutes on 3.15-rc.  It certainly
has some effect: pinging from the AP to the STA now takes a consistent
~3.8ms instead of taking varying amounts of time between 5 and 200 ms
or so.

I wonder if this is something 802.11n/802.11ac-specific?  I remember
having all kinds of problems with 802.11n on this laptop that were
resolved by turning off 11n or turning off power saving.
Emmanuel Grumbach May 26, 2014, 6 p.m. UTC | #2
>>>>>>> Every now and then, my connection drops out.  From wireshark on the
>>>>>>> station, it looks like traffic from the AP to the STA is coming
>>>>>>> through but traffic from the STA to the AP is not.  I could be wrong
>>>>>>> here, though.  Nothing is logged in either machine's kernel log.
>>>>>>> After 5 seconds to a couple minutes, everything starts working again.
>>>>>>>
>>>>>>> A couple of Apple devices using the same radio on the same AP seem to work fine.
>>>>>>>
>>>>>>> Any advice for debugging this?  I don't know where to start.
>>>>>>
>>>>>> I caught one of the stalls with iwlwifi debugging on.  I've attached
>>>>>> the dmesg.  The stall ended ten seconds or so before the end of this
>>>>>> trace.  Is this an indication that something's wrong with iwlwifi?
>>>>>>
>>>>>> [151258.096091] iwlwifi 0000:03:00.0: U iwlagn_good_plcp_health plcp health thre
>>>>>> shold 50 delta 96 msecs 103
>>>>>> [151258.096095] iwlwifi 0000:03:00.0: U iwl_force_rf_reset perform radio reset.
>>>>>>
>>>>> Can you please disable powersave?
>>>>> It seems that it should be disabled by default, but you enabled it?
>>>>> I might be confused though... Looking again at the code...
>>>>
>>>> This?
>>>>
>>>> $ cat /sys/module/iwlwifi/parameters/power_save
>>>> N
>>>>
>>>> I have pcie_aspm.policy=powersave, but I don't think that should
>>>> matter.  Or am I missing something?
>>>
>>> That should be ok.
>>
>> Does this help?
>>
>> diff --git a/drivers/net/wireless/iwlwifi/dvm/power.c
>> b/drivers/net/wireless/iwlwifi/dvm/power.c
>> index f2c1439..e5a6b70 100644
>> --- a/drivers/net/wireless/iwlwifi/dvm/power.c
>> +++ b/drivers/net/wireless/iwlwifi/dvm/power.c
>> @@ -288,6 +288,9 @@ static void iwl_power_build_cmd(struct iwl_priv *priv,
>>         bool enabled = priv->hw->conf.flags & IEEE80211_CONF_PS;
>>         int dtimper;
>>
>> +       iwl_power_sleep_cam_cmd(priv, cmd);
>> +       return;
>> +
>>         dtimper = priv->hw->conf.ps_dtim_period ?: 1;
>>
>>         if (priv->wowlan)
>
> This patch has survived for about 15 minutes on 3.15-rc.  It certainly
> has some effect: pinging from the AP to the STA now takes a consistent
> ~3.8ms instead of taking varying amounts of time between 5 and 200 ms
> or so.
>
> I wonder if this is something 802.11n/802.11ac-specific?  I remember
> having all kinds of problems with 802.11n on this laptop that were
> resolved by turning off 11n or turning off power saving.
>

well... my patch really turns off power saving. The hard way.
But since you are having issues - I guess I'll post it and disable
power save for these devices. Note that today most of the power save
features are disabled anyway.
--
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
Andy Lutomirski May 26, 2014, 6:08 p.m. UTC | #3
On Mon, May 26, 2014 at 11:00 AM, Emmanuel Grumbach <egrumbach@gmail.com> wrote:
>>>>>>>> Every now and then, my connection drops out.  From wireshark on the
>>>>>>>> station, it looks like traffic from the AP to the STA is coming
>>>>>>>> through but traffic from the STA to the AP is not.  I could be wrong
>>>>>>>> here, though.  Nothing is logged in either machine's kernel log.
>>>>>>>> After 5 seconds to a couple minutes, everything starts working again.
>>>>>>>>
>>>>>>>> A couple of Apple devices using the same radio on the same AP seem to work fine.
>>>>>>>>
>>>>>>>> Any advice for debugging this?  I don't know where to start.
>>>>>>>
>>>>>>> I caught one of the stalls with iwlwifi debugging on.  I've attached
>>>>>>> the dmesg.  The stall ended ten seconds or so before the end of this
>>>>>>> trace.  Is this an indication that something's wrong with iwlwifi?
>>>>>>>
>>>>>>> [151258.096091] iwlwifi 0000:03:00.0: U iwlagn_good_plcp_health plcp health thre
>>>>>>> shold 50 delta 96 msecs 103
>>>>>>> [151258.096095] iwlwifi 0000:03:00.0: U iwl_force_rf_reset perform radio reset.
>>>>>>>
>>>>>> Can you please disable powersave?
>>>>>> It seems that it should be disabled by default, but you enabled it?
>>>>>> I might be confused though... Looking again at the code...
>>>>>
>>>>> This?
>>>>>
>>>>> $ cat /sys/module/iwlwifi/parameters/power_save
>>>>> N
>>>>>
>>>>> I have pcie_aspm.policy=powersave, but I don't think that should
>>>>> matter.  Or am I missing something?
>>>>
>>>> That should be ok.
>>>
>>> Does this help?
>>>
>>> diff --git a/drivers/net/wireless/iwlwifi/dvm/power.c
>>> b/drivers/net/wireless/iwlwifi/dvm/power.c
>>> index f2c1439..e5a6b70 100644
>>> --- a/drivers/net/wireless/iwlwifi/dvm/power.c
>>> +++ b/drivers/net/wireless/iwlwifi/dvm/power.c
>>> @@ -288,6 +288,9 @@ static void iwl_power_build_cmd(struct iwl_priv *priv,
>>>         bool enabled = priv->hw->conf.flags & IEEE80211_CONF_PS;
>>>         int dtimper;
>>>
>>> +       iwl_power_sleep_cam_cmd(priv, cmd);
>>> +       return;
>>> +
>>>         dtimper = priv->hw->conf.ps_dtim_period ?: 1;
>>>
>>>         if (priv->wowlan)
>>
>> This patch has survived for about 15 minutes on 3.15-rc.  It certainly
>> has some effect: pinging from the AP to the STA now takes a consistent
>> ~3.8ms instead of taking varying amounts of time between 5 and 200 ms
>> or so.
>>
>> I wonder if this is something 802.11n/802.11ac-specific?  I remember
>> having all kinds of problems with 802.11n on this laptop that were
>> resolved by turning off 11n or turning off power saving.
>>
>
> well... my patch really turns off power saving. The hard way.
> But since you are having issues - I guess I'll post it and disable
> power save for these devices. Note that today most of the power save
> features are disabled anyway.

Would it make sense to do this only when connected to a VHT-supporting
AP or whatever AP feature is probably triggering the problem?

*sigh* I'd just plug in a new PCIe wireless card, except that I think
that my evil BIOS will refuse to boot if I do that.

--Andy
--
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
diff mbox

Patch

diff --git a/drivers/net/wireless/iwlwifi/dvm/power.c
b/drivers/net/wireless/iwlwifi/dvm/power.c
index f2c1439..e5a6b70 100644
--- a/drivers/net/wireless/iwlwifi/dvm/power.c
+++ b/drivers/net/wireless/iwlwifi/dvm/power.c
@@ -288,6 +288,9 @@  static void iwl_power_build_cmd(struct iwl_priv *priv,
        bool enabled = priv->hw->conf.flags & IEEE80211_CONF_PS;
        int dtimper;

+       iwl_power_sleep_cam_cmd(priv, cmd);
+       return;
+
        dtimper = priv->hw->conf.ps_dtim_period ?: 1;

        if (priv->wowlan)