I'm sure this is bad form, but I'm going to post the answer to my own question since it involved a lot more than the answer provided by woopsi.
I started there, but ran into problems at sudo modprobe rtl8723be
, aka loading the new driver. (I was able to do the previous unloading step without issue.) This step required a signed UEFI key for my machine, which was beyond my purview to write, so I had to disable Secure Boot. Unfortunately, I was no able to access the boot menu no matter what key I pressed, so I had to follow the advice here to modify the GRUB file.
TL;DR, open up a terminal, type sudo nano /etc/default/grub
, change GRUB_HIDDEN_TIMEOUT=0
to #GRUB_HIDDEN_TIMEOUT=0
, save, then update the actual GRUB file by typing sudo update-grub
and restarting. Access boot menu, disable Secure Boot, start eOS as normal.
Unfortunately, just loading the new driver didn't work. After more digging, I discovered that this is because of an antenna issue with the network card, as outlined by lwfinger here.
So I needed to manually test the card's two antenna connectors to see which one actually works. Go back into terminal, cd ~/rtlwifi_new
, and type:
sudo modprobe -rv rtl8723be
sudo modprobe -v rtl8723be ant_sel=1
Check to see if this works. Get close to the router, toggle airplane mode, or what have you (no reboot required). If it doesn't, try the second antenna connector:
sudo modprobe -rv rtl8723be
sudo modprobe -v rtl8723be ant_sel=2
Antenna connector #2 seems to work for more users than #1 - it was the second one in my case also.
At any rate, my wifi works now. I haven't restarted my machine since doing this, so I'm not sure if I need to run these commands at every restart yet, but if I do, the advice on how to automate that is here:
So I added these lines to /etc/rc.local
(above exit 0
) so that it would run each time my laptop boots up.
sleep 10
sudo modprobe -r rtl8723be
sudo modprobe rtl8723be ant_sel=1
Note: change ant_sel=1
to ant_sel=2
if required.
Hope this helps somebody.