Addons: deCONZ (2.05.76) GW firmware (26350500) update fails silently

Created on 24 May 2020  路  48Comments  路  Source: home-assistant/addons

Using RaspBee with:

  • deCONZ addon: 5.3.3
  • deCONZ: 2.05.76
  • GW firmware: 26330500

Trying to upgrade the GW firmware to 26350500 via GUI, it says it went fine. But when refreshing/restarting plugin+RPI, it says it is still the old version (26330500).

I tried to follow the manual firmware upgrade process mentioned in the docs, here: https://github.com/dresden-elektronik/deconz-rest-plugin/wiki/Update-deCONZ-manually#update-in-raspbian

I got the following error (from inside the deCONZ addon docker container):

root@core-deconz:/# GCFFlasher_internal -f deCONZ_Rpi_0x26350500.bin.GCF
/usr/bin/GCFFlasher_internal.bin: /lib/arm-linux-gnueabihf/libc.so.6: version `GLIBC_2.28' not found (required by /usr/lib/libwiringPi.so)

Seems that the glibc version installed is 2.24 while the firmware wants 2.28.

deconz stale

Most helpful comment

Thx @gerard33 for the link. I'm not sure where this need to be fixed but its good that all the parties are involved/informed about the issue.

I managed to temporary fix this on my deCONZ addon container by doing this:

  • Run bash in docker
    docker exec -it addon_core_deconz /bin/bash

  • Install the libc6:

echo "deb http://ftp.de.debian.org/debian sid main" >> /etc/apt/sources.list.d/libc6.list && apt-get update && apt-get install libc6

  • List all deCONZ processes in the container and kill them:
    ps ax | grep [d]eCONZ | awk '{print $1}' | xargs kill

  • Download the binary:
    wget http://deconz.dresden-elektronik.de/deconz-firmware/deCONZ_Rpi_0x26350500.bin.GCF

  • Install it manually:
    GCFFlasher_internal -f deCONZ_Rpi_0x26350500.bin.GCF

  • Restart the addon from HA.

All 48 comments

I have the same issue here.

  • deCONZ addon: 5.3.3
  • deCONZ: 2.05.76
  • GW firmware: 26330500
  • Conbee I USB stick

Normally firmware updates went fine from the GUI. Also removed other USB sticks in the NUC but that makes no difference.

Followed the guide from https://github.com/marthoc/hassio-addons/blob/9f57a40e63ff3a54a8470b648f85b2f4564e347c/deconz/FIRMWARE-UPGRADE.md but the firmware-update.sh script can't be found, which makes sense as it is another addon, but one can always try ;-)

Using RaspBee with:

deCONZ addon: 5.3.4
deCONZ: 2.05.77
GW firmware: 26330500
Trying to upgrade the GW firmware to 26350500 via GUI, it says it went fine. But when refreshing/restarting plugin+RPI, it says it is still the old version (26330500).

Same issue here....

On the Github site of Dresden Elektronik this is mentioned as well -> https://github.com/dresden-elektronik/deconz-rest-plugin/issues/2797

Thx @gerard33 for the link. I'm not sure where this need to be fixed but its good that all the parties are involved/informed about the issue.

I managed to temporary fix this on my deCONZ addon container by doing this:

  • Run bash in docker
    docker exec -it addon_core_deconz /bin/bash

  • Install the libc6:

echo "deb http://ftp.de.debian.org/debian sid main" >> /etc/apt/sources.list.d/libc6.list && apt-get update && apt-get install libc6

  • List all deCONZ processes in the container and kill them:
    ps ax | grep [d]eCONZ | awk '{print $1}' | xargs kill

  • Download the binary:
    wget http://deconz.dresden-elektronik.de/deconz-firmware/deCONZ_Rpi_0x26350500.bin.GCF

  • Install it manually:
    GCFFlasher_internal -f deCONZ_Rpi_0x26350500.bin.GCF

  • Restart the addon from HA.

Looks good ! Here what I got from my hassio (core 0.109.6, hassos 3.13, supervisor 225), deconz plugin 5.3.4:

ssh [email protected] -p 22222
ha > login
docker exec -it addon_core_deconz /bin/bash
root@core-deconz:/# echo "deb http://ftp.de.debian.org/debian sid main" >> /etc/apt/sources.list.d/libc6.list && apt-get update && apt-get install libc6
Get:1 http://ftp.de.debian.org/debian sid InRelease [146 kB]
Get:2 http://archive.raspbian.org/raspbian stretch InRelease [15.0 kB]
Get:3 http://archive.raspbian.org/raspbian stretch/main armhf Packages [11.7 MB]
Ign:1 http://ftp.de.debian.org/debian sid InRelease
Get:4 http://ftp.de.debian.org/debian sid/main armhf Packages [7966 kB]
Fetched 19.8 MB in 16s (1189 kB/s)
Reading package lists... Done
W: GPG error: http://ftp.de.debian.org/debian sid InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 04EE7237B7D453EC NO_PUBKEY 648ACFD622F3D138
W: The repository 'http://ftp.de.debian.org/debian sid InRelease' is not signed.
N: Data from such a repository can't be authenticated and is therefore potentially dangerous to use.
N: See apt-secure(8) manpage for repository creation and user configuration details.
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following additional packages will be installed:
gcc-10-base libc-bin libcrypt1 libgcc-s1 libidn2-0 libnih-dbus1 libnih1
libunistring2
Suggested packages:
glibc-doc libc-l10n locales
Recommended packages:
manpages
The following NEW packages will be installed:
gcc-10-base libcrypt1 libgcc-s1 libunistring2
The following packages will be upgraded:
libc-bin libc6 libidn2-0 libnih-dbus1 libnih1
5 upgraded, 4 newly installed, 0 to remove and 250 not upgraded.
Need to get 4054 kB of archives.
After this operation, 1225 kB of additional disk space will be used.
Do you want to continue? [Y/n] Y
WARNING: The following packages cannot be authenticated!
gcc-10-base libgcc-s1 libnih-dbus1 libnih1 libc6 libcrypt1 libc-bin
libunistring2 libidn2-0
Install these packages without verification? [y/N] N
E: Some packages could not be authenticated

Why the auth error ?

Why the auth error ?

@ruabo I think the auth problem is not related to this specific libc-linkning issue. And it might also have just been temporary. Have you tried multiple times since your last post?

The issue seems to be the glibc version missmatch between the deCONZ GCFFlasher_internal binary and the glibc installed in the docker base image homeassistant/armhf-base-raspbian:buster, which this docker image is derived from.

Running (tried on both 5.3.4 and 5.3.5):

docker run -it --rm --entrypoint ""  homeassistant/armhf-addon-deconz:5.3.4 GCFFlasher_internal -h

Will give you:

/usr/bin/GCFFlasher_internal.bin: /lib/arm-linux-gnueabihf/libc.so.6: version `GLIBC_2.28' not found (required by /usr/lib/libwiringPi.so)

