Installing Firmware Update on POPP 10 Year Smoke Detector (009402)

Standard

We have a couple of the POPP 10 Year Smoke Detectors in our house for a while now. The  main reasons why I have chosen those in particular are:

  • 10 years of battery life for the smoke detector itself
  • detector is from EI Electronics, one of the widely used models also in professional/industrial installations
  • no blinking of LED every 30 seconds like many others
  • Z-Wave

The Problem

The only problem I’ve been facing with these smoke detectors in combination with  openHAB over the years, was that with some versions of openHAB the smoke detectors where identified as “Solar Powered Outdoor Sirens” and functionality was quite shaky.

Well, due to a not so decently planned update to openHAB 2.5 Milestone 5, I managed to crash our whole controller last weekend. By then everything was setup manually over time, based on openHABian. Since I do manage all my systems with Ansible in the meanwhile, I decided to reinstall everything again by using a proper Ansible playbook and starting off with a minimal installation of the latest Raspian distribution.

After everything was up an running again, the smoke detectors were again seen as “Solar Powered Outdoor Siren”. Since I finally wanted to have a clean setup, I began searching the openHAB community, which revealed that POPP has shipped a faulty version 1.1 firmware of their 10 Year Smoke Detectors back in 2016, which made themselves identify with the type and id “0004:0002”, which resolves to, what a surprise: Solar Powered Outdoor Siren. The correct type and id should be “0004:0004” instead.

How to fix?

Interestingly it wasn’t hard to find the firmware update itself. You can get the 1.14 version from https://zwave.de/zwave-ota/

But how do you install OTA updated, if you only have an open source controller and all the vendors seem to be a group of paranoids who at the same time think their devices contain the secret path to finding the holy grail?

It took me a few days and a waste of 15$ (bought a commercial product which did not work at all) (EDIT: In the meanwhile I got a refund) to find the answer to that question. As often: once you know how to do it, it’s easy.

Disclaimer: The following procedure did work for me. It does not mean that it will work the same way or success rate in other setups or combination of devices. Failed firmware updates may brick your device and under no circumstances I can be hold accountable for it, or any other consequence that may arise from the following description.

So, here is what you need:

  1. a Windows PC
  2. a copy of Z-Wave PC Controller from Silicon Labs (you can find a free download somewhere on the internet – there is even one on another well known Z-Wave device supplier site. since I cannot verify if that is legally correct I am not going to provide the link to it)
  3. UZB1 Z-Wave USB dongle (others may work as well)
  4. srecord for Windows 

Update Procedure

Preparation

Covert binary firmware image to a hex firmware image:

srec_cat.exe firmware.bin -binary -output firmware.hex -Intel

Also make sure you know the node IDs of the smoke sensors.

Step 1 – Attach the Z-Wave Dongle to Windows PC

Shutdown you openHAB (or other controller), unplug the the UZB1 dongle and plug it into the Windows PC

Step 2 – Update the Firmware

  • Start the Z-Wave PC Controller
  • Connect to the UZB1 dongle (serial device)
  • Open the OTA Firmware Update function
  • Select the Z-Wave node you want to update
  • Click on “Get” in the “Current Firmware” section
  • Select the hex firmware file in the “Firmware Update” section
  • Chose the Firmware Target (the smoke detectors only have one)
  • Click on “Update”
  • The yellow LED on the smoke detectors start blinking
  • Double-click the Z-Wave button on the smoke detectors to confirm the update request
  • Wait…
  • Wait longer…
  • Wait even longer…
  • After approximately 3-4 minutes the update has been transferred.
  • Repeat the above steps with every node you want to update.

Step 3 – Attach the Z-Wave Dongle to openHAB device

After all nodes have been updated, the Z-Wave dongle can be reattached to the openHAB device and openHAB can be started again.

Step 4 – Include Nodes

After the firmware update is complete, the nodes are seen as new devices and thus must be included in Z-Wave network again. I don’t exactly know if that is expected, but it did not cause any problems for me.

I have not exactly figured out if it is really necessary to reboot (remove battery) the device or not.

After re-inclusion all smoke detectors where correctly identified and the “manufacturerRef” field is set to “0004:0004” and “zwave_version” is 1.14

Getting Webcam of Dell M1330 running

Standard

In order to get the webcam running that is identified by lsusb as

Bus 002 Device 003: ID 05a9:7670 OmniVision Technologies, Inc. OV7670 Webcam

you just have to enable quirks mode for the uvcvideo kernel module:

echo "options uvcvideo quirks=0x100" > /etc/modprobe.d/uvcvideo.conf

After that, reboot or reload the kernel module (sudo rmmod uvcvideo && sudo modprobe uvcvideo). This seems to work on most recent Linux distributions and has been tested by myself on Xubuntu 14.04. If not, check that a corresponding video device has been created. More details about that issue (which I had not), can be found in a post on marvin.im (German only)

Bitte nochmal zurueck auf Los

Standard

Wann hat die IT-Branche eigentlich diese unglaublich dumme Entscheidung getroffen, dass jede Soft- und Hardware immer wieder zu Hause anrufen muss um ggf. irgendetwas nachzuladen? Leute, das ist nicht sicher! Zumindest ist mir kein Fall bekannt, bei dem wirklich mal alle Sicherheitsexperten gesagt haben: Jo, so geht’s richtig.

Huwai Hardware steht ja eh im Ruf ein moegliches Einfalltor fuer chinesische Hacker zu sein. Da ist das worueber Heise berichtet ja schon fast zu offensichtlich schlampig. Mit der Aussage “.., dass sie (Huawai Vertreter) davon ausgingen, dass der Update-Server fachgerecht gesichert sei.” (I LOLED!) wird fuer mich nur noch einmal untermauert, wie gering das Gespuer fuer das moegliche Angriffspotential in solch einem Setup ist.

Ach ja noch was: Standardmaessig web-based Provisioning von VoIP-Telefonen anhand der MAC-Adresse zu machen, so wie es SNOM anscheinend tut, ist auch eine saudumme Idee. Hab vor zwei Wochen viel Spass mit einem neuen SNOM-Telefon gehabt, fuer welches es aus unbekanntem Grund schon eine Konfiguration auf dem Provisioning-System gab.

Alice IAD 3221 Reloaded

Standard

Nachdem bei mir letzte Woche das Netzteil des Speedport 201 DSL-Modem den Geist aufgegeben hat und ich auf die Schnelle nur das original Alice IAD 3221 an die TAE haengen konnte, um ueberhaupt wieder Netz zu haben, war heute Abend endlich die Gelegenheit zu schauen, mit welchem der hier rumliegenden Geraete ich wieder die Buffalo AirStation mir DD-WRT zu meinem Router machen konnte.

Plan A: Die Samsung 3210 Box, welche eigentlich nur meine TK-Anlage ist, nun als DSL-Modem zu nutzten scheiterte daran, dass einfach kein ADSL-Sync zustande kam. Waere nicht das erste Mal, dass das Modem-Board darin kaputt geht.

Also Plan B: Gucken was man mit dem Alice IAD 3221 noch so anstellen kann. Irgendwie konnte ich nicht glauben, dass die Dinger so unfassbar beschraenkt sein sollen, wie einem das Webinterface versucht weiss zu machen. Nach ein wenig suchen stellte sich heraus, dass das ganze Geheimnis in der versteckten URL: http://192.168.1.1/web.cgi?controller=Internet&action=IndexAccessMode liegt. Dort kann man den Betriebsmodi des IAD umstellen. Der Modus “Modem (1 VC), VoIP over PPPOE” ermoeglicht es, dass IAD als normales DSL-Modem zu verwenden UND gleichzeitig die Alice Telefonfunktion vom IAD selber ueber die zweite PPPOE-Session laufen zu lassen. Letzteres ist nur just for fun aktiviert. Habe die Telefonfunktion noch nie verwendet, da mein eigentlicher Telfon-Anschluss bei Sipgate liegt.

Es gibt uebrigens noch eine Menge mehr solcher versteckter Seiten:

Standard-, Experten- oder Developermodus einschalten
http://192.168.1.1/web.cgi?controller=System&action=IndexAccessConfig

Zwischen “Standart-Installation (PIN)” und “Benutzerspezifische Installation” wechseln
(ja da steht wirklich “Standart)
http://192.168.1.1/web.cgi?controller=Overview&action=IndexPinMode

PIN fuer Standard-Installation festlegen
http://192.168.1.1/web.cgi?controller=Overview&action=IndexPin

IP-Adresse und DHCP-Server Konfiguration
http://192.168.1.1/web.cgi?controller=Network&action=IndexLan

Statische IP-Adressen fuer DHCP-Clients festlegen
http://192.168.1.1/web.cgi?controller=Network&action=IndexStaticDhcp

Statische Routen definieren
http://192.168.1.1/web.cgi?controller=Network&action=actionIndexNewStaticRoute

Uebersicht aktueller NAT-Verbindungstabelle
http://192.168.1.1/web.cgi?controller=Network&action=IndexStatistics

USB-Drucker und -Festplattenkonfiguration
http://192.168.1.1/web.cgi?controller=Network&action=IndexUsbDevices

WebCam-Konfiguration
http://192.168.1.1/web.cgi?controller=Network&action=IndexExtDevices

Betriebsmodi Internetzugang konfigurieren
http://192.168.1.1/web.cgi?controller=Internet&action=IndexAccessMode

Zugangsdaten VoIP PPPOE-Session
http://192.168.1.1/web.cgi?controller=Internet&action=IndexAccessDataVoip

DynDNS-Konfiguration
http://192.168.1.1/web.cgi?controller=Internet&action=IndexDynDNS

DSL-Verbindungsinformationen
http://192.168.1.1/web.cgi?controller=Internet&action=IndexInfoConnection
http://192.168.1.1/web.cgi?controller=Internet&action=IndexInfoAdsl

MAC-Adressen-Filter
http://192.168.1.1/web.cgi?controller=Security&action=IndexMacFilter

Allgemeine Firewall-Einstellungen
http://192.168.1.1/web.cgi?controller=Security&action=IndexSecurityConfig

Paketfilter-Regeln
http://192.168.1.1/web.cgi?controller=Security&action=IndexPacketFilter

URL-Filter
http://192.168.1.1/web.cgi?controller=Security&action=IndexUrlFilter

UPnP-Einstellungen
http://192.168.1.1/web.cgi?controller=Security&action=IndexUPnP

System-Log
http://192.168.1.1/web.cgi?controller=System&action=IndexSyslog

System-Diagnose
http://192.168.1.1/web.cgi?controller=System&action=IndexSystemTest

Sprache aendern
http://192.168.1.1/web.cgi?controller=System&action=IndexLanguage

Zeitserver-Einstellungen bzw. Uhrzeit manuell stellen
http://192.168.1.1/web.cgi?controller=System&action=IndexTime

Firmware-Upgrade
http://192.168.1.1/web.cgi?controller=System&action=IndexFirmware

Aufzeichnen von Datenpaketen
http://192.168.1.1/web.cgi?controller=System&action=IndexDiagnostic

F**k you Apple!

Standard

Meine Güte das ist doch echt nicht wahr. Die geben einfach nicht auf:

Apple geht weiter gegen modifiziertes Galaxy Tab vor

So jetzt zum letzten Mal eine Ansage an euch vor völliger Überzeugung alles überstrahlenden Apfel-Egomanen:

Ich will und werde eure verdammten Drecksprodukte nicht kaufen, weil mir eure ganze Kontrollfreak-Philosophie die euch Steve hinterlassen so was von gegen den Strich geht! Ich habe mein Galaxy Tab 10.1N weil da Android drauf läuft und ich mir zur Not auch eine andere Community-Android Version drauf installieren könnte. Ich habe das Tab nicht gekauft, weil es möglicherweise wie ein iPad aussieht! Ich hätte mir auch ein Transformer oder Transformer Prime von Asus gekauft, wenn nicht zufällig das Galaxy Tab 10.1N noch flacher und leichter gewesen wäre.

Und was macht Ihr? Bringt mit dem iPad 3 einen Backstein von einem Tablet-PC raus und gebt einfach nicht auf selbst gegen ein optisch sich völlig absetzendes Gerät zur Wehr zu setzten.

Looking for a perfect Linux desktop system?

Standard

I think I just found it: Installed Ubuntu 10.04 on an Acer Aspire X3910 PT.SEDE2.240 and must say that I am really suprised how well it works. Everything was detected automatically. The whole machine has a very small form factor and is very silent but on the other hand very powerful with its dual-core Intel E6700 CPU. Unfortunately it is not mine 😉