GPIO SPI Error and Temp Sensors Failing/Undiscoverable

Good afternoon @Elco and @Bob_Steers ,

I swapped out the GPIO module and the sensor on Spark 21/22 with the ones you sent over (thanks for that!) and I’m not fully operational yet. The new sensor works but there is no output signal from the GPIO module when I set my CCT to cool. I set one of the GPIO pins as Ground and measured the voltage across the cooling signal pin and I don’t see any voltage (when cooling is active).

I tried reflashing Spark 21/22, even though it had the latest firmware, but that didn’t help. You can find the coredump here if that’ll help: https://termbin.com/cs6k

As a test, I attached Spark 33/34 on the GPIO Module/Setup of the troublesome Spark 21/22 and it worked fine so I’m pretty confident that it is Spark 21/22 that is wonky. Also a fun discovery: The Ethernet hadn’t been working with Spark 21/22 so we were on WiFi (I thought the cable had an issue), but it does work with Spark 33/34 so maybe Spark 21/22 was worse off than previously thought.

I also still get the SPI Error on this Spark. The other 5 Sparks do not have the SPI Error.

A final fun development: When running brewblox-ctl up I started to see the following error regarding brewblox-traefik:

Error response from daemon: driver failed programming external connectivity on endpoint brewblox-traefik-1 (5ee50908bb64b3d26ae46be2699c9084deeefc8fbee94c3ec90adc82a1a695e0): Error starting userland proxy: listen tcp4 0.0.0.0:8883: bind: address already in use
Command 'docker compose up -d ’ returned non-zero exit status 1.

Do you guys have any thoughts or actions I can try concerning the above?

Can you send back the problem spark with the broken io module so I can have a look?

As a test, you could set 1 pin to always GND and the other pin to always power. If it still doesn’t output anything it is definitely a hardware issue.

Port 8883 is the standard port for MQTT over SSL.

  • Do you have any other MQTT brokers, or something like Home Assistant running?
  • Does the problem persist if you run brewblox-ctl kill first?
  • Could you please run brewblox-ctl log? There may be a duplicate service entry.

Hey Bob,

I didn’t even know what a MQTT broker was until now, but no, we don’t have anything like that running to my knowledge.
brewblox-ctl kill didn’t fix it. Tried it before my previous post and again just now for good measure. Should have mentioned it earlier. Sorry.

The log can be found here: https://termbin.com/78jq

Hey @Elco ,

Just tried measuring over always GND and always Power: 0 Volts.

Will pack up the Spark and original GPIO module right away and send it your way.

Looking forward to hearing back when you have an idea of what the issue could be.

config looks normal. Could you please run and post the output of

sudo netstat -tulpn | grep :8883

This will show what process is currently using port 8883

tcp        0      0 0.0.0.0:8883            0.0.0.0:*               LISTEN      411149/docker-proxy 
tcp6       0      0 :::8883                 :::*                    LISTEN      411162/docker-proxy

So a docker container is hanging around somewhere. What is the output of docker ps -a ?

CONTAINER ID   IMAGE                                         COMMAND                  CREATED       STATUS                            PORTS      NAMES
8efe8cc7fef3   ghcr.io/brewblox/brewblox-devcon-spark:edge   "python3 -m brewblox…"   2 hours ago   Up 32 seconds                     5000/tcp   brewblox-spark-two-1
2c985e2e54a2   victoriametrics/victoria-metrics:v1.88.0      "/victoria-metrics-p…"   2 hours ago   Restarting (255) 54 seconds ago              brewblox-victoria-1
c332a2fb59e9   redis:6.0                                     "docker-entrypoint.s…"   2 hours ago   Up 2 hours                        6379/tcp   brewblox-redis-1
9311511bf883   ghcr.io/brewblox/brewblox-devcon-spark:edge   "python3 -m brewblox…"   2 hours ago   Up 2 hours                        5000/tcp   brewblox-spark-one-1
f996c824c75d   ghcr.io/brewblox/brewblox-ui:edge             "/docker-entrypoint.…"   2 hours ago   Up 2 hours                        80/tcp     brewblox-ui-1
025f06b82a06   ghcr.io/brewblox/brewblox-devcon-spark:edge   "python3 -m brewblox…"   2 hours ago   Up 2 hours                        5000/tcp   brewblox-spark-6-1
663df6759df3   ghcr.io/brewblox/brewblox-history:edge        "python3 -m brewblox…"   2 hours ago   Up 2 hours                        5000/tcp   brewblox-history-1
cc295ed94a89   traefik:2.9                                   "/entrypoint.sh --ap…"   2 hours ago   Created                                      brewblox-traefik-1
7d6af9ffac3e   ghcr.io/brewblox/brewblox-devcon-spark:edge   "python3 -m brewblox…"   2 hours ago   Up 2 hours                        5000/tcp   brewblox-spark-5-1
7e94033c34ce   ghcr.io/brewblox/brewblox-devcon-spark:edge   "python3 -m brewblox…"   2 hours ago   Up 2 hours                        5000/tcp   brewblox-spark-3-1
7b962e9a2805   ghcr.io/brewblox/mosquitto:edge               "/docker-entrypoint.…"   2 hours ago   Up 2 hours                        1883/tcp   brewblox-eventbus-1
63e34bca355e   ghcr.io/brewblox/brewblox-devcon-spark:edge   "python3 -m brewblox…"   2 hours ago   Up 2 hours                        5000/tcp   brewblox-spark-4-1

Looks like it’s not an actual container, so next step is double check zombies again.

brewblox-ctl down
brewblox-ctl kill --zombies

The latter command should print it’s removing X zombies. It may also prompt you to install netstat if it’s missing.

That seems to have done the trick. Thanks Bob!