diff mbox

[RFC/RFT] ath10k: enable IBSS in multi-vif

Message ID 1421658833-13311-1-git-send-email-michal.kazior@tieto.com (mailing list archive)
State RFC
Headers show

Commit Message

Michal Kazior Jan. 19, 2015, 9:13 a.m. UTC
The 999.999.0.636 firmware seems to support
concurrent IBSS + AP/STA. At least basic stuff
works so enable it since some people are
interested in this stuff.

If it's broken we can fix, restrict or disable it
later.

Signed-off-by: Michal Kazior <michal.kazior@tieto.com>
---
Hi Martin,

Feel free to take this patch and run whatever case
you had in mind. If this proves to work for you
without any major issues (like notorious crashes,
traffic issues and such) I guess we could try
pulling this upstream.

Make sure you use 999.999.0.636 firmware. The 10.x
doesn't support IBSS at all.


 drivers/net/wireless/ath/ath10k/mac.c | 4 ++++
 1 file changed, 4 insertions(+)

Comments

Ben Greear Jan. 20, 2015, 4:36 a.m. UTC | #1
On 01/19/2015 01:13 AM, Michal Kazior wrote:
> The 999.999.0.636 firmware seems to support
> concurrent IBSS + AP/STA. At least basic stuff
> works so enable it since some people are
> interested in this stuff.
>
> If it's broken we can fix, restrict or disable it
> later.
>
> Signed-off-by: Michal Kazior <michal.kazior@tieto.com>
> ---
> Hi Martin,
>
> Feel free to take this patch and run whatever case
> you had in mind. If this proves to work for you
> without any major issues (like notorious crashes,
> traffic issues and such) I guess we could try
> pulling this upstream.
>
> Make sure you use 999.999.0.636 firmware. The 10.x
> doesn't support IBSS at all.

Likely my 10.1.467 based CT firmware will support this as well...

Ben

