Configuring a CF-U1 to Run Linux

I recently bought a Panasonic Toughbook CF-U1 with the intent to use it as a computer to operate my Amateur Radio (a QRP Labs QDX). These computers are ruggedized, have a good battery life (with hot swappable batteries), and can be found on eBay for fairly cheap prices. This post documents the upgrades and configuration of this computer.

Hardware Upgrade

First, I upgraded the hard drive. While mine came with an SSD, the stock SSD is small (16 GB) and old enough that I am worried about reliability. Here is the tutorial that I followed. Thus far I have found it unnecessary to Solder in the Resister that replaces the Thermistor, and have had no trouble with a 1 TB SSD, but your experience may differ. Below is also a list of materials I used.

1 TB SSD

Adapter Card

ZIF Connecter with Cable (I only used the Cable)

Installation and Configuration of Raspberry Pi OS

After that, I installed Raspberry Pi OS using a Flash Drive and the internal keyboard. By default however, the touchscreen does not work properly. To get the touchscreen to work, first make sure that in the BIOS, the Touchscreen is set to Touchscreen Mode, and not Tablet Mode. Then install the touchscreen configuration utility.

sudo apt-get install xinput-calibrator

Next we have to figure out which device is the touchscreen. To do this, run the following command, and look for the “Fujitsu Component USB Touch Panel.” Take note of the id number given.

xinput list

Next we need to tell tell the program how to make the touchscreen work properly. The number after set-prop tells the program what device to use, and the string of numbers tells the program how to transform the input from where the device thinks the touchscreen is being touched to where it’s actually being touched.

xinput set-prop [id number] 'Coordinate Transformation Matrix' 1.09 0 -.025 0 1.12 -.08 0 0 1

The only problem with this fix is that the above line has to be run every time the device is started. The easiest solution is to just open the terminal and run this line every time. I attempted several methods of doing this, but thus far have gotten none of them to work.

Then I attempted to install WSJTX and JS8Call the way KM4ACK demonstrates in this video. That did not work either. Looking at the errors however, it appears the OS thinks it is a 64 bit device. I suspect that this is what is causing my problems, as this is actually a 32 bit device. Given this, I am surprised it worked as well as it did. As I am going back to school soon and have many projects to finish, I have set this project aside until I have more time. When I come back to it, I will attempt to install a new Linux distribution, and may have to Compile WSJTX from source. I look foreword to being able to update this post at that point.