linux-wireless.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 0/2] wifi: ath11k: reduce the timeout value for hw scan
@ 2022-09-28  8:14 Wen Gong
  2022-09-28  8:14 ` [PATCH v2 1/2] wifi: ath11k: change to set 11d state instead of start 11d scan while disconnect Wen Gong
  2022-09-28  8:14 ` [PATCH v2 2/2] wifi: ath11k: reduce the timeout value back for hw scan from 10 seconds to 1 second Wen Gong
  0 siblings, 2 replies; 8+ messages in thread
From: Wen Gong @ 2022-09-28  8:14 UTC (permalink / raw)
  To: ath11k; +Cc: linux-wireless, quic_wgong

v2: 
add "wifi: ath11k: change to set 11d state instead of start 11d scan while disconnect"

Reduce the max timeout for hw scan started.

Wen Gong (2):
  wifi: ath11k: change to set 11d state instead of start 11d scan while
    disconnect
  wifi: ath11k: reduce the timeout value back for hw scan from 10
    seconds to 1 second

 drivers/net/wireless/ath/ath11k/mac.c | 18 +++++++-----------
 1 file changed, 7 insertions(+), 11 deletions(-)


base-commit: c6d18be90f9b0c7fb64c6138b51c49151140fb57
-- 
2.31.1


^ permalink raw reply	[flat|nested] 8+ messages in thread

* [PATCH v2 1/2] wifi: ath11k: change to set 11d state instead of start 11d scan while disconnect
  2022-09-28  8:14 [PATCH v2 0/2] wifi: ath11k: reduce the timeout value for hw scan Wen Gong
@ 2022-09-28  8:14 ` Wen Gong
  2022-10-10 18:09   ` Kalle Valo
  2022-09-28  8:14 ` [PATCH v2 2/2] wifi: ath11k: reduce the timeout value back for hw scan from 10 seconds to 1 second Wen Gong
  1 sibling, 1 reply; 8+ messages in thread
From: Wen Gong @ 2022-09-28  8:14 UTC (permalink / raw)
  To: ath11k; +Cc: linux-wireless, quic_wgong

When switch to connect to a new AP for station which is already connected
to an AP, the time cost is too long, it arrives 10 seconds.

The reason is when switch connection, disconnect operation happened on
the 1st AP, then 11d scan start command sent to firmware, and then a
new hw scan arrived for the 2nd AP. The 11d scan is running at this
moment, so the hw scan can not start immediately, it needs to wait
the 11d scan finished, it increased the time cost of switch AP and
even happened scan fail as log below after apply the incoming patch.

[ 1194.815104] ath11k_pci 0000:06:00.0: failed to start hw scan: -110
[ 1196.864157] ath11k_pci 0000:06:00.0: failed to start hw scan: -110
[ 1198.911926] ath11k_pci 0000:06:00.0: failed to start hw scan: -110

Change to set 11d state while disconnect, and the 11d scan will be
started after the new hw scan in ath11k_mac_op_hw_scan(). Then the
time cost of switching AP is small and not happened scan fail.

Tested-on: WCN6855 hw2.0 PCI WLAN.HSP.1.1-03125-QCAHSPSWPL_V1_V2_SILICONZ_LITE-3

Fixes: 9dcf6808b253 ("ath11k: add 11d scan offload support")
Signed-off-by: Wen Gong <quic_wgong@quicinc.com>
---
 drivers/net/wireless/ath/ath11k/mac.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/drivers/net/wireless/ath/ath11k/mac.c b/drivers/net/wireless/ath/ath11k/mac.c
index 4218211afa30..b0c3cf258d12 100644
--- a/drivers/net/wireless/ath/ath11k/mac.c
+++ b/drivers/net/wireless/ath/ath11k/mac.c
@@ -7190,8 +7190,12 @@ ath11k_mac_op_unassign_vif_chanctx(struct ieee80211_hw *hw,
 				    ret);
 	}
 
-	if (arvif->vdev_type == WMI_VDEV_TYPE_STA)
-		ath11k_mac_11d_scan_start(ar, arvif->vdev_id);
+	if (arvif->vdev_type == WMI_VDEV_TYPE_STA &&
+	    ar->state_11d != ATH11K_11D_PREPARING &&
+	    test_bit(WMI_TLV_SERVICE_11D_OFFLOAD, ab->wmi_ab.svc_map)) {
+		reinit_completion(&ar->completed_11d_scan);
+		ar->state_11d = ATH11K_11D_PREPARING;
+	}
 
 	mutex_unlock(&ar->conf_mutex);
 }
-- 
2.31.1


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH v2 2/2] wifi: ath11k: reduce the timeout value back for hw scan from 10 seconds to 1 second
  2022-09-28  8:14 [PATCH v2 0/2] wifi: ath11k: reduce the timeout value for hw scan Wen Gong
  2022-09-28  8:14 ` [PATCH v2 1/2] wifi: ath11k: change to set 11d state instead of start 11d scan while disconnect Wen Gong
@ 2022-09-28  8:14 ` Wen Gong
  1 sibling, 0 replies; 8+ messages in thread
From: Wen Gong @ 2022-09-28  8:14 UTC (permalink / raw)
  To: ath11k; +Cc: linux-wireless, quic_wgong

For 11d scan, commit 9dcf6808b253 ("ath11k: add 11d scan offload support")
increased the timeout from one second to max 10 seconds when 11d scan
offload enabled and 6 GHz enabled, it is reasonable for the commit, it
is because the first 11d scan request is sent to firmware before the
first hw scan request after wlan load, then the hw scan started event
will reported from firmware after the 11d scan finished, it needs about
6 seconds when 6 GHz enabled, so increased it from one second to 10
seconds in the commit to avoid timed out for hw scan started. Then
another commit 1f682dc9fb37 ("ath11k: reduce the wait time of 11d scan
and hw scan while add interface") change the sequence of the first 11d
scan and hw scan, then ath11k will receive the hw scan started event
from firmware immediately for the first hw scan, thus ath11k does not
need set the timeout value to max 10 seconds again, and this is to set
the timeout value back from 10 seconds to 1 second.

Tested-on: WCN6855 hw2.0 PCI WLAN.HSP.1.1-03125-QCAHSPSWPL_V1_V2_SILICONZ_LITE-3

Signed-off-by: Wen Gong <quic_wgong@quicinc.com>
---
 drivers/net/wireless/ath/ath11k/mac.c | 10 +---------
 1 file changed, 1 insertion(+), 9 deletions(-)

diff --git a/drivers/net/wireless/ath/ath11k/mac.c b/drivers/net/wireless/ath/ath11k/mac.c
index b0c3cf258d12..c2a0fb099a0b 100644
--- a/drivers/net/wireless/ath/ath11k/mac.c
+++ b/drivers/net/wireless/ath/ath11k/mac.c
@@ -3560,7 +3560,6 @@ static int ath11k_start_scan(struct ath11k *ar,
 			     struct scan_req_params *arg)
 {
 	int ret;
-	unsigned long timeout = 1 * HZ;
 
 	lockdep_assert_held(&ar->conf_mutex);
 
@@ -3571,14 +3570,7 @@ static int ath11k_start_scan(struct ath11k *ar,
 	if (ret)
 		return ret;
 
-	if (test_bit(WMI_TLV_SERVICE_11D_OFFLOAD, ar->ab->wmi_ab.svc_map)) {
-		timeout = 5 * HZ;
-
-		if (ar->supports_6ghz)
-			timeout += 5 * HZ;
-	}
-
-	ret = wait_for_completion_timeout(&ar->scan.started, timeout);
+	ret = wait_for_completion_timeout(&ar->scan.started, 1 * HZ);
 	if (ret == 0) {
 		ret = ath11k_scan_stop(ar);
 		if (ret)
-- 
2.31.1


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* Re: [PATCH v2 1/2] wifi: ath11k: change to set 11d state instead of start 11d scan while disconnect
  2022-09-28  8:14 ` [PATCH v2 1/2] wifi: ath11k: change to set 11d state instead of start 11d scan while disconnect Wen Gong
@ 2022-10-10 18:09   ` Kalle Valo
  2022-10-11  3:53     ` Wen Gong
  0 siblings, 1 reply; 8+ messages in thread
From: Kalle Valo @ 2022-10-10 18:09 UTC (permalink / raw)
  To: Wen Gong; +Cc: ath11k, linux-wireless, quic_wgong

Wen Gong <quic_wgong@quicinc.com> wrote:

> When switch to connect to a new AP for station which is already connected
> to an AP, the time cost is too long, it arrives 10 seconds.
> 
> The reason is when switch connection, disconnect operation happened on
> the 1st AP, then 11d scan start command sent to firmware, and then a
> new hw scan arrived for the 2nd AP. The 11d scan is running at this
> moment, so the hw scan can not start immediately, it needs to wait
> the 11d scan finished, it increased the time cost of switch AP and
> even happened scan fail as log below after apply the incoming patch.
> 
> [ 1194.815104] ath11k_pci 0000:06:00.0: failed to start hw scan: -110
> [ 1196.864157] ath11k_pci 0000:06:00.0: failed to start hw scan: -110
> [ 1198.911926] ath11k_pci 0000:06:00.0: failed to start hw scan: -110
> 
> Change to set 11d state while disconnect, and the 11d scan will be
> started after the new hw scan in ath11k_mac_op_hw_scan(). Then the
> time cost of switching AP is small and not happened scan fail.
> 
> Tested-on: WCN6855 hw2.0 PCI WLAN.HSP.1.1-03125-QCAHSPSWPL_V1_V2_SILICONZ_LITE-3
> 
> Fixes: 9dcf6808b253 ("ath11k: add 11d scan offload support")
> Signed-off-by: Wen Gong <quic_wgong@quicinc.com>
> Signed-off-by: Kalle Valo <quic_kvalo@quicinc.com>

I still see warnings:

[ 3627.691737] ath11k_pci 0000:06:00.0: failed to start hw scan: -110
[ 3715.435608] ath11k_pci 0000:06:00.0: failed to start hw scan: -110
[ 3860.333214] ath11k_pci 0000:06:00.0: failed to start hw scan: -110
[ 4542.000955] ath11k_pci 0000:06:00.0: failed to start hw scan: -110
[ 4604.018451] ath11k_pci 0000:06:00.0: failed to start hw scan: -110

2 patches set to Changes Requested.

12991768 [v2,1/2] wifi: ath11k: change to set 11d state instead of start 11d scan while disconnect
12991769 [v2,2/2] wifi: ath11k: reduce the timeout value back for hw scan from 10 seconds to 1 second

-- 
https://patchwork.kernel.org/project/linux-wireless/patch/20220928081413.27339-2-quic_wgong@quicinc.com/

