Fosfor has a new Dell P2422H screen, a new Slackware current Linux and a new CoolerMaster CK351 keyboard.

Fosfor, the new old Dell Precision T1700

After I got stuck overhauling the old (2009) Borium system I decided to shell out some money and buy a new, at least 'new for me', computer that would be

If you live in NW europe, you might find these shops worth while: At the latter I bought myself a used Dell Precision T1700 SFF (Small Form Factor) system. This is one step less compact than their USFF systems like Mangaan and Cobalt, and SFF has more room inside. It is less crowded, has 4 DIMM slots instead of just 2 and there are two PCI-ish extension slots. And there is a 3.5" bay, next to the slimline DVD drive. Not sure if I keep the DVD or replace it with a mechanical hard drive in a media bay.


Inside Fosfor

The unit arrived today. It has a quick, toolfree access method. Press a button, lift a lever and the full side comes off. Inside you see a huge CPU cooler, a medium sized power supply and a drive assembly. Deep inside you see a mainboard with 4 DIMM slots of which one is populated with 4 GB. According to the specifications this unit should have

Quite a potent system. Lots of ports. 'IT Gigant' added in the Low Profile PCIe display card. And blocked the VGA port with a bolt-on lid. Neat. There's not much to find about this system. Most of the reviews are for the overpowered systems using the most expensive versions of everything. The testers think they are testing for the world but the world does not have their budgets.

Changes

The system as such is delivered with 4 GB of RAM (1 stick) and a 120 GB SSD. Good enough for a webbrowsing windows user. I have higher demands since this will be the successor to Fluor, my current main machine.


First boot

After I mounted the new RAM, added some cooling paste to the CPU surface, mounted the SSD and replaced the CR2032 cell (not in that order) I closed the system, gave it a wipe with a moist cloth and put it in place, next to the 'Dell Ultrasharp 1704 FPTS' screen. All cables were hooked up. There was no OS on anything so I just wanted to enter setup. So I repeatedly pressed F2 and eventually I ended up in the BIOS setup, where everything was locked.... It could only be unlocked with the admin password, which I did not have and which was not '0000'. A web search revealed that I had to pull the 'PSWD' jumper on the main board. That jumper turned out to be under the VGA card. I tried several options and none worked. This however worked:

  1. Disconnect all cables from the T1700
  2. Open the case and remove the VGA card
  3. Remove the blue jumper on the PSWD header
  4. Re-install the VGA card and close the case
  5. Reconnect all cables
  6. Start the machine
  7. Enter BIOS and make changes
You can now leave the jumper off. But you will get a warning each and every time you start the computer. So I decided to open the machine one more time to re-install the jumper. Now, when you enter the BIOS setup, you are confronted with the locked system again. I am considering putting a 2 pin header with wires leading to a mechanical switch on the shorting block. Then it will be enough to flip the switch before going to change things, instead of having to take apart half the machine.

The jumper is a protection, an override. With the jumper on, you cannot change any BIOS setting, unless you have the admin password, which I still do not have. And it is not likely that I will ever get it since this is a used machine.

I changed some important things in the BIOS setup: smartd monitoring, intel speedstep and something with wait/sleep states.

Get an operating system on it

Yes. You got it. I will install Slackware 64 on it and make it multilb so I can run both 64 and 32 bit software on it. Get yourself a disk image from Alien Bob's slackware mirror and burn it to a USB stick with

