lwfinger / rtl8723be

This repo is obsolete. Use lwfinger/rtlwifi_new instead.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Occasional Connection Drops

ole-de opened this issue · comments

Hi,

from time to time the driver looses the connection to the AP and does not get up again. Only removing the module and reloading it afterwards may solve the problem. But unfortunately reloading sometimes causes a kernel oops. This is what I found in my syslog at the time when the problem occurred:

Feb 23 10:17:01 johann CRON[3082]: (root) CMD ( cd / && run-parts --report /etc/cron.hourly)
Feb 23 10:44:02 johann kernel: [ 4636.247435] rtlwifi-0:_rtl_pci_interrupt():<10000-1> rx overflow !
Feb 23 10:45:12 johann kernel: [ 4706.189074] [drm:intel_dp_set_link_train] ERROR Timed out waiting for DP idle patterns
Feb 23 10:45:12 johann kernel: [ 4706.189082] [drm:i915_write32] ERROR Unknown unclaimed register before writing to 64040
Feb 23 10:48:07 johann kernel: [ 4880.532044] rtlwifi-0:_rtl_pci_interrupt():<10000-1> rx overflow !
Feb 23 10:50:04 johann kernel: [ 4997.856635] rtlwifi-0:_rtl_pci_interrupt():<10000-1> rx overflow !
Feb 23 10:53:50 johann NetworkManager[1124]: caught signal 15, shutting down normally.

Hope that helps.

Thanks, Ole

I am also getting this bug, using the second-to-latest commit (the latest commit does not compile)

Here is an extensive log before, during, and after the crash, right before I reloaded the module:

[  373.487859] rtlwifi-0:rtl_lps_set_psmode():<0-1> FW LPS enter ps_mode:3
[  373.487869] rtl8723be: 
[  373.487872] In process "kworker/1:1" (pid 66):
[  373.487877] rtl92c_set_fw_pwrmode(): u1_h2c_set_pwrmode 
[  373.487880] 01 10 05 00  00 

[  375.194481] rtlwifi-0:rtl_lps_set_psmode():<10000-1> FW LPS leave ps_mode:0
[  375.194541] rtl8723be: 
[  375.194545] In process "swapper/4" (pid 0):
[  375.194551] rtl92c_set_fw_pwrmode(): u1_h2c_set_pwrmode 
[  375.194554] 00 10 05 00  0C 

[  377.504642] rtlwifi-0:rtl_lps_set_psmode():<0-1> FW LPS enter ps_mode:3
[  377.504650] rtl8723be: 
[  377.504653] In process "kworker/1:1" (pid 66):
[  377.504657] rtl92c_set_fw_pwrmode(): u1_h2c_set_pwrmode 
[  377.504659] 01 10 05 00  00 

[  378.264648] rtlwifi-0:rtl_lps_set_psmode():<10000-1> FW LPS leave ps_mode:0
[  378.264708] rtl8723be: 
[  378.264711] In process "swapper/0" (pid 0):
[  378.264715] rtl92c_set_fw_pwrmode(): u1_h2c_set_pwrmode 
[  378.264718] 00 10 05 00  0C 

[  381.521317] rtlwifi-0:rtl_lps_set_psmode():<0-1> FW LPS enter ps_mode:3
[  381.521322] rtl8723be: 
[  381.521324] In process "kworker/1:1" (pid 66):
[  381.521326] rtl92c_set_fw_pwrmode(): u1_h2c_set_pwrmode 
[  381.521328] 01 10 05 00  00 

[  383.529735] rtlwifi-0:rtl_watchdog_wq_callback():<0-0> AP off for 2 s
[  385.760272] rtlwifi-0:rtl_lps_set_psmode():<10000-1> FW LPS leave ps_mode:0
[  385.760332] rtl8723be: 
[  385.760336] In process "swapper/0" (pid 0):
[  385.760340] rtl92c_set_fw_pwrmode(): u1_h2c_set_pwrmode 
[  385.760343] 00 10 05 00  0C 

