Howto disable Raspberry Pi Status LEDs with RaspberryMatic

I’m using a RaspberryPi 3 with RaspberryMatic distribution to control my HomeMatic thermostats. This distribution has a “heartbeat” functionality, which leds the green LED of the Pi light up in constant time intervals.

These LEDs are quite strong and disturb the sleep of my family. Therefore its time to disable these leds.

Connect via SSH to the RaspberryMatic installation. Edit or create the file /usr/local/etc/rc.local and add this content:

#!/bin/sh
echo none >/sys/class/leds/led0/trigger
echo none >/sys/class/leds/led1/trigger

Now make this script executeable:

chmod +x /usr/local/etc/rc.local

This script is executed on each start and disables the LEDs completely. No need to use some duct tape to mask the LEDs anymore 🙂

How to download Windows 10/11 iso using a M1 MacBook Pro

I’ve recently tried UTM on my Apple Silicon MBP to test Windows 11. To install Windows 11, I needed a recent iso image. This blog post explains how to download the iso files for Windows 10 or 11.

Go to UUP dump. This page lists all available UUP files from Windows Update servers.

Search for “feature update Windows 10” or “Windows 11 Insider Preview” and select a recent version for the required architecture (e.g. x64). Click on next.

Select a language and click next.

Select an edition, like “Windows Pro” and click next.

Select Download method “Download and convert to ISO”. Check “Include updates” and click on “Create download package”.

Extract the resulting file. You’ll see three scripts:

  • Windows: uup_download_windows.cmd
  • Linux: uup_download_linux.sh
  • macOS: uup_download_macos.sh

Make the uup_download_macos.sh executable by using “chmod +x uup_download_macos.sh” and try to execute it.

It will probably complain about missing files. But at the same time, it offers help on what you’ll need to install using homebrew, e.g.:

brew tap sidneys/homebrew
brew install aria2 cabextract wimlib cdrtools sidneys/homebrew/chntpw

On my M1/Apple Silicon Mac, chntpw complained about a non working SSL. I’ve found this issue on Github, which has some easy installation recommendations:

curl -LO https://gist.github.com/minacle/e9dedb8c17025a23a453f8f30eced3da/raw/908b944b3fe2e9f348fbe8b8800daebd87b5966c/openssl@1.0.rb
curl -LO https://gist.github.com/minacle/e9dedb8c17025a23a453f8f30eced3da/raw/908b944b3fe2e9f348fbe8b8800daebd87b5966c/chntpw.rb
brew install --formula --build-from-source ./openssl@1.0.rb
brew install --formula --build-from-source ./chntpw.rb
rm ./openssl@1.0.rb ./chntpw.rb

Now try to execute the uup_download_macos.sh script again. It will now download the requested update files and will create automatically a nice ISO file, which can be used to install Windows.

As we’re using the official Windows Server Update files, this method should be legal. There is a more detailed report available ag win10.guru which explains, that most of the tool was developed by analyzing the network traffic of a Windows installation running updates. It’s also a good way to get the versions including the latest updates including the Insider builds. Of course there’s still the official download page from Microsoft.

Configure DynDNS client ddclient for use with all-inkl

You can try ddclient, if you don’t have a Router or NAS, which updates a DynDNS account. I’m using it on Raspbian and all-inkl as hosting service.

Create a new dyndns account in kas.all-inkl.com. Go to Tools, DDNS Settings and create a new entry. You’ll need the information from this page for the configuration of ddclient.

On your Raspberry pi:

$ sudo apt-get update
$ sudo apt-get install ddclient

Select other as DDNS service provider. Use dyndns.kasserver.com/ as update server with dyndns2 as protocol. Configure username and password as provided by all-inkl. Use eth0 as network interface (we’ll change this later on) and add your DynDNS Domainname.

$ sudo nano /etc/ddclient.conf

Change the file accordingly to your needs:

# Configuration file for ddclient generated by debconf
#
# /etc/ddclient.conf

protocol=dyndns2
#use=if, if=eth0
use=web
web=checkip.dyndns.org/
web-skip='Current IP Address: '
daemon=900
syslog=yes
pid=/var/run/ddclient.pid
mail-failure='email@domain.com'
server=dyndns.kasserver.com
login='yourlogin'
password='yourpassword'
subdomain.domain.com

This config will use checkip.dyndns.org to get your currently used external IP address. If you’ll use eth0, it will probably report the internal IP address of your eth0 interface instead.

If it encounters any errors, it will send an failure email to the provided email.

Now reboot the service and you’re done

$ sudo service ddclient restart

Howto avoid resets of default Apple Music media folder when using a NAS

I’m a longtime fan and user of automount. Automount mounts automatically my Apple Music media folder, once the Music app tries to access it.

