Repurposed MICROS Workstation 5A POS Touch-screen Terminal, running Linux

I saved 6 of these obsolete POS terminals from being thrown out. Once examined, I was pleasantly surprised that they sport x64 capable ATOM processors and relatively fancy (for me) USB compliant resistive touchscreens. They are POS terminals like you will find at the supermarket checkout and were originally intended to run Windows Embedded CE 6.0 and Windows Embedded POS Ready 2009, but are capable of being repurposed and run modern lightweight Linux distributions. Looking through the specs and documentation, the Powered USB Port (+5V, +12V, +24V) is also of interest for being different than any ordinary PC, as is the magnetic card reader.

I use one as a touch-screen jukebox (running Silverjuke). It's for a child to use, and it's perhaps their most loved item because they can play their music whenever they want and mess around with games like chess and mahjong. Connected to a stereo with decent speakers the audio is quite good. The kid's music selection is played from a permanently installed USB drive (removed only to add new songs) but I also have set up the bluetooth to pair with my phone so that the system can play music from my phone via bluetooth.

Following are my rough (incomplete/incorrect & out-of-date) notes and links collected in the process of repurposing some of these terminals to run Linux. This page should not be seen as a tutorial but simply rough notes.

MICROS Workstation 5A Features (from MICROS Workstation 5A Features)

Processor: Intel Atom N450, Single Core, 1.6GHz
Display: Standard 1024x768 15” TFT Color LCD
Operating System: Windows CE 6 or POSReady 2009
Memory: 2 SO-DIMM Sockets - Max 2 GB DDR2 667
Case Style: Standard Low Profile or Optional Adjustable Stand
Case Material: PC-ABS Plastic
Weight: 10.5 lbs. (4.7 kg) / Shipping Weight 14.0 lbs. (6.35 kg)
Physical Dimensions: The Equipment Dimensions section contains more information.
Optional Customer Displays (Series 1): Integrated or Pole 240x64 STN Graphics Capable LCD Integrated or Pole Protégé Customer Display System
Cash Drawers: 2 MICROS 4-Pin DIN Connectors - +12V or +24V selectable in BIOS
COM Ports: 1 DB9 RS232 (COM1 - Non Powered), 1Combination RS232/RS422 (COM4), 2 Modular RS232 (COM2, COM5)
USB Ports: Four IO Panel USB 2.0 Ports (can be disabled)
Powered USB Ports: One MICROS Powered USB Port (+5V, +12V, +24V)
LAN Interface: On Board 10/100/1000 Mbps Ethernet - RJ45
AC Input Voltage: Universal Input - 85 to 264VAC, 47 to 63Hz.
Input Power: 24W Typical
BTU/Hour: 83 Typical
Operating Temperature: 0°C (32°F) to 45°C (113°F), 90% relative humidity max.
Storage Temperature: -25°C (-13°F) to 80°C (176°F)

Info Links

MICROS Workstation 5A Features

Workstation 5A Setup Guide

MICROS Workstation 5a Document Library

Workstation 5 and Workstation 5A Field Service Guide, and here

Beagle Hardware: icros Terminal Help & Support

Convert A MICROS PCWS 5A w/ HDD and Win?

Intel Atom® Processor N450

Output of $inxi -Fxz:

System:
  Host: antiX1-WS01 Kernel: 4.9.160-antiX.1-amd64-smp x86_64 bits: 64 compiler: gcc 
  v: 6.3.0 Desktop: IceWM 1.4.2 
  Distro: antiX-17.4.1_x64-base Helen Keller 28 March 2019 
  base: Debian GNU/Linux 9 (stretch) 
Machine:
  Type: Unknown System: Intel product: Intel Moon Creek Evaluation Board 
  v: No System Version serial: <filter> 
  Mobo: Intel model: Moon Creek Evaluation Board v: No Board Version serial: <filter> 
  BIOS: Phoenix v: Q2010g EB(SF) (006) date: 02/22/2012 
CPU:
  Topology: Single Core model: Intel Atom N450 bits: 64 type: MT arch: Bonnell rev: A 
  L2 cache: 512 KiB 
  flags: lm nx pae sse sse2 sse3 ssse3 bogomips: 6666 
  Speed: 1667 MHz min/max: N/A Core speeds (MHz): 1: 1667 2: 1667 
Graphics:
  Device-1: Intel Atom Processor D4xx/D5xx/N4xx/N5xx Integrated Graphics driver: i915 
  v: kernel bus ID: 00:02.0 
  Display: server: X.Org 1.19.2 driver: intel resolution: 1024x768~60Hz, 1024x768~60Hz 
  OpenGL: renderer: Mesa DRI Intel Pineview M v: 2.1 Mesa 13.0.6 direct render: Yes 
Audio:
  Device-1: Intel 82801H HD Audio vendor: Realtek driver: snd_hda_intel v: kernel 
  bus ID: 00:1b.0 
  Sound Server: ALSA v: k4.9.160-antiX.1-amd64-smp 
Network:
  Device-1: Intel 82567V-3 Gigabit Network driver: N/A port: fc20 bus ID: 00:19.0 
Drives:
  Local Storage: total: 11.36 GiB used: 3.73 GiB (32.8%) 
  ID-1: /dev/sda model: CF 4GB 2013A size: 3.90 GiB 
Partition:
  ID-1: / size: 3.78 GiB used: 3.30 GiB (87.4%) fs: ext4 dev: /dev/sda1 
Sensors:
  System Temperatures: cpu: 52.0 C mobo: N/A 
  Fan Speeds (RPM): N/A 
Info:
  Processes: 135 Uptime: 6m Memory: 472.8 MiB used: 167.1 MiB (35.3%) Init: SysVinit 
  runlevel: 5 Compilers: gcc: 6.3.0 Shell: bash v: 4.4.12 inxi: 3.0.33

Operating System

With only a 4GB CF card, and 512MB RAM, useful OS options are extremely limited. It depends on what you plan to do with the machine. So far my plans for them include a dedicated Jukebox, simple touch gaming and kids painting machine for the loungeroom.

For the Jukebox I will see if we can make do the stock 4GB CF card and 512MB ram. Attempts to install Xubuntu/Lubuntu failed due to space considerations, so I settled on antiX Linux, which seems pretty perfect for the job.

To reduce wear on the CF card I ensured that any OS was not set up with a swap file/partition.

For heavier demands, we can up the ram to 2GB (I believe this is the max), and either use a larger CF card, bootable USB, or perhaps SATA SSD.

Although the 5A will accept a single 2G RAM stick I've not succeeded in booting with more than 2GB (having tried various combinations of 3G and 4G).

SATA hard drive

From the Workstation 5A Setup Guide: The Workstation 5A can support a single optional SATA 2.5” SSD. The drive mounts to a plate which in attaches to the rear of the LCD plate. A SATA data cable and custom power cable are provided connect the drive to the System board. So, we'll need to live with using a CF card or USB drive unless we cobble together a custom metal plate and custom power cable.

Supressing error messages under linux

I realise I am using these machines outside of their original spec, and that being old machines (c2007) and not widely tested with Linux they are likely to have vulnerabilities and/or glitches.

One problem particularly evident is seen at boot, and when executing the dmesg command:

[    9.504923] [Firmware Bug]: ACPI: Invalid BIOS _PSS frequency found for processor 0: 0xffffffff MHz
[    9.505378] [Firmware Bug]: ACPI: Invalid BIOS _PSS frequency found for processor 0: 0xffffffff MHz
[    9.505772] [Firmware Bug]: ACPI: Invalid BIOS _PSS frequency found for processor 0: 0xffffffff MHz
[    9.506352] [Firmware Bug]: ACPI: Invalid BIOS _PSS frequency found for processor 0: 0xffffffff MHz
[    9.506732] [Firmware Bug]: ACPI: Invalid BIOS _PSS frequency found for processor 0: 0xffffffff MHz
[    9.507134] [Firmware Bug]: ACPI: Invalid BIOS _PSS frequency found for processor 0: 0xffffffff MHz
[    9.507504] [Firmware Bug]: ACPI: No valid BIOS _PSS frequency found for processor 0
[    9.507829] [Firmware Bug]: BIOS needs update for CPU frequency support

Something to do with CPU Frequency Scaling BIOS bug? Regardless of the error's reason, the 4GB CF card very quickly filled up with these messages. /var/log/messages /var/log/syslog and /var/log/kern.log were all getting huge, there are obviously a lot of messages being generated from 'problems' with the system, and these file writes will cause the SD card to fill up and/or wear out.

