Older Microsoft Hardware Is Not Supported By The New “Mouse and Keyboard Center”

If you have the same problem like me, that the mouse wheel of you beloved Microsoft Wireless Laser Mouse 8000 is not working in some applications and games, you need the Microsoft drivers for it.

Unfortunately, the new Mouse and Keyboard Center, from Microsoft does not support some older Hardware anymore and my 8000er mouse is one of them. 

But it’s still working on Windows 10 for example to just install the older IntelliPoint Drivers in the latest version 8.2. The only problem is, they are not easy to get. Microsoft only provides a 7.x version.

I can provide the version 8.2 here, as long as the my limits are not reached on the server. 

IntelliPoint (64 bit) 8.20.468.0

Replace Disks in a Failed RAID1 and Grow it Afterwards

One week ago, my Linux NAS decided to spam me with mails, while I was sitting in a bar. Nothing is more disturbing, while having a nice chat and drink a beer, than your home server screaming about a failed RAID. I have to admit, I knew the RAID will fail soon, since one of the HDDs already was marked bad by SMART for some weeks…

Anyway, I shut down the server remotely and ordered immediately two new Seagate 4 TB NAS Drives. They arrived soon, but then my struggle begun. I really had no idea how to replace the HDDs in the RAID array and then grow the RAID to the new size of the HDDs, since my old drives where only 2 TB.

After some time of Google research I was aware of the steps to perform the procedure and it’s fairly easy!

(Be aware that identifier in your system might be different! Perform this steps at your own risk and make a backup before you perform anything on your system!)

  1. Shutdown the server and replace the failed HDD with the first new HDD.
  2. Now its time to create a new partition on the drive. Since my partition will be greater than 2 TB, I need to use GPT layout on the drive. This can be archived with the parted command.
    thomas@omv: parted /dev/sdb
    GNU Parted 2.3
    Using /dev/sdb
    Welcome to GNU Parted! Type 'help' to view a list of commands.
    (parted) mklabel gpt
    Warning: The existing disk label on /dev/sdb will be destroyed and all data on this disk will be lost. Do you want to continue?
    Yes/No? yes

    Now I have the GPT in place and can add a partition. I’ll use the whole drive as one big partition and use ext4:
    (parted) mkpart ext4 0% 100%
    (parted) print
    Model: ATA ST4000VN000-1H41 (scsi)
    Disk /dev/sdb: 4001GB
    Sector size (logical/physical): 512B/4096B
    Partition Table: gpt
    Number  Start   End     Size    File system  Name  Flags
     1      1049kB  4001GB  4001GB  ext4
    (parted) quit
  3. Add the new HDD to the RAID array and wait for the re-sync. This can take a long time, in my case 3.5 h.
    thomas@omv: mdadm /dev/md0 --add /dev/sdb1
    thomas@omv: cat /proc/mdstat
    Personalities : [raid1]
    md0 : active raid1 sdb1[3] sda1[2]
          1953382208 blocks super 1.2 [2/1] [_U]
          [=======>.............]  recovery = 35.2% (688880832/1953382208) finish=120.2min speed=175217K/sec
    unused devices: <none>
  4. After the re-sync, remove the last old HDD with the following commands:
    thomas@omv: mdadm /dev/md0 -f /dev/sda1
    mdadm: set /dev/sda1 faulty in /dev/md0
    thomas@omv: mdadm /dev/md0 -r /dev/sda1
    mdadm: hot removed /dev/sda1 from /dev/md0
  5. Now shutdown the system again and replace the second old HDD with a new one.
  6. Repeat the steps 2 and 3 on the new drive.
  7. Now it’s time to grow the array. Let’s have a look first:
    thomas@omv: cat /proc/mdstat
    Personalities : [raid1]
    md0 : active raid1 sdc1[2] sdb1[3]
          1953382208 blocks super 1.2 [2/2] [UU]
    unused devices: <none>

    Ok, looks great. Notice the line 4 where the block number is displayed. 1953382208 1024K blocks equal to 2 TB or 1.82 TiB. Now let’s gow the array with mdadm:
    thomas@omv: mdadm --grow /dev/md0 --size=max
    mdadm: component size of /dev/md0 has been set to 3906886471K
    thomas@omv: cat /proc/mdstat
    Personalities : [raid1]
    md0 : active raid1 sdc1[2] sdb1[3]
          3906886471 blocks super 1.2 [2/2] [UU]
          [============>........]  resync = 58.2% (2273807926/3906886471) finish=190.3min speed=128079K/sec
    unused devices: <none>
  8. So, now the virtual disk is bigger, but the partition is still 2 TB. So we have to grow this as well:
    thomas@omv: parted /dev/md0
    GNU Parted 3.2
    Using /dev/md0
    Welcome to GNU Parted! Type 'help' to view a list of commands.
    (parted) print
    Model: Linux Software RAID Array (md)
    Disk /dev/md0: 4001GB
    Sector size (logical/physical): 512B/512B
    Partition Table: gpt
    Disk Flags:
    Number  Start   End     Size    File system  Name  Flags
     1      1049kB  2000GB  2000GB  ext4
    (parted) resizepart 1 100%
    (parted) print
    Model: Linux Software RAID Array (md)
    Disk /dev/md0: 4001GB
    Sector size (logical/physical): 512B/512B
    Partition Table: gpt
    Disk Flags:
    Number  Start   End     Size    File system  Name  Flags
     1      1049kB  4001GB  4001GB  ext4
    (parted) quit
  9. And we are done!