Why the auth error ?

@ruabo I think the auth problem is not related to this specific libc-linkning issue. And it might also have just been temporary. Have you tried multiple times since your last post?

@haniffm
Yes! I also tried to upgrade HA to 0.111.1 with no luck

An easy way to bypass this issue is to upgrade the stick's firmware outside the HA environment.
I used a Windows 10 PC with the related Deconz app version installed on it (see: https://phoscon.de/en/conbee/install)
Backup the gateway in HA (you know why), then stop HA. Remove the Conbee stick from the Pi and attach it to a free USB port on the Windows PC. Start Deconz then start the known Phoscon web GUI from Deconz.
The firmware upgrade process is the same as from HA.
After the stick's firmware is upgraded reconnect it to the Pi and start HA.

Yes but how do you do this with a Raspbee Stick.....It's not as easy.....

Yes but how do you do this with a Raspbee Stick.....It's not as easy.....

The workaround I explained here works, until there is a real fix: https://github.com/home-assistant/hassio-addons/issues/1347#issuecomment-634603223

Thanks for the link....I am not familiar with docker I have a standard home assistant install. Is this still possible to do.

Thanks for the link....I am not familiar with docker I have a standard home assistant install. Is this still possible to do.

Correct me if I'm wrong, but as far as I understand, all HA addons are docker instances. And this issue is because of the version missmatch of libc installed in the docker image used by this HA Addon.

I guess they are but the standard home assistant install is pretty locked up and I鈥檓 not sure how to implement your code

If you install the portainer addon from HA then you can look for the deconz container and open a bsah shell in that container. Then you can execute the steps from hanniffm from May 27th.

Also if you stick is missclassified as a raspbee while it is actually a conbee, change the device section of the config from
device : "/dev/serial/by-id/usb-dresden_elektronik_ingenieurtechnik_GmbH_ConBee_II_XXXXXXXX-if00" to device: /dev/ttyACM0

@PaulAntonDeen This causes issue in the latest version. I strongly recommend not doing that.
The HA update will fail regardless.

A lot of conflicting advice....who needs to address this.... is it the HA Guys or Deconz ?

HA Guys. Docker guys have a work around, ha does not.

Within a native installation this works fine.

@frenck Is this something in your domain....I am not sure how to resolve this.....I know you have done a lot of great work for HA and DeConz
Thank you

@brinzlee Please, don't ping people at random. Thanks 馃憤

I wasn鈥檛 pinging you randomly @frenck....I was trying to reach out to you...
Sorry if this caused you offence. I thought you were approachable I was obviously mistaken.

With projects this size, we have to process hundreds of notifications a day. Getting pulled into things doesn't help with that. If I have the time or solution I will certainly look at other open issues.

As I understand it, it should be fixed by

A. either compiling the GCFFlasher_internal with glibc 2.24 and use that binary (Dresden elektronik and then deCONZ addon).
B. or change the docker base image for the deCONZ with an image that has glibc 2.28.
C. or install libc6 (with glibc 2.28) in the deCONZ Dockerfile, the same way I explained here: https://github.com/home-assistant/hassio-addons/issues/1347#issuecomment-634603223

After some more digging, it seems that the issue is not with the GCFFlasher but instead is with the /usr/lib/libwiringPi.so which I suspect is part of the wiringpi library. You could also see that in the original issue. I believe the issue was introduced in this commit, as part of the bump from 2.46-1 to "latest" (2.52): f07b50e7a325aa27e1d78e3335d017c5f911c054

We could always revert back to use the older wiringpi version. But I'm not sure if that is a good way to go since it is no longer maintained by the original author.

tried the procedure above, but had to manually install ps as it is not available in deconz-addon..then when trying to kill deconz it will kill the whole container...

Just downloaded latest deconz addon 6.1.1 for HomeAssistant but the firmware update still fails and won't upgrade to 26350500.
I can't do the mentioned suggestions as I have a Raspbee and a standard install of HomeAssistant 0.112.4 on Raspberry Pi 3B

@brinzlee You can always install a ubuntu version on a seperate SD card.

@Mimiix Thanks for that...I downloaded this from
https://phoscon.de/en/raspbee/sdcard
and then proceeed with the instructions at
https://github.com/dresden-elektronik/deconz-rest-plugin/wiki/Update-deCONZ-manually
and finally updated the firmware.....Not as easy as just pressing update button within phoscon but it will have to do for now

@brinzlee With 6.1.1 that should not be an issue. Please make sure you have an upgraded OS as well (HassOS, which is currently stable at 4.x)

@frenck Hi I upgraded to 6.1.1 with HassOS 4.11 and it still didn't work.....Gremlins still in the system....thats why I did what I did in my previous post

Did the output change? As the original issue reported an incompatible glibc, which has been resolved in the 6.1.x series.

Output change ?.....It did exactly as it has done previously.....it goes though the update process then comes back after about three minutes with the old firmware revision number...

Yeah, for me it isn鈥檛 working either with latest, if I start the upgrade it starts but keeps spinning and then the whole hassio vm misbehaves and I need to manually restart in proxmox

I can confirm that the glibc incompatibility is resolved with the following config:

  • HassOS: 4.11
  • HA: 0.113.1
  • deCONZ addon: 6.1.2

However, since I've had already updated the firmware to version 26350500, I can not test the whole firmware update flow.

I can confirm that the glibc incompatibility is resolved with the following config:

  • HassOS: 4.11
  • HA: 0.113.1
  • deCONZ addon: 6.1.2

However, since I've had already updated the firmware to version 26350500, I can not test the whole firmware update flow.

i tried , same versions as above
if i upgrade to 26350500 , it loads in vnc, but afterwards still on 26330500 , so not fixed yet

with

HassOS: 4.11
HA: 0.113.1
deCONZ addon: 6.1.2

I can get through the upgrade, says success, but the actual version doesnt change. In deconz log I see the following repeat a few times after startup:

GW firmware version: 0x26490700
11:59:36:332 GW firmware version shall be updated to: 0x26580700

I still have the same issue until today. Any fix ahead?

I just tried this again..as soon as I click start update, I cannot ssh to hassio, cannot open console in proxmox to machine, websockets disconnect and cannot reach HA at all.. what the heck is going on??

HassOS 4.13
Home Assistant 0.114.4
Deconz 6.2.3
Similar issue: upgrade to firmware to 26350500 says success but it stays on 26330500 and prompts to update
On the other hand version is v2.05.79 / 5/22/2020

I have the same issue here. Home Assistant is upgraded to the latest version 0.114.4 and deconz 6.2.3.

Same issue
HassOS 4.13
Home Assistant 0.115
Deconz 6.2.3

Firmware has to be upgraded manually using the info on this page -> https://github.com/dresden-elektronik/deconz-rest-plugin/wiki/Update-deCONZ-manually

It wont work using the Phoscon app at this moment.

But that page says

This method cannot be used for the Home-Assistant addon and no current workaround is known.

@B1G1 This doesn't mean you can't update the stick.

In case of using a Raspbee: Get a second SD card. Install Raspbian and install deCONZ natively on that. From there, use the guide as mentioned by @gerard33

In case of using a Conbee: Remove the Conbee and use a Windows PC. Or use the same method as the Raspbee (if using a RPI).

Bumping this issue. Also happening for me. Details:

Raspbee v1
HassOS 4.13
Home Assistant 0.115.3
Deconz 6.3.0

This seems to have been fixed in the latest deconz firmware update: https://github.com/dresden-elektronik/deconz-rest-plugin/releases/tag/V2_05_84_stable

I've tried this on my Intel NUC with following config:
Conbee 2
HassOS: 4.13
HA: 0.115.6
deCONZ: 6.4.0

I have not yet tried this out on my original setup with RPI3 and Raspbee.

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

LongDono picture LongDono  路  13Comments

joshwapohlmann picture joshwapohlmann  路  8Comments

colindunn picture colindunn  路  9Comments

ludeeus picture ludeeus  路  5Comments

fi-sch picture fi-sch  路  8Comments