Discussion:
[Regression]BCM4312 is broken in kernel 4.18[Root cause found]
prabhu
2018-08-23 17:30:53 UTC
Permalink
Hi,

BCM 4312 wifi card stopped working from kernel version 4.18
After boot up it tries to reconnect for few times and after that it
disconnected completely.

Here is the snippet from dmesg:
[ 70.826051] [drm:radeon_cs_parser_relocs [radeon]] *ERROR* gem object
lookup failed 0xd
[ 70.826090] [drm:radeon_cs_ioctl [radeon]] *ERROR* Failed to parse
relocation -2!
[ 238.066341] b43-phy0: Controller RESET (Out of order TX) ...
[ 238.306116] b43-phy0: Loading firmware version 666.2 (2011-02-23 01:15:07)
[ 245.443095] b43-phy0: Controller restarted
[ 285.552662] wlan0: deauthenticated from 98:de:d0:4b:e6:f6 (Reason:
6=CLASS2_FRAME_FROM_NONAUTH_STA)
[ 285.639719] wlan0: authenticate with 98:de:d0:4b:e6:f6
[ 285.656291] wlan0: send auth to 98:de:d0:4b:e6:f6 (try 1/3)
[ 285.658957] wlan0: authenticated
[ 285.662386] wlan0: associate with 98:de:d0:4b:e6:f6 (try 1/3)
[ 285.665581] wlan0: RX AssocResp from 98:de:d0:4b:e6:f6 (capab=0x431
status=0 aid=2)
[ 285.666396] wlan0: associated
[ 309.348063] b43-phy0: Controller RESET (Out of order TX) ...
[ 309.592485] b43-phy0: Loading firmware version 666.2 (2011-02-23 01:15:07)
[ 316.742829] b43-phy0: Controller restarted
[ 329.268570] perf: interrupt took too long (2513 > 2500), lowering
kernel.perf_event_max_sample_rate to 79500
[ 400.542426] wlan0: deauthenticated from 98:de:d0:4b:e6:f6 (Reason:
6=CLASS2_FRAME_FROM_NONAUTH_STA)
[ 400.636523] wlan0: authenticate with 98:de:d0:4b:e6:f6
[ 400.652666] wlan0: send auth to 98:de:d0:4b:e6:f6 (try 1/3)
[ 400.655070] wlan0: authenticated
[ 400.655447] wlan0: associate with 98:de:d0:4b:e6:f6 (try 1/3)
[ 400.658583] wlan0: RX AssocResp from 98:de:d0:4b:e6:f6 (capab=0x431
status=0 aid=2)
[ 400.659276] wlan0: associated
[ 412.256359] perf: interrupt took too long (3246 > 3141), lowering
kernel.perf_event_max_sample_rate to 61500
[ 555.832079] b43-phy0: Controller RESET (Out of order TX) ...
[ 556.082050] b43-phy0: Loading firmware version 666.2 (2011-02-23 01:15:07)
[ 563.172269] b43-phy0: Controller restarted
[ 619.628212] perf: interrupt took too long (4066 > 4057), lowering
kernel.perf_event_max_sample_rate to 48900
[ 766.268349] wlan0: deauthenticated from 98:de:d0:4b:e6:f6 (Reason:
6=CLASS2_FRAME_FROM_NONAUTH_STA)
[ 766.317708] wlan0: authenticate with 98:de:d0:4b:e6:f6
[ 766.338515] wlan0: send auth to 98:de:d0:4b:e6:f6 (try 1/3)
[ 766.345731] wlan0: authenticated
[ 766.347959] wlan0: associate with 98:de:d0:4b:e6:f6 (try 1/3)
[ 766.352674] wlan0: RX AssocResp from 98:de:d0:4b:e6:f6 (capab=0x431
status=0 aid=2)
[ 766.353351] wlan0: associated
[ 801.234010] perf: interrupt took too long (5097 > 5082), lowering
kernel.perf_event_max_sample_rate to 39000
[ 1780.122837] perf: interrupt took too long (6979 > 6371), lowering
kernel.perf_event_max_sample_rate to 28500
[ 2347.465072] b43-phy0: Controller RESET (Out of order TX) ...
[ 2347.705572] b43-phy0: Loading firmware version 666.2 (2011-02-23 01:15:07)
[ 2354.735641] b43-phy0: Controller restarted
[ 2388.784785] wlan0: deauthenticated from 98:de:d0:4b:e6:f6 (Reason:
6=CLASS2_FRAME_FROM_NONAUTH_STA)
[ 2388.901388] wlan0: authenticate with 98:de:d0:4b:e6:f6
[ 2388.918575] wlan0: send auth to 98:de:d0:4b:e6:f6 (try 1/3)
[ 2388.920893] wlan0: authenticated
[ 2388.921243] wlan0: associate with 98:de:d0:4b:e6:f6 (try 1/3)
[ 2388.924310] wlan0: RX AssocResp from 98:de:d0:4b:e6:f6 (capab=0x431
status=0 aid=2)
[ 2388.925336] wlan0: associated
[ 2973.297286] b43-phy0: Controller RESET (Out of order TX) ...
[ 2973.532792] b43-phy0: Loading firmware version 666.2 (2011-02-23 01:15:07)
[ 2980.496495] b43-phy0: Controller restarted
[ 5306.648339] wlan0: deauthenticating from 98:de:d0:4b:e6:f6 by local
choice (Reason: 3=DEAUTH_LEAVING)
[ 5306.909377] b43-phy0: Loading firmware version 666.2 (2011-02-23 01:15:07)
[ 5313.899248] IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not ready
[ 5320.225907] b43-phy0: Loading firmware version 666.2 (2011-02-23 01:15:07)
[ 5327.189103] IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not ready
[ 5328.567334] wlan0: authenticate with 98:de:d0:4b:e6:f6
[ 5328.599382] wlan0: send auth to 98:de:d0:4b:e6:f6 (try 1/3)
[ 5328.601751] wlan0: authenticated
[ 5328.602238] wlan0: associate with 98:de:d0:4b:e6:f6 (try 1/3)
[ 5328.605468] wlan0: RX AssocResp from 98:de:d0:4b:e6:f6 (capab=0x431
status=0 aid=2)
[ 5328.606369] wlan0: associated
[ 5328.615757] IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready
[ 5348.732714] b43-phy0: Controller RESET (Out of order TX) ...