I repeated some steps in a virtual machine for this blog post, so if you find some mismatches in the sizes etc. its most likely from that. Feel free to drop a comment for errata requests! 🙂


Raspberry PI as WiFi to Ethernet Bridge

Recently my cable modem refused to connect to my provider, stating “Connection Refused”. The provider (UPC Austria) stated, that they have to come to my place and make some measurements. But this will be in one week…. WTF?? One week without internet? No way!

Fortunately, my provider offers a service, that every router provides two networks, a private one for the single customer, and a free network for all customers of UPC. This “UPC Wi-Free” was also available from some neighbours of mine.

It would be easy to connect all of my PCs to the network, but this is not enough for me. I needed a better solution. Also the PC of my girlfriend refused to connect to this network, my big PC has no WiFi and the server for sure not. Also the chromecast and the firestick…. no I will not configure all devices to configure them later again!

My previous setup included the router from my provider connected to my own router, a Fritz Box. All my devices are then behind the Fritz Box. So the only thing I had to change was to replace the UPC router with my Raspberry PI.

My starting point was the following:

  • Raspberry PI 2B
  • Alfa AWUS036H Wifi Adapter
  • a network cable 🙂

First I powered up the Raspberry and was curious what I had done with this firmware before. Apparently, I used it before for some photographing stuff… 🙂 Anyway, first the Debian needed to be updated from 7 (wheezy) to 8 (jessie).

First we make sure the current system is up to date:

sudo apt-get update
sudo apt-get upgrade

Then we edit /etc/apt/sources.list and replace wheezy with jessie
deb http://mirrordirector.raspbian.org/raspbian/ jessie main contrib non-free rpi

Then the upgrade:
sudo apt-get update
sudo apt-get upgrade
sudo apt-get dist-upgrade

This took a while, the raspi is not a fast gaming machine… After the upgrade, I configured the WiFi adapter to work with the UPC Wi-Free. For this the wpa_supplicant and the the network interfaces have to be configured:

The following content belongs to /etc/wpa_supplicant/wpa_supplicant.conf:

   ssid="UPC Wi-Free"

And this belongs to /etc/network/interfaces:
auto lo
iface lo inet loopback

# give the ethernet a static ip for acting as DHCP Server
auto eth0
allow-hotplug eth0
iface eth0 inet static

# configure the WiFi interface and enable auto start
auto wlan0
allow-hotplug wlan0
iface wlan0 inet manual
wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf

iface default inet dhcp

You can use different IPs for sure and also you can specify any other DNS than Googles Now we restart the network service and test the connection:
sudo service networking restart

