2014-09-02 13:43:16

by Emmanuel Grumbach

[permalink] [raw]
Subject: [ANN] new experimental firmware for 7260 / 3160 / 7265 - Core7

We made a new firmware available. This is a new code base, new
features (I haven't checked the log) and bug fixes.
It is experimental because it is still under validation cycle and
fixes are introduced on a daily basis.
I just thought that a few people would want to get their hands on an
early version of it.

The firmware is here:
https://git.kernel.org/cgit/linux/kernel/git/egrumbach/linux-firmware.git/log/?h=Core7

Note that the filename is now iwlwifi-XXXX-10.ucode. You'll need
https://git.kernel.org/cgit/linux/kernel/git/iwlwifi/iwlwifi-fixes.git/commit/?id=d88c8958dc13b4e4eb7fc57e3f06dc1c4abc7b1f
to actually load this firmware.

Feedback will be appreciated.

Thanks and enjoy!

Emmanuel Grumbach
[email protected]


2014-09-05 14:58:09

by Nate Carlson

[permalink] [raw]
Subject: Re: [ANN] new experimental firmware for 7260 / 3160 / 7265 - Core7

On Thu, 4 Sep 2014, Emmanuel Grumbach wrote:
>> trace-cmd record -e iwlwifi -e iwlwifi_msg -e mac80211
>
> yeah - you're right obviously :)

Emmanuel - I sent you an off-list response with the firmware dump and
results of the trace-cmd; please let me know if you don't receive the
message for whatever reason. Thanks!!

-Nate

2014-09-04 15:03:07

by Nate Carlson

[permalink] [raw]
Subject: Re: [ANN] new experimental firmware for 7260 / 3160 / 7265 - Core7

[responding to both messages at once here]

On Thu, 4 Sep 2014, Emmanuel Grumbach wrote:
> If you want, you can apply this:
<..>
> You'll need the firmware attached, and load the driver with
> fw_monitor=1. Then, when the error you mentioned will occur, it will
> crash the firmware on purpose so that we can get the logs. You'll see
> lots of junk in dmesg.
>
> Once this happened, you can take the data from
> /sys/kernel/debug/iwlwifi/0000\:01\:00.0/iwlmvm/fw_error_dump. This will
> weigh around 4MB depending on the available memory in your system, this
> is the data I need to give to the firmware team.

I will give this a try later on -- I'm testing this on my real laptop, and
am in the middle of a project, so can't reboot at the moment (I love Linux
- if a driver pukes, just reload it and reconnect, no need to reboot!)

> I just saw something weird...
>
> The Q 16 is still working while we flush:
<...>
> can you please re-run with trace-cmd -e iwlwifi -iwlwifi_msg -e
> mac80211 and send the trace.dat output.

Sure! I'm new to this; did a bit of RTFM'ing, and I'm guessing that the
command should actually be:

trace-cmd record -e iwlwifi -e iwlwifi_msg -e mac80211

..and that I should wait until the issue occurs again with this running,
and then hit ctrl-c, gpg-encrypt the trace.dat and send it to you? (Or
should I open a bugzilla and attach the encrypted file there?)

If any of that's incorrect, let me know.

The issue did already happen again today - unfortunately I hadn't gotten
to firing up the trace-cmd yet.. so hopefully it'll happen again. :)

Thanks!

-Nate

2014-09-04 05:57:52

by Emmanuel Grumbach

[permalink] [raw]
Subject: Re: [ANN] new experimental firmware for 7260 / 3160 / 7265 - Core7

On Thu, Sep 4, 2014 at 1:21 AM, Nate Carlson
<[email protected]> wrote:
> On Tue, 2 Sep 2014, Emmanuel Grumbach wrote:
>>
>> The firmware is here:
>>
>> https://git.kernel.org/cgit/linux/kernel/git/egrumbach/linux-firmware.git/log/?h=Core7
>
>
> Gave this a shot on 3.17-rc3 plus the patch to support the new firmware.. it
> seemed to work well for a while, and then I got disconnected with the error
> below; after that I had to unload and reload iwlmvm and iwlwifi to get
> connected again..

Ok - thanks for testing.
I'll communicate this to the firmware team.

If you want, you can apply this:

diff --git a/drivers/net/wireless/iwlwifi/mvm/mac80211.c
b/drivers/net/wireless/iwlwifi/mvm/mac80211.c
index cf74dbd..9e599e9 100644
--- a/drivers/net/wireless/iwlwifi/mvm/mac80211.c
+++ b/drivers/net/wireless/iwlwifi/mvm/mac80211.c
@@ -3336,8 +3336,10 @@ static void iwl_mvm_mac_flush(struct ieee80211_hw *hw,
if (iwl_mvm_flush_tx_path(mvm, mvmsta->tfd_queue_msk, true))
IWL_ERR(mvm, "flush request fail\n");
} else {
- iwl_trans_wait_tx_queue_empty(mvm->trans,
- mvmsta->tfd_queue_msk);
+ if (iwl_trans_wait_tx_queue_empty(mvm->trans,
+ mvmsta->tfd_queue_msk))
+ iwl_force_nmi(mvm->trans);
+
}
done:
mutex_unlock(&mvm->mutex);

Then, you'll be able to use FW monitor as explained here
http://wireless.kernel.org/en/users/Drivers/iwlwifi#Debugging.
You'll need the firmware attached, and load the driver with fw_monitor=1.
Then, when the error you mentioned will occur, it will crash the
firmware on purpose so that we can get the logs. You'll see lots of
junk in dmesg.

Once this happened, you can take the data from
/sys/kernel/debug/iwlwifi/0000\:01\:00.0/iwlmvm/fw_error_dump.
This will weigh around 4MB depending on the available memory in your
system, this is the data I need to give to the firmware team.

Note the privacy aspects at the very bottom of the aforementioned webpage.

Thanks!

>
> [ 4685.025024] iwlwifi 0000:03:00.0: fail to flush all tx fifo queues Q 2
> [ 4685.025037] iwlwifi 0000:03:00.0: Current SW read_ptr 62 write_ptr 63
> [ 4685.025077] iwl data: 00000000: 00 00 00 00 00 00 00 00 00 00 00 40 00 00
> 00 00 ...........@....
> [ 4685.025104] iwlwifi 0000:03:00.0: FH TRBs(0) = 0x00000000
> [ 4685.025129] iwlwifi 0000:03:00.0: FH TRBs(1) = 0xc0110006
> [ 4685.025155] iwlwifi 0000:03:00.0: FH TRBs(2) = 0x00000000
> [ 4685.025181] iwlwifi 0000:03:00.0: FH TRBs(3) = 0x8030001a
> [ 4685.025207] iwlwifi 0000:03:00.0: FH TRBs(4) = 0x00000000
> [ 4685.025233] iwlwifi 0000:03:00.0: FH TRBs(5) = 0x00000000
> [ 4685.025259] iwlwifi 0000:03:00.0: FH TRBs(6) = 0x00000000
> [ 4685.025285] iwlwifi 0000:03:00.0: FH TRBs(7) = 0x00709072
> [ 4685.025355] iwlwifi 0000:03:00.0: Q 0 is active and mapped to fifo 3
> ra_tid 0x0000 [27,27]
> [ 4685.025424] iwlwifi 0000:03:00.0: Q 1 is active and mapped to fifo 2
> ra_tid 0x0000 [0,0]
> [ 4685.025493] iwlwifi 0000:03:00.0: Q 2 is active and mapped to fifo 1
> ra_tid 0x0000 [62,63]
> [ 4685.025561] iwlwifi 0000:03:00.0: Q 3 is active and mapped to fifo 0
> ra_tid 0x0000 [0,0]
> [ 4685.025630] iwlwifi 0000:03:00.0: Q 4 is inactive and mapped to fifo 0
> ra_tid 0x0000 [0,0]
> [ 4685.025698] iwlwifi 0000:03:00.0: Q 5 is inactive and mapped to fifo 0
> ra_tid 0x0000 [0,0]
> [ 4685.025767] iwlwifi 0000:03:00.0: Q 6 is inactive and mapped to fifo 0
> ra_tid 0x0000 [0,0]
> [ 4685.025835] iwlwifi 0000:03:00.0: Q 7 is inactive and mapped to fifo 0
> ra_tid 0x0000 [0,0]
> [ 4685.025904] iwlwifi 0000:03:00.0: Q 8 is inactive and mapped to fifo 0
> ra_tid 0x0000 [0,0]
> [ 4685.025972] iwlwifi 0000:03:00.0: Q 9 is active and mapped to fifo 7
> ra_tid 0x0000 [115,115]
> [ 4685.026041] iwlwifi 0000:03:00.0: Q 10 is inactive and mapped to fifo 0
> ra_tid 0x0000 [0,0]
> [ 4685.026110] iwlwifi 0000:03:00.0: Q 11 is inactive and mapped to fifo 0
> ra_tid 0x0000 [0,0]
> [ 4685.026180] iwlwifi 0000:03:00.0: Q 12 is inactive and mapped to fifo 0
> ra_tid 0x0000 [0,0]
> [ 4685.026249] iwlwifi 0000:03:00.0: Q 13 is inactive and mapped to fifo 0
> ra_tid 0x0000 [0,0]
> [ 4685.026318] iwlwifi 0000:03:00.0: Q 14 is inactive and mapped to fifo 0
> ra_tid 0x0000 [0,0]
> [ 4685.026386] iwlwifi 0000:03:00.0: Q 15 is active and mapped to fifo 5
> ra_tid 0x0000 [0,0]
> [ 4685.026454] iwlwifi 0000:03:00.0: Q 16 is active and mapped to fifo 1
> ra_tid 0x0000 [5,7]
> [ 4685.026523] iwlwifi 0000:03:00.0: Q 17 is inactive and mapped to fifo 0
> ra_tid 0x0000 [0,0]
> [ 4685.026591] iwlwifi 0000:03:00.0: Q 18 is inactive and mapped to fifo 0
> ra_tid 0x0000 [0,0]
> [ 4685.026666] iwlwifi 0000:03:00.0: Q 19 is inactive and mapped to fifo 0
> ra_tid 0x0000 [0,0]
> [ 4687.030789] iwlwifi 0000:03:00.0: fail to flush all tx fifo queues Q 16
> [ 4687.030802] iwlwifi 0000:03:00.0: Current SW read_ptr 6 write_ptr 11
> [ 4687.030854] iwl data: 00000000: 80 07 00 00 00 00 00 00 00 00 00 00 00 00
> 00 00 ................
> [ 4687.030881] iwlwifi 0000:03:00.0: FH TRBs(0) = 0x00000000
> [ 4687.030907] iwlwifi 0000:03:00.0: FH TRBs(1) = 0xc011000a
> [ 4687.030924] iwlwifi 0000:03:00.0: FH TRBs(2) = 0x00000000
> [ 4687.030970] iwlwifi 0000:03:00.0: FH TRBs(3) = 0x8030001b
> [ 4687.030984] iwlwifi 0000:03:00.0: FH TRBs(4) = 0x00000000
> [ 4687.031019] iwlwifi 0000:03:00.0: FH TRBs(5) = 0x00000000
> [ 4687.031044] iwlwifi 0000:03:00.0: FH TRBs(6) = 0x00000000
> [ 4687.031070] iwlwifi 0000:03:00.0: FH TRBs(7) = 0x00709072
> [ 4687.031140] iwlwifi 0000:03:00.0: Q 0 is active and mapped to fifo 3
> ra_tid 0x0000 [28,28]
> [ 4687.031207] iwlwifi 0000:03:00.0: Q 1 is active and mapped to fifo 2
> ra_tid 0x0000 [0,0]
> [ 4687.031276] iwlwifi 0000:03:00.0: Q 2 is active and mapped to fifo 1
> ra_tid 0x0000 [63,63]
> [ 4687.031345] iwlwifi 0000:03:00.0: Q 3 is active and mapped to fifo 0
> ra_tid 0x0000 [0,0]
> [ 4687.031414] iwlwifi 0000:03:00.0: Q 4 is inactive and mapped to fifo 0
> ra_tid 0x0000 [0,0]
> [ 4687.031481] iwlwifi 0000:03:00.0: Q 5 is inactive and mapped to fifo 0
> ra_tid 0x0000 [0,0]
> [ 4687.031550] iwlwifi 0000:03:00.0: Q 6 is inactive and mapped to fifo 0
> ra_tid 0x0000 [0,0]
> [ 4687.031625] iwlwifi 0000:03:00.0: Q 7 is inactive and mapped to fifo 0
> ra_tid 0x0000 [0,0]
> [ 4687.031696] iwlwifi 0000:03:00.0: Q 8 is inactive and mapped to fifo 0
> ra_tid 0x0000 [0,0]
> [ 4687.031764] iwlwifi 0000:03:00.0: Q 9 is active and mapped to fifo 7
> ra_tid 0x0000 [115,115]
> [ 4687.031833] iwlwifi 0000:03:00.0: Q 10 is inactive and mapped to fifo 0
> ra_tid 0x0000 [0,0]
> [ 4687.031901] iwlwifi 0000:03:00.0: Q 11 is inactive and mapped to fifo 0
> ra_tid 0x0000 [0,0]
> [ 4687.031970] iwlwifi 0000:03:00.0: Q 12 is inactive and mapped to fifo 0
> ra_tid 0x0000 [0,0]
> [ 4687.032038] iwlwifi 0000:03:00.0: Q 13 is inactive and mapped to fifo 0
> ra_tid 0x0000 [0,0]
> [ 4687.032107] iwlwifi 0000:03:00.0: Q 14 is inactive and mapped to fifo 0
> ra_tid 0x0000 [0,0]
> [ 4687.032176] iwlwifi 0000:03:00.0: Q 15 is active and mapped to fifo 5
> ra_tid 0x0000 [0,0]
> [ 4687.032245] iwlwifi 0000:03:00.0: Q 16 is active and mapped to fifo 1
> ra_tid 0x0000 [7,11]
> [ 4687.032313] iwlwifi 0000:03:00.0: Q 17 is inactive and mapped to fifo 0
> ra_tid 0x0000 [0,0]
> [ 4687.032382] iwlwifi 0000:03:00.0: Q 18 is inactive and mapped to fifo 0
> ra_tid 0x0000 [0,0]
> [ 4687.032451] iwlwifi 0000:03:00.0: Q 19 is inactive and mapped to fifo 0
> ra_tid 0x0000 [0,0]
>


Attachments:
iwlwifi-7260-10.ucode (656.29 kB)

2014-09-03 22:30:25

by Nate Carlson

[permalink] [raw]
Subject: Re: [ANN] new experimental firmware for 7260 / 3160 / 7265 - Core7

On Tue, 2 Sep 2014, Emmanuel Grumbach wrote:
> The firmware is here:
> https://git.kernel.org/cgit/linux/kernel/git/egrumbach/linux-firmware.git/log/?h=Core7

Gave this a shot on 3.17-rc3 plus the patch to support the new firmware..
it seemed to work well for a while, and then I got disconnected with the
error below; after that I had to unload and reload iwlmvm and iwlwifi to
get connected again..

[ 4685.025024] iwlwifi 0000:03:00.0: fail to flush all tx fifo queues Q 2
[ 4685.025037] iwlwifi 0000:03:00.0: Current SW read_ptr 62 write_ptr 63
[ 4685.025077] iwl data: 00000000: 00 00 00 00 00 00 00 00 00 00 00 40 00
00 00 00 ...........@....
[ 4685.025104] iwlwifi 0000:03:00.0: FH TRBs(0) = 0x00000000
[ 4685.025129] iwlwifi 0000:03:00.0: FH TRBs(1) = 0xc0110006
[ 4685.025155] iwlwifi 0000:03:00.0: FH TRBs(2) = 0x00000000
[ 4685.025181] iwlwifi 0000:03:00.0: FH TRBs(3) = 0x8030001a
[ 4685.025207] iwlwifi 0000:03:00.0: FH TRBs(4) = 0x00000000
[ 4685.025233] iwlwifi 0000:03:00.0: FH TRBs(5) = 0x00000000
[ 4685.025259] iwlwifi 0000:03:00.0: FH TRBs(6) = 0x00000000
[ 4685.025285] iwlwifi 0000:03:00.0: FH TRBs(7) = 0x00709072
[ 4685.025355] iwlwifi 0000:03:00.0: Q 0 is active and mapped to fifo 3
ra_tid 0x0000 [27,27]
[ 4685.025424] iwlwifi 0000:03:00.0: Q 1 is active and mapped to fifo 2
ra_tid 0x0000 [0,0]
[ 4685.025493] iwlwifi 0000:03:00.0: Q 2 is active and mapped to fifo 1
ra_tid 0x0000 [62,63]
[ 4685.025561] iwlwifi 0000:03:00.0: Q 3 is active and mapped to fifo 0
ra_tid 0x0000 [0,0]
[ 4685.025630] iwlwifi 0000:03:00.0: Q 4 is inactive and mapped to fifo 0
ra_tid 0x0000 [0,0]
[ 4685.025698] iwlwifi 0000:03:00.0: Q 5 is inactive and mapped to fifo 0
ra_tid 0x0000 [0,0]
[ 4685.025767] iwlwifi 0000:03:00.0: Q 6 is inactive and mapped to fifo 0
ra_tid 0x0000 [0,0]
[ 4685.025835] iwlwifi 0000:03:00.0: Q 7 is inactive and mapped to fifo 0
ra_tid 0x0000 [0,0]
[ 4685.025904] iwlwifi 0000:03:00.0: Q 8 is inactive and mapped to fifo 0
ra_tid 0x0000 [0,0]
[ 4685.025972] iwlwifi 0000:03:00.0: Q 9 is active and mapped to fifo 7
ra_tid 0x0000 [115,115]
[ 4685.026041] iwlwifi 0000:03:00.0: Q 10 is inactive and mapped to fifo 0
ra_tid 0x0000 [0,0]
[ 4685.026110] iwlwifi 0000:03:00.0: Q 11 is inactive and mapped to fifo 0
ra_tid 0x0000 [0,0]
[ 4685.026180] iwlwifi 0000:03:00.0: Q 12 is inactive and mapped to fifo 0
ra_tid 0x0000 [0,0]
[ 4685.026249] iwlwifi 0000:03:00.0: Q 13 is inactive and mapped to fifo 0
ra_tid 0x0000 [0,0]
[ 4685.026318] iwlwifi 0000:03:00.0: Q 14 is inactive and mapped to fifo 0
ra_tid 0x0000 [0,0]
[ 4685.026386] iwlwifi 0000:03:00.0: Q 15 is active and mapped to fifo 5
ra_tid 0x0000 [0,0]
[ 4685.026454] iwlwifi 0000:03:00.0: Q 16 is active and mapped to fifo 1
ra_tid 0x0000 [5,7]
[ 4685.026523] iwlwifi 0000:03:00.0: Q 17 is inactive and mapped to fifo 0
ra_tid 0x0000 [0,0]
[ 4685.026591] iwlwifi 0000:03:00.0: Q 18 is inactive and mapped to fifo 0
ra_tid 0x0000 [0,0]
[ 4685.026666] iwlwifi 0000:03:00.0: Q 19 is inactive and mapped to fifo 0
ra_tid 0x0000 [0,0]
[ 4687.030789] iwlwifi 0000:03:00.0: fail to flush all tx fifo queues Q 16
[ 4687.030802] iwlwifi 0000:03:00.0: Current SW read_ptr 6 write_ptr 11
[ 4687.030854] iwl data: 00000000: 80 07 00 00 00 00 00 00 00 00 00 00 00
00 00 00 ................
[ 4687.030881] iwlwifi 0000:03:00.0: FH TRBs(0) = 0x00000000
[ 4687.030907] iwlwifi 0000:03:00.0: FH TRBs(1) = 0xc011000a
[ 4687.030924] iwlwifi 0000:03:00.0: FH TRBs(2) = 0x00000000
[ 4687.030970] iwlwifi 0000:03:00.0: FH TRBs(3) = 0x8030001b
[ 4687.030984] iwlwifi 0000:03:00.0: FH TRBs(4) = 0x00000000
[ 4687.031019] iwlwifi 0000:03:00.0: FH TRBs(5) = 0x00000000
[ 4687.031044] iwlwifi 0000:03:00.0: FH TRBs(6) = 0x00000000
[ 4687.031070] iwlwifi 0000:03:00.0: FH TRBs(7) = 0x00709072
[ 4687.031140] iwlwifi 0000:03:00.0: Q 0 is active and mapped to fifo 3
ra_tid 0x0000 [28,28]
[ 4687.031207] iwlwifi 0000:03:00.0: Q 1 is active and mapped to fifo 2
ra_tid 0x0000 [0,0]
[ 4687.031276] iwlwifi 0000:03:00.0: Q 2 is active and mapped to fifo 1
ra_tid 0x0000 [63,63]
[ 4687.031345] iwlwifi 0000:03:00.0: Q 3 is active and mapped to fifo 0
ra_tid 0x0000 [0,0]
[ 4687.031414] iwlwifi 0000:03:00.0: Q 4 is inactive and mapped to fifo 0
ra_tid 0x0000 [0,0]
[ 4687.031481] iwlwifi 0000:03:00.0: Q 5 is inactive and mapped to fifo 0
ra_tid 0x0000 [0,0]
[ 4687.031550] iwlwifi 0000:03:00.0: Q 6 is inactive and mapped to fifo 0
ra_tid 0x0000 [0,0]
[ 4687.031625] iwlwifi 0000:03:00.0: Q 7 is inactive and mapped to fifo 0
ra_tid 0x0000 [0,0]
[ 4687.031696] iwlwifi 0000:03:00.0: Q 8 is inactive and mapped to fifo 0
ra_tid 0x0000 [0,0]
[ 4687.031764] iwlwifi 0000:03:00.0: Q 9 is active and mapped to fifo 7
ra_tid 0x0000 [115,115]
[ 4687.031833] iwlwifi 0000:03:00.0: Q 10 is inactive and mapped to fifo 0
ra_tid 0x0000 [0,0]
[ 4687.031901] iwlwifi 0000:03:00.0: Q 11 is inactive and mapped to fifo 0
ra_tid 0x0000 [0,0]
[ 4687.031970] iwlwifi 0000:03:00.0: Q 12 is inactive and mapped to fifo 0
ra_tid 0x0000 [0,0]
[ 4687.032038] iwlwifi 0000:03:00.0: Q 13 is inactive and mapped to fifo 0
ra_tid 0x0000 [0,0]
[ 4687.032107] iwlwifi 0000:03:00.0: Q 14 is inactive and mapped to fifo 0
ra_tid 0x0000 [0,0]
[ 4687.032176] iwlwifi 0000:03:00.0: Q 15 is active and mapped to fifo 5
ra_tid 0x0000 [0,0]
[ 4687.032245] iwlwifi 0000:03:00.0: Q 16 is active and mapped to fifo 1
ra_tid 0x0000 [7,11]
[ 4687.032313] iwlwifi 0000:03:00.0: Q 17 is inactive and mapped to fifo 0
ra_tid 0x0000 [0,0]
[ 4687.032382] iwlwifi 0000:03:00.0: Q 18 is inactive and mapped to fifo 0
ra_tid 0x0000 [0,0]
[ 4687.032451] iwlwifi 0000:03:00.0: Q 19 is inactive and mapped to fifo 0
ra_tid 0x0000 [0,0]


2014-09-04 18:11:07

by Emmanuel Grumbach

[permalink] [raw]
Subject: Re: [ANN] new experimental firmware for 7260 / 3160 / 7265 - Core7

On Thu, Sep 4, 2014 at 6:02 PM, Nate Carlson
<[email protected]> wrote:
> [responding to both messages at once here]
>
>
> On Thu, 4 Sep 2014, Emmanuel Grumbach wrote:
>>
>> If you want, you can apply this:
>
> <..>
>
>> You'll need the firmware attached, and load the driver with fw_monitor=1.
>> Then, when the error you mentioned will occur, it will crash the firmware on
>> purpose so that we can get the logs. You'll see lots of junk in dmesg.
>>
>> Once this happened, you can take the data from
>> /sys/kernel/debug/iwlwifi/0000\:01\:00.0/iwlmvm/fw_error_dump. This will
>> weigh around 4MB depending on the available memory in your system, this is
>> the data I need to give to the firmware team.
>
>
> I will give this a try later on -- I'm testing this on my real laptop, and
> am in the middle of a project, so can't reboot at the moment (I love Linux -
> if a driver pukes, just reload it and reconnect, no need to reboot!)
>
>
>> I just saw something weird...
>>
>> The Q 16 is still working while we flush:
>
> <...>
>
>> can you please re-run with trace-cmd -e iwlwifi -iwlwifi_msg -e
>> mac80211 and send the trace.dat output.
>
>
> Sure! I'm new to this; did a bit of RTFM'ing, and I'm guessing that the
> command should actually be:
>
> trace-cmd record -e iwlwifi -e iwlwifi_msg -e mac80211
>

