Broken Software

Much has been written about how proprietary software cannot be trusted, such as data mining and violating user privacy. Android was designed at the core to be a data mining operating system. The Microsoft folks followed suit with Windows 10.

Something similar can be written about not trusting free/libre software. Why? Because something is always breaking.

Rapid release is one reason. Another is the general anarchic (without rulers) nature of free/libre software. The result is the same: change occurs too frequently. Introducing rapid change exposes the limited nature of human knowledge because dependent and interconnected software are always affected in one form or another. No developer can be aware of all ripple effects. Often the proverbial left hand does not know what the right hand is doing. The principle of unintended consequences runs rampant in software development.

Recently I tested wake-on-lan with Fedora 22 installed on a Thinkpad T400. Originally I had updated from Fedora 21 using fedup. The system was connected through ethernet and not wireless. I pressed the Fn+F4 buttons and the system suspended to RAM. From another system I sent the wake magic packet. No response at the laptop.

I rebooted the T400 to LMDE. Awakened just fine. Same MAC address, of course. Then I rebooted to CentOS 7. Awakened just fine. Then I rebooted to Fedora 21. Awakened just fine.

Classic WTF.

I forced the Fedora 22 system to set wake-on-lan: ethtool -s eth0 wol g. I again pressed the Fn+F4 buttons. This time the Fedora 22 system awakened. Immediately repeating the steps resulted in no response. Using the ethtool command was a temporary one-time fix.

My make-believe spider sense suspected something new in Network Manager. Sure enough, within a few moments of browsing the web I discovered that Network Manager 1.0.6 introduced some new support for wake-on-lan.

Next I had to discover a remedy. Despite using Fedora, as can be expected the Arch Linux wiki had the clues. The remedy requires using the nmcli command to configure Network Manager to support a magic packet. This is a one-time config file change. The result is a /etc/NetworkManager/system-connections file option in the ethernet section that looks like this:

wake-on-lan=64

I have no idea why the acceptable value is 64 rather than a boolean.

To my knowledge there is no direct GUI support for toggling this option.

While the Arch wiki suggests rebooting, possibly twice, I needed only to restart the NetworkManager systemd service. From that point forward Fedora 22 awakened with a wake-on-lan magic packet.

Seeing the proverbial handwriting on the wall, I updated my NetworkManager system-connections files on my LMDE, CentOS, and Slackware systems for when those distros update NetworkManager to 1.0.6. Until then the option will sit idle and be ignored.

Version 1.0.6 should not have been released without a GUI control. The lack of such a control demonstrates the chasm between developers and non technical users.

One small change. A change intended to be an improvement. The result remains the same — befuddled users who only see broken software. Broken software cannot be trusted.

Posted: Category: Usability Tagged: General, Terminal

Next: GTK3 Scroll Bar Sliders

Previous: Application Based Firewall