In order to avoid wear on the SD card, I disabled logging:

sudo /etc/init.d/rsyslog stop
sudo /etc/init.d/rsyslog disable

(actually with antiX, I disabled rsyslog though the antiX GUI).

Ubuntu: large syslog and kern.log files

Recommended way to disable/enable services?

I would like to fix the root of the error messages, but expect it can only be done through a BIOS update (unlikely to ever happen).

Perhaps there is some combination of BIOS options that would settle the system. I should have a closer look at the dmesg and logs.

Click here for dmesg output booting antiX (Debian).

Touchscreen

The touch interface on the Workstation 5A is apparently an Elo TouchSystems, Inc. Elo TouchSystems 2216 AccuTouch® USB Touchmonitor Interface. Interestingly, of the two machines I have set up identically one is much more jittery with the tough-screen input, while the other is much smoother, though both are useable.

With all of the linux distros I tried, the touchscreen input was inverted and offset, and it took a bit of reading and patience to get it working right.

Touchscreen Calibration

Although Debian seems to now use the libinput driver for touchscreens by default, I could not see a way to enable mouse button right-click emulation. I reverted to using the evdev driver (did not need to install separately), by moving the libinput config out of the way and adding a section to 10-evdev.conf for the "Elo touchscreen Catchall":

$ mv /usr/share/X11/xorg.conf.d/40-libinput.conf /usr/share/X11/xorg.conf.d/40-libinput.conf.old
$ sudo nano /usr/share/X11/xorg.conf.d/10-evdev.conf

