Six Steps to a Simple Samba Setup on openSUSE

openSUSE Samba

openSUSE is a very polished, commercial-feeling distribution of Linux. The architects of the distribution have a much larger scope in mind of its usage than what I generally do. One such area is Samba, SMB or often referred to as Windows Network File and Printer Sharing Protocol. I only use this for one device on my network, my All-in-One, Printer-Scanner-Copier, The HP OfficeJet 8600. It is a fine machine that does what I need it to do very well, but for scanning to a network folder, I must use Samba.

This process used to be much simpler, many years ago, before the discovery of security issues within Samba. She short story of why there is the separation was some sort of vulnerability in the underlying system. I am sure there is a fairly simple or straight forward way to make it all work but my intent was to successfully set up Samba with as little effort as possible.

I had a resource out on the web someplace that told me how to do this simply but I couldn’t find the bookmark nor was there a link in my digital notebook so I took a few sites, what I know about openSUSE and created an easy step-by-step guide for getting Samba file sharing up and running. I have broken down the process into six easy to follow steps for a minimal setup. I use this to quickly and easily set up and use Samba with openSUSE Linux.

Six Steps to a Simple Samba Setup on openSUSE

Package Installation

Minimum number of packages required to install the Samba Server

Service Activation

System Services that need to be activated and installed

Firewall Configuration

Allow access to the server through the firewall

YaST Samba Setup

Basic configuration using openSUSE’s system configuration tool.

Adding Samba Users

Through the terminal, setting the username and password

Testing it all out

Making sure it actually works.

Final Thoughts

Samba is pretty easy to set up for a minimal usage. For something more involved and complex, there are certainly better ways of accomplishing it. Finally, if HP decided to put SFTP on their future All-in-One devices, this entire write up, to me, would be useless but until then, this is what is required.

Further Reading

Six Steps to a Simple Samba Setup on openSUSE

Samba on openSUSE Wiki

Samba.org

Dell Latitude E6440 all on SSDs

e6440-01-sm

I have wanted to upgrade the 500 GB SSHD hybrid drive in my Dell Latitude E6440 since I purchased it but i just wasn’t prepared to spend the asking dollars for a new SSD. The only adequate solution I determined reasonable was to go with a used SSD and just accept the risk that goes with used.

After much searching and bidding, I purchased a Micron M500 with 960GB SSD which ends up being 894GiB of storage. When it comes to SSDs this is NOT, by any stretch, considered top of the line. Here are the specs that many seem to be fixated.

  • Sequential 128KB READ: Up to 500 MB/s
  • Sequential 128KB WRITE: Up to 400 MB/s
  • Random 4KB READ: Up to 80,000 IOPS
  • Random 4KB WRITE: Up to 80,000 IOPS
  • READ/WRITE latency: 5ms/25ms (MAX)

Not the most performant drive but certainly much faster than the SSHD that I was using. If you are interested, here are the full specifications from Micron on this line of drives.

Since I already put the root and swap file system on a 128 GB mSATA SSD with very positive results, I was encouraged about how this upgrade was going to go. I could expect better performance with less power usage.

s-l1600

In preparation for upgrading, I did what any reasonably prudent, Linux using, data conscious, user would do. I backed up the contents of my home directory, well, another snapshot using Back In Time.

Performing the Modification

The great thing about every Dell Latitude I have ever owned is the ease of serviceability of the machines. No crazy tools are needed or long list of instructions to perform a simple modification. Just a small Phillips screw driver.

IMG_20180512_081253811.jpg

Two screws and the drive can be removed from it’s bay. The drive is held in place by these isolation rubber rails and a caddy cover. I appreciate this design, it is easily assembled, the rails have a nice, snug interference fit, and the caddy cover is held in place with a clip and screw.

SSD drive assembly

Troubles I Had

I am not sure what I did wrong but I couldn’t get the system to not look for the, to-be-replaced SSHD. I tried unmounting the drive before a reboot but still, it would continue to wait for the drive. The system would get stuck looking for the old drive and fsck didn’t correct the issue. I became impatient so I just decided to do a complete re-installation of the openSUSE Tumblweed, because I was too lazy to keep searching for a solution. There is probably a great simple solution that just escaped me.

Restoring the Data

There was a bit of a struggle in understanding how to restore the data from Back In Time into my home directory but once it was done, everything was back to normal. It took a bit longer than I expected but everything restored, all the files and settings. Like it never even happened…

A quick check of the SMART monitoring tools:

smartctl -a /dev/sda

=== START OF INFORMATION SECTION ===
Model Family: Crucial/Micron MX1/2/300, M5/600, 1100 Client SSDs
Device Model: Micron_M500_MTFDDAK960MAV
Firmware Version: MU05
User Capacity: 960,197,124,096 bytes [960 GB]
Sector Sizes: 512 bytes logical, 4096 bytes physical
Rotation Rate: Solid State Device
Form Factor: 2.5 inches
Device is: In smartctl database [for details use: -P show]
ATA Version is: ACS-2, ATA8-ACS T13/1699-D revision 6
SATA Version is: SATA 3.1, 6.0 Gb/s (current: 6.0 Gb/s)
Local Time is: Mon May 21 10:10:56 2018 EDT
SMART support is: Available – device has SMART capability.
SMART support is: Enabled

=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED

My favorite line is the last one that says the test result: “PASSED.”

Experience

I am running openSUSE Tumbleweed with KDE Plasma as my desktop environment. The aAverage energy consumption before the upgrade, using the SSHD plus the mSATA drive was 21 watts; under similar loads with the mSATA and the 2.5″ SSD, I am consuming about 17 watts. These numbers, are of course, just estimates at approximate similar loads. It is not a very well controlled power study. Between the two drives I now have a total of 945 GiB of storage available; the most I have had on a laptop.

Opening up Steam is much quicker than before. Starting a game does indeed load a lot quicker than it did on the SSHD. I didn’t take any before and after benchmarks but there is most certainly the feeling of increased speed in everything. The computer was no slouch before but now there is an increased sharpness in using it.

The computer is oddly quite with only the fan left as a moving part. However, the only time I notice there is a fan is when my hand goes past he vent and I can feel a little warmth coming from it. Logging in isn’t quite instantaneous, I do have to wait a few moments but I blame much of that on the fact I heavily use the Akonadi storage service for personal information management. I have more information than most people likely save but suffice to say, the machine starts very quickly.

I didn’t take any external thermal readings from the computer before the upgrade but it feels like the thing does operate a bit cooler. It is only an impression.

Final Thoughts

This Dell Latitude E6440 seems to have an extra boost of speed, as to be expected. What I didn’t expect was how much I notice the censorial changes of using this laptop now. I have used other solid state only machines before and didn’t think much of them. Perhaps their less than stellar keyboards out weighed the silence of their operation or possible that I use this machine more than most. Regardless, I appreciate the change.

Was the upgrade worth the price I paid for the drive? So far, yes, very much, indeed it was worth it, but as I did buy it used, and although it passed the health self-assessment, I don’t really know how long it is actually going to last. For now, it’s pretty great and I don’t think I would want to go back to “spinning rust” for storage.

External Links

Micron M500 Specs

Back In Time

128 GB mSATA SSD

My Dell Latitude E6440

Using a 3.5″ Floppy with openSUSE Linux in 2018

floppy.png

I recently came upon two needs for needing to use a 3.5″ floppy in Linux. First was to go through this stack of disks to recover any data off of them. Secondly, in my latest effort to dig up the musical talents I once used regularly about two decades ago, I acquired a Korg N364 that has a 3.5″ floppy drive on it and I wanted to transfer data on and off of it.

USB Floppy Drive

The great news is, openSUSE Tumbleweed running KDE Plasma recognized and utilized the drive immediately but oddly, I could not write to the drive. My first task was to go through the stack of floppies and copy all the data off and archive it. I found some great files from the 90s that I rescued from bit-rot.

Floppy drive on E6440

The problem I ran into was my inability to write to disk. So much so that I even called into the Ask Noah Show. With some poking around and help from the IRC channel, I tried a few things:

sudo mount -o remount,rw /run/media/user/disk

Which was seemingly successful as it did remount the disk. I had one particular disk that I could not modify its contents. I had to double check that the disk was write enabled as it seems that I can’t remember what I did in the 90s to write protect or enable a disk.

back of floppy disk
Write-enabled disk

My next step was to format some of the problem / unreadable disks. I tried to format the disk from KFloppy with this error

Internal error: device not correctly defined.

I can’t be sure as running KFloppy in terminal didn’t yield much more information.

Fortunately, I am able to format the floppy disks in terminal with this:

sudo /sbin/mkfs.vfat /dev/sdc

This seems to have worked for most of my disks but it looks like some of the disks are far too degraded which seems to be the source of my problems. To correct the issue which has only been somewhat successful I ran this in terminal to fix the file system:

sudo fsck /dev/sdc

Even though the output looks unsuccessful, it actually was quite successful.

fsck from util-linux 2.31.1
e2fsck 1.43.9 (8-Feb-2018)
ext2fs_open2: Bad magic number in super-block
fsck.ext2: Superblock invalid, trying backup blocks…
fsck.ext2: Bad magic number in super-block while trying to open /dev/sdc

The superblock could not be read or does not describe a valid ext2/ext3/ext4
filesystem. If the device is valid and it really contains an ext2/ext3/ext4
filesystem (and not swap or ufs or something else), then the superblock
is corrupt, and you might try running e2fsck with an alternate superblock:
e2fsck -b 8193 <device>
or
e2fsck -b 32768 <device>

I wouldn’t trust any critical data on this disk but I am able to transfer files back and forth without issue and I tried several files including making directories, so I am quite sure it is working well enough, at least for my purposes.

Floppy Drives are Cool

Many of our modern Solid state devices just lack something special to them that I don’t know how to capture in words. You just can’t have fun with USB flash drives like this hugely creative and industrious techy did with 3.5″ floppies.

Conclusion

The issue with KFloppy maybe that it is likely expecting a non-USB floppy, meaning, it is looking for the floppy drive at /dev/fd0 or /dev/fd1. The USB floppy disk mounts as an /dev/sdc on my system since it is being attached to the computer via the USB bus.

I don’t know how much I am actually going to use the floppy drive but I do have some more disks to at least pull data from. I wasn’t able to transfer any data to the Korg N364 due to a floppy drive failure but that is another project for another time.

Additional Information

nixCraft | How To format floppy disks, Zip disk in Linux

KDE Utilities – KFloppy

 

Snappy Packages on openSUSE Tumbleweed

openSUSE Snappy

I don’t see much on the webs about people using Snaps on openSUSE nor have I seen any experiences by openSUSE Users with Snaps so I thought I would see how it goes for me.

First off, the word “snap” appears in too many projects. A quick software search on opensuse.org gets you:

  • snapd
  • rsnap
  • snappy
  • snapper
  • esnappy
  • tarsnap

For this project, snapd is the right answer.

I prefer to use the openSUSE Packaging system for all my software but the idea of having a universal packaging system is seemingly a great idea and I can see this as a very practical method for 3rd party software distribution. Right now, we have three universal packaging formats: AppImage, SnapCraft and Flatpak. I have now used them all but for now I am going to focus on using Snaps.

Installation

https://software.opensuse.org/package/snapd

Using the “Experimental” package System:Snappy One-Click install

At the time of writing, I installed version 2.23.5. The install was without incident, as to be expected with openSUSE.

First run

I went to the SnapCraft home page and just wanted to check out a “featured application” and chose to try out Minecraft. I figure, if something is going to fail, it will be a game that requires 3D acceleration, and sound.

https://snapcraft.io/minecraft

For my first experience, I am already pleased to see that right at the top of the page there is the command to copy and paste into a terminal to install the software.

sudo snap install minecraft

It is simply beautiful that this can all be done in in the terminal too. No silly GUI front end required. Simple, straight forward, copy from the page and paste into terminal.

Unfortunately, I had to do some troubleshooting. I received an error when trying to install Minecraft.

error: cannot communicate with server: Post http://localhost/v2/snaps/minecraft: dial unix /run/snapd.socket: connect: no such file or directory

