Ubuntu Server, Connecting WiFi
/
Backstory below, but here is how I was able to get WiFi working on a Ubuntu 20.10 Groovy Gorilla Server install (this is mostly from memory, apologies for any slipups). I’ve since installed ubuntu-desktop, seepic.
Bizarrely, the server install iso is lacking some very small components necessary for WiFi. These can be found in:
libnl-3-200_3.4.0-1_amd64.deb
libnl-route-3-200_3.4.0-1_amd64.deb
libpcsclite1_1.9.0-1_amd64.deb
wpasupplicant_2.9-1ubuntu8_amd64.deb
(The key part is the last one, but the others are dependencies that need to be installed first).
So first, download these from here, copy them onto a USB stick and stick that in the target machine.
Oh, probably best to add the yaml file below to the stick as well, save a bit of typing.
Find the appropriate ref to the stick with:
fdisk -l
Then create a mount point and mount the drive, something like:
sudo mkdir /media/usb
sudo mount /dev/sdb2 /media/usb
Then install each of the files (I forget, you may be able to put them all in the same command) :
cd /media/usb
ls
sudo dpkg -i filename.deb
Ok, so the other key part is to configure netplan.
cd /etc/netplan
ls
You will probably want to move any files you find there out of the way (and may well wish to look at them when you get annoyed with this not working).
To get the network device, do:
iw dev
The following uses the yaml format, which is very fussy about indentation. Do:
sudoedit 01-plan.yaml
Edit this to match your setup.
network: version: 2 renderer: networkd wifis: wlp3s0: dhcp4: no dhcp6: no addresses: [192.168.0.110/24] gateway4: 192.168.0.1 nameservers: addresses: [8.8.4.4, 8.8.8.8, 192.168.0.1] access-points: “SSID”: password: “PASSWORD”Next you’ll want to do:
sudo netplan generate
sudo netplan –debug apply
(I don’t think the generate is strictly necessary if you only have one file, and the –debug option just makes it a bit easier to spot the inevitable indentation errors).
Then try a ping or two. Worked for me, YMMV.
Backstory
I had a couple of problems with my previous laptop a couple of years ago. First I’d closed the lid on a USB stick, breaking the screen. Yeah, pretty stupid. But as a mostly used it on the desktop anyway, it wasn’t such a big deal, I just plugged in an external monitor.
But then it appeared the hard drive had packed up. So I popped it open to find it was actually the drive interface had burnt out. I ordered a replacement from Ebay, and as I was working to a deadline, went to the local store and bought the cheapest usable laptop they had.
The replacement card didn’t work, so at that point I basically gave up and just used the newer machine. The HD out of the old one I put in an external USB case, handy for backup.
But about a week ago I decided to see if there was anything useful I could do with the thing. Seemed to me I could use the external drive as the boot drive, external monitor as before.
Yes… but it’s taken about a week.
My first problem was down to a very annoying little thing I’d forgotten about with this particular machine that causes endless PCIE errors on boot. Took me a while to rediscover this, but was easily fixed by adding pci=noaer into /etc/grub/default
Next problem was that in shifting the drive to USB, the Ubuntu installer didn’t like it (I think the partition GUIDs got messed up). I ended up shifting everything I wanted to keep onto other drives (took ages), then totally reformatting.
Now although I could get part way through the Ubuntu install it kept resetting the desktop. A reasonable way around this I decided would be to install Ubuntu Server first, get a correctly running system, then add the desktop stuff on top after. That worked fine, except…no Wifi (the wired connection didn’t want to work either).
Took me a good while to find out about the missing wpa bits, but hey ho, it’s working now.