dd if=slackware64-current-install-dvd.iso of=/dev/sdx bs=16M
where 'sdx' is the descriptor of the USB stick. You can find out which letter it is with the 'lsblk' command. The installer process is easy:
  1. Insert the Slackware boot USB in a frontside USB port
  2. Power on the machine
  3. When the setup program is running press 'Enter'
  4. Skip the keyboard section
  5. Logon as 'root' (no password)
  6. Enter 'lsblk' to see what the bootdisk is named (in most cases it is '/dev/sda')
  7. Enter 'cfdisk' (when you have more than one disk, 'cfdisk /dev/sda' will do
  8. Select to use a DOS partition scheme
  9. Create 2 partitions (swap is not required with 8 GB of RAM): You cannot and need not name the partitions. Just create them.
  10. Write to disk and QUIT to the command line
  11. Enter 'setup' and press 'Enter'
  12. Choose 'target' and prepare the partitions. Choose the smaller partition for the 'root filesystem'. Choose the other partition for the '/home' filesystem. Format all partitions in EXT4.
  13. Choose source media (in my case USB) and let the installer search the system for it
  14. Choose 'all packages' and 'full install'
  15. After 10 minutes skip making of the USB rescue disk (this is not windows....)
  16. Just follow the questions, in most cases the defaults are good enough.
  17. When asked for a screenfont: I use 'ter-918b'
  18. Fosfor is not a laptop, so it is on a fixed IP address (192.168.56.15) and the networkmanager is not running.
  19. Enter a root user password
  20. Select a timezone
  21. Select a default windowing system (XFCE is great)
  22. When prompted, choose to reboot the system
After the Slackware splash screen appears, hit 'Enter', or wait 2 minutes... The first time the machine boots it needs to do some crypto tasks which take some time, but they are never again performed in later (re)boots.

System maintenance

And that's just about it for the time being. Log off as root and log on as 'don' and enter 'startx' to start the windowing system. The rest is childs play.

What did it cost?

Not much!

Dell Precision T1700 SFF	160
2x4 GB DDR3 1600 MHz memory	 16
Adata SU-800 512 GB SSD		 40
AX 510 soundbar			 21
bits and bobs	 		 14
				--- +
			euro	250
   
Fosfor is burning hot. It runs like a bat out of hell. Greased lightning. When in XFCE, the system load monitor is at 1% or something like that. The colours are great, action is fast. And it is silent. When doing system diagnostics, I tested the CPU and chassis fans. When running at their maximum RPM's, they sound like an air raid siren. But during normal operation you only hear the clicking of the keyboard or the whine of the mousewheel. The Passmark rating for the CPU was 8031. Well above average for Windows users.

User mode changes

As user 'jan' I changed some parts of the system to fit my needs.

Those are the most important tweakings. There are a lot more. You will find out about those later and you will be able to change them to your style and taste.

Fixing the PATH and PROMPT

The PATH problem was fixed once and for all by chaning a line of text in /etc/profile. The line is now

PATH=~/.local/bin:/usr/local/sbin:/usr/sbin:/sbin:$PATH
and the secion in red was added so that each user now has his own '.local/bin/' as first entry in the search path.

I want the path reflected in the prompt. This is a quite normal approach within most slackware consoles. The problem was, that 'Konsole' does not automatically process the commands in /etc/profile. That was solved by this .bashrc file:

. /etc/profile

alias lls='ls -lh'
alias tls='ls -lhrct'
alias cls='clear'
   
That solved it all.

The hosts file

The '/etc/hosts' file is your primary DNS lookup. When the requested URL is not in your local /etc/hosts, the machine will consult your router. My hosts file contains:

#
# hosts		This file describes a number of hostname-to-address
#		mappings for the TCP/IP subsystem. It is mostly
#		used at boot time, when no name servers are running.
#		On small systems, this file can be used instead of a
#		"named" name server.  Just add the names, addresses
#		and any aliases to this file...
#

# For loopbacking.
127.0.0.1		localhost
::1			localhost

192.168.56.9		fluor.fruttenboel	fluor
192.168.56.11		natrium.fruttenboel	natrium
192.168.56.15		fosfor.fruttenboel	fosfor
192.168.56.16		zwavel.fruttenboel	zwavel
192.168.56.17		chloor.fruttenboel	chloor
192.168.56.21		scandium.fruttenboel	scandium
192.168.56.22		titaan.fruttenboel	titaan
192.168.56.23		vanadium.fruttenboel	vanadium
192.168.56.24		chroom.fruttenboel	chroom
192.168.56.25		mangaan.fruttenboel	mangaan
192.168.56.26		ijzer.fruttenboel	ijzer
192.168.56.27		cobalt.fruttenboel	cobalt
192.168.56.28		nikkel.fruttenboel	nikkel
192.168.56.29		koper.fruttenboel	koper
192.168.56.99		router.fruttenboel	router
192.168.56.156		hp559.fruttenboel	smartink
   
In this file, the IP address 192.168.56.15 is linked to the name of the machine. Once I got an error from the FTP server: it could not find the server name (I forgot the line '192.168.56.15 fosfor.fruttenboel fosfor') and after adding that line, the troubles were solved.

Getting mocka to run

At first I got into all kinds of unresolvable errors, Installing mocka is easy: just untar mocka.tgz in /usr/local/ and set an environment variable. But then you need to compile some programs, with the mocka compiler itself.
The 'as' assembler would throw all kinds of error messages: it could not process the 'pushl' instruction. Investigation showed that I only had the 64 bit as version, so I got a 32 bit binutils package, converted it to a compat32 package and installed that. Then I noticed I forgot to set 32 bit mode. Then I found out I need to set the ARCH environment variable with

export ARCH=i586
From this moment on, I could compile programs with mocka but the linker would choke on a wrong 64 bit file: liblto_plugin.so. The error message was:
Mocka 0608m
.. Compiling Implementation of BasicIO 
.. Compiling Implementation of Storage 
.. Compiling Implementation of ByteIO 
.. Compiling Implementation of RealConv 
.. Compiling Implementation of TextIO 
.. Compiling Definition of Signals
.. Compiling Implementation of Signals 
.. Compiling Implementation of MemPools 
.. Compiling Implementation of Clock 
.. Compiling Program Module tst 
.. Linking tst
>> 
LREAL.c:28:1: warning: return type defaults to ‘int’ [-Wimplicit-int]
   28 | BEGIN_LREAL(){}
      | ^~~~~~~~~~~
libc.c:4:1: warning: return type defaults to ‘int’ [-Wimplicit-int]
    4 | BEGIN_libc(){}
      | ^~~~~~~~~~
miscc.c:17:1: warning: return type defaults to ‘int’ [-Wimplicit-int]
   17 | BEGIN_miscc(){}
      | ^~~~~~~~~~~
/usr/bin/32/ld: /usr/libexec/gcc/x86_64-slackware-linux/12.2.0/liblto_plugin.so: error loading plugin: 
/usr/libexec/gcc/x86_64-slackware-linux/12.2.0/liblto_plugin.so: wrong ELF class: ELFCLASS64
collect2: error: ld returned 1 exit status
./machen: line 26: mockabin/tst: No such file or directory
   
Sorting out what happened here and how to circumvent this.

This is a difficult subject. It took quite some time and in the end, it is impossible to have Mocka produce 32 bit executables. The multi-libbed system RUNS 32 bit executables with lightning speeds. But it won't compile them. C'est la vie. It is easier to make a system multiboot: one 32- and one 64 bit Linux each in its own partition.

Getting obc to run

'obc' is the Oxford Oberon compiler and it is my favorite language to program in. It was not developed for Slackware but with some minor tweaks it will run very well. I installed version 3.1.2 It needs a little tweak, to be carried out as root:

cd /usr/lib64
ln -s libffi.so.8.1.2 libffi.so.6
   
which will make the compiler produce executable code, but with a warning of a missing file. You can just ignore that warning. My prime numer calculator needs 2:35 minutes to find all primes upto 100 million. Fluor, my i3 machine needs 7:30 and Borium needed 15 minutes. A friend used a similar program in python and he had to pull the plug after 4 hours....

Download this copy of obc from fruttenboel: obc-3.1.2-amd64-_3.1.2.txz

A new Dell P2422H screen for Fosfor

This is a Del 24" monitor from their 'Professional' productline. It has:

Connecting was a bit of a challenge. The T1700 lacks a VGA connector. It has two DisplayPorts but there apparently is no signal on it. And the T1700 lacks an HDMI port. I solved it by ordering a DVI to HDMI cable at bol.com/amazon, which worked out of the box.

But the colours were off. Not much, but you could clearly see it 'in the whites' on photo's. I was afraid it being the screen needing calibration or the quality of the DVI -> HDMI cable. In the end it was due to the colour balance. I just selected the bottom option 'Custom colour balance' which was on 100% for all channels (but there are sliders for each channel). Now the colours are spot-on.

A new operating system

18 months ago this was a test bed system. Now that I am going to use it more, I will install the Slackware current that I also installed on Titaan. Installing it was easy. Now all my main machnes run comparable 64 bit linuxes.

A new CMOS RTC battery

I do not use this computer daily, but last Tuesday I needed to use it. But it would not start. There was no beep-code, so that was OK. The amber and white power indicator lights did some blinking but in an odd way.

The flashing lights are not documented. There was a spanish language cure but it involved a rain dance so I let that go. One of the commentors in that thread talked about the strange things that can occur when the CR2032 cell is empty. And since that option would be the lowest cost to fix it, I opted for that one.
In order to access the coin cell, you have to Rebuild the drive cage. And that cured the problem.

Useful links