A quick search told me to check the status of the snapd daemon:

systemctl status snapd

The output from that:

● snapd.service – Snappy daemon
Loaded: loaded (/usr/lib/systemd/system/snapd.service; disabled; vendor preset: disabled)
Active: inactive (dead)

That told me I needed to start the service

sudo systemctl start snapd

Checked the status, once again:

snapd.service – Snappy daemon
Loaded: loaded (/usr/lib/systemd/system/snapd.service; disabled; vendor preset: disabled)
Active: active (running) since Fri 2018-05-11 11:21:40 EDT; 2s ago
Main PID: 7611 (snapd)
Tasks: 10 (limit: 4915)
CGroup: /system.slice/snapd.service
└─7611 /usr/lib/snapd/snapd

I wanted to be sure that the service starts at system boot, as well so I executed this:

sudo systemctl enable snapd

With the nice to see, somewhat interesting output:

Created symlink /etc/systemd/system/multi-user.target.wants/snapd.service → /usr/lib/systemd/system/snapd.service.

This is where I say the unpopular statement: SystemD is Awesome to use.

Now I could try to install Minecraft once again and received this upon completion:

minecraft latest from ‘snapcrafters’ installed

Success!

The first run launcher popped up and the next round of installation (presumably) commenced.

Screenshot_20180511_121456

I was interested in seeing the command the snapy package added in my applications menu and here it is.

env BAMF_DESKTOP_FILE_HINT=/var/lib/snapd/desktop/applications/minecraft_minecraft.desktop /snap/bin/minecraft

First run, and it worked as expected but since everything defaults to the Intel GPU on my system, I wanted to test offloading Minecraft to the AMD GPU. It works well with Steam, Descent and any emulators, so now I wanted to see if I prepend the same command “DRI_PRIME=1” if it would work as well.

It did and did so glitch free.

Screenshot_20180515_083037.png

Conclusion

Although Snaps, or Snappy or Snapcraft is considered an experimental package in openSUSE, it seems to work perfectly fine within Tumblweed. There was just a bit of extra leg work required to start and enable the daemon but outside of that, it seems to work smashingly.

This is my first experience and I will continue to play with this as well as Flatpak and AppImage. My preferred method of software installation is still using the openSUSE software repositories but it is great to see that the option of Snaps are [nearly] effortless to get going.

See Also

openSUSE Project

SnapCraft Daemon Installation for openSUSE

Minecraft Snap Package

 

Panasonic CF-19 Toughbook | Touch Panel Calibration

panasonic-cf-19-toughbook

I don’t have loads of experience with using a touch screen interfaces on Linux but every setup to date has not required any fiddling around in any of the configuration files for proper operation. Thankfully, the folks at Panasonic made the CF-19 with some one-off technology to offer me that experience of understanding how to tweak and configure the touch panel interface.

The Problem

Everything about this machine configured perfectly from the openSUSE installer. Not a single component required extra prodding to use. Even the touch panel was recognized and somewhat usable, however the further away from the center of the screen you would touch, the further off the pointer was from where you touched.

Calibration Attempt One

Doing some searching on the webs, I came upon this tool called xinput_calibrator that creates a set of rules in xorg.conf.d folder (/etc/X11/xorg.conf.d/). It was a such a straight forward approach that I was sure it would work. Running it displays a screen with 4 cross-hair points of which you use the stylus to touch each of them. When it completes, you have a nice little configuration file to drop into xorg.conf.d. Unfortunately, it didn’t work at all.

Calibration Attempt Two

This method was not as easily understood or accomplished and brought with it a good share of trial and error.

First, I needed to find the input name of the touch panel. This was accomplished in my favorite terminal, Konsole:

> xinput list

⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ Fujitsu Component USB Touch Panel id=9 [slave pointer (2)]
⎜ ↳ ImPS/2 Generic Wheel Mouse id=11 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
↳ Power Button id=6 [slave keyboard (3)]
↳ Video Bus id=7 [slave keyboard (3)]
↳ Power Button id=8 [slave keyboard (3)]
↳ AT Translated Set 2 keyboard id=10 [slave keyboard (3)]
↳ Panasonic Laptop Support id=12 [slave keyboard (3)]

Now that I identified that the touch panel was identified, I needed to find further information about the touch panel itself

> xinput list-props “Fujitsu Component USB Touch Panel”

Device ‘Fujitsu Component USB Touch Panel’:
Device Enabled (143): 1
Coordinate Transformation Matrix (145): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
libinput Natural Scrolling Enabled (280): 0
libinput Natural Scrolling Enabled Default (281): 0
libinput Calibration Matrix (282): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
libinput Calibration Matrix Default (283): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
libinput Left Handed Enabled (284): 0
libinput Left Handed Enabled Default (285): 0
libinput Middle Emulation Enabled (286): 0
libinput Middle Emulation Enabled Default (287): 0
libinput Send Events Modes Available (263): 1, 0
libinput Send Events Mode Enabled (264): 0, 0
libinput Send Events Mode Enabled Default (265): 0, 0
Device Node (266): “/dev/input/event6”
Device Product ID (267): 1072, 1282
libinput Drag Lock Buttons (288): <no items>
libinput Horizontal Scroll Enabled (289): 1

I had to modify the line containing the Coordinate Transformation Matrix:

Coordinate Transformation Matrix (145): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000

Some of those comma separated values corresponded to specific properties of the panel matrix. What I learned about those nine numbers that seem to matter:

Touch_area_width, 0, touch_x_offset, 0, touch_area_height, touch_y_offset, 0, 0, 1

I used some trial and error to get this to line up correctly. The best way I knew how to accomplish it was to concentrate on one axis at a time. First adjust the offset and then the width or height.

This is what I ended up with:

1.115, 0, -0.073, 0, 1.14, -0.04, 0, 0, 1

Using nano, I created a little script and called it fujitsu_touch_panel.sh

#!/bin/sh

# Coordinate touch panel to screen

xinput set-prop “Fujitsu Component USB Touch Panel” –type=float “Coordinate Transformation Matrix” 1.115 0 -0.073 0 1.14 -0.04 0 0 1

Saved it and made it executable:

chmod +x ~/bin/fujitsu_touch_panel.sh

Then I moved it to the root directory in a location that seems to make sense… to me:

sudo cp ~/bin/fujitsu_touch_panel.sh /usr/local/bin

I tried several things to get this script to start as soon as the login screen manager, SDDM, started but that was without success. I was advised to try this location: /usr/share/sddm/scripts/. I tired several things, all didn’t work. Perhaps it just may work for someone else and if they are successful, I would be more than happy to edit this post with a better way. Feel free to comment below or contact me.

What I ended up doing was to add a script on startup of KDE Plasma.

System Settings > Startup and Shutdown > Autostart

Select Add Script… and entered the location of the script:

/usr/local/bin/fujitsu_touch_panel.sh

Screenshot_20180422_093443Next, I needed an onscreen keyboard to use. Not that I am a fan of those, as I think they are all terrible, I needed one just to be functional.

sudo zypper in kvkbd

I had to change the color scheme to Dark, because the default was not to my liking, nor was it usable.

Screenshot_20180422_093912.png

It is kind of fun putting this computer into tablet mode and poking around on it with the stylus and also makes me think about how nice KDE Plasma works with a touch interface. It certainly would have been much more fun to play with this if it were a multi-touch interface instead but still, fun and very usable. I certainly prefer a real keyboard but I see the value of this setup.

Final Thoughts

This is a fine little machine that is great for taking to less hospitable (to electronics) type of environments. The keyboard is just a bit cramped for my liking and the touchpad is a bit on the small side. The touch screen, once properly calibrated works wonderfully and even better with a stylus. I will find out this year how well they hold up in a “field” type environment and perhaps blather about that experience.

This is yet another fine case of where openSUSE just works on hardware with very little fussing about. Aside from the touch panel calibration, everything else about this machine works perfectly.

External Links

https://wiki.archlinux.org/index.php/Calibrating_Touchscreen

https://wiki.archlinux.org/index.php/Touchscreen

https://forums.opensuse.org/showthread.php/429517-Can-t-calibrate-touchscreen

Wii U Pro Controller on openSUSE Linux

e6440-WiiU-Pro-Controller.pngI don’t do much serious gaming on Linux but I do like to play the occasional Steam or older games in an emulator. I have historically liked the PS3 controllers in Linux. There is nothing you have to do to get it to work. Plug the dongle in a USB, pop in some batteries and away you go.

The Wii U is now a deprecated gaming console, which makes me much more interested in it. I have had one for a little while but the Gamepad digitizer has been broken for some time. I originally set out to fix the game pad but the issue with some of the buttons not working along with the digitizer, it had me thinking I should just replace the whole thing so I can start using the console. On the hunt for the replacement Gamepad, I also acquired a couple of these Wii U Pro Controllers. I wanted these in order to play this “New Super Mario Wii U” game and compare it against my favorite of the franchise. I think putting “New” in the title is a bit silly because it isn’t new now.

Upon holding the Wii U Pro Controller in my hand, it felts so good… almost perfect for my somewhat long and gangly fingers. I wanted to try out these Wii U pro Controllers on Linux, play some Steam games but fully expecting the process to be a headache; you know, because Nintendo. I made the assumption that I would have to install xwiimote to get it to work but upon reading and some further understanding of all the work some incredibly smart people have done, I only need that for the Wii Remotes. The machine I tested this on is running openSUSE Tumblweed Kernel 4.16.0 and it is my understanding that the wiimote kernel drivers have been in place since 3.1.

Setting up the Wii U Pro Controller

Screenshot_20180402_122527Nintendo chose to use Bluetooth technology in the Wii and Wii U so I started off by Pressed the Sync button on the controller and it showed when selecting Add Device on the KDE Plasma Bluetooth configuration tool. It connected, the lights stopped flashing on the controller with one solid light glowing. I checked the capabilities of the controller, to see that it was usable, in the System Settings > Input Devices > Joystick. It was just as I would expect from any other controller I own.

I opened terminal to see the kernel messages concerning this device by running: dmesg

[86905.904160] wiimote 0005:057E:0330.000B: hidraw1: BLUETOOTH HID v0.01 Gamepad [Nintendo RVL-CNT-01-UC] on 80:00:0b:82:a8:1f
[86905.904169] wiimote 0005:057E:0330.000B: New device registered
[86905.981821] wiimote 0005:057E:0330.000B: detected device: Nintendo Wii U Pro Controller
[86906.011799] wiimote 0005:057E:0330.000B: detected extension: Nintendo Wii U Pro Controller
[86906.011889] input: Nintendo Wii Remote Pro Controller as /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.5/2-1.5:1.0/bluetooth/hci0/hci0:34/0005:057E:0330.000B/input/input33

Now I was excited.

I opened up Steam and started the game, “River City Ransom: Underground”, completely bypassing any of the configure input device to see what would happen. To my shock and blissful amazement, everything worked as expected. I hopped out of the game to see the controller settings and it was recognized it as a Wii U controller.

Detected Controller Wii U

I also checked out this “Desktop Configuration” setup with Steam. As long as Steam is running, I can use this Wii U controller to as an input device for controlling my Linux Desktop. I like this particular interface because I can define what each button does. This is a feature that KDE Plasma doesn’t seem to have built in and I don’t want to create an Xorg configuration for this either.

Desktop Configuration

This truly is a lot of fun to play with. Sure, it is probably just a novelty for now but I am thinking that I might want to make this a controller for my living room media machine along with the wireless keyboard/touchpad device as that is almost overkill when you just want to browse and watch some Netflix.

Final Thoughts

I really was expecting to do so more to do to get this working. On one hand I am very pleased on how easy it was to get working. On the other had I am a bit disappointed as I expected a bit of a project out of this and I was going to make the whole process “easy” and simple in a short write up. Instead, I get to tell you that the Wii U Pro Controller works great in Linux and is a great choice for modern (what little I do) and retro gaming. Best of all, no USB dongles to worry about losing!

External Links

XWiimote open-source Linux device driver for Nintendo Wii / Wii U Remotes

Wii U Pro Controller

Spectre and Meltdown Vulnerability Status Using the Terminal

I don’t hear much about the current status of Spectre and Meltdown lately and I am not going to pretend that I am an expert on these topics. I will say, it has been marketed very well. Out of curiosity, periodically check the status of the vulnerabilities on my machines. I am running openSUSE Tumbleweed snapshot 20180410 and at the time of writing, with Linux Kernel 4.16.0-1-default.

Since I have trouble remembering the exact command, I tend to just scroll through my bash history to find it so to make my life easier, here it is:

grep . /sys/devices/system/cpu/vulnerabilities/*

This is what my machine says:

/sys/devices/system/cpu/vulnerabilities/meltdown:Mitigation: PTI
/sys/devices/system/cpu/vulnerabilities/spectre_v1:Mitigation: __user pointer sanitization
/sys/devices/system/cpu/vulnerabilities/spectre_v2:Mitigation: Full generic retpoline, IBPB, IBRS_FW

If you run this on your Linux machine and don’t get the three lines of Meltdown, spectre_v1 and spectre_v2, your kernel is hugely out of date and is in desperate need of updating.

The reality is, there isn’t likely going to be fully secured fix for Spectre and Meltdown. The output from the patch status uses the word mitigation on purpose. It got me thinking, what does mitigation really mean?

According to Dictionary.com:

the act of mitigating, or lessening the force or intensity of something unpleasant, as wrath, pain, grief, or extreme circumstances.

Lessening the the intensity of something unpleasant… I once thought of computers as something you could truly secure but the reality is, the only secure piece of equipment is one you can’t access at all. Anything that can execute code is going to be vulnerable to some degree and weather it is Linux, Windows or Mac OS they all have their vulnerabilities, Linux just happens to have fewer.

I appreciate all the work of the Linux kernel team in responding to the recently discovered hardware flaws of these modern CPUs. Whether they are Intel, AMD, or ARM (and others?), more permanent hardware fixes won’t be in place for some time but in any complex system, there will always be bugs. The most responsible thing to do, as a user, is to keep your systems updated, know what you are installing, don’t click on sketchy things and perform offline backups of your data.

Further Reading

https://spectreattack.com/

Giving Fedora Another Run

Fedora_logo.svgI hear a lot of good things about Fedora and sometimes I hear some negative things about it but I have not used it myself since some time around 2010. I wanted to make my own evaluation and I thought the time was right to kick the tires again. I am a die-hard openSUSE user, fan and member. I have happily made it my daily driver operating system. The community is great, the documentation is great, and it meets all my needs. I am firmly and happily planted in the openSUSE camp. There is no reason for me to change my distro of choice. That, however, doesn’t keep me from trying out other distributions and evaluating them against what I know and like. My other reason for doing this is that I often get questions for help with distributions other than openSUSE. I generally just fire off other web sites to help guide but I have decided to do one better and develop more practical experience of my own.

First Impressions

Fedora GrubRight out of the gate, I must say, I like Fedora. It’s easy to install, I had no hiccups or weirdness with it at all. What really impressed me most about Fedora was the upgrade process from 26 to 27. It was such a clean and very well polished experience. The Software Center let me know there was an upgrade available at the click of a “Reboot and Install” button. I initiated the process and a reboot later (well, a few reboots), it was all done.

At the time of writing, I am using Fedora 27 running Kernel 4.15.14; more current than what I am running on openSUSE Tumbleweed, which surprised me a bit. Gnome is not my preferred desktop environment but I wanted to give Fedora + Gnome a fair shake.

Multimedia Codec Installation

Since I keep a collection of local media, it is a requirement to have VLC along with the necessary codes to consume that media.  I did a bit of searching and found a page on Ask Fedora that had the instructions for the multimedia codecs. They are pretty similar to what I use for openSUSE so this was quite familiar.

Here is where I pulled down the instructions and they worked successfully, even though they haven’t been updated since Fedora 24. It provides some options for conducting the process, I will only share here what I did.

Added Repositories:

Free

dnf install https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm

Non-free

dnf install https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm

The Packages

Base recommended multimedia codec packages:

dnf install gstreamer1-{ffmpeg,libav,plugins-{good,ugly,bad{,-free,-nonfree}}} --setopt=strict=0

If you prefer xine over Gstreamer:

dnf install xine-lib* k3b-extras-freeworld

For using to internet radio streams, you need a few more packages:

dnf install gstreamer1-{plugin-crystalhd,ffmpeg,plugins-{good,ugly,bad{,-free,-nonfree,-freeworld,-extras}{,-extras}}} libmpg123 lame-libs --setopt=strict=0

Overall the process was easy enough for a novice Linux user to set up, so long as they aren’t afraid of working in the terminal. I didn’t see instructions on installing the packages using a graphical method but I didn’t dig real hard.

What I Like

Right from the login screen, everything feels very smooth and polished. The color scheme is pleasant enough but I would prefer a dark theme by default or activating one that doesn’t require an “extension”.

Fedora SoftwareI was singularly impressed with the software center prompting for and executing the upgrade process from 26 to 27. The Software Center, kept me informed enough of what was going on, rebooted and installed the software. Everything came back and I was now, auto-magically, on Fedora 27.

The whole operating system seems very well thought out. It is as though it was curated by technically skilled artists and were just as concerned about function as they were about aesthetics. This is more of a Gnome thing, but it feels very inviting with the large and colorful buttons and banner pictures, yet clean minimalism to accomplish your tasks.

DNF is a great command line tool for installing and removing software and repositories. It works much like zypper, in fact, the syntax was largely the same for basic installation and removal. I do love zypper but I would also be happy using DNF.

What I Don’t Like

I couldn’t customize the desktop until I installed “Gnome Tweaks”. It was a little frustrating that it wasn’t included by default and the only reason I knew to install that was hearing others talk about it on various podcasts.

The software center didn’t locate the packages I was attempting to install but that was not a problem as I was perfectly comfortable using DNF in the terminal to find the packages I wanted.

Even though the upgrade process was smooth, after the upgrade was complete, there was another round of updates that required a Reboot & Install which seemed odd to me as my experience on openSUSE Leap and Tumbleweed have been that there are updates, then the restart and I’m done. It is not a problem, perhaps at most a small annoyance. Realistically, I could have just ignored the 23 additional updates.

Final Thoughts

Fedora with Gnome, both are a good as you can get Gnome experience. Under the hood, I like what Fedora has to offer. It is clear that the underpinnings of Fedora are well tested, which really makes the final product for the user, the desktop and applications, a great, solid and smooth experience.

Would I recommend Fedora? Absolutely! Maybe not to the typical brand new user but anyone that is not afraid of the terminal. I only just started to become familiar with Fedora and I can say it has been an incredibly positive experience.

External Links

Fedora Linux

Ask Fedora Multimedia Codec Installation

Playing in the terminal | dmidecode

utilities-terminalLinux makes computers fun, the more you dig into Linux, the more fun it becomes. I recently became aware of the command dmidecode and what a fun and useful tool it is. dmeidecode is the DMI table decoder that will tell you all kinds of things you never knew you wanted to know about your computer. I initially learned of it on the Ask Noah Show and just ran it in terminal to see what what it would kick back on my main machine:

sudo dmidecode -s system-product-name

of which was return in a very simple and easy to understand output.

Latitude E6440

Then I started to think, what else can this command tell me about my machine.

sudo dmidecode -s chassis --type

Reported that I was running a:

Laptop

The BIOS information was rather interesting. Just a part of the output of running this:

sudo dmidecode --type 0

Contained a lot of information but this I most enjoyed was seeing:

5.25"/1.2 MB floppy services are supported (int 13h)
3.5"/720 kB floppy services are supported (int 13h)
3.5"/2.88 MB floppy services are supported (int 13h)
Serial services are supported (int 14h)
Printer services are supported (int 17h)

It was interesting to see that although I don’t have one ready to test out on this machine, I can run a 5.25″ floppy. I really don’t know, at this time, how exactly I would go about interfacing a 5.25″ drive but none the less, very cool to see.

If you have some putzing around time, run:

man dmidecode

and play around with some of the functions. You just might find it interesting.

External Links

Ask Noah Show Episode 52