[  389.554710] rtlwifi-0:rtl_lps_set_psmode():<0-1> FW LPS enter ps_mode:3
[  389.554719] rtl8723be: 
[  389.554723] In process "kworker/1:1" (pid 66):
[  389.554727] rtl92c_set_fw_pwrmode(): u1_h2c_set_pwrmode 
[  389.554730] 01 10 05 00  00 

[  410.141107] wlp3s0: deauthenticated from 00:1c:10:3b:2e:3f (Reason: 7)
[  410.141664] rtlwifi-0:rtl_op_set_key():<0-0> Disabling hardware based encryption for keyidx: 0, mac: 00:1c:10:3b:2e:3f
[  410.141675] rtlwifi-0:rtl_op_set_key():<0-0> alg:CCMP
[  410.141681] rtlwifi-0:rtl_op_set_key():<0-0> set enable_hw_sec, key_type:4(OPEN:0 WEP40:1 TKIP:2 AES:4 WEP104:5)
[  410.141688] rtl8723be-0:rtl8723be_enable_hw_security_config():<0-0> PairwiseEncAlgorithm = 4 GroupEncAlgorithm = 4
[  410.141741] rtl8723be-0:rtl8723be_enable_hw_security_config():<0-0> The SECR-value cc 
[  410.141748] rtlwifi-0:rtl_op_set_key():<0-0> disable key delete one entry
[  410.141752] rtlwifi-0:rtl_cam_delete_one_entry():<0-0> key_idx:0
[  410.141806] rtlwifi-0:rtl_cam_delete_one_entry():<0-0> rtl_cam_delete_one_entry(): WRITE A4: 0 
[  410.141809] rtlwifi-0:rtl_cam_delete_one_entry():<0-0> rtl_cam_delete_one_entry(): WRITE A0: 80010000 
[  410.141824] rtlwifi-0:rtl_op_sta_remove():<0-0> Remove sta addr is 00:1c:10:3b:2e:3f
[  410.141900] rtlwifi-0:rtl_lps_set_psmode():<0-1> FW LPS leave ps_mode:0
[  410.141954] rtl8723be: 
[  410.141957] In process "kworker/u16:5" (pid 116):
[  410.141960] rtl92c_set_fw_pwrmode(): u1_h2c_set_pwrmode 
[  410.141962] 00 10 05 00  0C 