https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH v2 1/2] wifi: ath11k: change to set 11d state instead of start 11d scan while disconnect
  2022-10-10 18:09   ` Kalle Valo
@ 2022-10-11  3:53     ` Wen Gong
  2022-10-11  3:58       ` Wen Gong
  0 siblings, 1 reply; 8+ messages in thread
From: Wen Gong @ 2022-10-11  3:53 UTC (permalink / raw)
  To: Kalle Valo; +Cc: ath11k, linux-wireless

On 10/11/2022 2:09 AM, Kalle Valo wrote:
> Wen Gong <quic_wgong@quicinc.com> wrote:
>
>> When switch to connect to a new AP for station which is already connected
>> to an AP, the time cost is too long, it arrives 10 seconds.
>>
>> The reason is when switch connection, disconnect operation happened on
>> the 1st AP, then 11d scan start command sent to firmware, and then a
>> new hw scan arrived for the 2nd AP. The 11d scan is running at this
>> moment, so the hw scan can not start immediately, it needs to wait
>> the 11d scan finished, it increased the time cost of switch AP and
>> even happened scan fail as log below after apply the incoming patch.
>>
>> [ 1194.815104] ath11k_pci 0000:06:00.0: failed to start hw scan: -110
>> [ 1196.864157] ath11k_pci 0000:06:00.0: failed to start hw scan: -110
>> [ 1198.911926] ath11k_pci 0000:06:00.0: failed to start hw scan: -110
>>
>> Change to set 11d state while disconnect, and the 11d scan will be
>> started after the new hw scan in ath11k_mac_op_hw_scan(). Then the
>> time cost of switching AP is small and not happened scan fail.
>>
>> Tested-on: WCN6855 hw2.0 PCI WLAN.HSP.1.1-03125-QCAHSPSWPL_V1_V2_SILICONZ_LITE-3
>>
>> Fixes: 9dcf6808b253 ("ath11k: add 11d scan offload support")
>> Signed-off-by: Wen Gong <quic_wgong@quicinc.com>
>> Signed-off-by: Kalle Valo <quic_kvalo@quicinc.com>
> I still see warnings:
>
> [ 3627.691737] ath11k_pci 0000:06:00.0: failed to start hw scan: -110
> [ 3715.435608] ath11k_pci 0000:06:00.0: failed to start hw scan: -110
> [ 3860.333214] ath11k_pci 0000:06:00.0: failed to start hw scan: -110
> [ 4542.000955] ath11k_pci 0000:06:00.0: failed to start hw scan: -110
> [ 4604.018451] ath11k_pci 0000:06:00.0: failed to start hw scan: -110
The failed log is now happened frequently as before, I will change it 
again to suppress the failed log.
> 2 patches set to Changes Requested.
>
> 12991768 [v2,1/2] wifi: ath11k: change to set 11d state instead of start 11d scan while disconnect
> 12991769 [v2,2/2] wifi: ath11k: reduce the timeout value back for hw scan from 10 seconds to 1 second
>

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH v2 1/2] wifi: ath11k: change to set 11d state instead of start 11d scan while disconnect
  2022-10-11  3:53     ` Wen Gong
@ 2022-10-11  3:58       ` Wen Gong
  2022-10-11  4:31         ` Kalle Valo
  0 siblings, 1 reply; 8+ messages in thread
From: Wen Gong @ 2022-10-11  3:58 UTC (permalink / raw)
  To: Kalle Valo; +Cc: ath11k, linux-wireless

