Fixing the NCDC 2015 0khz failure April 10, 2013Posted by Florian in World.
Tags: car, electronics, hack, hardware, NCDC 2015
It took me a while to find out, but it is possible to fix a Siemens NCDC 2015 car radio (ok they call it “entertainment system”) suffering from the “0khz” problem quite easy.
The story: I usually drive old cars… my current one is an Opel Omega from 2001 and that one came with the NCDC 2015. Actually its the kind of retro technology I like: No iPod connector, no USB and similar interfaces but two CD drives for five CDs in total and in combination with the Bose speaker system the sound is quite good… the usability has some limits: Using it I tend to ask myself questions like these: Why do I have a way to display the balance settings but not for the volume setting?
Anyway, one common failure of this device is that they have a problem with power loss (e.g. flat battery or removal from the car without removing fuses before. The symptoms in most cases are that you see “0 khz” in all station entries and no sound at all (neither from tuner, navigation or CD). I found a hint how to fix it in a Polish electronics forum (elektroda.pl). Obviously the device ends up with data in an 24LC16 EEPROM it is not able to handle and the firmware does not know how to recover from. I have seen some hints that the successor of the 2015 has a maintenance mode with an option to reset the EEPROM.
The most simple solution seems to be to replace the EEPROM with a new and empty one. Its quite easy to do and a replacement EEPROM is cheap, less than EUR 1 if you are lucky. I made a little bit more detailed description in the hope it might be useful for someone else.
So what do we need?
- Tools for removing the device from the car
- T8 Torx crewdriver
- Soldering equipment
- 24LC16 EEPROM (SMD, SO8 case)
The hardest part is to remove the device from the car… there is no way to do it without cursing ;) Important: Disconnect power before removing it, it is reported that removing these with the battery connected caused
There are two screws that hold the upper cover which are easy to find. Just remove the cover and you will see something like this:
Now remove the four marked screws in order to remove the CD drive. Take care of the FCC cables below. Remove the cables after unlocking them by moving the black mount of the socket in the direction of the cables (not by lifting them!).
Unsoldering the EEPROM is a little bit tricky. If you have access to hot air soldering equimpment it is going to be easier. Take care about orientation and not to damage the pads replacing the IC.
Put the pieces together and the NCDC 2015 back to the car.
For me this procedure worked pretty well. I still see some strange effects like that the tuner did not fill the station list completely and maybe the sound has changed a little bit. Maybe some input sensitivity setting was hardcoded in the EEPROM. Is there any one out there who knows some details about what gets stored in there?
Computer startup aid using a LEGO train January 6, 2012Posted by Florian in Devices, kernel concepts.
Some times it happens that I have to dig out some old piece of hardware and try to get it running again… I recently got a very geek present for my birthday – one that requires a working SGI Indigo next to it. Luckily nothing gets lost at kernel concepts and I was able to select from several Indigo gathering dust at the attic of our office. It looks like the machines survived quite some years not being used pretty well – including most of the harddisks. Unluckily all batteries which are supposed to supply the real-time clock chip were flat and these batteries are hard to get and soldered to the board. I did not have a replacement for the 3.6V Lithium battery but it was pretty easy to replace the battery with some cables to supply the board with 3.6V. The first thing to supply 3.6V I found was the electric LEGO locomotive the kids left lying around…
This one was powered by three 1.2V AA rechargeable batteries – perfect for some startup aid for this old machine. After applying power I was able to boot into IRIX 6.2 installed on this historic piece of hardware (100MHz MIPS R4000 CPU, 192MB of RAM, 2GB SCSI hard disk, ELAN graphics). I have to admit I somehow enjoyed the “time travel” experience playing around with such an old system for a while. Someone here still remembers the Netscape browser? Or Electropaint? One really scary experience was the network setup: IRIX 6.2 has the ability to configure a static IP through the GUI but obviously you have to edit the network startup script in order to set a default route on boot.
A lot more of information about these machines can be found here.
Android Lessions Part 1: Bluetooth Crash January 4, 2012Posted by Florian in Android, Source.
add a comment
Finally – some free days for family and friends and to write a few lines which might be useful for someone else. Since Android started to become more and more interesting for industrial and business applications I got involved in some projects porting Android to several devices. It turned out that the documentation of the lower layers (hardware and driver adaptation) is very thin in contrast to the SDK and NDK documentation. But I took some notes working on these projects… this one might be useful for other people porting Android 2.3.x and experiencing issues with Bluetooth.
I ran into the issue that activating Bluetooth in the settings application resulted in a crash of the whole GUI. It seems that only ARMv5 core based devices are affected so that only a few people ran into this so far. (Not that it would be correct on more common cores used for Android devices such as ARMv7A, but it does not seem to cause the same effect.) The solution I found in the Android 4 commit log is quite simple for a problem causing that much of hassle:
@@ -311,7 +311,7 @@ static int register_agent(native_data_t *nat,
DBusMessage *msg, *reply;
- bool oob = TRUE;
+ dbus_bool_t oob = TRUE;
WebOS goes Open Source December 9, 2011Posted by Florian in Linux, Source.
Amazing news! HP just announced that WebOS will become an Open Source project lead and supported by HP in future. The full annoncement can be found here.
HP has an official press release about this here. I’m really looking forward to work with it… It’s quite an interesting framework for a large number of devices. The really funny thing is that Nils asked them to do so in his blog some weeks ago :-)
Summer Holidays December 2, 2011Posted by Florian in Uncategorized, World.
add a comment
Now that its autumn in Europe it is a good time to blog about the summer vacations :) The Chaos Communication Camp was a real highlight – just a perfect environment for Hacker’s and their fork()^h^h^h offsprings summer vacations. I do not want to write too much… saving some words for more technical posts, but maybe someone likes the photos I took:
This nice machine was parked next to our caravan… it’s a little bit larger than you might guess from the photo. I have placed some more photos here.
MeeGo or Maemo grown up February 15, 2010Posted by Florian in kernel concepts, Linux, LinuxToGo, Maemo, MeeGo.
Wee..! Big news – Intel and Nokia joining their open source software platforms Maemo and Moblin into a single one: Meego
So what does this mean for developers and device manufacturers? One thing is for sure: The new platform will become the “grown up” version of Maemo and Moblin. Especially for the Maemo part this means that the focus will change from targeting a very few devices and a quite well-defined software stack to a more generic way to support multiple hard- and software environments. And this is good – only a portable and easy to support platform is attractive for the device makers while the availability of multiple devices is important for its attractively among software developers.
It looks like we have interesting times ahead…