[  410.142019] rtlwifi-0:rtl_op_bss_info_changed():<0-0> BSS_CHANGED_UN_ASSOC
[  410.142105] rtlwifi-0:rtl_op_bss_info_changed():<0-0> bssid: 00:00:00:00:00:00
[  410.142269] rtlwifi-0:rtl_op_set_key():<0-0> Disabling hardware based encryption for keyidx: 1, mac: ff:ff:ff:ff:ff:ff
[  410.142274] rtlwifi-0:rtl_op_set_key():<0-0> alg:CCMP
[  410.142278] rtlwifi-0:rtl_op_set_key():<0-0> disable key delete one entry
[  410.142281] rtlwifi-0:rtl_cam_delete_one_entry():<0-0> key_idx:1
[  410.142334] rtlwifi-0:rtl_cam_delete_one_entry():<0-0> rtl_cam_delete_one_entry(): WRITE A4: 0 
[  410.142338] rtlwifi-0:rtl_cam_delete_one_entry():<0-0> rtl_cam_delete_one_entry(): WRITE A0: 80010008 
[  410.172342] cfg80211: Calling CRDA to update world regulatory domain
[  410.242169] rtl8723be-0:_rtl8723be_phy_set_rf_power_state():<0-0> eRf Off/Sleep: 1 times TcbBusyQueue[4] =1 before doze!
[  410.242189] rtl8723be-0:_rtl8723be_phy_set_rf_power_state():<0-0> eRf Off/Sleep: 2 times TcbBusyQueue[4] =1 before doze!
[  410.242203] rtl8723be-0:_rtl8723be_phy_set_rf_power_state():<0-0> eRf Off/Sleep: 3 times TcbBusyQueue[4] =1 before doze!
[  410.242217] rtl8723be-0:_rtl8723be_phy_set_rf_power_state():<0-0> eRf Off/Sleep: 4 times TcbBusyQueue[4] =1 before doze!
[  410.242231] rtl8723be-0:_rtl8723be_phy_set_rf_power_state():<0-0> eRf Off/Sleep: 5 times TcbBusyQueue[4] =1 before doze!
[  410.242245] rtl8723be-0:_rtl8723be_phy_set_rf_power_state():<0-0> eRf Off/Sleep: 6 times TcbBusyQueue[4] =1 before doze!
[  410.242259] rtl8723be-0:_rtl8723be_phy_set_rf_power_state():<0-0> eRf Off/Sleep: 7 times TcbBusyQueue[4] =1 before doze!
[  410.242273] rtl8723be-0:_rtl8723be_phy_set_rf_power_state():<0-0> eRf Off/Sleep: 8 times TcbBusyQueue[4] =1 before doze!
[  410.242287] rtl8723be-0:_rtl8723be_phy_set_rf_power_state():<0-0> eRf Off/Sleep: 9 times TcbBusyQueue[4] =1 before doze!
[  410.242301] rtl8723be-0:_rtl8723be_phy_set_rf_power_state():<0-0> eRf Off/Sleep: 10 times TcbBusyQueue[4] =1 before doze!
[  410.242315] rtl8723be-0:_rtl8723be_phy_set_rf_power_state():<0-0> eRf Off/Sleep: 11 times TcbBusyQueue[4] =1 before doze!
[  410.242329] rtl8723be-0:_rtl8723be_phy_set_rf_power_state():<0-0> eRf Off/Sleep: 12 times TcbBusyQueue[4] =1 before doze!
[  410.242343] rtl8723be-0:_rtl8723be_phy_set_rf_power_state():<0-0> eRf Off/Sleep: 13 times TcbBusyQueue[4] =1 before doze!
[  410.242356] rtl8723be-0:_rtl8723be_phy_set_rf_power_state():<0-0> eRf Off/Sleep: 14 times TcbBusyQueue[4] =1 before doze!
[  410.242370] rtl8723be-0:_rtl8723be_phy_set_rf_power_state():<0-0> eRf Off/Sleep: 15 times TcbBusyQueue[4] =1 before doze!
[  410.242384] rtl8723be-0:_rtl8723be_phy_set_rf_power_state():<0-0> eRf Off/Sleep: 16 times TcbBusyQueue[4] =1 before doze!
[  410.242398] rtl8723be-0:_rtl8723be_phy_set_rf_power_state():<0-0> eRf Off/Sleep: 17 times TcbBusyQueue[4] =1 before doze!
[  410.242412] rtl8723be-0:_rtl8723be_phy_set_rf_power_state():<0-0> eRf Off/Sleep: 18 times TcbBusyQueue[4] =1 before doze!
[  410.242426] rtl8723be-0:_rtl8723be_phy_set_rf_power_state():<0-0> eRf Off/Sleep: 19 times TcbBusyQueue[4] =1 before doze!
[  410.242440] rtl8723be-0:_rtl8723be_phy_set_rf_power_state():<0-0> eRf Off/Sleep: 20 times TcbBusyQueue[4] =1 before doze!
[  410.242453] rtl8723be-0:_rtl8723be_phy_set_rf_power_state():<0-0> eRf Off/Sleep: 21 times TcbBusyQueue[4] =1 before doze!
[  410.242467] rtl8723be-0:_rtl8723be_phy_set_rf_power_state():<0-0> eRf Off/Sleep: 22 times TcbBusyQueue[4] =1 before doze!
[  410.242481] rtl8723be-0:_rtl8723be_phy_set_rf_power_state():<0-0> eRf Off/Sleep: 23 times TcbBusyQueue[4] =1 before doze!
[  410.242495] rtl8723be-0:_rtl8723be_phy_set_rf_power_state():<0-0> eRf Off/Sleep: 24 times TcbBusyQueue[4] =1 before doze!
[  410.242509] rtl8723be-0:_rtl8723be_phy_set_rf_power_state():<0-0> eRf Off/Sleep: 25 times TcbBusyQueue[4] =1 before doze!
[  410.242523] rtl8723be-0:_rtl8723be_phy_set_rf_power_state():<0-0> eRf Off/Sleep: 26 times TcbBusyQueue[4] =1 before doze!
[  410.242537] rtl8723be-0:_rtl8723be_phy_set_rf_power_state():<0-0> eRf Off/Sleep: 27 times TcbBusyQueue[4] =1 before doze!
[  410.242550] rtl8723be-0:_rtl8723be_phy_set_rf_power_state():<0-0> eRf Off/Sleep: 28 times TcbBusyQueue[4] =1 before doze!
[  410.242564] rtl8723be-0:_rtl8723be_phy_set_rf_power_state():<0-0> eRf Off/Sleep: 29 times TcbBusyQueue[4] =1 before doze!
[  410.242578] rtl8723be-0:_rtl8723be_phy_set_rf_power_state():<0-0> eRf Off/Sleep: 30 times TcbBusyQueue[4] =1 before doze!
[  410.242592] rtl8723be-0:_rtl8723be_phy_set_rf_power_state():<0-0> eRf Off/Sleep: 31 times TcbBusyQueue[4] =1 before doze!
[  410.242606] rtl8723be-0:_rtl8723be_phy_set_rf_power_state():<0-0> eRf Off/Sleep: 32 times TcbBusyQueue[4] =1 before doze!
[  410.242620] rtl8723be-0:_rtl8723be_phy_set_rf_power_state():<0-0> eRf Off/Sleep: 33 times TcbBusyQueue[4] =1 before doze!
[  410.242634] rtl8723be-0:_rtl8723be_phy_set_rf_power_state():<0-0> eRf Off/Sleep: 34 times TcbBusyQueue[4] =1 before doze!
[  410.242648] rtl8723be-0:_rtl8723be_phy_set_rf_power_state():<0-0> eRf Off/Sleep: 35 times TcbBusyQueue[4] =1 before doze!
[  410.242662] rtl8723be-0:_rtl8723be_phy_set_rf_power_state():<0-0> eRf Off/Sleep: 36 times TcbBusyQueue[4] =1 before doze!
[  410.242676] rtl8723be-0:_rtl8723be_phy_set_rf_power_state():<0-0> eRf Off/Sleep: 37 times TcbBusyQueue[4] =1 before doze!
[  410.242690] rtl8723be-0:_rtl8723be_phy_set_rf_power_state():<0-0> eRf Off/Sleep: 38 times TcbBusyQueue[4] =1 before doze!
[  410.242704] rtl8723be-0:_rtl8723be_phy_set_rf_power_state():<0-0> eRf Off/Sleep: 39 times TcbBusyQueue[4] =1 before doze!
[  410.242718] rtl8723be-0:_rtl8723be_phy_set_rf_power_state():<0-0> eRf Off/Sleep: 40 times TcbBusyQueue[4] =1 before doze!
[  410.242732] rtl8723be-0:_rtl8723be_phy_set_rf_power_state():<0-0> eRf Off/Sleep: 41 times TcbBusyQueue[4] =1 before doze!
[  410.242746] rtl8723be-0:_rtl8723be_phy_set_rf_power_state():<0-0> eRf Off/Sleep: 42 times TcbBusyQueue[4] =1 before doze!
[  410.242760] rtl8723be-0:_rtl8723be_phy_set_rf_power_state():<0-0> eRf Off/Sleep: 43 times TcbBusyQueue[4] =1 before doze!
[  410.242773] rtl8723be-0:_rtl8723be_phy_set_rf_power_state():<0-0> eRf Off/Sleep: 44 times TcbBusyQueue[4] =1 before doze!
[  410.242787] rtl8723be-0:_rtl8723be_phy_set_rf_power_state():<0-0> eRf Off/Sleep: 45 times TcbBusyQueue[4] =1 before doze!
[  410.242801] rtl8723be-0:_rtl8723be_phy_set_rf_power_state():<0-0> eRf Off/Sleep: 46 times TcbBusyQueue[4] =1 before doze!
[  410.242815] rtl8723be-0:_rtl8723be_phy_set_rf_power_state():<0-0> eRf Off/Sleep: 47 times TcbBusyQueue[4] =1 before doze!
[  410.242829] rtl8723be-0:_rtl8723be_phy_set_rf_power_state():<0-0> eRf Off/Sleep: 48 times TcbBusyQueue[4] =1 before doze!
[  410.242843] rtl8723be-0:_rtl8723be_phy_set_rf_power_state():<0-0> eRf Off/Sleep: 49 times TcbBusyQueue[4] =1 before doze!
[  410.242856] rtl8723be-0:_rtl8723be_phy_set_rf_power_state():<0-0> eRf Off/Sleep: 50 times TcbBusyQueue[4] =1 before doze!
[  410.242870] rtl8723be-0:_rtl8723be_phy_set_rf_power_state():<0-0> eRf Off/Sleep: 51 times TcbBusyQueue[4] =1 before doze!
[  410.242884] rtl8723be-0:_rtl8723be_phy_set_rf_power_state():<0-0> eRf Off/Sleep: 52 times TcbBusyQueue[4] =1 before doze!
[  410.242898] rtl8723be-0:_rtl8723be_phy_set_rf_power_state():<0-0> eRf Off/Sleep: 53 times TcbBusyQueue[4] =1 before doze!
[  410.242912] rtl8723be-0:_rtl8723be_phy_set_rf_power_state():<0-0> eRf Off/Sleep: 54 times TcbBusyQueue[4] =1 before doze!
[  410.242926] rtl8723be-0:_rtl8723be_phy_set_rf_power_state():<0-0> eRf Off/Sleep: 55 times TcbBusyQueue[4] =1 before doze!
[  410.242940] rtl8723be-0:_rtl8723be_phy_set_rf_power_state():<0-0> eRf Off/Sleep: 56 times TcbBusyQueue[4] =1 before doze!
[  410.242953] rtl8723be-0:_rtl8723be_phy_set_rf_power_state():<0-0> eRf Off/Sleep: 57 times TcbBusyQueue[4] =1 before doze!
[  410.242967] rtl8723be-0:_rtl8723be_phy_set_rf_power_state():<0-0> eRf Off/Sleep: 58 times TcbBusyQueue[4] =1 before doze!
[  410.242981] rtl8723be-0:_rtl8723be_phy_set_rf_power_state():<0-0> eRf Off/Sleep: 59 times TcbBusyQueue[4] =1 before doze!
[  410.242995] rtl8723be-0:_rtl8723be_phy_set_rf_power_state():<0-0> eRf Off/Sleep: 60 times TcbBusyQueue[4] =1 before doze!
[  410.243009] rtl8723be-0:_rtl8723be_phy_set_rf_power_state():<0-0> eRf Off/Sleep: 61 times TcbBusyQueue[4] =1 before doze!
[  410.243023] rtl8723be-0:_rtl8723be_phy_set_rf_power_state():<0-0> eRf Off/Sleep: 62 times TcbBusyQueue[4] =1 before doze!
[  410.243037] rtl8723be-0:_rtl8723be_phy_set_rf_power_state():<0-0> eRf Off/Sleep: 63 times TcbBusyQueue[4] =1 before doze!
[  410.243050] rtl8723be-0:_rtl8723be_phy_set_rf_power_state():<0-0> eRf Off/Sleep: 64 times TcbBusyQueue[4] =1 before doze!
[  410.243065] rtl8723be-0:_rtl8723be_phy_set_rf_power_state():<0-0> 
 ERFSLEEP: 64 times TcbBusyQueue[4] = 1 !