On 10/11/2022 11:53 AM, Wen Gong wrote:
> On 10/11/2022 2:09 AM, Kalle Valo wrote:
>> Wen Gong <quic_wgong@quicinc.com> wrote:
>>
>>> When switch to connect to a new AP for station which is already 
>>> connected
>>> to an AP, the time cost is too long, it arrives 10 seconds.
>>>
>>> The reason is when switch connection, disconnect operation happened on
>>> the 1st AP, then 11d scan start command sent to firmware, and then a
>>> new hw scan arrived for the 2nd AP. The 11d scan is running at this
>>> moment, so the hw scan can not start immediately, it needs to wait
>>> the 11d scan finished, it increased the time cost of switch AP and
>>> even happened scan fail as log below after apply the incoming patch.
>>>
>>> [ 1194.815104] ath11k_pci 0000:06:00.0: failed to start hw scan: -110
>>> [ 1196.864157] ath11k_pci 0000:06:00.0: failed to start hw scan: -110
>>> [ 1198.911926] ath11k_pci 0000:06:00.0: failed to start hw scan: -110
>>>
>>> Change to set 11d state while disconnect, and the 11d scan will be
>>> started after the new hw scan in ath11k_mac_op_hw_scan(). Then the
>>> time cost of switching AP is small and not happened scan fail.
>>>
>>> Tested-on: WCN6855 hw2.0 PCI 
>>> WLAN.HSP.1.1-03125-QCAHSPSWPL_V1_V2_SILICONZ_LITE-3
>>>
>>> Fixes: 9dcf6808b253 ("ath11k: add 11d scan offload support")
>>> Signed-off-by: Wen Gong <quic_wgong@quicinc.com>
>>> Signed-off-by: Kalle Valo <quic_kvalo@quicinc.com>
>> I still see warnings:
>>
>> [ 3627.691737] ath11k_pci 0000:06:00.0: failed to start hw scan: -110
>> [ 3715.435608] ath11k_pci 0000:06:00.0: failed to start hw scan: -110
>> [ 3860.333214] ath11k_pci 0000:06:00.0: failed to start hw scan: -110
>> [ 4542.000955] ath11k_pci 0000:06:00.0: failed to start hw scan: -110
>> [ 4604.018451] ath11k_pci 0000:06:00.0: failed to start hw scan: -110
> The failed log is now happened frequently as before, I will change it 
> again to suppress the failed log.
change typo.
The failed log is NOT happened frequently as before, I will change it 
again to suppress the failed log.
>> 2 patches set to Changes Requested.
>>
>> 12991768 [v2,1/2] wifi: ath11k: change to set 11d state instead of 
>> start 11d scan while disconnect
>> 12991769 [v2,2/2] wifi: ath11k: reduce the timeout value back for hw 
>> scan from 10 seconds to 1 second
>>

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH v2 1/2] wifi: ath11k: change to set 11d state instead of start 11d scan while disconnect
  2022-10-11  3:58       ` Wen Gong
@ 2022-10-11  4:31         ` Kalle Valo
  2022-10-11  7:31           ` Wen Gong
  0 siblings, 1 reply; 8+ messages in thread
From: Kalle Valo @ 2022-10-11  4:31 UTC (permalink / raw)
  To: Wen Gong; +Cc: ath11k, linux-wireless

Wen Gong <quic_wgong@quicinc.com> writes:

> On 10/11/2022 11:53 AM, Wen Gong wrote:
>
>> On 10/11/2022 2:09 AM, Kalle Valo wrote:
>>> Wen Gong <quic_wgong@quicinc.com> wrote:
>>>
>>>> When switch to connect to a new AP for station which is already
>>>> connected
>>>> to an AP, the time cost is too long, it arrives 10 seconds.
>>>>
>>>> The reason is when switch connection, disconnect operation happened on
>>>> the 1st AP, then 11d scan start command sent to firmware, and then a
>>>> new hw scan arrived for the 2nd AP. The 11d scan is running at this
>>>> moment, so the hw scan can not start immediately, it needs to wait
>>>> the 11d scan finished, it increased the time cost of switch AP and
>>>> even happened scan fail as log below after apply the incoming patch.
>>>>
>>>> [ 1194.815104] ath11k_pci 0000:06:00.0: failed to start hw scan: -110
>>>> [ 1196.864157] ath11k_pci 0000:06:00.0: failed to start hw scan: -110
>>>> [ 1198.911926] ath11k_pci 0000:06:00.0: failed to start hw scan: -110
>>>>
>>>> Change to set 11d state while disconnect, and the 11d scan will be
>>>> started after the new hw scan in ath11k_mac_op_hw_scan(). Then the
>>>> time cost of switching AP is small and not happened scan fail.
>>>>
>>>> Tested-on: WCN6855 hw2.0 PCI
>>>> WLAN.HSP.1.1-03125-QCAHSPSWPL_V1_V2_SILICONZ_LITE-3
>>>>
>>>> Fixes: 9dcf6808b253 ("ath11k: add 11d scan offload support")
>>>> Signed-off-by: Wen Gong <quic_wgong@quicinc.com>
>>>> Signed-off-by: Kalle Valo <quic_kvalo@quicinc.com>
>>> I still see warnings:
>>>
>>> [ 3627.691737] ath11k_pci 0000:06:00.0: failed to start hw scan: -110
>>> [ 3715.435608] ath11k_pci 0000:06:00.0: failed to start hw scan: -110
>>> [ 3860.333214] ath11k_pci 0000:06:00.0: failed to start hw scan: -110
>>> [ 4542.000955] ath11k_pci 0000:06:00.0: failed to start hw scan: -110
>>> [ 4604.018451] ath11k_pci 0000:06:00.0: failed to start hw scan: -110
>> The failed log is now happened frequently as before, I will change
>> it again to suppress the failed log.
> change typo.
> The failed log is NOT happened frequently as before, I will change it
> again to suppress the failed log.

Please think about this more, ignoring errors doesn't sound like a good
solution.

-- 
https://patchwork.kernel.org/project/linux-wireless/list/

https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH v2 1/2] wifi: ath11k: change to set 11d state instead of start 11d scan while disconnect
  2022-10-11  4:31         ` Kalle Valo