ping google.de
PING google.de ( 56(84) bytes of data.
64 bytes from fra02s27-in-f15.1e100.net ( icmp_seq=1 ttl=55 time=23.2 ms
64 bytes from fra02s27-in-f15.1e100.net ( icmp_seq=2 ttl=55 time=35.2 ms
64 bytes from fra02s27-in-f15.1e100.net ( icmp_seq=3 ttl=55 time=30.6 ms

The Ethernet interface need a static IP in order to serve DHCP. For this we need also a DHCP server installed on the raspi. We achieve this with the ISC DHCP Server.
sudo apt-get install isc-dhcp-server

We need then to configure the server with a really basic configuration. The configuration is done by editing the file /etc/dhcp/dhcpd.conf.
default-lease-time 600;
max-lease-time 7200;
log-facility local7;
subnet netmask {
  option routers;

Basically the set here some lease times for the server, with authoritative we tell the server that he will server this range alone. Later we define a small subnet. The “option routers” is important, because here the DHCP server will tell clients that he will also serve requests later as the gateway.

Now we can start the server:

sudo service isc-dhcp-server restart

Now we can connect the router and we will see that the raspi serves with an IP address. Now we have to connect both interfaces. In my case the interfaces have the names eth0 and wlan0. We use iptables for this:
/sbin/iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE
/sbin/iptables -A FORWARD -i wlan0 -o eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT
/sbin/iptables -A FORWARD -i eth0 -o wlan0 -j ACCEPT

This is only temporary so we have to make the rules persist. The easy way here is with the package iptables-persistent:
sudo apt-get install iptables-persistent

During the installation you will be asked to save the current rules, answer with yes and the installer will save the rules to /etc/iptables/rules.v4:
# Generated by iptables-save v1.4.21 on Tue Jan  5 19:22:29 2016
# Completed on Tue Jan  5 19:22:29 2016
# Generated by iptables-save v1.4.21 on Tue Jan  5 19:22:29 2016
-A FORWARD -i wlan0 -o eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -i eth0 -o wlan0 -j ACCEPT
# Completed on Tue Jan  5 19:22:29 2016

Now you have to activate also the ipv4 forwarding by executing the following line:
sudo bash -c 'echo 1 > /proc/sys/net/ipv4/ip_forward'

And you are done!


THX to the users u/ZoLustIkErNogWelEen and u/Q3_benji who pointed out I forgot to write down the steps with the sources.list and the activation of the ipV4 forwarding!


THX to Rob who showed me a mistake in the post!

Had no money for a slider. Build my own…

All these years I wanted to buy myself a slider for time lapses. All these years they where to expensive for me. The good ones like the Stage One from http://www.dynamicperception.com/ will cost you, depending on the configuration up to $1,250.00. Without shipping to Europe. Even the small ones like the Rhino Slider EVO Carbon are at least $500, again without shipping. So I decided to build my own.

I ordered some aluminum pipes, a aluminum plate, four teflon bearings, two aluminum blocks and used a 3D printer for some other parts. After some time of sticking, milling, drilling and printing, this is the outcome.

Next, I will order a Astro devices with the linear mount.

Night Fox – Night Sky Photography Shutter Speed Calculator Android App

EDIT: Dropbox recently closed the public folder system where I store my camera database. Therefor the app was crashing while updating the database. I fixed this issue and the new version 1.3.0 is going live now.

Due to the overall great response and the high number of mails from users of my Shutter Speed Calculator i’m glad to announce here: Night Fox – Shutter Speed Calculator for Android!

The App features a simple interface to input your camera, your focal length and the tolerance in pixels. After that you can simply hit the calculate button and read the suggested speeds.

If you cannot find your camera in the list, simply write me an email or leave a comment. I can add cameras live and you just have to hit the “Download Camera File” Button to load the newest definition data. If you enjoy the app, please leave a comment and help me improve the interface and the user experience!

You can get the app for free from here:
Get it on Google Play


If you want to learn more about how it works, check out my two other posts:

Blood Moon

Thanks to my friend Marcus, i was able to shoot some nice pictures from the moon eclipse today in the morning. Additionally it was also a Blood Super Moon! This happens pretty rarely and the next time will be 2033.

Check it out!

Super Blood Moon

LED Ring – Part 3

Some months ago I posted that i’m building my own LED ring in order to get some nice closeup shots and have something special for portraits. The project was on hold for some time, but I got back to it, and now I have my first working prototype. Here two picture of flowers I took with the ring and my 17-40 mm.

Here I have also some shots of the ring itself. I already have some ideas of improvement. The mayor problem is that the ring is very long and on my 17-40 mm I can see the ring at 17-19 mm. Also I’ll go for SMD power LEDs to get even more light. Also a connection to the camera is mandatory. Maybe I’ll think of a E-TTL connection via a small micro controller.

Here are the other posts for my ring:
Part 1
Part 2

Frequency Measurement of Vienna

Update2: Because of the massive amount of traffic I received I had to disable the live measurement and block some IPs who where causing my server to slow down…

Update: Here are the measurements from the 20. of March, the day of the solar eclipse. And as you can see the grid operators were well prepared. The frequency was actually less fluctuating than the days before.

Frequency Measurements of the 18., 19. and 20. of March 2015

Today I decided to take again online my grid frequency measurement unit. In some days there will be a solar eclipse in Europe and maybe we will notice a slight fluctuation of the frequency during the eclipse. If it will be a sunny day, the shadow of the moon will race over the ground and will switch of the PV plants in Europe. The installed PV generation in Europe is according to this LINK 81,5 GW. But the overall installed power is more that 1300 GW.  So a black out will not happen.

But so far, have fun:


The grid frequency is a very important measurement factor of the grid. In the electric grid, the balance between generation and demand, due to the lack of a high number of storage, have to be equal at every time. The frequency is a performance indicator in which state this balance is. Lower than 50 Hz the generation is less than the demand, and vice versa. The frequency is therefore used to adapt the power output of power plants to the demand.