yeah - you're right obviously :)

> ..and that I should wait until the issue occurs again with this running, and
> then hit ctrl-c, gpg-encrypt the trace.dat and send it to you? (Or should I
> open a bugzilla and attach the encrypted file there?)
>
> If any of that's incorrect, let me know.
>
> The issue did already happen again today - unfortunately I hadn't gotten to
> firing up the trace-cmd yet.. so hopefully it'll happen again. :)
>
> Thanks!
>
> -Nate

2014-09-04 06:06:38

by Emmanuel Grumbach

[permalink] [raw]
Subject: Re: [ANN] new experimental firmware for 7260 / 3160 / 7265 - Core7

I just saw something weird...

The Q 16 is still working while we flush:

>
> Gave this a shot on 3.17-rc3 plus the patch to support the new firmware.. it
> seemed to work well for a while, and then I got disconnected with the error
> below; after that I had to unload and reload iwlmvm and iwlwifi to get
> connected again..
>
> [ 4685.025024] iwlwifi 0000:03:00.0: fail to flush all tx fifo queues Q 2
> [ 4685.025037] iwlwifi 0000:03:00.0: Current SW read_ptr 62 write_ptr 63
> [ 4685.025077] iwl data: 00000000: 00 00 00 00 00 00 00 00 00 00 00 40 00 00
> 00 00 ...........@....
> [ 4685.025104] iwlwifi 0000:03:00.0: FH TRBs(0) = 0x00000000
> [ 4685.025129] iwlwifi 0000:03:00.0: FH TRBs(1) = 0xc0110006
> [ 4685.025155] iwlwifi 0000:03:00.0: FH TRBs(2) = 0x00000000
> [ 4685.025181] iwlwifi 0000:03:00.0: FH TRBs(3) = 0x8030001a
> [ 4685.025207] iwlwifi 0000:03:00.0: FH TRBs(4) = 0x00000000
> [ 4685.025233] iwlwifi 0000:03:00.0: FH TRBs(5) = 0x00000000
> [ 4685.025259] iwlwifi 0000:03:00.0: FH TRBs(6) = 0x00000000
> [ 4685.025285] iwlwifi 0000:03:00.0: FH TRBs(7) = 0x00709072
> [ 4685.025355] iwlwifi 0000:03:00.0: Q 0 is active and mapped to fifo 3
> ra_tid 0x0000 [27,27]
> [ 4685.025424] iwlwifi 0000:03:00.0: Q 1 is active and mapped to fifo 2
> ra_tid 0x0000 [0,0]
> [ 4685.025493] iwlwifi 0000:03:00.0: Q 2 is active and mapped to fifo 1
> ra_tid 0x0000 [62,63]
> [ 4685.025561] iwlwifi 0000:03:00.0: Q 3 is active and mapped to fifo 0
> ra_tid 0x0000 [0,0]
> [ 4685.025630] iwlwifi 0000:03:00.0: Q 4 is inactive and mapped to fifo 0
> ra_tid 0x0000 [0,0]
> [ 4685.025698] iwlwifi 0000:03:00.0: Q 5 is inactive and mapped to fifo 0
> ra_tid 0x0000 [0,0]
> [ 4685.025767] iwlwifi 0000:03:00.0: Q 6 is inactive and mapped to fifo 0
> ra_tid 0x0000 [0,0]
> [ 4685.025835] iwlwifi 0000:03:00.0: Q 7 is inactive and mapped to fifo 0
> ra_tid 0x0000 [0,0]
> [ 4685.025904] iwlwifi 0000:03:00.0: Q 8 is inactive and mapped to fifo 0
> ra_tid 0x0000 [0,0]
> [ 4685.025972] iwlwifi 0000:03:00.0: Q 9 is active and mapped to fifo 7
> ra_tid 0x0000 [115,115]
> [ 4685.026041] iwlwifi 0000:03:00.0: Q 10 is inactive and mapped to fifo 0
> ra_tid 0x0000 [0,0]
> [ 4685.026110] iwlwifi 0000:03:00.0: Q 11 is inactive and mapped to fifo 0
> ra_tid 0x0000 [0,0]
> [ 4685.026180] iwlwifi 0000:03:00.0: Q 12 is inactive and mapped to fifo 0
> ra_tid 0x0000 [0,0]
> [ 4685.026249] iwlwifi 0000:03:00.0: Q 13 is inactive and mapped to fifo 0
> ra_tid 0x0000 [0,0]
> [ 4685.026318] iwlwifi 0000:03:00.0: Q 14 is inactive and mapped to fifo 0
> ra_tid 0x0000 [0,0]
> [ 4685.026386] iwlwifi 0000:03:00.0: Q 15 is active and mapped to fifo 5
> ra_tid 0x0000 [0,0]
> [ 4685.026454] iwlwifi 0000:03:00.0: Q 16 is active and mapped to fifo 1
> ra_tid 0x0000 [5,7]