@ 2022-10-11  7:31           ` Wen Gong
  0 siblings, 0 replies; 8+ messages in thread
From: Wen Gong @ 2022-10-11  7:31 UTC (permalink / raw)
  To: Kalle Valo; +Cc: ath11k, linux-wireless

On 10/11/2022 12:31 PM, Kalle Valo wrote:
> Wen Gong <quic_wgong@quicinc.com> writes:
>
>> On 10/11/2022 11:53 AM, Wen Gong wrote:
>>
>>> On 10/11/2022 2:09 AM, Kalle Valo wrote:
>>>> Wen Gong <quic_wgong@quicinc.com> wrote:
>>>>
>>>>> When switch to connect to a new AP for station which is already
>>>>> connected
>>>>> to an AP, the time cost is too long, it arrives 10 seconds.
>>>>>
>>>>> The reason is when switch connection, disconnect operation happened on
>>>>> the 1st AP, then 11d scan start command sent to firmware, and then a
>>>>> new hw scan arrived for the 2nd AP. The 11d scan is running at this
>>>>> moment, so the hw scan can not start immediately, it needs to wait
>>>>> the 11d scan finished, it increased the time cost of switch AP and
>>>>> even happened scan fail as log below after apply the incoming patch.
>>>>>
>>>>> [ 1194.815104] ath11k_pci 0000:06:00.0: failed to start hw scan: -110
>>>>> [ 1196.864157] ath11k_pci 0000:06:00.0: failed to start hw scan: -110
>>>>> [ 1198.911926] ath11k_pci 0000:06:00.0: failed to start hw scan: -110
>>>>>
>>>>> Change to set 11d state while disconnect, and the 11d scan will be
>>>>> started after the new hw scan in ath11k_mac_op_hw_scan(). Then the
>>>>> time cost of switching AP is small and not happened scan fail.
>>>>>
>>>>> Tested-on: WCN6855 hw2.0 PCI
>>>>> WLAN.HSP.1.1-03125-QCAHSPSWPL_V1_V2_SILICONZ_LITE-3
>>>>>
>>>>> Fixes: 9dcf6808b253 ("ath11k: add 11d scan offload support")
>>>>> Signed-off-by: Wen Gong <quic_wgong@quicinc.com>
>>>>> Signed-off-by: Kalle Valo <quic_kvalo@quicinc.com>
>>>> I still see warnings:
>>>>
>>>> [ 3627.691737] ath11k_pci 0000:06:00.0: failed to start hw scan: -110
>>>> [ 3715.435608] ath11k_pci 0000:06:00.0: failed to start hw scan: -110
>>>> [ 3860.333214] ath11k_pci 0000:06:00.0: failed to start hw scan: -110
>>>> [ 4542.000955] ath11k_pci 0000:06:00.0: failed to start hw scan: -110
>>>> [ 4604.018451] ath11k_pci 0000:06:00.0: failed to start hw scan: -110
>>> The failed log is now happened frequently as before, I will change
>>> it again to suppress the failed log.
>> change typo.
>> The failed log is NOT happened frequently as before, I will change it
>> again to suppress the failed log.
> Please think about this more, ignoring errors doesn't sound like a good
> solution.
Yes, I have sent v3, it is not ignoring errors directly.

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2022-10-11  7:31 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-09-28  8:14 [PATCH v2 0/2] wifi: ath11k: reduce the timeout value for hw scan Wen Gong
2022-09-28  8:14 ` [PATCH v2 1/2] wifi: ath11k: change to set 11d state instead of start 11d scan while disconnect Wen Gong
2022-10-10 18:09   ` Kalle Valo
2022-10-11  3:53     ` Wen Gong
2022-10-11  3:58       ` Wen Gong
2022-10-11  4:31         ` Kalle Valo
2022-10-11  7:31           ` Wen Gong
2022-09-28  8:14 ` [PATCH v2 2/2] wifi: ath11k: reduce the timeout value back for hw scan from 10 seconds to 1 second Wen Gong

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).