I’ve recently updated to a Macbook with apple Silicon running Big Sur. It looks like the default behaviour changed, because I’m often adding songs to Apple music, just to see that they are copied to my SSD instead of the automounted NAS media folder.

This is incredible annoying and is probably caused by a race condition between Apple Music and automount not mounting the volume fast enough. So from time to time I’ll need to check my configured media folder in Apple music. I’ll end up changing the folder back to the automount folder and need to wait for Apple music to finish a complete scan of the library:

Waiting for Apple Music to update its library…

“Limnos” pointed me to a potential workaround for this behaviour:

  • Create a symbolic link to the Apple Music app on your SSD and place it on the automounted volume.
  • Create a second symbolic link from the first link back to your SSD applications folder.
  • Start Apple Music app only by using this link.
  • If the volume isn’t mounted, the link will point nowhere and Apple Music won’t start. This will hopefully stop it from rewriting the media paths.

This can be done in the terminal with just two commands:

ln -s /System/Applications/Music.app /System/Volumes/Data/mount/music/Music.app
ln -s /System/Volumes/Data/mount/music/Music.app /Applications/MusicOnNAS.app

You can now add that link to MusicOnNAS.app to your dock, but it can only be placed in the area next to the recycle bin.

You can test this now by unmounting the volume manually on the terminal. If you click now on the link in your dock, it won’t start Apple Music. However, if you’ll click it a second time, it will start since automount has successfully remounted your volume containing the link.

Nevertheless, Apple Music forgot its media path and I’ll have to change it again to the folder. So this is just a bad workaround. Even when you’ll change the media’s path after this test, it will be reset on the next iTunes startup.

So ultimately I’ll end up with a the instructions of “Make a split library portable“, which basically says you shouldn’t separate the Apple Music library and its media. Always put the library next to the location of your media.

Also you’ll need to make sure that you’ll manually open the right .musiclibrary file. You can define the library to open when you hold the alt key before you’ll start the Apple Music app:

Apple Music asks for a library to use when you’ll open it with alt key pressed.

If you’ll just double click, it will most likely not open the right library. Somehow macOS still knows where you’ve moved your local library file (e.g. to the NAS in the automounted folder) and will open it from the new location.

With moving the library next to the media I’m somehow happy about the outcome. Looks like Apple did not consider moving the Apple Music library to any external volume and expects it to be always present in a reachable location.

Slow SSDs in MacBook Pro 13″ 2012

A friend asked me to check her MacBook Pro 13″ from 2012. It is running unbearable slow. So I’ve made a bootable copy with Carbon Copy Cloner and TimeMachine and tried to start with a fresh installation.

I’ve created an external Bootdisk with macOS 10.15 and tried to repartition and wipe the SSD. This process took already very long and I started to wonder what might have caused this delay.

This MacBook was running fine for almost two years when I’ve replaced the internal HDD with a SanDisk SSD Plus SDSSDA-480G. All the more I was wondering why it started to be so slow without warning.

I’ve found this post on ifixit.com where someone replaced the HDD with an SSD in the same model and it started to be very slow. The culprit should be the internal SATA cable, which isn’t either SATA3 compatible or has broken data lanes due to mechanic stress from bending or itching on sharp edges caused by the CNC milling of the MacBook case:

I’ve checked the cable and did not see any damages to the cable. So I’ve tried an old HDD on the same cable and repartitioning and installing was reasonable fast again.

I was still not convinced that the cable should be the problem, but decided to order a new cable including the IR receiver as well as the standby LED. There’s some sort of confusion about the right model number, but looks like 821-1480-A is the right one. I’ve ordered the cable from iFixit.com as I intended to avoid quality problems. However, you’ll get the same cable with the HDD bracket for less money from Amazon.

Replacing the cable is quite easy and can be done in less than 10 minutes.

After I’ve replaced the cable, I’ve tried the SanDisk SSD again. The installation was still very slow so I’ve cancelled the installation. Luckily I’ve had another SSD which I could test and this one installed quite fast.

So I’ve decided to replace the exchanged cable with the original cable and rebooted the Mac. I was surprised by a login screen where the default user was unknown. I’ve only created one user on that machine and it should’ve been automatically preselected. Ok, I can type that username by myself and typed the password, but I’m unable to login at all. Either password or username are wrong?!

I’ve rebooted to the recovery partition of the currently installed SSD and tried to repartition the SSD. Deletion was now slow again and failed with this error I’ve never seen before (got the error message only in German, sorry 😞):

Das Entfernen der Volumedaten zum Verhindern zukünftiger unbeabsichtigter Überprüfungen ist fehlgeschlagen (-69825).

Searching for this error lead me to a German forum, where a user has also the same MacBook and problems with his SSD. Looks like changing the SATA cable helped in this case.

After I’ve replaced the faulty SATA cable with the new one, I was able to repartition the SSD which wasn’t deletable before.