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

HP TouchPad in 2018

HP_TouchPad_Title.png

I purchased two HP TouchPads a few years ago when they were fairly inexpensive. I wanted a larger tablet that wasn’t built cheaply. They worked great for a while but started to act up. I used them less and less until they just stopped working all together. I put them on a shelf and forgot about the for quite a while.

A buddy of mine who is still seemingly a huge fan of the HP TouchPad diagnosed that one had a main board and battery failure while the other just a battery failure. I put them back on the shelf and that is where they sat, once again. He followed up with me wondering if I bought a battery yet (keeping me accountable) to which I did not. He told me he had an extra battery and dropped it off along with the needed tools to disassemble and make the repair.

HP_TouchPad-01The guide I looked at made it seem like it would be easy to take the tablet apart, just work your way along the sides, as described and carefully separate the two halves. What seemed to be missing from the article was that you have to shim the screen from the backing to keep it from clipping itself back shut again.

Once the tablet was apart, I disconnected the halves and started the process of removing more pieces until I could get the battery out. I only ended up taking out 3 of the internal components.

Upon removing the HP_TouchPad-02.jpgUSB board, I noticed that one of the wires for the little vibrator motor had somehow broken free from the board. A fine explanation for why this unit didn’t have haptic feedback. Thankfully, my soldiering skills were adequate enough to correct the issue.

HP_TouchPad-04

There were only 4 screws retained the battery and it should be noted that once the screws have been removed, the battery will not come out easily as it is also adhered to the device. Very careful and slow removal of the battery was warranted as I learned my lesson about removing a lithium polymer battery years ago on another project. I didn’t want to rupture the sells and have a little fire or at least lots of heat and smoke.

Once I freed the battery from the case, I noticed that I could take a shortcut and remove the battery without disassembling all of the components as outlined in the guide. I freed the battery from it’s compartment, set it aside, took the new battery and using a flat tipped screwdriver, was able to insert the connector of the new battery into the board and fasten it to the tablet body.  I effectively skipped the last 15 steps of the guide I used and reassembled it.

Success… but it didn’t turn on.

I figured that the thing needed to be charged so I let it charge overnight. It still didn’t turn on and I felt obligated to let my buddy know that this TouchPad is dead and asked if he wanted the battery back. Then, he asked if I did the hard reboot, hold power and volume down for 30 seconds.

HP_TouchPad-06-Boot Loader.jpg

I did just that and immediately it went to the ClockworkMod boot loader menu. I selected the CyanogenMod image already installed on this TouchPad and I was very pleased to see that it was fully functional.

Since I wasn’t going to leave this with a 2 year old version of Android on it, I began my search for an updated ROM. There are several options out there and some of the newer versions of Android seem to have Bluetooth or camera issues. I didn’t want to have any hardware issues so I ended up going with this version here. Everything works but it is an older version of Android with security patch updates.

 

Another requirement I made is that I wanted to ensure that there were no Google Services on this tablet as I didn’t want to weigh it down with all the data scraping and mining services. All I want from this tablet is to do causal web browsing, reading ebook and PDF documents so there is no need to install the Gapps package. I also wanted to see how useful a simple de-Googled tablet would be.

F-Droid-siteSince I did want to have access to applications on this device, I installed F-Droid. F-Droid is similar to the Play Store, an available catalog of FOSS (Free and Open Source Software) Android applications. Most of the applications I want to run are available there and anything else it is possible for me to sideload or install using Yalp.

The applications I installed:

  • KDE Connect
  • Telegram
  • Syncthing
  • Fennec F-Droid, a Mozilla based web browser
  • Barcode Scanner
  • Book Reader
  • Yalp, allows you to download apps directly from Google Play Store as apk files.

Installed Using Yalp:

  • Discord
  • ASTRO File Manager

HP_TouchPad-05-apps

Modifications to improve my usage experience

I turned off the KDE Connect Telegram Notification. Not because I don’t like Telegram but because I don’t want multiple notifications on my Desktop Linux machine for the same message.

To do so, withing the KDE Connect Application on the paired device Menu > Plugin settings > Notification sync configure button, scrolled down to Telegram and uncheck it.

HP_TouchPad-07

Next, I made the KDE Connect Keyboard an input option by going into System Settings > Language & Input and checked KDE Connect Remote Keyboard

HP_TouchPad-08-Input