The following commits introduce this regression in 4.18
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=66cffd6daab76caebab26eb803b92182414fc182

I verified that in two ways:
1. Downgrade the kernel to 4.17.14 - Fixes the Issue
2. Revert that commit in 4.18.4 - Fixes the Issue

Regards,
D.Prabhu
Michael Büsch
2018-08-23 18:11:47 UTC
Permalink
On Thu, 23 Aug 2018 23:00:53 +0530
Post by prabhu
The following commits introduce this regression in 4.18
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=66cffd6daab76caebab26eb803b92182414fc182
Ok. Kalle, can you please revert the commit
66cffd6daab76caebab26eb803b92182414fc182
?
--
Michael
Kalle Valo
2018-08-24 08:23:21 UTC
Permalink
Post by Michael Büsch
On Thu, 23 Aug 2018 23:00:53 +0530
Post by prabhu
The following commits introduce this regression in 4.18
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=66cffd6daab76caebab26eb803b92182414fc182
Ok. Kalle, can you please revert the commit
66cffd6daab76caebab26eb803b92182414fc182
?
Please submit a proper patch with an explanation why it needs to be
reverted.
--
Kalle Valo
Larry Finger
2018-08-24 16:15:12 UTC
Permalink
Post by Kalle Valo
Post by Michael Büsch
On Thu, 23 Aug 2018 23:00:53 +0530
Post by prabhu
The following commits introduce this regression in 4.18
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=66cffd6daab76caebab26eb803b92182414fc182
Ok. Kalle, can you please revert the commit
66cffd6daab76caebab26eb803b92182414fc182
?
Please submit a proper patch with an explanation why it needs to be
reverted.
Before doing a revert, let's see if we can keep the fix for open firmware, the
situation for which commit 66cffd6daab7 was "needed". I think the following
should do:

diff --git a/drivers/net/wireless/broadcom/b43/dma.c
b/drivers/net/wireless/broadcom/b43/dma.c
index 6b0e1ec346cb..2c37366b3592 100644
--- a/drivers/net/wireless/broadcom/b43/dma.c
+++ b/drivers/net/wireless/broadcom/b43/dma.c
@@ -1519,12 +1519,14 @@ void b43_dma_handle_txstatus(struct b43_wldev *dev,
} else {
/* More than a single header/data pair were missed.
* Report this error, and reset the controller to
- * revive operation.
+ * revive operation. If running the open-source
+ * firmware, then do a restart.
*/
b43dbg(dev->wl,
"Out of order TX status report on DMA ring %d.
Expected %d, but got %d\n",
ring->index, firstused, slot);
- b43_controller_restart(dev, "Out of order TX");
+ if (dev->fw.opensource)
+ b43_controller_restart(dev, "Out of order TX");
return;
}
}

At the moment, I am working with prabhu to see if upgrading his firmware will
help his problem with no change in the driver. If not, then I will have him test
this patch.

Larry
prabhu
2018-08-26 07:23:18 UTC
Permalink
Larry,

Upgrading the firmware didn't fix the issue.

The patch fixes it. My system has been running without any issues
since yesterday.
Post by Larry Finger
Post by Kalle Valo
Post by Michael Büsch
On Thu, 23 Aug 2018 23:00:53 +0530
Post by prabhu
The following commits introduce this regression in 4.18
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=66cffd6daab76caebab26eb803b92182414fc182
Ok. Kalle, can you please revert the commit
66cffd6daab76caebab26eb803b92182414fc182
?
Please submit a proper patch with an explanation why it needs to be
reverted.
Before doing a revert, let's see if we can keep the fix for open firmware, the
situation for which commit 66cffd6daab7 was "needed". I think the following
diff --git a/drivers/net/wireless/broadcom/b43/dma.c
b/drivers/net/wireless/broadcom/b43/dma.c
index 6b0e1ec346cb..2c37366b3592 100644
--- a/drivers/net/wireless/broadcom/b43/dma.c
+++ b/drivers/net/wireless/broadcom/b43/dma.c
@@ -1519,12 +1519,14 @@ void b43_dma_handle_txstatus(struct b43_wldev *dev,
} else {
/* More than a single header/data pair were missed.
* Report this error, and reset the controller to
- * revive operation.
+ * revive operation. If running the open-source
+ * firmware, then do a restart.
*/
b43dbg(dev->wl,
"Out of order TX status report on DMA ring %d.
Expected %d, but got %d\n",
ring->index, firstused, slot);
- b43_controller_restart(dev, "Out of order TX");
+ if (dev->fw.opensource)
+ b43_controller_restart(dev, "Out of order TX");
return;
}
}
At the moment, I am working with prabhu to see if upgrading his firmware will
help his problem with no change in the driver. If not, then I will have him test
this patch.
Larry
Larry Finger
2018-08-26 16:14:38 UTC
Permalink
Post by prabhu
Larry,
Upgrading the firmware didn't fix the issue.
The patch fixes it. My system has been running without any issues
since yesterday.
I did not think the new firmware would help, but it had to be tried. Thanks for
the testing.

@Pradhu & @Taketo: Attached is a new (improved?) patch for you to try. You need
to start from an unmodified 4.18 source. This patch should allow both of your
systems to work and avoid needing to revert Taketo's fix for his setup.

Thanks,

Larry
prabhu
2018-08-27 11:30:23 UTC
Permalink
Larry,

Applied on a clean 4.18.4 source and tested.
It works for me.
Post by Larry Finger
Post by prabhu
Larry,
Upgrading the firmware didn't fix the issue.
The patch fixes it. My system has been running without any issues
since yesterday.
I did not think the new firmware would help, but it had to be tried. Thanks for
the testing.
@Pradhu & @Taketo: Attached is a new (improved?) patch for you to try. You need
to start from an unmodified 4.18 source. This patch should allow both of your
systems to work and avoid needing to revert Taketo's fix for his setup.
Thanks,
Larry
Larry Finger
2018-08-27 15:28:48 UTC
Permalink
Post by prabhu
Larry,
Applied on a clean 4.18.4 source and tested.
It works for me.
Thanks for testing. I will push the patch upstream.

Larry
Taketo Kabe
2018-08-28 12:41:19 UTC
Permalink
Post by Larry Finger
@Pradhu & @Taketo: Attached is a new (improved?) patch for you to try. You need
to start from an unmodified 4.18 source. This patch should allow both of your
systems to work and avoid needing to revert Taketo's fix for his setup.
Thanks,
Larry
Sorry for tha late reply.
Tested out the patch on clean 4.18.5 kernel source; it works as expected.

