To get the dkms from #20 running on the linux kernel of Vivid, I did the
following changes:
diff -ruN realtek-rtlwifi-0020.1030.2014V676.P1/base.c
realtek-rtlwifi-0020.1030.2014V676.P1kai/base.c
--- realtek-rtlwifi-0020.1030.2014V676.P1/base.c 2015-06-09
11:10:51.000000000 +0200
+++ realtek-rtlwifi-0020.1030.2014V676.P1kai/base.c 2015-07-14
19:16:25.519536786 +0200
@@ -2088,7 +2088,7 @@
unsigned long val;
int ret;
- ret = strict_strtoul(buf, 0, &val);
+ ret = kstrtoul(buf, 0, &val);
if (ret) {
RT_TRACE(rtlpriv, COMP_ERR, DBG_DMESG,
"%s is not in hex or decimal form.\n", buf);
diff -ruN realtek-rtlwifi-0020.1030.2014V676.P1/btcoexist/halbtc8812a_ext.c
realtek-rtlwifi-0020.1030.2014V676.P1kai/btcoexist/halbtc8812a_ext.c
--- realtek-rtlwifi-0020.1030.2014V676.P1/btcoexist/halbtc8812a_ext.c
2015-06-09 11:10:51.000000000 +0200
+++ realtek-rtlwifi-0020.1030.2014V676.P1kai/btcoexist/halbtc8812a_ext.c
2015-07-14 20:11:54.573400292 +0200
@@ -654,12 +654,11 @@
iov.iov_len = msg_size;
udpmsg.msg_name = &pcoex_info->bt_addr;
udpmsg.msg_namelen = sizeof(struct sockaddr_in);
- udpmsg.msg_iov = &iov;
- udpmsg.msg_iovlen = 1;
udpmsg.msg_control = NULL;
udpmsg.msg_controllen = 0;
udpmsg.msg_flags = MSG_DONTWAIT | MSG_NOSIGNAL;
udpmsg.msg_flags = 0;
+ iov_iter_init(&udpmsg.msg_iter, WRITE, &iov, 1, msg_size);
oldfs = get_fs();
set_fs(KERNEL_DS);
error = sock_sendmsg(pcoex_info->udpsock,
&udpmsg, msg_size);
With these two changes, I was able to compile the kernel modules fine.
Fortunately, the modified driver also loads fine after rebooting. And it
connects to my company WiFi. But besides than that, the driver doesn't bring
any improvement. So WiFi still hangs and the system still crashes after module
unload + reload. The crash is even at the same code position:
halbtc_get_rfreg+0x23/0x30 [btcoexist]
Of course, the exact binary address is different, as the RTL modules from the
DKMS are of different size, so loaded to different physical addresses. But the
crash still appears at the beginning of the function halbtc_get_rfreg in the
module btcoexist.
As "btcoexist" probably means "Bluetooth Co-Exist", I experimented with turning
bluetooth completely off via:
rfkill
service bluetooth stop
rmmod everything, that looked like bluetooth
After that, the system no longer crashes after unload and reinsert of the
rtl8723be module. So the crash (which still needs to be fixed!) and the WiFi
getting stuck might be unrelated.
I did a few more experiments with the "new" driver from post #20 with different
access points:
* Connect to a FritzBox 7490 works
* Data transfer to that FritzBox fails from the very beginning, though. Not
even a ping goes through. It is the uplink (from the card to the router), that
is stuck. On the downlink, I can see broadcast packets coming through.
* Tethering with Moto X (2nd gen.) completely fails. It doesn't even see the
Moto X2. This is weird, because with the stock driver of the stock kernel of
Ubuntu Vivid, that tethering works at least in the beginning (until the
connection gets blocked).
* After changing the broadcast channel in the X2 to 5 GHz then back to 2.4 GHz,
it now sees the X2. Downlink and uplink speed are fine.
* Tethering with a Nokia 820 works, too. I could even got a remarkable number
of 50 MBit/s for downlink speed, despite that the W-LAN connection lists 72.2
MBit/s as max. speed.
I'll continue tethering with these mobile phones to see
--
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1461174
Title:
Realtek Wifi card rtl8723be [10ec:b723] WiFi has an issue
To manage notifications about this bug go to:
https://bugs.launchpad.net/hwe-next/+bug/1461174/+subscriptions
--
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs