I've been putting off learning it for years and years and years. Finally decided if I'm going to keep doing this as a career I'd better figure out how to use the new tools.

Have a new Cent7 install on a laptop at home.

I spent over an hour trying to get the wifi to simply connect to the network. Much of this was me trying to learn how to use the networkmanager syntax which is neigh-on-impossible to decipher. The help is useless, and apparently the syntax made a huge change from 0.9 to 1.0, and not knowing either means that 90% of the hits I found on Google were utterly and completely wrong and used deprecated flags.

I finally broke down and tried to use nmtui to solve my nmcli woes, but it only made things worse.

The installer was nice enough to create an ifcfg-<myssid>, but when I try to ifup that interface, the system complains there is no DEVICE for it. So I added a DEVICE= line corresponding to my wireless adapter (which nmcli sees), but then the system complains that my wireless device (WHICH NMCLI SEES!) does not exist.

I believe I have traced the problem to a bug report I found on RedHat's bug tracker -- I needed NetworkManager-Wireless installed in order for it to use my wireless adapter. Why lspci sees my adapter, the OS names it, the firmware is installed and up to date, and nmcli even sees the adapter as a wifi adapter, but then can't use it, is beyond me. nmcli wireless scans constantly failed (which is what led me to the bug report).. the bug report says it's fixed and provides better guidance that you need NetworkManager-Wireless installed as of <some version> but that's probably wrong, since I have the latest Cent7.1 (unless the bug report is REALLY recent).

Regardless, after adding the EPEL repo and installing the wireless-utils package which provides the iwlist, I was able to scan for wireless networks.

NetworkManager still was unable to scan, so I did a network restart hoping I could solve the issue without rebooting the whole box. Sadly, I lost my wired connection to the system at that point, so I'll have to wait until I get home to play with it some more.

Oh, and by the way -- even though my wired i/f is set to "ONBOOT=true", it did not, in fact, come up on boot because the cable was disconnected. After I connected the cable it took me 5+ mins to realize I had to restart the network service to get the connection to function, which is not the way it works pre-NetworkManager.

Suffice it to say, the software is massively, massively, massively, massively sub-par, and far less user-friendly than the good 'ol "editing text files" way. I suspect I am soon to have many more similar headaches as I delve into the world of systemd head first (another thing I've been avoiding).

Fortunately, we get to do really exciting things now that NetworkManager has taken over. I can CD to things, and set properties and methods, and all kinds of shit that makes me feel like I'm using Fujitsu's deplorable ALOM:

nmcli> goto ipv4

nmcli ipv4> describe

Available properties: method, dns, dns-search, addresses, routes, ignore-auto-routes, ignore-auto-dns, dhcp-client-id, dhcp-send-hostname, dhcp-hostname, never-default, may-fail

Property name? method

nmcli ipv4> set method auto

nmcli> back

see how fun and intuitive it is?