I also tried out proprietary firmware, but I couldn't reproduce a problem
mentioned in https://marc.info/?l=linux-wireless&m=153504546924558&w=2 .
The proprietary firmware works very sluggishly on my card (BCM4306)
and doesn't stand for practical use for unknown reason.
--
kabe
Larry Finger
2018-08-23 19:20:29 UTC
Permalink
Post by prabhu
Hi,
BCM 4312 wifi card stopped working from kernel version 4.18
After boot up it tries to reconnect for few times and after that it
disconnected completely.
[ 70.826051] [drm:radeon_cs_parser_relocs [radeon]] *ERROR* gem object
lookup failed 0xd
[ 70.826090] [drm:radeon_cs_ioctl [radeon]] *ERROR* Failed to parse
relocation -2!
[ 238.066341] b43-phy0: Controller RESET (Out of order TX) ...
[ 238.306116] b43-phy0: Loading firmware version 666.2 (2011-02-23 01:15:07)
[ 245.443095] b43-phy0: Controller restarted
6=CLASS2_FRAME_FROM_NONAUTH_STA)
[ 285.639719] wlan0: authenticate with 98:de:d0:4b:e6:f6
[ 285.656291] wlan0: send auth to 98:de:d0:4b:e6:f6 (try 1/3)
[ 285.658957] wlan0: authenticated
[ 285.662386] wlan0: associate with 98:de:d0:4b:e6:f6 (try 1/3)
[ 285.665581] wlan0: RX AssocResp from 98:de:d0:4b:e6:f6 (capab=0x431
status=0 aid=2)
[ 285.666396] wlan0: associated
[ 309.348063] b43-phy0: Controller RESET (Out of order TX) ...
[ 309.592485] b43-phy0: Loading firmware version 666.2 (2011-02-23 01:15:07)
[ 316.742829] b43-phy0: Controller restarted
[ 329.268570] perf: interrupt took too long (2513 > 2500), lowering
kernel.perf_event_max_sample_rate to 79500
6=CLASS2_FRAME_FROM_NONAUTH_STA)
[ 400.636523] wlan0: authenticate with 98:de:d0:4b:e6:f6
[ 400.652666] wlan0: send auth to 98:de:d0:4b:e6:f6 (try 1/3)
[ 400.655070] wlan0: authenticated
[ 400.655447] wlan0: associate with 98:de:d0:4b:e6:f6 (try 1/3)
[ 400.658583] wlan0: RX AssocResp from 98:de:d0:4b:e6:f6 (capab=0x431
status=0 aid=2)
[ 400.659276] wlan0: associated
[ 412.256359] perf: interrupt took too long (3246 > 3141), lowering
kernel.perf_event_max_sample_rate to 61500
[ 555.832079] b43-phy0: Controller RESET (Out of order TX) ...
[ 556.082050] b43-phy0: Loading firmware version 666.2 (2011-02-23 01:15:07)
[ 563.172269] b43-phy0: Controller restarted
[ 619.628212] perf: interrupt took too long (4066 > 4057), lowering
kernel.perf_event_max_sample_rate to 48900
6=CLASS2_FRAME_FROM_NONAUTH_STA)
[ 766.317708] wlan0: authenticate with 98:de:d0:4b:e6:f6
[ 766.338515] wlan0: send auth to 98:de:d0:4b:e6:f6 (try 1/3)
[ 766.345731] wlan0: authenticated
[ 766.347959] wlan0: associate with 98:de:d0:4b:e6:f6 (try 1/3)
[ 766.352674] wlan0: RX AssocResp from 98:de:d0:4b:e6:f6 (capab=0x431
status=0 aid=2)
[ 766.353351] wlan0: associated
[ 801.234010] perf: interrupt took too long (5097 > 5082), lowering
kernel.perf_event_max_sample_rate to 39000
[ 1780.122837] perf: interrupt took too long (6979 > 6371), lowering
kernel.perf_event_max_sample_rate to 28500
[ 2347.465072] b43-phy0: Controller RESET (Out of order TX) ...
[ 2347.705572] b43-phy0: Loading firmware version 666.2 (2011-02-23 01:15:07)
[ 2354.735641] b43-phy0: Controller restarted
6=CLASS2_FRAME_FROM_NONAUTH_STA)
[ 2388.901388] wlan0: authenticate with 98:de:d0:4b:e6:f6
[ 2388.918575] wlan0: send auth to 98:de:d0:4b:e6:f6 (try 1/3)
[ 2388.920893] wlan0: authenticated
[ 2388.921243] wlan0: associate with 98:de:d0:4b:e6:f6 (try 1/3)
[ 2388.924310] wlan0: RX AssocResp from 98:de:d0:4b:e6:f6 (capab=0x431
status=0 aid=2)
[ 2388.925336] wlan0: associated
[ 2973.297286] b43-phy0: Controller RESET (Out of order TX) ...
[ 2973.532792] b43-phy0: Loading firmware version 666.2 (2011-02-23 01:15:07)
[ 2980.496495] b43-phy0: Controller restarted
[ 5306.648339] wlan0: deauthenticating from 98:de:d0:4b:e6:f6 by local
choice (Reason: 3=DEAUTH_LEAVING)
[ 5306.909377] b43-phy0: Loading firmware version 666.2 (2011-02-23 01:15:07)
[ 5313.899248] IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not ready
[ 5320.225907] b43-phy0: Loading firmware version 666.2 (2011-02-23 01:15:07)
[ 5327.189103] IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not ready
[ 5328.567334] wlan0: authenticate with 98:de:d0:4b:e6:f6
[ 5328.599382] wlan0: send auth to 98:de:d0:4b:e6:f6 (try 1/3)
[ 5328.601751] wlan0: authenticated
[ 5328.602238] wlan0: associate with 98:de:d0:4b:e6:f6 (try 1/3)
[ 5328.605468] wlan0: RX AssocResp from 98:de:d0:4b:e6:f6 (capab=0x431
status=0 aid=2)
[ 5328.606369] wlan0: associated
[ 5328.615757] IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready
[ 5348.732714] b43-phy0: Controller RESET (Out of order TX) ...
The following commits introduce this regression in 4.18
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=66cffd6daab76caebab26eb803b92182414fc182
1. Downgrade the kernel to 4.17.14 - Fixes the Issue
2. Revert that commit in 4.18.4 - Fixes the Issue
Prabhu,

Thanks for your diagnosis of the problem.

Unfortunately, I was not able to reproduce your problem with my BCM4312 using
kernel 4.18. The only difference I could see is that I am using firmware
version 784.2 rather than 666.2, which you are using. I do not think there was
any difference for LP cores, thus I doubt that the differing versions makes any
difference, but I would like you to see if you can update the firmware. If your
distro does not support newer firmware, let me know and I can send you a couple
of files needed to do an update.

If updating the firmware does not help, then please try the attached patch for
mainline 4.18. It uses the controller reset from the offending patch, but limits
the resets to once every 40 out-of-order reports.

Larry
prabhu
2018-08-24 07:54:19 UTC
Permalink
Larry,

I am using archlinux and in their wiki they specifically mentioned to
not update firmware for BCM4312.
https://wiki.archlinux.org/index.php/broadcom_wireless

From the build script I can see that I am using version
"broadcom-wl-5.100.138.tar.bz2."
And I guess, you ask me to update to version
"broadcom-wl-6.30.163.46.tar.bz2", which they suggest not to do.

This is the reason I stick with older FW version.

So my question is,
do you still want me to update the firmware or try with the attached patch?
Post by Larry Finger
Post by prabhu
Hi,
BCM 4312 wifi card stopped working from kernel version 4.18
After boot up it tries to reconnect for few times and after that it
disconnected completely.
[ 70.826051] [drm:radeon_cs_parser_relocs [radeon]] *ERROR* gem object
lookup failed 0xd
[ 70.826090] [drm:radeon_cs_ioctl [radeon]] *ERROR* Failed to parse
relocation -2!
[ 238.066341] b43-phy0: Controller RESET (Out of order TX) ...
[ 238.306116] b43-phy0: Loading firmware version 666.2 (2011-02-23 01:15:07)
[ 245.443095] b43-phy0: Controller restarted
6=CLASS2_FRAME_FROM_NONAUTH_STA)
[ 285.639719] wlan0: authenticate with 98:de:d0:4b:e6:f6
[ 285.656291] wlan0: send auth to 98:de:d0:4b:e6:f6 (try 1/3)
[ 285.658957] wlan0: authenticated
[ 285.662386] wlan0: associate with 98:de:d0:4b:e6:f6 (try 1/3)
[ 285.665581] wlan0: RX AssocResp from 98:de:d0:4b:e6:f6 (capab=0x431
status=0 aid=2)
[ 285.666396] wlan0: associated
[ 309.348063] b43-phy0: Controller RESET (Out of order TX) ...
[ 309.592485] b43-phy0: Loading firmware version 666.2 (2011-02-23 01:15:07)
[ 316.742829] b43-phy0: Controller restarted
[ 329.268570] perf: interrupt took too long (2513 > 2500), lowering
kernel.perf_event_max_sample_rate to 79500
6=CLASS2_FRAME_FROM_NONAUTH_STA)
[ 400.636523] wlan0: authenticate with 98:de:d0:4b:e6:f6
[ 400.652666] wlan0: send auth to 98:de:d0:4b:e6:f6 (try 1/3)
[ 400.655070] wlan0: authenticated
[ 400.655447] wlan0: associate with 98:de:d0:4b:e6:f6 (try 1/3)
[ 400.658583] wlan0: RX AssocResp from 98:de:d0:4b:e6:f6 (capab=0x431
status=0 aid=2)
[ 400.659276] wlan0: associated
[ 412.256359] perf: interrupt took too long (3246 > 3141), lowering
kernel.perf_event_max_sample_rate to 61500
[ 555.832079] b43-phy0: Controller RESET (Out of order TX) ...
[ 556.082050] b43-phy0: Loading firmware version 666.2 (2011-02-23 01:15:07)
[ 563.172269] b43-phy0: Controller restarted
[ 619.628212] perf: interrupt took too long (4066 > 4057), lowering
kernel.perf_event_max_sample_rate to 48900
6=CLASS2_FRAME_FROM_NONAUTH_STA)
[ 766.317708] wlan0: authenticate with 98:de:d0:4b:e6:f6
[ 766.338515] wlan0: send auth to 98:de:d0:4b:e6:f6 (try 1/3)
[ 766.345731] wlan0: authenticated
[ 766.347959] wlan0: associate with 98:de:d0:4b:e6:f6 (try 1/3)
[ 766.352674] wlan0: RX AssocResp from 98:de:d0:4b:e6:f6 (capab=0x431
status=0 aid=2)
[ 766.353351] wlan0: associated
[ 801.234010] perf: interrupt took too long (5097 > 5082), lowering
kernel.perf_event_max_sample_rate to 39000
[ 1780.122837] perf: interrupt took too long (6979 > 6371), lowering
kernel.perf_event_max_sample_rate to 28500
[ 2347.465072] b43-phy0: Controller RESET (Out of order TX) ...
[ 2347.705572] b43-phy0: Loading firmware version 666.2 (2011-02-23 01:15:07)
[ 2354.735641] b43-phy0: Controller restarted
6=CLASS2_FRAME_FROM_NONAUTH_STA)
[ 2388.901388] wlan0: authenticate with 98:de:d0:4b:e6:f6
[ 2388.918575] wlan0: send auth to 98:de:d0:4b:e6:f6 (try 1/3)
[ 2388.920893] wlan0: authenticated
[ 2388.921243] wlan0: associate with 98:de:d0:4b:e6:f6 (try 1/3)
[ 2388.924310] wlan0: RX AssocResp from 98:de:d0:4b:e6:f6 (capab=0x431
status=0 aid=2)
[ 2388.925336] wlan0: associated
[ 2973.297286] b43-phy0: Controller RESET (Out of order TX) ...
[ 2973.532792] b43-phy0: Loading firmware version 666.2 (2011-02-23 01:15:07)
[ 2980.496495] b43-phy0: Controller restarted
[ 5306.648339] wlan0: deauthenticating from 98:de:d0:4b:e6:f6 by local
choice (Reason: 3=DEAUTH_LEAVING)
[ 5306.909377] b43-phy0: Loading firmware version 666.2 (2011-02-23 01:15:07)
[ 5313.899248] IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not ready
[ 5320.225907] b43-phy0: Loading firmware version 666.2 (2011-02-23 01:15:07)
[ 5327.189103] IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not ready
[ 5328.567334] wlan0: authenticate with 98:de:d0:4b:e6:f6
[ 5328.599382] wlan0: send auth to 98:de:d0:4b:e6:f6 (try 1/3)
[ 5328.601751] wlan0: authenticated
[ 5328.602238] wlan0: associate with 98:de:d0:4b:e6:f6 (try 1/3)
[ 5328.605468] wlan0: RX AssocResp from 98:de:d0:4b:e6:f6 (capab=0x431
status=0 aid=2)
[ 5328.606369] wlan0: associated
[ 5328.615757] IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready
[ 5348.732714] b43-phy0: Controller RESET (Out of order TX) ...
The following commits introduce this regression in 4.18
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=66cffd6daab76caebab26eb803b92182414fc182
1. Downgrade the kernel to 4.17.14 - Fixes the Issue
2. Revert that commit in 4.18.4 - Fixes the Issue
Prabhu,
Thanks for your diagnosis of the problem.
Unfortunately, I was not able to reproduce your problem with my BCM4312 using
kernel 4.18. The only difference I could see is that I am using firmware
version 784.2 rather than 666.2, which you are using. I do not think there was
any difference for LP cores, thus I doubt that the differing versions makes any
difference, but I would like you to see if you can update the firmware. If your
distro does not support newer firmware, let me know and I can send you a couple
of files needed to do an update.
If updating the firmware does not help, then please try the attached patch for
mainline 4.18. It uses the controller reset from the offending patch, but limits
the resets to once every 40 out-of-order reports.
Larry
Loading...