Intel M.2 SSD Fail

Meh.. just had this (lower M.2 drive in the pic) less than 4 year old (bought 2016/11) Intel 600p M.2 VNMe drive fail without any warning signs. The machine won't boot at all. Need to reinstall everything on a new (top drive in pic) 660p drive now...


Disable screensaver/blanking on Raspberry Pi

For permanent display screens (e.g. digiclock) run by a Raspberry Pi it is useful to disable screen blanking and the screen-saver. These two config-edits seem to work:

In /etc/xdg/lxsession/LXDE-pi/autostart we want

And then in /etc/lightdm/lightdm.conf


Shades of Blue

About two weeks into using win10 on the HTPC..


Maybe in the future Zwift and VRC will be available on Linux or some other decent OS.


New HTPC: Intel NUC 6i7KYK

I got a new computer for videos, games, music etc. on the TV. The Intel NUC 6i7KYK is a small barebone machine with an i7-6770HQ processor and Iris 580 graphics (should be OK for games) with HDMI (and others) output. It comes with a nice allen-key for the top cover screws, but the design language gives mixed messages when you turn the NUC over to open the back cover: here you need a plain vanilla Phillips screwdriver (not included).

I put 16 Gb of DDR4-SODIMM RAM in it and a 256 Gb M.2 SSD drive, The keyboard is a wireless Logitech K400+. So far no surprises - everything is working well.


old bits, new bits

got new broadband. much the same as the old broadband.


Computer Programming

Simple Mersenne prime search

For fun I tried to search for Mersenne primes with a very simple code (below). It finds the 20 first Mersenne primes (all known by 1961) in under a minute. After that it slows down quite a lot and finds the 26th prime (discovered in 1979) in about 5 hours.




I ran y-cruncher on a number of machines. Note the logarithmic y-axis. Lower is faster.


  • i7-3537U, 2.5 years old Lenovo yoga laptop. Runs hot. Time to upgrade?
  • i5-4300U, ~1 year old work laptop, HP ultrabook. Runs much cooler.
  • i7-2600K, 3+ years old home desktop
  • i7-3770, 2.5 years old work desktop
  • Opteron 4334, Del R515 server, 1? year old.
  • i7-3930K, computing machine at work, 3+ years old
  • i7-5820K and i7-4770K newest lab computers, both 1 year old.

Intel Atom C255Xs

The Atom C255X is becoming a popular processor in not-so-demanding low power boxes.

Here's a pfsense SG-4860 router/firewall using a C2558 (15W) processor and 8 Gb of RAM. It comes with 4 Gb of on-board flash storage, so the external mSATA drive (lower edge, just above the Ethernet connectors) is not required unless you need to store very big pfsense logfiles. No moving parts, passive cooling only. Although pfsense-branded (running FreeBSD + pfsense), under the hood it's probably an ADI Engineering RCC-VE.

Here's a SuperMicro 5018A-MLTN4 with a C2550 (14W) processor in a 1U 19" rack enclosure. SSD drive and 8 Gb of RAM. I suspect the front fan is quite overkill and could be slowed down a lot or completely removed. The built-in graphics produce not-so-great performance under Ubuntu, but with lubuntu-desktop it's usable as a lab server that you need to configure or check only once a week or so.


NTP stratum-1 on Ubuntu 14.04LTS

Some (incomplete) notes on setting up a stratum-1 NTP server on Ubuntu 14.04LTS

To handle the upcoming leap-second we want a leapfile, from:

The path of the leapfile goes into /etc/ntp.conf
leapfile /etc/leap-seconds.list
But Ubuntu uses apparmor, so we must grant permission for the ntp service to read this file in /etc/apparmor.d/usr.sbin.ntpd by adding:
/etc/leap-seconds.list r,
To make apparmor parse and apply the new rules we do:
sudo apparmor_parser -r /etc/apparmor.d/usr.sbin.ntpd
when the ntp service starts it is useful to look at /var/log/syslog where ntp will complain if it doesn't have permission to read the leapfile or if it is badly formatted.

Now let's edit the default options for the ntp service in /etc/default/ntp by adding:
(-N runs ntpd at highest priority, -g makes it more robust agaist large time offsets, see man ntpd)

To get time in NMEA-format and a pulse-per-second (PPS) from gpsd we add two shared-memory (type 28) refclock drivers to /etc/ntp.conf

# GPS Serial data reference
server maxpoll 3
fudge time1 -0.230 refid GPS

# GPS PPS reference
server prefer maxpoll 2
fudge refid PPS

(the time1 adjustment number needs to be calibrated somehow..).

Finally we let ntp distribute time to the outside world by adding this line to /etc/ntp.conf (this is usually at the end of the file).
restrict default noquery

Now let's set up gpsd. The service configuration file is /etc/default/gpsd, and as suggested in the file we edit it with the utility:
sudo dpkg-reconfigure gpsd
The options that worked for me are device /dev/ttyS0 and options -n (don't wait for clients to connect). After running the utility /etc/default/gpsd should look something like:


You can verify that gpsd is working with cgps, xgps, or gpsmon.

This should result in Ubuntu automagically starting gpsd and ntpd in the correct order at bootup, and ntpq -p should show something along the lines of:
Screenshot - 06262015 - 10:18:31 AM

If you want to manually restart (or just start or stop) the services, required e.g. after any changes are made to /etc/ntp.conf, it is done with
sudo service ntp restart
sudo service gpsd restart


Rack PC Build - Part Two

Another rack-PC put together this week. Intel X99-chipset with LGA2011-3 CPU socket. Only PCI-e slots, no legacy PCI-slots.

Again I didn't get the polarity of the HDD-LED and Power-LED wires right on the first try. How come the industry cannot agree on a standard connector for the bundle that has the power-switch, reset-switch, HDD-LED, and Power-LED?

Another glitch was that this board has 8 slots for RAM, and the two RAM-sticks I got need to be installed exactly in the right slots - otherwise it won't even boot into the BIOS. Some reading of the motherboard manual was required.

After installing Ubuntu 14.04LTS (from USB-stick! No CD/DVD required) the NVIDIA-drivers (for the GTX750TI) were not automatically detected. I downloaded the latest driver from NVIDIA and installed it manually. This requires logging in to a text-only console (CTRL-ALT-F1), and then killing X for the duration of the install (sudo service lightdm stop)