SAMR34-XPRO: USB connection is reset when changing radio mode

I’m programming an application on SAMR34-XPRO board, and everything is fine until I start using stdio over USB CDC ACM. Turning the radio on, even in listen mode, resets the USB connection.

The problem can be reproduced even with the default sx127x test:

BOARD=samr34-xpro USEMODULE=stdio_cdc_acm make -C tests/driver_sx127x/ flash

Disconnect EDBG, attach to TARGET USB, and proceed with the interactive test. All commands that change the radio mode reset the USB connection - even random. Here is an excerpt of the relevant messages in dmesg:

[45958.340012] cdc_acm 1-1.3.2:1.0: ttyACM0: USB ACM device
[45969.993189] usb 1-1.3.2: USB disconnect, device number 74
[45969.995472] cdc_acm 1-1.3.2:1.0: failed to set dtr/rts

If the EDBG port is left connected, even with a USB battery, then the problem disappears.

It looks like some power issue, but the radio in itself should not be that power hungry. Tried with CFLAGS=-DCONFIG_USB_MAX_POWER=500 but it makes no difference.

Anyone has hints about how to further debug the root cause?

Thanks a lot in advance,


I can now answer my own question - maybe it could help someone in the future.

The EDBG port on the board is connected to SAMR34 reset pin. When the port is unconnected, the reset pin floats; turning on the radio chip, even in listen mode, causes a glitch of the pin that resets the board.

I’ve tried the very same firmware on a different SAMR34 module, and it works as intended.