This is pretty fundamental: I just wanted to get access to WiFi, so that I could install the rest of my packages and continue setting up Pippin. I needed this to work before I could do much else - I was working without an Ethernet cable for most part. I ran everything as root for the following steps, so I have no clue which commands require superuser privileges.
Holy heavens. This was my first time tinkering with Arch, and people did warn me that it'd be rough. I just hadn't imagined that it'd take me the better part of half a day to get the WiFi to work. I tried a bunch of different things ... none of which worked.
The first thing I tried was running the wifi-menu as root. It prompted me to pick the WiFi network and enter in the password. I tried a few different networks, all with correct passwords, but I kept getting an error message.
I also ran into other issues while trying to figure this out. Turns out, sometimes it'll save a network profile for you, which will make it so that that same network will not appear in the wifi-menu. These profiles will appear in the /etc/netctl monospace, which you'll have to delete if you want the corresponding networks to show up in the menu. This led me to the next thing I tried.
I spent a ridiculous number of hours in the /etc/netctl directory; I'm sick of it. By the way, everything in these steps was done as root, since (a) I didn't feel like typing sudo every time, and (b), I couldn't even install it without network connection.
I ran the command
I spend an inordinate amount of time watching videos on people setting up their machines with Arch, and some of them set up their WiFi by setting up their /etc/wpa_supplicant directories. To be honest, I couldn't really follow them easily, but here's what I did based on the ArchLinux page . I ran the following commands in the /etc/wpa_supplicant directory:
After starting the program, I ran the commands
On the these commands, however, I got error messages. I didn't proceed with the rest of the instructions, since I couldn't even see the available networks, which was necessary to set the SSID and password of the network. However, I was a dumb frog, and didn't realize that I just needed to read further on the page.
I don't know why none of these worked.
The solution is underwhelmingly simple, and involves the WPA supplicant method:
I had to run:
replacing <SSID> with the name of the network, and the <PASS> with the network password.
This finally worked :)
I'm adding this at another date. Another solution that's substantially easier is to hook yourself up to an Ethernet connection, and install the network manager, which comes with both nmcli and nmtui programs, which are pretty intuitive to use.
While I had initially tried to install this program, I hadn't realized that being on a university campus (with the weird login page) may have been affecting my ability to login. Again, I'm not sure, but when I took Pippin back home and retried some things, I was magically able to install this. I figured this out by reflashing Pippin with Debian, but running into the same issues (not being able to install/update anything).
Moral of the story? Do this at home.
I'm right now head-over-heels in love with iwctl, a program in the iwd package. The UI is really simple, and the help page is all you really need to get things working. This has the added benefit of being compatible with every network I've tried to connect to thus far, from home WiFi's, WPA Enterprise ones, hotel room WiFis, you name it.
It's not that bad! I just had to stick the following in /var/lib/iwd, call it <SSID>.8021x and replace the credential fields: