When I buy a laptop I want to use all of it. Including things that might not be super important.
Having a fingerprint reader staring me in the face but unusable is of the upmost annoyance. I can indeed login to the device without it. But it’s there and I want to use it.
Some hardware works out of the box with some distros. I happen to use a combination of hardware and software that doesn’t.
Occasionally I would check in on forums to see if things had been resolved by others. Recently I got bored enough (while on holiday) to ask an LLM to work through the problem with me.
My choice of interface is Kagi’s assistant. This is like a lot of “AI” chat interfaces, but gives you access to A LOT of models.
The following was created with the aid of GLM-4.7 (reasoning).
I guided the discussion and reviewed all steps – not just blindly copy/pasting – and altered it to point at the previous release, not one from 4 years ago. And this worked for me:
Generated by Kagi Assistant using GLM-4.7 (reasoning)
Here is the consolidated guide for enabling fingerprint authentication on a Lenovo ThinkPad T480s running Kubuntu 26.04.
Summary of the Problem
The ThinkPad T480s fingerprint reader (ID 06cb:009a) is not supported by the default libfprint drivers in Ubuntu/Kubuntu. To make it work, you must use the open-fprintd project’s python-validity driver. Additionally, the PPA for this driver does not yet support Ubuntu 26.04 (Resolute), so you must manually add the repository pointing to the Ubuntu 25.10 (Noble) suite.
Step-by-Step Guide
1. Install GUI Dependencies
Ensure your system is up to date.
sudo apt update
sudo apt upgrade
2. Add the GPG Key (Modern Method)
Since apt-key is deprecated in newer Ubuntu versions, you must manually download the key and place it in the trusted keyrings folder @linuxvox.com.
I use a 4 bay HP Proliant Microserver Gen8 as the household NAS.
In order to ensure that all 4 drive bays are dedicated to RAID storage, the TrueNAS SCALE software is installed on an SSD living in what used to be the optical drive bay.
Unfortunately, the default BIOS does not allow one to boot directly from the optical drive SATA channel. In order to boot the system, and not waste a storage bay on the boot software, we can plug a bootable USB flash drive into the internal USB socket.
In order to get that to work, boot files need to be copied from the SSD in the optical drive bay over to the USB flash drive.
A faff, but once it’s up it’s up.
After a while (day/months) an update for TrueNAS might become available. You tell the system to install the updated and reboot. But the update isn’t in use and you’re still on the previous version!
That’s because the updated boot files are living on the optical drive bay SATA SSD. And we need them on the USB flash drive.
Here are the steps I take in order to copy the updated boot files to where they need to be:
Choose a version for the update and click Download Updates.
When prompted, choose to Export Password Secret Seed (better safe, than sorry) and click Save Configuration:
When prompted, ensure to choose Apply updates and restart system after downloading and click Download:
Wait while the update is |installed, and the server reboots (this will take a long time):
If you are not presented with a login screen after a few minutes, try refreshing the page. Either the server will be unavailable, or the login screen will be displayed.
Once the server is back up, login and go to system -> shell.
In the shell, use lsblk to find the sata drive letter for the USB flash drive:
I know that my USB flash drive is 16GB, so sdf is the closest in size and unique (not part of a RAID).
Create a temporary mount point for the drive and mount it:
sudo mkdir /tmp/usb-drive
sudo mount /dev/sdf1 /tmp/usb-drive
Use ls (or ll for more detail) to check that this is the correct device to mount:
The above shows backups of grub.cfg from previous updates. This is wise to do, just in cases one copies the wrong file
Use cp to backup grub.cfg with the current version of TrueNAS Scale:
I’m a PHP developer by trade with a strong Linux background. One thing that has been lacking from my skill set is how networking really works.
In an effort to rectify this, I bought myself a 2nd hand managed network switch from ebay. A 26 port (24 x 10/100mb + 2 x 1gb) “3com SuperStack 3 Switch 4500”.
Flashing lights and noisy fans, I feel like I’m headed in the right direction.
First things first – can I plug it into my router (with DHCP), have it get an IP address and log into the web interface?
No :(
Using nmap to sweep the subnet, that the router manages, returned no results for the known MAC address of the switch.
Even checking the router for connected devices didn’t list the known MAC address of the switch.
If I wasn’t getting into the system via the network, I would have to use the console port instead.
As I didn’t have a null modem cable to hand, and I don’t have an active machine with a d9 serial port, I grabbed something from Amazon: http://www.amazon.co.uk/gp/product/B00HUZ6OMQ (NB: does not work with this switch, keep reading)
As I’m a Linux user, I would be playing with /dev/ttyUSB0. And to use that, my user has to be in the dialout group:
sudo usermod -a -G dialout iain
Connecting to the serial console should be easy with:
byobu-screen /dev/ttyUSB0 19200
Hooked up the cable, ran the command to bring up the serial interface and switched on the switch.
This, annoyingly vertical, video shows that something happens (watch the green block skit around in the black window) but no text appears:
Every different program I tried (screen, minicom, putty) to connect to the device all resulted in the same output.
Thanks to fellow 3com switch owner Intrbiz, I have been able to borrow a known working cable.
Hooked up between the PC and switch, ran the byobu-screen command and turned on the switch – It lives!
Now that I have a way of talking to the switch, I can configure it in a way so that I don’t need the console cable (as much).
Factory reset (this requires the console cable):
We need to factory reset for the following reasons:
remove any unknown users
restore the admin password to the factory default
remove any network configuration set-up by the previous owners
set-up our own network configuration
Start a console session and power on or reboot the switch.
Hit ctrl+b when prompted. Be quick, you don’t get long.
Now in the boot menu, tell the switch to ignore the saved configuration for the next reboot (option 7).
Reboot the switch (option 0).
Let it boot normally and wait until something like this appears:
User interface aux0 is available.
Please press ENTER.
Hit enter again to put your cursor on a new line, not at the end of the debug output line. Enter “save” to save the default configuration over the configuration that was written by the previous owner.
save
The configuration will be written to the device.
Are you sure?[Y/N]y
Please input the file name(*.cfg)(To leave the existing filename
unchanged press the enter key):
Now saving current configuration to the device.
Saving configuration. Please wait...
......
Unit1 save configuration flash:/ccc.cfg successfully
save
The configuration will be written to the device.
Are you sure?[Y/N]y
Please input the file name(*.cfg)(To leave the existing filename
unchanged press the enter key):
Now saving current configuration to the device.
Saving configuration. Please wait...
......
Unit1 save configuration flash:/ccc.cfg successfully
Enable SSH login (this requires the console cable):
Ensure that the switch has booted and then connect to the console
byobu-screen /dev/ttyUSB0 19200
[- press enter if the screen is just blank -]
Enter the system view
system-view
System View: return to User View with Ctrl+Z.
[4500]
Create the public SSH key
[4500]public-key local create rsa
The range of public key size is (512 ~ 2048).
NOTES: If the key modulus is greater than 512,
It will take a few minutes.
Input the bits in the modulus[default = 1024]:
Generating keys...
...............................................................................++++++
.....................................................++++++
......
[4500]
Allow the user to login via SSH using their password
[4500]ssh user client001 authentication-type password
[4500]
Exit back to the user view
[4500]quit
Save the configuration
save
The configuration will be written to the device.
Are you sure?[Y/N]y
Please input the file name(*.cfg)(To leave the existing filename
unchanged press the enter key):
Now saving current configuration to the device.
Saving configuration. Please wait...
......
Unit1 save configuration flash:/ccc.cfg successfully
Check that the SSH login works
snafu2 ~ $ ssh client0011@192.168.1.13
The authenticity of host '192.168.1.13 (192.168.1.13)' can't be established.
RSA key fingerprint is 6c:46:57:da:74:f3:9d:e0:80:4e:46:c1:a8:9a:d3:83.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.1.13' (RSA) to the list of known hosts.
client001@192.168.1.13's password:
********************************************************************************
* Copyright(c) 2004-2012 3Com Corp. and its licensors. All rights reserved. *
* Without the owner's prior written consent, *
* no decompiling or reverse-engineering shall be allowed. *
********************************************************************************
%Apr 1 23:58:56:199 2000 4500 SHELL/5/LOGIN:- 1 - client001(192.168.1.4) in unit1 login
Enable Web login (this can be done with the console cable or an SSH session to the switch):
Connect to the switch via the console
Change to the system view
system-view
System View: return to User View with Ctrl+Z.
[4500]
save
The configuration will be written to the device.
Are you sure?[Y/N]y
Please input the file name(*.cfg)(To leave the existing filename
unchanged press the enter key):
Now saving current configuration to the device.
Saving configuration. Please wait...
......
Unit1 save configuration flash:/ccc.cfg successfully
Open a web browser and goto the IP address assigned to the network switch: http://192.168.1.13/
Having to enter your sudo password when the plugin edits your hosts file – really annoying.
I finally got around to addressing this on my dev system. Looking at the plugin source there are two sudo commands that we need to cater for. One to add hosts and one to remove.
Adding the following to my sudoers file worked a treat:
When something really note worthy happens, I usually don’t go longer than a few days without knowing.
But, for some reason, I just learnt about something that happened 19 March 2008.
Only by reading this comic in this book did I learn of Arthur C. Clarke‘s passing. This is particularly shocking as Arthur C. Clarke was the main author of the books I read in my childhood.
You’d have thought that it would have been bigger news. Maybe I just live under a rock.
[this is a bit of a random rant, excuse me whilst I ramble]
Every year, the sale of fireworks seems to come earlier and earlier.
In the UK, we used to use them on the 5th November (or the closest weekend). Now they seem to be in use from the 30th October to mid November. And then over the whole Christmas period.
When in the right hands, they can be great fun. But as people have more and more access to them, the fun becomes less.
My thoughts:
The sale of fireworks should be licensed in the same manner as the sale of alcohol.
The purchase of fireworks should be more tightly controlled. Get them out of the supermarkets and corner-shops for a start.
The use of fireworks should also be licensed. This would restrict displays to organised events and not 14 year old kids throwing fireworks down the street, or scaring fish.
I don’t want to be kill joy, but explosives need to be treated with respect.
Maybe I’m getting old and jumpy. I love the look of a good display. I don’t like having to fish the cat out from underneath the bed.