tech at work


vCenter refuses to delete empty cluster object

Today I wanted to remove an old cluster object in a vCenter server, but got this error followed by a vSphere Client disconnect.

A general system error occurred: Error(VdbODBCError) (-1) "ODBC error: (23000) - [Microsoft]
[SQL Server Native Client 11.0][SQL Server]The DELETE statement conflicted with the REFERENCE constraint "FK_VPX_COMP_DAS_VM_REF_VPX_COM". The conflict occurred in database "vCenter", table "dbo.VPX_COMPUTE_RESOURCE_DAS_VM", column 'COMP_RES_ID'." is returned when executing SQL statement "DELETE FROM VPX_ENTITY WITH (ROWLOCK) WHERE ID =?"


To resolve this issue you need to access the vCenter database using SQL.

First find out the ID of the entity which you are trying to delete:


After that you may delete the references in the table mentioned in the error message:


After that you can delete the cluster object in the vSphere Client normally 🙂

Filed under: Linux, Tech, Windows 1 Comment

Volvo XC90 instrument cluster self repair

Recently we purchased a 2003 Volvo XC90 because we needed more space for our family 🙂

There is a well known problem on Volvo XC90 instrument clusters (also called DIM / Driver Information Module) - they have connectivity problems on the circuit board. Most of the time there will not be any function on the DIM. If you push the left button very hard, the displays may work for some time. The LCD display says "SRS Airbag Service urgent" which is a common issue on almost any Volvo model produced around 2003. This message is caused by the Airbag/SRS module which detects an interruption of it's connection to the airbag warning lamp. If you read the car's error codes there can be several errors regarding canbus communication.

Our car also had a non-functional DIM at the time of purchase - we already knew this. Several companies in Europe offer instrument cluster repair services for about 200 Euros, but as electronics geek I thought about fixing this problem by myself. I bought a cheap SMD rework station on ebay.

So I fixed my DIM and can now offer a step-by-step procedure on how to successfully repair your own instrument cluster.

But be warned: Any modification of your car's electronic components can cause several malfunctions which can have massive impact on your car's security. I just give you an idea, where the problem can be located on the circuit board. If you decide to follow my instructions, you will do it on your own risk! I cannot be held responsible for any undesired outcome of the described modifications.

  1. Prepare your workspace. You will need a set of different screwdrivers, a torx T20, a SMD rework station, a soldering iron, desoldering braid, fluxing agent and very good illumination.
  2. Disconnect your car's battery which is located in your trunk. Take a look in your owner's manual for detailled intructions. If you remove your instrument cluster without disconnecting your battery, the car's electronics components will not power down and drain a severe current. Your battery can be completely empty in several hours! If you need to lock your car in the meanwhile, try following procedure: Unlock, get in the car, lock all doors, just open driver's door, disconnect battery, remove cluster, lock driver's door using the key 🙂
  3. Take the T20, remove the two screws on the inner top side of the plastic cover, loosen the upper plastic cover on the "neck" of the steering wheel, pull out the rest of the plastic cover part. Your DIM is mounted with 4 screws - remove them. Take care that you do not drop your screws - finding them again behind these plastic covers is very difficult. A magentic type of T20 tool can be useful. Remove the green connector on the back side of the DIM.

  4. Remove the lamps and any screws on the back side of the DIM
    2     3

  5. Take a flat screwdriver and gently unlock the plastic cover parts, first the orange ones to remove the transparent one, then the red ones to remove the black part. They are located all around the DIM, I just took one photo 🙂
  6. If you removed all screws on the back, the four meters can easily be pulled out.
    5   6

  7. Remove the remaining white plastic housing.
  8. Resolder the following orange highlighted sections using the hot air SMD rework device - I put some flux on the IC's legs and heated them until the original solder got fluid again (If you never used a hot air rework device before, a little practice on old computer parts may be helpful - I blowed one of the parts away and searched for about 10 minutes before I realized that it's still sticked to the voltage regulator's heatsink - a pair of good eyes can be also helpful...)78
  9. Reassemble the DIM - be careful when putting the meters back in, if you miss those springs your meters will not work and the springs will be damaged! Connect the DIM to your car, reattach the battery and test it... Maybe you need to rework some more of the SMD components on the back side.
  10. You will need to take your car to a Volvo dealer to delete the SRS airbag error codes. Or you can buy a Volvo VIDA DICE device and do it by yourself. If you need detailled instructions on how to do this, please contact me.

If you are located near Innsbruck, Austria I can also fix your DIM or delete the car's error memory if you want 🙂


Some people reported that resoldiering worked great but only for some weeks, then the problem reappeared. Try to resolder the small green parts around the motorola chip carefully (red color in the photo). On most of the boards the problem will be permanently fixed.

Filed under: Tech 72 Comments

Arduino moodlight

I needed to create a moodlight which fades between blue, green, cyan and white - a perfect job for an Arduino board I had leftover from another project 🙂

So I soldered the common anode RGB-Led to a little piece of PCB and added a 4-header.

After some research I found a really useful arduino library which is perfect for PWM-fading on any I/O pin.

Just look here:


The sourcecode is considerably short and easy to write:

#include <SoftPWM.h>

#define PIN_G 2
#define PIN_R 3
#define PIN_B 4
#define PIN_CA 5
#define T_WAIT 10000

void setup()
 // Setting the common anode

// Init Soft-PWM
 rgbPWMset(0,0,0); // black
 SoftPWMSetFadeTime(ALL, 4000, 4000);
 SoftPWMSetFadeTime(PIN_R, 4000, 3000); // because Red was too dominant when fading out

void loop()
 rgbPWMset(0,0,255); // blue

 rgbPWMset(0,255,255); // cyan

 rgbPWMset(0,255,0); // green

 rgbPWMset(255,255,255); // white

void rgbPWMset(int r, int g, int b)
 SoftPWMSet(PIN_G, g);
 SoftPWMSet(PIN_R, r);
 SoftPWMSet(PIN_B, b);

An example Implementation looks like this: (sorry but flickering is because of the camera...)

Filed under: Electronics, Tech No Comments

Darf ich vorstellen: Unser Dodge Camper

Seit November 2011 sind wir stolze Besitzer eines Dodge Campers, der derzeit in Las Vegas (USA) stationiert ist.

Wir haben das Auto von Jim gekauft, der dieses Wunderwerk im Zeitraum von knapp zwei Jahren aus zwei Basisfahrzeugen und einem Camperaufsatz gebaut hat. Er hat uns uns alles äußerst vorbildlich übergeben - wir haben zum Dodge einen 10cm dicken Pack an Unterlagen und Originalrechnungen erhalten. Im Rahmen einer 1stündigen Probefahrt hat er uns auch sehr ausführlich über die Eigenheiten des Dieselmotors hingewiesen (die gibts ja in den USA nur für Trucks) und jedes noch so kleine Geräusch erklärt.

Derzeit steht das Gefährt inklusive Trailer auf einem bewachten Parkplatz in der Nähe des Las Vegas Boulevard und wartet darauf, dass wir wiederkommen 🙂

Filed under: Tech No Comments

Guten Tag!

Jetzt ist der Blogwahnsinn auch bei mir ausgebrochen 🙂

Mehr Inhalte dazu gibts bald (muss WP ja noch richtig einrichten ^^)

Filed under: Tech No Comments