<<<===>>> Here the last packet in Q16 is 7

> [ 4685.026523] iwlwifi 0000:03:00.0: Q 17 is inactive and mapped to fifo 0
> ra_tid 0x0000 [0,0]
> [ 4685.026591] iwlwifi 0000:03:00.0: Q 18 is inactive and mapped to fifo 0
> ra_tid 0x0000 [0,0]
> [ 4685.026666] iwlwifi 0000:03:00.0: Q 19 is inactive and mapped to fifo 0
> ra_tid 0x0000 [0,0]
> [ 4687.030789] iwlwifi 0000:03:00.0: fail to flush all tx fifo queues Q 16
> [ 4687.030802] iwlwifi 0000:03:00.0: Current SW read_ptr 6 write_ptr 11
> [ 4687.030854] iwl data: 00000000: 80 07 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
> [ 4687.030881] iwlwifi 0000:03:00.0: FH TRBs(0) = 0x00000000
> [ 4687.030907] iwlwifi 0000:03:00.0: FH TRBs(1) = 0xc011000a
> [ 4687.030924] iwlwifi 0000:03:00.0: FH TRBs(2) = 0x00000000
> [ 4687.030970] iwlwifi 0000:03:00.0: FH TRBs(3) = 0x8030001b
> [ 4687.030984] iwlwifi 0000:03:00.0: FH TRBs(4) = 0x00000000
> [ 4687.031019] iwlwifi 0000:03:00.0: FH TRBs(5) = 0x00000000
> [ 4687.031044] iwlwifi 0000:03:00.0: FH TRBs(6) = 0x00000000
> [ 4687.031070] iwlwifi 0000:03:00.0: FH TRBs(7) = 0x00709072
> [ 4687.031140] iwlwifi 0000:03:00.0: Q 0 is active and mapped to fifo 3
> ra_tid 0x0000 [28,28]
> [ 4687.031207] iwlwifi 0000:03:00.0: Q 1 is active and mapped to fifo 2
> ra_tid 0x0000 [0,0]
> [ 4687.031276] iwlwifi 0000:03:00.0: Q 2 is active and mapped to fifo 1
> ra_tid 0x0000 [63,63]
> [ 4687.031345] iwlwifi 0000:03:00.0: Q 3 is active and mapped to fifo 0
> ra_tid 0x0000 [0,0]
> [ 4687.031414] iwlwifi 0000:03:00.0: Q 4 is inactive and mapped to fifo 0
> ra_tid 0x0000 [0,0]
> [ 4687.031481] iwlwifi 0000:03:00.0: Q 5 is inactive and mapped to fifo 0
> ra_tid 0x0000 [0,0]
> [ 4687.031550] iwlwifi 0000:03:00.0: Q 6 is inactive and mapped to fifo 0
> ra_tid 0x0000 [0,0]
> [ 4687.031625] iwlwifi 0000:03:00.0: Q 7 is inactive and mapped to fifo 0
> ra_tid 0x0000 [0,0]
> [ 4687.031696] iwlwifi 0000:03:00.0: Q 8 is inactive and mapped to fifo 0
> ra_tid 0x0000 [0,0]
> [ 4687.031764] iwlwifi 0000:03:00.0: Q 9 is active and mapped to fifo 7
> ra_tid 0x0000 [115,115]
> [ 4687.031833] iwlwifi 0000:03:00.0: Q 10 is inactive and mapped to fifo 0
> ra_tid 0x0000 [0,0]
> [ 4687.031901] iwlwifi 0000:03:00.0: Q 11 is inactive and mapped to fifo 0
> ra_tid 0x0000 [0,0]
> [ 4687.031970] iwlwifi 0000:03:00.0: Q 12 is inactive and mapped to fifo 0
> ra_tid 0x0000 [0,0]
> [ 4687.032038] iwlwifi 0000:03:00.0: Q 13 is inactive and mapped to fifo 0
> ra_tid 0x0000 [0,0]
> [ 4687.032107] iwlwifi 0000:03:00.0: Q 14 is inactive and mapped to fifo 0
> ra_tid 0x0000 [0,0]
> [ 4687.032176] iwlwifi 0000:03:00.0: Q 15 is active and mapped to fifo 5
> ra_tid 0x0000 [0,0]
> [ 4687.032245] iwlwifi 0000:03:00.0: Q 16 is active and mapped to fifo 1
> ra_tid 0x0000 [7,11]

<<<===>>> Here the last packet in Q16 is 11 - which means that the
stack is still sending packets while it tries to flush. This is ...
surprising.

> [ 4687.032313] iwlwifi 0000:03:00.0: Q 17 is inactive and mapped to fifo 0
> ra_tid 0x0000 [0,0]
> [ 4687.032382] iwlwifi 0000:03:00.0: Q 18 is inactive and mapped to fifo 0
> ra_tid 0x0000 [0,0]
> [ 4687.032451] iwlwifi 0000:03:00.0: Q 19 is inactive and mapped to fifo 0
> ra_tid 0x0000 [0,0]
>


can you please re-run with trace-cmd -e iwlwifi -iwlwifi_msg -e
mac80211 and send the trace.dat output.

Thanks!