>
>
>   drivers/net/wireless/ath/ath10k/mac.c | 4 ++++
>   1 file changed, 4 insertions(+)
>
> diff --git a/drivers/net/wireless/ath/ath10k/mac.c b/drivers/net/wireless/ath/ath10k/mac.c
> index 9524bc5..11170ce 100644
> --- a/drivers/net/wireless/ath/ath10k/mac.c
> +++ b/drivers/net/wireless/ath/ath10k/mac.c
> @@ -5032,6 +5032,10 @@ static const struct ieee80211_iface_limit ath10k_if_limits[] = {
>   	.max	= 7,
>   	.types	= BIT(NL80211_IFTYPE_AP)
>   	},
> +	{
> +	.max	= 1,
> +	.types	= BIT(NL80211_IFTYPE_ADHOC)
> +	},
>   };
>
>   static const struct ieee80211_iface_limit ath10k_10x_if_limits[] = {
>
Chun-Yeow Yeoh Jan. 20, 2015, 9:14 a.m. UTC | #2
Experienced firmware crashed in 636 firmware immediately after
bringing up the AP interface.

The partial log is listed here:

[  290.350000] ath10k_pci 0000:00:00.0: wmi vdev id 0x0 set param 33 value 0
[  290.350000] ath10k_pci 0000:00:00.0: wmi vdev id 0x0 set param 48 value 1
[  290.350000] ath10k_pci 0000:00:00.0: wmi peer create vdev_id 0
peer_addr 04:f0:21:0c:a5:43
[  290.350000] ath10k_pci 0000:00:00.0: wmi pdev set param 13 value 50
[  290.350000] ath10k_pci 0000:00:00.0: wmi vdev id 0x0 set param 40 value 3747
[  290.350000] ath10k_pci 0000:00:00.0: wmi vdev id 0x0 set param 41 value 3895
[  290.350000] ath10k_pci 0000:00:00.0: wmi vdev id 0x0 set param 42 value 3900
[  290.350000] ath10k_pci 0000:00:00.0: wmi vdev id 0x0 set param 1 value -1
[  290.350000] ath10k_pci 0000:00:00.0: wmi vdev id 0x0 set param 2 value -1
[  290.350000] ath10k_pci 0000:00:00.0: mac txpower 17
[  290.350000] ath10k_pci 0000:00:00.0: wmi pdev set param 3 value 34
[  290.350000] ath10k_pci 0000:00:00.0: wmi pdev set param 4 value 34
[  290.350000] ath10k_pci 0000:00:00.0: wmi pdev set wmm params
[  290.350000] ath10k_pci 0000:00:00.0: wmi pdev set wmm params
[  290.350000] ath10k_pci 0000:00:00.0: wmi pdev set wmm params
[  290.350000] ath10k_pci 0000:00:00.0: wmi pdev set wmm params
[  290.350000] ath10k_pci 0000:00:00.0: mac config channel 5180MHz
flags 0x120 radar 0
[  290.350000] ath10k_pci 0000:00:00.0: mac monitor recalc started? 0 should? 0
[  290.350000] ath10k_pci 0000:00:00.0: mac monitor recalc started? 0 should? 1
[  290.350000] ath10k_pci 0000:00:00.0: WMI vdev create: id 1 type 4
subtype 0 macaddr 04:f0:21:0c:a5:43
[  290.350000] ath10k_pci 0000:00:00.0: mac monitor vdev 1 created
[  290.350000] ath10k_pci 0000:00:00.0: wmi vdev start id 0x1 flags:
0x0, freq 5180, mode 10, ch_flags: 0xA000000, max_power: 34
[  290.350000] ath10k_pci 0000:00:00.0: WMI_VDEV_START_RESP_EVENTID
[  290.350000] ath10k_pci 0000:00:00.0: wmi mgmt vdev up id 0x1 assoc
id 0 bssid 04:f0:21:0c:a5:43
[  290.350000] ath10k_pci 0000:00:00.0: mac monitor vdev 1 started
[  290.350000] ath10k_pci 0000:00:00.0: mac monitor started
[  290.350000] ath10k_pci 0000:00:00.0: wmi vdev id 0x0 set param 3 value 100
[  290.350000] ath10k_pci 0000:00:00.0: mac vdev 0 beacon_interval 100
[  290.350000] ath10k_pci 0000:00:00.0: vdev 0 set beacon tx mode to staggered
[  290.350000] ath10k_pci 0000:00:00.0: wmi pdev set param 7 value 0
[  290.350000] ath10k_pci 0000:00:00.0: mac vdev 0 start center_freq
5180 phymode 11ac-vht80
[  290.350000] ath10k_pci 0000:00:00.0: wmi vdev start id 0x0 flags:
0x0, freq 5180, mode 10, ch_flags: 0xA000000, max_power: 34
[  291.330000] ath10k_pci 0000:00:00.0: wmi event debug mesg len 36
[  291.350000] ath10k_pci 0000:00:00.0: firmware crashed! (uuid
ca777c3c-e580-4237-824a-8da65949870b)
[  291.360000] ath10k_pci 0000:00:00.0: qca988x hw2.0 (0x4100016c,
0x043202ff) fw 999.999.0.636 api 2 htt 2.1 wmi 1 cal otp max_sta 16
[  291.370000] ath10k_pci 0000:00:00.0: debug 1 debugfs 1 tracing 1
dfs 1 testmode 0
[  291.380000] ath10k_pci 0000:00:00.0: firmware register dump:
[  291.380000] ath10k_pci 0000:00:00.0: [00]: 0x4100016C 0x00000000
0x009C4521 0x00000000
[  291.390000] ath10k_pci 0000:00:00.0: [04]: 0x009C4521 0x00060330
0x00000019 0x00955A00
[  291.400000] ath10k_pci 0000:00:00.0: [08]: 0x00046A4E 0x00000000
0x0040CC94 0x00000020
[  291.410000] ath10k_pci 0000:00:00.0: [12]: 0x00000000 0x00000000
0x00958360 0x0095836B
[  291.420000] ath10k_pci 0000:00:00.0: [16]: 0x809A0978 0x0040AD94
0x00439304 0x0040D074
[  291.420000] ath10k_pci 0000:00:00.0: [20]: 0x0000FFFF 0x00000000
0x0041B618 0x00000000
[  291.430000] ath10k_pci 0000:00:00.0: [24]: 0x809A0978 0x0040AD94
0x00439304 0x11A93B77
[  291.440000] ath10k_pci 0000:00:00.0: [28]: 0x809AD1A2 0x0040ADE4
0x00439304 0x0043F68C
[  291.450000] ath10k_pci 0000:00:00.0: [32]: 0x00000001 0x00000000
0x00000000 0x00430D74
[  291.460000] ath10k_pci 0000:00:00.0: [36]: 0x00000000 0x00000000
0x00000000 0x00000000
[  291.460000] ath10k_pci 0000:00:00.0: [40]: 0x00000000 0x00000000
0x000000AB 0x00412700
[  291.470000] ath10k_pci 0000:00:00.0: [44]: 0x00439BB8 0x00000000
0x00000000 0x00400000
[  291.480000] ath10k_pci 0000:00:00.0: [48]: 0x809AE0B4 0x0040AE04
0x00400000 0x0043F68C
[  291.490000] ath10k_pci 0000:00:00.0: [52]: 0x00000001 0x00000000
0x004231F0 0x00400000
[  291.500000] ath10k_pci 0000:00:00.0: [56]: 0x809AE17E 0x0040AE44
0x0040FE6C 0x0040D310
[  291.510000] ath10k_pci 0000:00:00.0: wmi mgmt vdev up id 0x0 assoc
id 0 bssid 04:f0:21:0c:a5:43
[  291.510000] ath10k_pci 0000:00:00.0: mac vdev 0 up
[  291.510000] ath10k_pci 0000:00:00.0: mac vdev 0 cts_prot 0
[  291.510000] ath10k_pci 0000:00:00.0: wmi vdev id 0x0 set param 44 value 0
[  291.510000] ath10k_pci 0000:00:00.0: mac vdev 0 slot_time 2
[  291.510000] ath10k_pci 0000:00:00.0: wmi vdev id 0x0 set param 7 value 2
[  291.510000] ath10k_pci 0000:00:00.0: mac vdev 0 preamble 1n
[  291.510000] ath10k_pci 0000:00:00.0: wmi vdev id 0x0 set param 8 value 1
[  291.510000] ath10k_pci 0000:00:00.0: mac vdev_id 0 txpower 17

---
Chun-Yeow

On Tue, Jan 20, 2015 at 12:36 PM, Ben Greear <greearb@candelatech.com> wrote:
>
>
> On 01/19/2015 01:13 AM, Michal Kazior wrote:
>>
>> The 999.999.0.636 firmware seems to support
>> concurrent IBSS + AP/STA. At least basic stuff
>> works so enable it since some people are
>> interested in this stuff.
>>
>> If it's broken we can fix, restrict or disable it
>> later.
>>
>> Signed-off-by: Michal Kazior <michal.kazior@tieto.com>
>> ---
>> Hi Martin,
>>
>> Feel free to take this patch and run whatever case
>> you had in mind. If this proves to work for you
>> without any major issues (like notorious crashes,
>> traffic issues and such) I guess we could try
>> pulling this upstream.
>>
>> Make sure you use 999.999.0.636 firmware. The 10.x
>> doesn't support IBSS at all.
>
>
> Likely my 10.1.467 based CT firmware will support this as well...
>
> Ben
>
>>
>>
>>   drivers/net/wireless/ath/ath10k/mac.c | 4 ++++
>>   1 file changed, 4 insertions(+)
>>
>> diff --git a/drivers/net/wireless/ath/ath10k/mac.c
>> b/drivers/net/wireless/ath/ath10k/mac.c
>> index 9524bc5..11170ce 100644
>> --- a/drivers/net/wireless/ath/ath10k/mac.c
>> +++ b/drivers/net/wireless/ath/ath10k/mac.c
>> @@ -5032,6 +5032,10 @@ static const struct ieee80211_iface_limit
>> ath10k_if_limits[] = {
>>         .max    = 7,
>>         .types  = BIT(NL80211_IFTYPE_AP)
>>         },
>> +       {
>> +       .max    = 1,
>> +       .types  = BIT(NL80211_IFTYPE_ADHOC)
>> +       },
>>   };
>>
>>   static const struct ieee80211_iface_limit ath10k_10x_if_limits[] = {
>>
>
> --
> Ben Greear <greearb@candelatech.com>
> Candela Technologies Inc  http://www.candelatech.com
>
>
> _______________________________________________
> ath10k mailing list
> ath10k@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/ath10k
Michal Kazior Jan. 20, 2015, 9:21 a.m. UTC | #3
On 20 January 2015 at 10:14, Yeoh Chun-Yeow <yeohchunyeow@gmail.com> wrote:
> Experienced firmware crashed in 636 firmware immediately after
> bringing up the AP interface.
>
> The partial log is listed here:
[...]
> [  291.380000] ath10k_pci 0000:00:00.0: firmware register dump:
> [  291.380000] ath10k_pci 0000:00:00.0: [00]: 0x4100016C 0x00000000
> 0x009C4521 0x00000000
> [  291.390000] ath10k_pci 0000:00:00.0: [04]: 0x009C4521 0x00060330
> 0x00000019 0x00955A00
> [  291.400000] ath10k_pci 0000:00:00.0: [08]: 0x00046A4E 0x00000000
> 0x0040CC94 0x00000020
> [  291.410000] ath10k_pci 0000:00:00.0: [12]: 0x00000000 0x00000000
> 0x00958360 0x0095836B
> [  291.420000] ath10k_pci 0000:00:00.0: [16]: 0x809A0978 0x0040AD94
> 0x00439304 0x0040D074
> [  291.420000] ath10k_pci 0000:00:00.0: [20]: 0x0000FFFF 0x00000000
> 0x0041B618 0x00000000
> [  291.430000] ath10k_pci 0000:00:00.0: [24]: 0x809A0978 0x0040AD94
> 0x00439304 0x11A93B77
> [  291.440000] ath10k_pci 0000:00:00.0: [28]: 0x809AD1A2 0x0040ADE4
> 0x00439304 0x0043F68C
> [  291.450000] ath10k_pci 0000:00:00.0: [32]: 0x00000001 0x00000000
> 0x00000000 0x00430D74
> [  291.460000] ath10k_pci 0000:00:00.0: [36]: 0x00000000 0x00000000
> 0x00000000 0x00000000
> [  291.460000] ath10k_pci 0000:00:00.0: [40]: 0x00000000 0x00000000
> 0x000000AB 0x00412700
> [  291.470000] ath10k_pci 0000:00:00.0: [44]: 0x00439BB8 0x00000000
> 0x00000000 0x00400000
> [  291.480000] ath10k_pci 0000:00:00.0: [48]: 0x809AE0B4 0x0040AE04
> 0x00400000 0x0043F68C
> [  291.490000] ath10k_pci 0000:00:00.0: [52]: 0x00000001 0x00000000
> 0x004231F0 0x00400000
> [  291.500000] ath10k_pci 0000:00:00.0: [56]: 0x809AE17E 0x0040AE44
> 0x0040FE6C 0x0040D310

Yeah.. This is monitor vdev related crash (due to bridging, no?). I
haven't found a way around it.


Micha?
Chun-Yeow Yeoh Jan. 20, 2015, 9:34 a.m. UTC | #4
Yes, you are right due to the bridging in hostapd.conf.

I try to disable bridging and bring up the adhoc interface then follow
by AP interface but not succeed to bring up the AP interface:

[  560.790000] ath10k_pci 0000:00:00.0: wmi vdev id 0x1 set param 1 value -1
[  560.790000] ath10k_pci 0000:00:00.0: wmi vdev id 0x1 set param 2 value -1
[  560.790000] ath10k_pci 0000:00:00.0: mac txpower 0
[  560.790000] ath10k_pci 0000:00:00.0: wmi pdev set param 3 value 0
[  560.790000] ath10k_pci 0000:00:00.0: wmi pdev set param 4 value 0
[  560.790000] ath10k_pci 0000:00:00.0: mac monitor recalc started? 0 should? 0
[  560.790000] ath10k_pci 0000:00:00.0: mac vdev 1 cts_prot 0
[  560.790000] ath10k_pci 0000:00:00.0: wmi vdev id 0x1 set param 44 value 0
[  560.790000] ath10k_pci 0000:00:00.0: mac vdev 1 slot_time 1
[  560.790000] ath10k_pci 0000:00:00.0: wmi vdev id 0x1 set param 7 value 1
[  560.790000] ath10k_pci 0000:00:00.0: mac vdev 1 preamble 1n
[  560.790000] ath10k_pci 0000:00:00.0: wmi vdev id 0x1 set param 8 value 1
[  560.790000] ath10k_pci 0000:00:00.0: wmi pdev set wmm params
[  560.790000] ath10k_pci 0000:00:00.0: wmi pdev set wmm params
[  560.790000] ath10k_pci 0000:00:00.0: wmi pdev set wmm params
[  560.790000] ath10k_pci 0000:00:00.0: wmi pdev set wmm params
[  560.790000] IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not ready
[  560.800000] ath10k_pci 0000:00:00.0: mac monitor recalc started? 0 should? 0
[  560.800000] ath10k_pci 0000:00:00.0: wmi start scan
[  560.800000] ath10k_pci 0000:00:00.0: scan event started type 1
reason 4 freq 5180 req_id 40961 scan_id 40960 vdev_id 1 state starting
(1)
[  560.800000] ath10k_pci 0000:00:00.0: scan event bss channel type 4
reason 4 freq 5180 req_id 40961 scan_id 40960 vdev_id 1 state running
(2)
[  560.800000] ath10k_pci 0000:00:00.0: chan info err_code 0 freq 5180
cmd_flags 1 noise_floor -104 rx_clear_count 32398189 cycle_count
-42467525
[  560.850000] ath10k_pci 0000:00:00.0: scan event foreign channel
type 8 reason 4 freq 5180 req_id 40961 scan_id 40960 vdev_id 1 state
running (2)
[  560.850000] ath10k_pci 0000:00:00.0: chan info err_code 0 freq 5180
cmd_flags 0 noise_floor 0 rx_clear_count 32436098 cycle_count
-38055888
[  561.000000] ath10k_pci 0000:00:00.0: scan event bss channel type 4
reason 4 freq 5180 req_id 40961 scan_id 40960 vdev_id 1 state running
(2)
[  561.000000] ath10k_pci 0000:00:00.0: chan info err_code 0 freq 5180
cmd_flags 1 noise_floor -104 rx_clear_count 32517835 cycle_count
-24854129
[  561.110000] ath10k_pci 0000:00:00.0: scan event foreign channel
type 8 reason 4 freq 5200 req_id 40961 scan_id 40960 vdev_id 1 state
running (2)
[  561.110000] ath10k_pci 0000:00:00.0: chan info err_code 0 freq 5200
cmd_flags 0 noise_floor 0 rx_clear_count 32595586 cycle_count
-15487778
[  561.250000] ath10k_pci 0000:00:00.0: scan event bss channel type 4
reason 4 freq 5180 req_id 40961 scan_id 40960 vdev_id 1 state running
(2)
[  561.250000] ath10k_pci 0000:00:00.0: chan info err_code 0 freq 5180
cmd_flags 1 noise_floor -104 rx_clear_count 32672388 cycle_count
-2636953
[  561.300000] ath10k_pci 0000:00:00.0: scan event completed type 2
reason 0 freq 5180 req_id 40961 scan_id 40960 vdev_id 1 state running
(2)
[  561.640000] ath10k_pci 0000:00:00.0: mac monitor recalc started? 0 should? 0
[  561.640000] ath10k_pci 0000:00:00.0: wmi peer delete vdev_id 1
peer_addr 04:f0:21:0c:a6:43
[  561.640000] ath10k_pci 0000:00:00.0: mac vdev 1 delete (remove interface)
[  561.640000] ath10k_pci 0000:00:00.0: WMI vdev delete id 1
[  561.640000] ath10k_pci 0000:00:00.0: mac monitor recalc started? 0 should? 0
[  561.650000] ath10k_pci 0000:00:00.0: mac monitor recalc started? 0 should? 0

----
Chun-Yeow

On Tue, Jan 20, 2015 at 5:21 PM, Michal Kazior <michal.kazior@tieto.com> wrote:
> On 20 January 2015 at 10:14, Yeoh Chun-Yeow <yeohchunyeow@gmail.com> wrote:
>> Experienced firmware crashed in 636 firmware immediately after
>> bringing up the AP interface.
>>
>> The partial log is listed here:
> [...]
>> [  291.380000] ath10k_pci 0000:00:00.0: firmware register dump:
>> [  291.380000] ath10k_pci 0000:00:00.0: [00]: 0x4100016C 0x00000000
>> 0x009C4521 0x00000000
>> [  291.390000] ath10k_pci 0000:00:00.0: [04]: 0x009C4521 0x00060330
>> 0x00000019 0x00955A00
>> [  291.400000] ath10k_pci 0000:00:00.0: [08]: 0x00046A4E 0x00000000
>> 0x0040CC94 0x00000020
>> [  291.410000] ath10k_pci 0000:00:00.0: [12]: 0x00000000 0x00000000
>> 0x00958360 0x0095836B
>> [  291.420000] ath10k_pci 0000:00:00.0: [16]: 0x809A0978 0x0040AD94
>> 0x00439304 0x0040D074
>> [  291.420000] ath10k_pci 0000:00:00.0: [20]: 0x0000FFFF 0x00000000
>> 0x0041B618 0x00000000
>> [  291.430000] ath10k_pci 0000:00:00.0: [24]: 0x809A0978 0x0040AD94
>> 0x00439304 0x11A93B77
>> [  291.440000] ath10k_pci 0000:00:00.0: [28]: 0x809AD1A2 0x0040ADE4
>> 0x00439304 0x0043F68C
>> [  291.450000] ath10k_pci 0000:00:00.0: [32]: 0x00000001 0x00000000
>> 0x00000000 0x00430D74
>> [  291.460000] ath10k_pci 0000:00:00.0: [36]: 0x00000000 0x00000000
>> 0x00000000 0x00000000
>> [  291.460000] ath10k_pci 0000:00:00.0: [40]: 0x00000000 0x00000000
>> 0x000000AB 0x00412700
>> [  291.470000] ath10k_pci 0000:00:00.0: [44]: 0x00439BB8 0x00000000
>> 0x00000000 0x00400000
>> [  291.480000] ath10k_pci 0000:00:00.0: [48]: 0x809AE0B4 0x0040AE04
>> 0x00400000 0x0043F68C
>> [  291.490000] ath10k_pci 0000:00:00.0: [52]: 0x00000001 0x00000000
>> 0x004231F0 0x00400000
>> [  291.500000] ath10k_pci 0000:00:00.0: [56]: 0x809AE17E 0x0040AE44
>> 0x0040FE6C 0x0040D310
>
> Yeah.. This is monitor vdev related crash (due to bridging, no?). I
> haven't found a way around it.
>
>
> Micha?
diff mbox

Patch

diff --git a/drivers/net/wireless/ath/ath10k/mac.c b/drivers/net/wireless/ath/ath10k/mac.c
index 9524bc5..11170ce 100644
--- a/drivers/net/wireless/ath/ath10k/mac.c
+++ b/drivers/net/wireless/ath/ath10k/mac.c
@@ -5032,6 +5032,10 @@  static const struct ieee80211_iface_limit ath10k_if_limits[] = {
 	.max	= 7,
 	.types	= BIT(NL80211_IFTYPE_AP)
 	},
+	{
+	.max	= 1,
+	.types	= BIT(NL80211_IFTYPE_ADHOC)
+	},
 };
 
 static const struct ieee80211_iface_limit ath10k_10x_if_limits[] = {