ZBT-2 Won't pair with any of my devices through Zigbee2MQTT

Hello all. I decided to upgrade my sonoff dongle E to a ZBT-2 and to recreate my network from scratch. Before everything was working okay, but now I am encountering a weird issue when trying to pair a device.

I fully resetted my ikea ceiling light and allowed joining in the z2mqtt app ( i have everything running in docker ). The light won’t pair, and after the timer runs out or i cancel the allow pair, i get these logs and the z2mqtt container restarts:

[2026-01-04 23:15:37] info: 	z2m:mqtt: MQTT publish: topic 'zigbee2mqtt/bridge/response/permit_join', payload '{"data":{"time":254},"status":"ok","transaction":"ysqek-1"}'

[2026-01-04 23:18:29] info: 	z2m: Zigbee: disabling joining new devices.

[2026-01-04 23:18:29] error: 	zh:ember:uart:ash: Received ERROR from adapter, with code=ERROR_EXCEEDED_MAXIMUM_ACK_TIMEOUT_COUNT.

[2026-01-04 23:18:29] error: 	zh:ember:uart:ash: ASH disconnected | Adapter status: ASH_NCP_FATAL_ERROR

[2026-01-04 23:18:29] error: 	zh:ember:ezsp: Fatal error, status=ASH_NCP_FATAL_ERROR. Last Frame: [FRAME: ID=54:"SEND_BROADCAST" Seq=38 Len=7]

[2026-01-04 23:18:29] info: 	zh:ember:uart:ash: ASH COUNTERS since last clear:

[2026-01-04 23:18:29] info: 	zh:ember:uart:ash:   Total frames: RX=48, TX=87

[2026-01-04 23:18:29] info: 	zh:ember:uart:ash:   Cancelled   : RX=0, TX=0

[2026-01-04 23:18:29] info: 	zh:ember:uart:ash:   DATA frames : RX=44, TX=40

[2026-01-04 23:18:29] info: 	zh:ember:uart:ash:   DATA bytes  : RX=413, TX=464

[2026-01-04 23:18:29] info: 	zh:ember:uart:ash:   Retry frames: RX=0, TX=0

[2026-01-04 23:18:29] info: 	zh:ember:uart:ash:   ACK frames  : RX=0, TX=45

[2026-01-04 23:18:29] info: 	zh:ember:uart:ash:   NAK frames  : RX=2, TX=0

[2026-01-04 23:18:29] info: 	zh:ember:uart:ash:   nRdy frames : RX=0, TX=0

[2026-01-04 23:18:29] info: 	zh:ember:uart:ash:   CRC errors      : RX=0

[2026-01-04 23:18:29] info: 	zh:ember:uart:ash:   Comm errors     : RX=0

[2026-01-04 23:18:29] info: 	zh:ember:uart:ash:   Length < minimum: RX=0

[2026-01-04 23:18:29] info: 	zh:ember:uart:ash:   Length > maximum: RX=0

[2026-01-04 23:18:29] info: 	zh:ember:uart:ash:   Bad controls    : RX=0

[2026-01-04 23:18:29] info: 	zh:ember:uart:ash:   Bad lengths     : RX=0

[2026-01-04 23:18:29] info: 	zh:ember:uart:ash:   Bad ACK numbers : RX=0

[2026-01-04 23:18:29] info: 	zh:ember:uart:ash:   Out of buffers  : RX=0

[2026-01-04 23:18:29] info: 	zh:ember:uart:ash:   Retry dupes     : RX=0

[2026-01-04 23:18:29] info: 	zh:ember:uart:ash:   Out of sequence : RX=0

[2026-01-04 23:18:29] info: 	zh:ember:uart:ash:   ACK timeouts    : RX=0

[2026-01-04 23:18:29] info: 	zh:ember:uart:ash: Port closed, error=null

[2026-01-04 23:18:29] info: 	zh:ember:uart:ash: ======== ASH stopped ========

[2026-01-04 23:18:29] info: 	zh:ember:ezsp: ======== EZSP stopped ========

[2026-01-04 23:18:29] info: 	zh:ember: ======== Ember Adapter Stopped ========

[2026-01-04 23:18:29] error: 	z2m: Adapter disconnected, stopping

[2026-01-04 23:18:44] error: 	zh:ember:ezsp: ERROR Transaction failure; status=ASH_ERROR_TIMEOUTS. Last Frame: [FRAME: ID=54:"SEND_BROADCAST" Seq=38 Len=7].

[2026-01-04 23:18:44] error: 	z2m: Request 'zigbee2mqtt/bridge/request/permit_join' failed with error: 'ASH_ERROR_TIMEOUTS'

[2026-01-04 23:18:44] info: 	z2m:mqtt: MQTT publish: topic 'zigbee2mqtt/bridge/response/permit_join', payload '{"data":{},"error":"ASH_ERROR_TIMEOUTS","status":"error","transaction":"salu0-1"}'

[2026-01-04 23:19:38] info: 	z2m:mqtt: MQTT publish: topic 'zigbee2mqtt/bridge/state', payload '{"state":"offline"}'

[2026-01-04 23:19:38] info: 	z2m: Disconnecting from MQTT server

[2026-01-04 23:19:38] info: 	z2m: Stopping zigbee-herdsman...

[2026-01-04 23:19:38] info: 	z2m: Stopped zigbee-herdsman

[2026-01-04 23:19:38] info: 	z2m: Stopped Zigbee2MQTT

Using '/app/data' as data directory

Starting Zigbee2MQTT without watchdog.

I debugged this hours on end with ChatGPT and the internet in general, but i found nothing that worked.

The z2mqtt serial configuration is this:

serial:
  port: /dev/ttyACM0
  baudrate: 460800
  adapter: ember
  rtscts: true

I would change the port to the setial/by-id url.
The TTY ports can sometimes change internally, so it is suggested to use the /serial/by-id/ URL that always talks to your dongle by serial so it is always right.
You can find out what that is by using:

and looking for it under all hardware, something like this:

Once you have the long URL use that instead of the ttyxxx one.