Migrated 24.04->25.04 - USB Z-Wave Last Holdout

Put off moving to electic eel as my apps were all working with alternate IP’s instead of using any of the built in ingress methods.

Finally took the plunge yesterday and upgraded to 25.04.

Took a good bit of fiddling, moving apps around figuring some things out, but I managed to get nearly everything working via YAML apps, then moved most of them into being managed by Dockge. I got my macvlan network setup and what needs an address resolvable to the larger network has one. I am handling ingress through NPM, all things working well.

I even converted several packages I didn’t really intend to to custom apps, like Immich & Plex. All working fine (ish).

The one sort of critical item I can’t quite get working is passthrough of my USB Zwave stick to my zwave-js-ui container. I had been running it as a custom app w/k3s prior, migrated it to just be another container in dockge and now it doesn’t want to let me access the stick.

Compose:

#zwave-js-ui
services:
  zwave-js-ui:
    environment:
      TZ: America/Chicago
    group_add:
      - 568
    hostname: zwave-js-ui
    image: ghcr.io/zwave-js/zwave-js-ui:latest
    platform: linux/amd64
    networks:
      containermacvUse:
        ipv4_address: X.X.X.X
    privileged: true
    pull_policy: missing
    restart: unless-stopped
    volumes:
      - bind:
          create_host_path: false
          propagation: rprivate
        read_only: false
        source: /mnt/SolidState/DockerConfigs/zwavejs2mqtt
        target: /usr/src/app/store
        type: bind
    devices:
      - /dev/ttyACM0:/dev/ttyACM0
networks:
  containermacvUse:
    external: true

I have verified that indeed ttyACM0 is what it should be, it shows up in the truenas system as expected. It is listed in the dropdown:

But I keep getting this error:
Failed to open the serial port: Error: No such file or directory, cannot open /dev/ttyACM0

Any suggestions on next steps are appreciated.

I don’t know if it will help, but try using /dev/serial/by-id/... for the host part

For example:

devices:
  - /dev/serial/by-id/usb-0658_0200-if00:/dev/ttyACM0

Appreciate the suggestion, perhaps a little closer, I looked up the id and your example was… correct…
image

But using that:

    devices:
      - /dev/serial/by-id/usb-0658_0200-if00:/dev/ttyACM0

Gets me

Error response from daemon: error gathering device information while adding custom device "/dev/serial/by-id/usb-0658_0200-if00": not a device node

So maybe a different permission issue I am not seeing?

I was looking at different groups and a few other things and realized something seemed a bit off and that I hadn’t rebooted after a few other spats with the upgrade.

I rebooted the entire system and, as one does, it works fine now with the original declaration.

Sometimes, the amount of hair we pull out just reboot the damn thing…

1 Like

Troubleshooting 101 - Did you turn it off and back on again? :rofl:
Glad it’s working now!

1 Like

I was just noting that my system uptime was wild for me, since I normally end up tinkering a bit, 24.04 was just very solid.

I think I rebooted 20 times today. I had one heckuva battle with the speed of the pool my apps were in, it was just some SATA SSD’s and I didn’t realize that was such a problem.

Oh well, great excuse to get that NVME pool going that I had sitting on the shelf.