I set up a folder on the Tablet called Sync and using Syncthing have it tied to two of my openSUSE desktop Linux machines. It is an easy and efficient drag and drop method of putting files on the tablet instead of using KDE Connect. I figure, more options are better than fewer options for sharing data.

HP_TouchPad-10-syncthing.png

Using Dolphin in KDE Plasma to drag and drop files right on the HP TouchPad file system is such a fantastic feature. This, combined with having a folder that I can use to sync between all my systems and a shared clipboard gives me the truly practical form of desktop/mobile convergence.

HP_TouchPad-11-file manager

What I like

HP_TouchPad-09The size of this tablet is perfect for how I intend on using it. I can check things, look up things, and use it for accessing references in either PDF, ebook or my favorite resource, the openSUSE Wiki. To copy and paste from the tablet is made super easy, thanks to KDE Conenct. Copy on the tablet, paste on the Desktop. This tablet has such a nice weight and feel about and the protective folio-style case is great. I have all the functions and features I need to do what I set out with this 2011 built tablet. Sure, it is old and well past a tablet end of life but it is fast, very snappy and responsive.

What I Don’t Like

I have an outdated version of Android but with the security patches back-ported though, I do like the dark look of the older Android UI, so lets call this point a wash. The downside is, it doesn’t allow for certain newer KDE Connect features as noted here by one of the developers.

I also may have done something to disconnect the internal speakers as I don’t hear sound unless I plug into the headphone jack or Bluetooth speaker. I am not really using this for multimedia and the workaround is satisfactory.

I am not a fan of the rear facing only camera on the tablet. It also distorts the image during the “live view” but the picture itself has the proper aspect ratio. Unless if I want too take some awkward selfies, I don’t see this as a terrible issue.

Final Thoughts

I am very glad to have a working HP TouchPad once again. Is it indeed limited but I am not using it like a brand new tablet, I am using it closer to how a tablet was used 7 years ago. I am also not using this tablet like I would a proper computer as that would require a keyboard and mouse and once I have added those items, I may as well use a laptop. This fantastic little device does just what I want it to do, superbly.

Using KDE Connect and Syncthing, I can have the proper mobile/desktop convergence with my openSUSE Linux desktops in a highly practical manner anywhere I go, without the need for a third party service.

I am not sure what I will do with the other tablet now. This one is just so great, I might have to get the other one working just to keep in my cubicle. Would I recommend this tablet to someone else? For most people, probably not, unless they like to noodle around with technology.  Was it worth taking the time to fix it? Also, probably not but the satisfaction for me out of making this older yet perfectly usable hardware functional once again makes it more than worth the time and effort.

Further Reading, useful links and such

I Fix It Guide for the HP TouchPad

Tenderloin Android ROM I have installed on my HP Touchpad

openSUSE Wiki

KDE Connect Developer Nico’s Blog Post

KDE Connect Community Site

KDE Connect Remote Keyboard

KDE-connect-02I recently stumbled into this cool little feature with KDE Conenct, the ability to use your desktop Linux machine as your keyboard input to your Android device. I tested this on my Samsung Galaxy S5, Moto X and HP TouchPad running Android. Assuming you have given KDE Connect a try, you may or may not have used this feature. If you haven’t tried it, you may want to see how it works for you.

I am not a fan of the touch input on tablets and phones, the input is just too slow and cumbersome, so I tend to use a laptop for just about everything. There are unfortunately a few applications that will only work on mobile devices. I do have a Bluetooth keyboard that I have connected from time to time to more efficiently use the mobile device but I don’t need another keyboard on my desktop that I would use intermittently, at best. Being able to type from my Desktop Linux machine right into my Android powered phone or tablet whenever needed is a welcome feature and far better than using the screen to touch or swipe type.

For instructions on setting up KDE Connect in openSUSE, follow this link or here for everyone else.

On the Linux Desktop side, make sure you have selected Remote keyboard from the Desktop

KDE Connect Settings-01

Screenshot_Samsung_S5_Language_InputFor your Android device(s):

Go into your Settings menu. Search for Language and input > Set up Input Method (Might be under “Default” on some Android devices)

You will then see several options, check KDE Connect Remote Keyboard to activate it as an available keyboard.

The notification drop down on the Android device, There is an option to “Select keyboard”. Assuming that the Android device is working properly, you will be able to select the input keyboard.

The Keyboard switcher is either in the in the notification drop down of which I see on my Samsung Galaxy S5, and my HP TouchPad. On my Moto X, I have an option in the global keys along the bottom to select my Input Keyboard.

Moto X Keyboard SelectorIt appears that my Samsung Galaxy notification on the keyboard doesn’t actually do anything when selected but the HP TouchPad works like one would expect. I find that the Moto X method to be the best demonstration of exposing the keyboard input selection.

Now, back on KDE Plasma (I can’t speak for any other desktop), you can input into the Mobile Device clicking on the KDE Connect icon in the System Tray and enter text next to Remote Keyboard.

As you type in this dialog, you will see the text immediately display on the connected device. I find it strangle pleasurable to type on my computer to input text on the tablet, or SmartPhone. I spent several minutes sending messages thru Telegram even though I have a Telegram client for Linux Desktop, realizing that was a bit KDE Connect System Tray-Keyboard Inputsilly, I opened the SMS app on my phone to send messages to those friends that I know wouldn’t care at all or just fire off a few pejorative comments regarding my excitement for this newly discovered feature.

I have used it several times and find this feature to be very stable, reliable and for the few days I have been using it, I can count on it to work as expected. All around, this is a great feature that is built right into KDE Plasma.

Final Thoughts

I am not sure how often I will use this feature but I am certainly appreciative to have it available. I do tend to avoid any services that lock me to a “mobile device” for communication but there are a few that unfortunately have me locked, for now. Thankfully, the hard working folks of the KDE Connect Community have been working hard to make life a bit better for those that prefer keyboards to touchscreens.

Further Reading

KDE Connect Desktop Mobile Convergence

openSUSE wiki installation and configuration of KDE Connect

KDE Connect Community Site

Albert Vaca’s blog about KDE and KDE Connect

 

 

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

Data Back Up | Better to Prevent than to Regret

Backup-02Backing up data is extremely important. That is, assuming you value your data. Many of us have pictures, videos and documents on our computer. The reality is, all machines will fail, everything gets old and stops working, eventually. Most notably, the Hard Disk Drives and Solid State Drives have a limited lifespan before they cease functioning.

Here is some advice to avoid that white-hot sweaty feeling from a black screen when you turn on your computer.

Back up your data!

Beyond hardware failure, there have been a series of recent ransomware attacks against individuals, businesses and government organizations. One particular bit of ransomware is called WannaCry. Presumably because if you are affected you “wanna cry.” It essentially encrypts all your data and leaves a message that tells you you can have your data back if you pay a ransom. This can be avoided entirely by doing regular offline backups.

Backing up your data is something that you will hear frequently but what do you use to back up your data? Drag and drop the contents of your home directory onto an external drive? That will fill up a drive pretty quick, and isn’t sustainable for the long term. You can pay for storage and sync your data up to “the cloud”, but that can get expensive if you have a lot of data. It also runs the risk of being compromised as well as it just replicates the contents of your data. I have been doing an Rsync command in the terminal but unless if I know that I have been compromised, it could overwrite my good data with bad data.

You Only Need Two Things

1st Item | External Hard Drive

WD.png
Seriously, under $60 will get you started.

The tools I recommend to get you started is some sort of high capacity external mass storage drive. Something like 1 TB or better. They are not expensive, especially if you compare the cost of a new drive to the cost of data recovery. Then you need to get the software. There are lots of great tools out there but rather than search forever for the best tool possible, start here and see if it works for you. Move on if needed and try something else but complete that first backup. Whatever drive you choose to use, ensure that is ALL that drive does. You plug it in, do your backup, unplug it and safely store it.

2nd Item | Software

I am not targeting Windows or Mac users but the fact of the matter is, most of the people I know are NOT on Linux (because they haven’t seen the light, yet). So I wanted to just highlight some FREE offline backup utility options to get you down the right path. This is free as in you don’t have to shell out any cash but feel free to contribute voluntarily to the projects.

Linux

Back In Time

This is what I use on my machine. It has worked very reliably for months now. I haven’t yet had to make any backups but when upgrading my Dell Latitude E6440 with the mSATA drive and growing the 2.5″ SSHD Home partition, I backed up the home drive prior to just in case I messed things up. Fortunately the process went well so no “recovery” was required. I continue to take weekly snapshots of my home directory.

Back In Time

Back In Time openSUSE Install

Documentation for using Back In Time

Deja Dup

Easy to use, very friendly and can be set up for automated online or offline backups. This bit of software actually had more features to play with if you want to do snapshots to a networked service like Nextcloud, Google or a network share.

Deja Dup

Deja Dup openSUSE Install

Using Deja-Dup

Windows

Shadow Copy

Shadow Copy has been included in Windows since Windows XP Service Pack 2 and is pretty basic but easy to use. I have the misfortune of using Windows daily because of a certain bit of required proprietary software. My work machine is still using Windows 7, good bad or otherwise and I also use Windows 7 in VM, therefore I am currently most familiar with that version.

To set up backups is very straight forward and since it is included in Windows, there is really no excuse to not back up your data… at all.

Shadow Copy-1

Here is a guide on using it in Windows 10

Mac OS

Time Machine

included in MacOS since Leopard (2007). I don’t have a Mac nor do I plan to purchase one. Since this is included with your operating system, there is no excuse to not using this utility. When you are done working or playing on your “fruit box”. Plug in that $50 external drive and create that snapshot.

Here is a guide to set it up.

https://support.apple.com/en-us/HT201250

Final Thoughts

Back up your data. Really, just take the time, do it and be done with it. Make it a point to keep your data backed up once a week or every other week… even once a month would be great. There are many, many backup solutions out there, some are free, some are paid services and many may even be better for you. I highly, highly, recommend you make your offline backups and store them safely.

External Links

Back In Time openSUSE Install

Documentation for using Back In Time

Deja Dup openSUSE Install

Using Deja-Dup

Here is a guide on using it in Windows 10

Apple Support for Time Machine

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/

openSUSE Linux on a Lenovo ideapad 110S Laptop

Lenovo 110S Transparent Title.pngI have a Chromebook that I have been using for causal browsing and occasional writing but the problem with ChromeOS is that is is so limited and restrictive. I installed Crouton to get a more genuine Linux experience out of it but the performance was a bit lack luster and frankly, the keyboard layout on Chromebooks is terrible. Why Google decided on such a design is beyond me. Delete, Page Up, Page Down, Home and End are nowhere to be found. When the Chroot environment is working, it’s fine but it is an Ubuntu based environment and I didn’t like the limitations that came with it. All this has lead me into the desire to get a simple, low cost but reasonably capable machine of which I would have more control. Since I have perfectly fine working netbooks, albeit a bit long in the tooth, I had no real strong demand for anything new. So, I waited for something to present itself, and it did.

I walked into Best Buy on a whim, I had some time and thought I would just see what they had available. There were several acceptable, low end machines machines between the $150 to $200 range. Specifically, a Dell that was real tempting, as it had better specifications than I really needed for my purposes but had a nice keyboard (for the price). I just wasn’t prepared to spend $200 on something I didn’t NEED. I asked the nice folks there if they had any small Nuk like computers so we walked over to the “Geek Squad” area to the returns cage (the place they keep the bad computers?) where there were a couple out of box laptops. Some where display models of discontinued models that had been re-baselined to be sold. One was marked “$86” and I was VERY interested. I asked the employee if I could just type on it, you know, to see how the thing types, as that is what I plan to do with it… type… things… He said it was against policy to power it on but they had an identical machine behind the counter running Ubuntu on it. It booted up, albeit rather slowly but the screen looked good and if Ubuntu runs on it, openSUSE would certainly run on it. The keyboard wasn’t spectacular but typed well enough to be in my “acceptable” range.

I was sold.

Lenovo 110S Scary Message-transparent
Scary Windows message

When I got the machine home, I wanted to run Windows 10. You know, see what I had been missing out on. I did a series of updates, started browsing the web with the Edge Browser, played in the control panel and so forth. I also had the opportunity to test out the Microsoft store and install a few things. Unfortunately, nothing I wanted would install. I could also only effectively do one thing at a time and it ran all herky-jerky. It was not an enjoyable experience at all, but what can you expect from an $86, discontinued computer. I would say that this laptop was not the right machine to show off what Windows 10 has to offer… But how would it run openSUSE Linux?

Specifications of this machine:
– Intel Celeron CPU N3060 @ 1.60 GHZ
– 2 GiB RAM with 1.81 GiB Available
– 32 GB SSD which ends up being 28.5 GiB
– 11.6″ – 1366 x 769 screen
– HDMI video out
– 1x USB 3
– 2x USB 2
– Micro SSD slot
– 1x 3.5mm Analog input/output

Recommended System Requirements for openSUSE:
– 2 Ghz dual core processor or better
– 2 GB system memory
– Over 40GB of free hard drive space
– Either a DVD drive or USB port for the installation media
– Internet access is helpful, and required for the Network Installer

This laptop meets 4 out of 5 requirements.

Regardless, I decided to go with openSUSE Tumbleweed as my distribution of choice for this machine and because this is not a “mission critical” machine, I also decided to play it just a bit more risky and went with the defaults of BTRFS on root and XFS on /home. Based on some discussion in the openSUSE IRC, I should use ext4 to be safe… but what fun is that. I’ll use the safe recommendations on machines I set up for other people.

Installation

To start, I accessed the Bios by pressing F2 rapidly as it started up from a cold boot. I left the machine on EFI and Secure boot. I modified the boot parameters to boot from USB
first, save and exit then completed the install process with all the defaults with KDE Plasma.

Here is the default drive layout set up by the installer:

/dev/mmcblk0p1 256M /boot/efi
/dev/mmcblk0p2 16G /
/dev/mmcblk0p3 11G /home
/dev/mmcb1k0p4 2G swap

After installation, I added a few additional packages and applications to enhance my experience: Oxygen5 (for the window decoration), Telegram Desktop, Insync (Google Drive synchronization) and Synergy. Outside of one X crash that seemingly happened out of nowhere (while writing this using Nano), I have had no issues with this machine. I want to see if I have issues with BTRFS snapshot with limited memory as I was warned about it and should I have problems or should I be problem free for an extended period of time, I will let it be noted on this review at a later date.

What can you do with an $86 laptop

More than you might expect. Since I am running KDE, which is fairly lightweight, I have a lot of memory left over with which to work. Under Windows 10, after it settled from booting up, I had about 240MB available of physical memory to do work. Nothing ran smooth, except for the menu button, that fancy Windows 10 menu popped up quite nicely and is, frankly, very pretty and fun looking. I would find it terribly annoying after a while. On KDE Plasma 5.12 with openSUSE Tumbleweed, before I installed my extras, I had about 1,458 MiB of physical memory available, according to KinfoCenter. It fluctuates a bit when it just sits so that is an approximation.

I use the default choice of Firefox for the browser as I am sure that this machine cannot handle the Chrome bloat. Watching local and streaming media is without any issue though, when streaming Netflix, the machine does dip fairly significantly into the SWAP partition. It’s nice to know this machine can handle Netflix tho that is not the reason I bought it. Running any native Linux application doesn’t seem to really tax this machine. Where I do seem to have issue is when running any multimedia heavy web site. Hopefully, browsers do indeed become more memory efficient as to make this better in the future (not holding my breath). My only real criticism of this machine is the amount of RAM. If it only had 4GB of RAM, it really could have been a great laptop for just about anyone.

Build Quality

I like how this machine is put together. It it is light but has a heavy enough of a feel that gives the impression of being sturdy and of decent quality. The keyboard doesn’t flex
under my typing and is most certainly rigid enough. The Screen articulates a full 180 degrees and doesn’t have that cheap creek or pop sound you would expect on a lower end machine. The The ports all feel like they will hold up when peripherals are inserted. The case is made of some sort of high durometer rubbery plastic that feels sturdy. I really cannot complain at all on the build quality.

Lenovo ideapad 110S_guts
Unused Mini-PCIe

It is easy to disassemble 11 screws and a few clips hold the bottom cover in place. Not much you can do under the hood. It appears that the onboard SSD is a soldered component but there appears to be what looks like an unused mini-PCIe slot. I may investigate that some other time.

The keyboard meets my needs. It is not as nice as my Dell Latitude E6440 or my Latitude D630 laptops but this will do well enough. I have experienced much worse keyboards on higher end machines so I am calling the keyboard a win. The only thing I don’t really care for is the function key row. Instead of F1 actually being F1, it actually mutes the sound. I have to hit Fn + F1 to get F1. I am sure that there is a Bios switch for it but I haven’t taken the time to look. This is only an annoyance. I am glad that F5 is refresh, regardless if you are pressing Fn.

The touchpad has two physical buttons which is a huge win. Ideally, having three physical buttons is best but having none makes for an unacceptable setup and I consider button-less touch pads utter garbage. The caps lock has an LED indicator. I can’t tell you how many times I have used laptops that only have on-screen software indicators… terrible…

Lenovo ideapad 110S 180The screen is very acceptable. Not as high resolution as I would like but how many dots do you really need? For my purposes, it is perfectly acceptable. I can see text very well in the terminal. The screen hing articulates 180°, which can be handy.

Final Thoughts

opensuse-logo2No buyer’s remorse here, I’m glad I bought it. It has almost become a daily drive for me as the thing is light and small. I can take it on the couch without worry of it falling or being inadvertently crushed by one of my kids. It doesn’t have a fan or even vents on the underside so the airflow requirements are evidently not very stringent.  The fact I can go 6 to 8 hours on this machine is fantastic.

After running this machine on with BTRFS on root, I did end up having issues with the snapshots filling up the root partition. I don’t want to do snapshot maintenance on this rather small machine so I ended up using XFS for root as well as /home. The automated openQA hasn’t pushed any updates that have killed any of my Tumbleweed machines so I am comfortable with XFS as root. One might say I should run Leap instead but I just like rolling release model very much.n

Putting openSUSE Linux on this machine made it very usable and I can’t help but think how great it is that Linux gives under-powered hardware a great lease of extended life. I would recommend this machine with openSUSE Linux on it to anyone that needs a simple Chromebook-like ++ machine.

External Links

Lenovo ideapad 110S Review

 

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

Casio Synthesizer Rescue Repair

Casio_Keyboard-Transparent.pngWhen I’m not playing with Linux things, I am often noodling around with other machines, appliances or electronics. I have developed this delight in fixing things which has turned into this sense of, “I can fix it” attitude toward just about anything.

I only wish I had a magic hammer…

Recently, a neighbor was telling me that within a few hours of her eldest son unwrapping a birthday gift of a long sought after musical instrument, some horseplay rendered it inoperable. I told her, “I can [probably] fix it.” Grabbed my little electronics tool box and moseyed my way over to her house.

20180330_175105.jpgThis Synthesizer is a 61-key, Casio CTK2400. The back of this machine had only two ports, a 1/4″ (6.35mm) and a USB Type-B receptacle. No Midi or separate line out. Looking inside the jack, there were the remains of A TRS 1/4″ to 1/8″ headphone jack adapter which broke off inside of the keyboard. It broke off in such a way that the portion inside could not be easily removed. The tip of the jack was stuck inside of the socket which deactivated the internal speakers. My observation of the portion that had broken off of the adapter made very apparent that it was poorly manufactured as the ring detached itself from the sleeve. I tried a few “of course it won’t work” action to remove the tip, then decided it was time to open the keyboard up. After removing several screws to expose the main board, I discovered that the headphone socket was enclosed on the board so I could not push anything out from the inside.

socket-switch.png
Expected socket configuration.

I was expecting to see something open and exposed so I could just, knock out the bits similar to what is pictured on the inside of the keyboard but was greeted, instead, with a plastic, closed off box that looked to be sonic welded shut. The keyboard was then reassembled.

Swing and a miss…..

I put the keyboard back together to use a pair of tweezers and a screwdriver to dig out the broken bits. Nearly everything came out but just the very tip of the jack. I was at a loss of what to do next and I did some searching on the web of varying key terms and eventually found how someone else used super glue and an ice pick. I had the super glue but not the ice pick .

 

Headphone Jack tip

I took a very small slotted screwdriver, generally used for working on small electronics, put a glob of superglue on the end and pushed it carefully against the remaining jammed bit inside the keyboard and held it firmly in place. I waited for a few minutes and slowly, carefully pulled out the 1/4″ tip.

Success!

I plugged in the keyboard to make sure it worked after all the probing, digging and tugging. Sure enough, it worked just fine, I noodled around with it a bit and thought, “What a nice little synthesizer.” Regrettably, I have buried that musical talent many years ago.

I returned the keyboard, now in proper working order to its owner. It was great to see a the expression of joy come over that kid’s face as he could once again play his brand new instrument.

The Curiosity Bug Bit Me

I had to learn about this keyboard, what was that USB port for and is it something Linux friendly. I downloaded the manual on the machine where I learned that this is some form of USB MIDI interface. Doing some further search where I landed on the Arch Wiki and it had a lot of good information on it. That is, unfortunately as far as I will go with it as it is not my machine to mess with. I was very encouraged that, although not often in the Linux spotlight, there looks to be a lot of effort in this area of the arts.

Final Thoughts

Fixing electronics and appliances, even basic issues brings about quite a bit of satisfaction. Restoring happiness to a kid on his birthday is just the best. I am grateful that the internet has empowered and made it easier to fix things, you know, when you get into a bind.

Music creation on Linux is a thing and I hope to see it continue to be an area of active development. Perhaps, one day, I might be able to dust off what little musical talent I have and dovetail it into my Linux hobby.

External Links

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

Headphone tip removal

 

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