I was having touble calibrating with xinput_calibrator (`apt install xinput-calibrator') but turned out my problem was running the calibrator repeatedly in the same session, causing it to get further out of alignment. These are the settings I got on a fresh boot and which work for me, and also provide for right-click:

$ xinput_calibrator --output-type xinput --geometry 1024x768

xinput set-int-prop "Elo TouchSystems, Inc. Elo TouchSystems 2216 AccuTouch® USB Touchmonitor Interface" "Evdev Axis Calibration" 32 3568 523 3545 588
xinput set-int-prop "Elo TouchSystems, Inc. Elo TouchSystems 2216 AccuTouch® USB Touchmonitor Interface" "Evdev Axes Swap" 8 0

We could place the above in a startup script but instead listed the properties and added to /usr/share/X11/xorg.conf.d/10-evdev.conf, as follows:

$ xinput list
$ xinput list-props 9

Device 'Elo TouchSystems, Inc. Elo TouchSystems 2216 AccuTouch® USB Touchmonitor Interface':
        Device Enabled (136):   1
        Coordinate Transformation Matrix (138): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
        Device Accel Profile (265):     0
        Device Accel Constant Deceleration (266):       1.000000
        Device Accel Adaptive Deceleration (267):       1.000000
        Device Accel Velocity Scaling (268):    10.000000
        Device Product ID (258):        1255, 80
        Device Node (259):      "/dev/input/event0"
        Evdev Axis Inversion (269):     0, 0
        Evdev Axis Calibration (270):   3568, 523, 3545, 588
        Evdev Axes Swap (271):  0
        Axis Labels (272):      "Abs X" (262), "Abs Y" (263), "Abs Misc" (264)
        Button Labels (273):    "Button Left" (139), "Button Unknown" (261), "Button Unknown" (261), "Button Wheel Up" (142), "Button Wheel Down" (143)
        Evdev Scrolling Distance (274): 0, 0, 0
        Evdev Middle Button Emulation (275):    0
        Evdev Middle Button Timeout (276):      50
        Evdev Middle Button Button (277):       2
        Evdev Third Button Emulation (278):     1
        Evdev Third Button Emulation Timeout (279):     750
        Evdev Third Button Emulation Button (280):      3
        Evdev Third Button Emulation Threshold (281):   30
        Evdev Wheel Emulation (282):    0
        Evdev Wheel Emulation Axes (283):       0, 0, 4, 5
        Evdev Wheel Emulation Inertia (284):    10
        Evdev Wheel Emulation Timeout (285):    200
        Evdev Wheel Emulation Button (286):     4
        Evdev Drag Lock Buttons (287):  0

$ sudo nano /usr/share/X11/xorg.conf.d/10-evdev.conf
Section "InputClass"
        Identifier "Elo touchscreen Catchall"
        MatchProduct "2216 AccuTouch"
        MatchDevicePath "/dev/input/event*"
        Driver "evdev"
        Option "Calibration" "3568 523 3545 588"
        Option "EmulateThirdButton" "1"
        Option "EmulateThirdButtonTimeout" "750"
        Option "EmulateThirdButtonMoveThreshold" "30"
EndSection

Touch screen configuration using xinput

Rotating the screen

To increase visibility of a unit wall-mounted unit, I needed to set up a jukebox installation of one workstation upside down. There did not appear to be a screen rotation option under BIOS, so next was linux...

note: use xinput list to ensure you are using the correct identifier for the touch screen below (in my case 8).

in the AntiX startup script /home/<user>/.desktop-session/startup:

xrandr --output LVDS1 --rotate inverted
xinput set-prop 8 "Evdev Axis Inversion" 1, 1

Rotate only one screen

Calibrate and rotate input of a TouschScreen

Click here for depreciated notes from when using libinput instead of the evdev driver.

Collected Touchscreen Links

how to enable long touch as right click

Re: Calibrate and rotate input of a TouschScreen (Ubuntu)

Translating Evdev Axis Calibration to Matrix or something else?

ELO Touchscreen Driver (using evtouch)

Elo Touch USB touchscreen not working on Ubuntu 18.04

Elo Touch Screen Intelli Touch (USB)

search for 'xinput "coordinate transformation matrix"'

Interesting, according to Configure touchscreen on Debian? perhaps it can be done with the evdev driver instead of libinput? (and here)

Archlinux - Calibrating Touchscreen

Ubuntu Wiki: InputCoordinateTransformation

Touchscreen Calibration in Debian9

touchscreen-debian-fix.sh (old, I think)

Wayland Touchpad Jumping - Motion Treshold?

Static device configuration via udev

Elo Touchscreen Linux Drivers

Elo TouchSystems Driver User Manual(windows)

Using a Raspberry Pi with a Hope Industrial Systems Touch Screen Part II: Touch Screen Setup

Touchscreen Keyboard

I simply have onboard open as a user session startup application in the GUI.

$ sudo apt install onboard

To have it start automatically add the following line to ~/.desktop-session/startup

onboard &

Touchscreen Keyboard Ubuntu Onboard on antiX 15

Debian User Forums: Installing Onboard Virtual Keyboard

How can I add an onscreen keyboard at login?

SilverJuke for antiX (v17.4.1)

Silverjuke makes an excellent jukebox software to run on a touch-screen terminal like the 5A, with touchscreen themes and the ability to lock out access to other applications with 'kiosk mode'. Unfortunately there were some problems installing it from the debian repository so we needed to compile from source, and now it works great! My current solution for getting music onto the 5A is to just place MP3 files on a local USB drive I have connected to the 5A, in addition to playing through bluetooth. Originally I had the 5A auto-syncing it's media library with the iTunes media held on a mac over WIFI, but USB makes more sense when it's just the kids' music.

When I install Silverjuke from the debian repository, and try to run it, I get an error.

$ apt install silverjuke 
$ silverjuke
Warning: Mismatch between the program and the library build versions detected. 
The library used 3.0 (wchar_t, compile with C ++ ABI 1010, wx containers, compatible with 2.8), 
and your program used 3.0 (wchar_t, compile with C ++ ABI 1009, wx containers, compatible with 2.8). 
Abandon

Well, I'm delaying sleep but finally got it working, something like this:

$ sudo apt install build-essential fakeroot devscripts autotools-dev automake
$ sudo apt install gawk automake python-docutils pkg-config zlib1g-dev libsqlite3-dev libgstreamer1.0-$ dev libgstreamer-plugins-base1.0-dev libupnp-dev libgl1-mesa-dev libwxbase3.0-dev libwxgtk3.0-dev
$ sudo apt install gstreamer1.0-plugins-good-dbg
$ sudo apt install gstreamer1.0-plugins-ugly
$ sudo apt install pulseaudio:amd64
$ sudo apt install pulseaudio

$ wget https://github.com/silverjuke/silverjuke/archive/master.zip
$ unzip master.zip
$ cd silverjuke-master
$ ./autogen.sh 
$ make
$ sudo make install

Silverjuke was refusing to play files with "gstreamer error: cannot link audio", but that has thankfully passed.

Silverjuke displaying a black screen in kioskmode

Kioskmode would turn the screen black (apparently as it thought it was supposed to be opening on another display) but this is fixed by running silverjuke with the silverjuke command line option kioskrect.

$ silverjuke --kioskrect=1 &

I run Silverjuke automatically on system startup. I also tell it to open automatically in kiosk mode, and to use a specific settings file:

$ nano ~/.desktop-session/startup
sleep 10 && silverjuke --jukebox=/home/user/.config/silverjuke/yoda.jukebox --kioskrect=1 --kiosk &

I found the sleep 10 helpful to ensure my USB disk was mounted before silverjuke ran.

There's plenty of options in Silverjuke, including the option to auto-start the visualiser during idle, or play songs at intervals during periods of inactivity and at certain times of day. It makes for quite an authentic jukebox feeling and I plan to see how it handles our entire music collection via a network share. I'd also like it to have a small subset of my our collection reside on the machine, that could be switched to when the kid(s) are playing music with it.

Collected SilverJuke related Links

Silverjuke

Silverjuke User Guide

silverjuke command line options

Silverjuke on PI3

Audacity and GCC – Mismatch between the program and library build versions

wxwidgets: Mismatch between the program and library build versions detected

Notes about toggline between Silverjuke libraries.

WIFI

My MICROS Workstation 5A's MiniPCI port (note this is not not MiniPCI-e) was unpopulated, and can accept a wifi card. A linux-friendly USB dongle would always work if not something in the MiniPCI slot!

WM3B2100

I happened to have a WM3B2100) with the right MiniPCI form-factor, and according to this it should be supported. But I get the following dmesg error:

ipw2100: eth%d: Failed to start the card.

I have ordered a BCM4318 MiniPCI WIFI card and will report my success with it below.

BCM4318

This MiniPCI card did not work out of the box, but forcing the module to load seems to have worked, by adding b43 to /etc/modules. Now I can see the network card in the list of Network Interfaces, in the antiX GUI and am able to use WIFI.

$ lspci
01:08.0 Network controller: Broadcom Limited BCM4318 [AirForce One 54g] 802.11g Wireless LAN Controller (rev 02)

I am still getting some errors in dmesg, but will see if it works.

dmesg | grep wl
[   11.981596] wl: loading out-of-tree module taints kernel.
[   11.981609] wl: module license 'MIXED/Proprietary' taints kernel.
[   12.021565] caller wl_pci_probe+0x2ba/0x5b0 [wl] mapping multiple BARs
[   12.099749] wl driver 6.30.223.271 (r587334) failed with code 21
[   12.099757] ERROR @wl_cfg80211_detach : 
[   12.099757] NULL ndev->ieee80211ptr, unable to deref wl

Ubuntu: WifiDocs/Driver/bcm43xx

ndisgtk

Another option to get WIFI working would be to try ndisgtk (included in antiX) to utilize the Windows driver.

Linux Wi-Fi Card Activation in Ubuntu Using ndisgtk

Ubuntu Forum: Re: Broadcom Diver wont install, please help "Do you consider using Windows driver with ndisgtk ?"

Backing up the CF card

Taking a system backup is a good idea to avoid loss of setup...

After plugging the CF card into a CF card reader on a linux PC:

determine the disk, e.g. sdb:

$ lsblk

backup the disk with dd (where X = your correct drive):

$ sudo dd if=/dev/sd[X] of=./BACKUP.dd bs=32M

to restore (where X = your correct drive):

$ sudo dd if=./BACKUP.dd  of=/dev/sd[X] bs=32M

Setting startup (default) audio volume in AntiX

In case the volume was changed by a previous user I found it helpful to reset the volume on each boot...

In Antix, select Control centre > Session > User session desktop > Toggle to desktop-session.conf file and change the % in this line to whatever you wish:

STARTUPSOUNDLEVEL="25%"

Controlling the system volume through a cronjob

Playing around to ensure that volume is set to certain levels at certain times of day...

$ echo $DISPLAY

$ crontab -e

* 1 * * * DISPLAY=:0.0 /usr/bin/amixer set Master 0%
* 8 * * * DISPLAY=:0.0 /usr/bin/amixer set Master 30%
* 9 * * * DISPLAY=:0.0 /usr/bin/amixer set Master 50%
* 12 * * * DISPLAY=:0.0 /usr/bin/amixer set Master 60%

WAIT! For some reason the % diddn't work in crontab?? (maybe due to this) always setting the volume to 0.. so using this:

* 1 * * * DISPLAY=:0.0 /usr/bin/amixer set Master 0 
* 8 * * * DISPLAY=:0.0 /usr/bin/amixer set Master 20000
* 9 * * * DISPLAY=:0.0 /usr/bin/amixer set Master 32768
* 12 * * * DISPLAY=:0.0 /usr/bin/amixer set Master 40000

For some reason this stopped working?... so using this:

0 1 * * * DISPLAY=:0.0 /usr/bin/amixer sset Master 0
0 8 * * * DISPLAY=:0.0 /usr/bin/amixer sset Master 20
0 9 * * * DISPLAY=:0.0 /usr/bin/amixer sset Master 50
0 12 * * * DISPLAY=:0.0 /usr/bin/amixer sset Master 60

Still experiencing problems, this time audiable even when set to 0 so:

0 1 * * * DISPLAY=:0.0 /usr/bin/amixer sset Master 20 off
0 8 * * * DISPLAY=:0.0 /usr/bin/amixer sset Master 20 on
0 9 * * * DISPLAY=:0.0 /usr/bin/amixer sset Master 50 on
0 12 * * * DISPLAY=:0.0 /usr/bin/amixer sset Master 60 on

How to use command line to change volume?

Restarting Silverjuke every day

To clear playlist, and randomly play again if it had been paused (if silverjuke set to auto-play), etc...

0 3 * * * /usr/bin/pkill -f silverjuke
0 7 * * * DISPLAY=:0.0 /usr/local/bin/silverjuke

How do I run a cronjob on a display?

Apps/utilities that might be appropriate for the touchscreen / form factor

Bluetooth

I added a USB bluetooth dongle to the 5A and set it up so that I could pair a phone and play music through the 5A to the connected stereo.

In AntiX there are some Bluetooth options under the GUI menu, however bluetoothctl under the command line was used to connect to i-devices, something as follows:

bluetoothctl -a
[NEW] Device XX:XX:XX:XX:XX:XX ipad
[bluetooth]# scan on
Discovery started
[bluetooth]# pair XX:XX:XX:XX:XX:XX
Attempting to pair with XX:XX:XX:XX:XX:XX
[CHG] Device XX:XX:XX:XX:XX:XX Connected: yes
Request PIN code
[agent] Enter PIN code: 0000
[CHG] Device XX:XX:XX:XX:XX:XX Modalias: bluetooth:v004Cp6F05d1030
[CHG] Device XX:XX:XX:XX:XX:XX UUIDs: 00000000-deca-fade-deca-deafdecacafe
[CHG] Device XX:XX:XX:XX:XX:XX UUIDs: 00001000-0000-1000-8000-00805f9b34fb
[CHG] Device XX:XX:XX:XX:XX:XX UUIDs: 0000110a-0000-1000-8000-00805f9b34fb
[CHG] Device XX:XX:XX:XX:XX:XX UUIDs: 0000110c-0000-1000-8000-00805f9b34fb
[CHG] Device XX:XX:XX:XX:XX:XX UUIDs: 0000110e-0000-1000-8000-00805f9b34fb
[CHG] Device XX:XX:XX:XX:XX:XX UUIDs: 0000111f-0000-1000-8000-00805f9b34fb
[CHG] Device XX:XX:XX:XX:XX:XX UUIDs: 00001132-0000-1000-8000-00805f9b34fb
[CHG] Device XX:XX:XX:XX:XX:XX UUIDs: 00001200-0000-1000-8000-00805f9b34fb
[CHG] Device XX:XX:XX:XX:XX:XX UUIDs: 00001801-0000-1000-8000-00805f9b34fb
[CHG] Device XX:XX:XX:XX:XX:XX UUIDs: 02030302-1d19-415f-86f2-22a2106a0a77
[CHG] Device XX:XX:XX:XX:XX:XX ServicesResolved: yes
[CHG] Device XX:XX:XX:XX:XX:XX Paired: yes
Pairing successful

BIOS

Some BIOS notes here.


@electroluckydip