[  410.243069] rtl8723be-0:_rtl8723be_phy_set_rf_power_state():<0-0> IPS Set eRf nic disable
[  450.993126] rtl8723be-0:_rtl8723be_phy_set_rf_power_state():<0-1> IPS Set eRf nic enable
[  451.002303] rtl8723be-0:rtl8723be_download_fw():<0-1> normal Firmware SIZE 30996 
[  451.002306] rtl8723be-0:rtl8723be_download_fw():<0-1> Firmware Version(15), Signature(0x5301),Size(32)
[  451.358783] rtl8723be-0:rtl8723be_enable_hw_security_config():<0-1> PairwiseEncAlgorithm = 4 GroupEncAlgorithm = 4
[  451.358786] rtl8723be-0:rtl8723be_enable_hw_security_config():<0-1> The SECR-value cc 
[  451.767065] cfg80211: Calling CRDA to update world regulatory domain
[  451.785956] rtlwifi-0:rtl_pci_probe():<0-0> mem mapped space: start: 0xf7900000 len:00004000 flags:00140204, after map:0xffffc90018ef0000
[  451.785974] rtlwifi-0:_rtl_pci_find_adapter():<0-0> Pci Bridge Vendor is found index: 0
[  451.785978] rtlwifi-0:_rtl_pci_find_adapter():<0-0> pcidev busnumber:devnumber:funcnumber:vendor:link_ctl 3:0:0:10ec:0
[  451.785981] rtlwifi-0:_rtl_pci_find_adapter():<0-0> pci_bridge busnumber:devnumber:funcnumber:vendor:pcie_cap:link_ctl_reg:amd 0:28:2:8086:40:40:0
[  451.787196] rtl8723be-0:rtl8723be_read_eeprom_info():<0-0> Boot from EFUSE

I think it happens when nothing is transmitted.
Running ping -i 6 router_addres seems to fix the problem.

I actually fixed it by disabling firmware powersaving as a module option (fwips=0). It does conflict with the more broad ips=0, though. It only worked w/o ips=0.

Could you elaborate a little more on how you worked around the issue? Did you use fwips=0 as an argument for make or while loading the kernel module? I'm using the latest commit and my connection keeps dropping on me.

Make a file in /etc/modprobe.d/*.conf (doesn't really matter what the name is, I called mine rtl8723be.conf)

In the file, copy-paste this in:

#Prevents the WiFi card from automatically sleeping and halting connection
options rtl8723be fwlps=0 swlps=0

Works partially for me. Web browsing is okay, but when gaming my connection drops often enough that a new wifi card is on its way from Amazon.

Thanks I'm trying the configuration. I'll post back if it fixes the issue for me.

I am using this in /etc/modprobe.d/rtl8723be.conf:

options rtl8723be fwlps=0

It's my father's box, and he states he hasn't got a single drop since I added it. But for sure, he's not doing any gaming...

Cheers, Ole

It seems to be working for me, but I'm not doing any gaming either. I haven't had a single drop.

Just for reference, in case anyone is thinking about using this card, the problem came back even with fwlps=0 and swlps=0. I would not recommend using this card at the moment. It disconnects very quickly.

commented

encountered the same problem.

I have the same problem in a Lenovo G40-70 and kernel 3.13.0-35. Any updates on this? any clues on how to troubleshoot? Any logs we can provide to help?

Merely saying you have drops does not help fix it. Please state what dmesg has to say about the reason for dropping the connection. With that info, it might be possible to fix the driver. Without such info, there is essentially no chance.

I installed kernel 3.15.0 from http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.15-utopic/, compiled the rtl8723be module from the master brancch of this repo and things are working much better. If I keep the laptop connected to the power supply, the connection stays up and fast.

However, if I disconnect the charger, the connection drops after 5 minutes or so and refuses to re-connect until I connect the charger again. Turning off power management for the wifi card with iwconfig wlan1 power off doesn't help.

I see things like the following in the dmesg output. The full output of dmesg can be seen at https://gist.github.com/rvega/934d7f80bcc0f747b7e0

[ 345.344531] rtlwifi-0:rtl_watchdog_wq_callback():<0-0> AP off, try to reconnect now
[ 345.344590] wlan1: Connection to AP 00:24:17:c1:e9:2b lost
[ 345.365610] cfg80211: Calling CRDA to update world regulatory domain
[ 345.371708] cfg80211: World regulatory domain updated:
[ 345.371717] cfg80211: DFS Master region: unset
[ 345.371720] cfg80211: (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp), (dfs_cac_time)
[ 345.371726] cfg80211: (2402000 KHz - 2472000 KHz @ 40000 KHz), (300 mBi, 2000 mBm), (N/A)
[ 345.371731] cfg80211: (2457000 KHz - 2482000 KHz @ 40000 KHz), (300 mBi, 2000 mBm), (N/A)
[ 345.371735] cfg80211: (2474000 KHz - 2494000 KHz @ 20000 KHz), (300 mBi, 2000 mBm), (N/A)
[ 345.371738] cfg80211: (5170000 KHz - 5250000 KHz @ 40000 KHz), (300 mBi, 2000 mBm), (N/A)
[ 345.371742] cfg80211: (5735000 KHz - 5835000 KHz @ 40000 KHz), (300 mBi, 2000 mBm), (N/A)
[ 346.768736] wlan1: authenticate with 00:24:17:c1:e9:2b
[ 346.788104] wlan1: send auth to 00:24:17:c1:e9:2b (try 1/3)
[ 347.455092] wlan1: send auth to 00:24:17:c1:e9:2b (try 2/3)
[ 348.453930] wlan1: send auth to 00:24:17:c1:e9:2b (try 3/3)
[ 349.440986] wlan1: authentication with 00:24:17:c1:e9:2b timed out

Thanks for the complete report. That disconnect message indicates that the device has lost the ability to receive.

After the condition occurs, do you need to do anything other than reconnect the charger to reestablish the connection?

What make/model is the computer?

To connect again, I need to turn off wireless (using the gnome thingy on the top panel, or the gnome settings manager) and then on again. Iḿ not sure what this does under the hood. Doing rmmod and then modprobe also works.

The computer is a Lenovo G40-70

Those recovery methods all involve a reset of the hardware.

It seems likely that your device is extremely voltage sensitive, and that your Lenovo is supplying a slightly lower voltage when on the battery than it is with the charger. I will pass this thread on to Realtek to see if they have any better ideas.

There is a newer version of the driver that I would like you to try. It is located in http://github.com/lwfinger/rtlwifi_new.git. Please see if it has the same issues.

I won't have access to that computer until the weekend. I'll try then and let you know how it goes. Thanks!

The rtlwifi_new driver for rtl8723be works fine for me so far. No drops. I'm using "options rtl8723be fwlps=0 swlps=0". My laptop is a Lenovo Z50-70. I'll monitor and let you know if it turns out otherwise. This old rtl8723be driver kept disconnecting.

The rtlwifi_new driver for rtl8723be works perfectly so far. I'm using Fedora. So, I rebuild the latest version of this driver and install it into every new kernel that comes from Fedora updates. Hopefully, this would get into the official kernel repo.

I am working very hard to get these codes into a form that can be submitted to the kernel in time for 3.18. So far, drivers rtl8188ee and rtl8821ae are ready with only a little testing needed. Next to be prepared will be rtl8192ee, rtl8723be, rtl8723ae, rtl8192ce, rtl8192se, and rtl8192de in that order.

Thanks @lwfinger for your hard work!
The new driver on a Lenovo G40-70 with a RTL8723BE card is working just fine on my girlfriend's laptop so far. I'll post again if I find any troubles.