Changed from Fedora to Debian, now can't upload to M0

Everything worked fine when I was running Fedora. Then I had to switch to a new hard drive and this time loaded Debian (Buster). Now I can upload to Uno with no problem but can't find any solution for the M0. Have set myself as a user in the dialout group as recommended, have tried running as root, have pressed the reset button before uploading, all do not work and fail with a variety of errors.

With the board plugged in ttyACM0 does not show up. When I press the reset button to trigger the bootloader it does but disappears as soon as the bootloader shuts down. It appears that the upload code seems to only try when it first starts but doesn't have whatever it takes to reset the board.

Here's what dmesg shows:

[15233.826621] usb 2-4: new full-speed USB device number 7 using xhci_hcd
[15233.976483] usb 2-4: New USB device found, idVendor=2a03, idProduct=004e, bcdDevice= 1.00
[15233.976490] usb 2-4: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[15233.976493] usb 2-4: Product: Arduino M0
[15233.976496] usb 2-4: Manufacturer: Arduino srl (www.Arduino.org)
[15233.976499] usb 2-4: SerialNumber: 004D
[15233.977710] cdc_acm 2-4:1.0: ttyACM0: USB ACM device
[15241.599235] usb 2-4: USB disconnect, device number 7
[15241.599504] cdc_acm 2-4:1.0: failed to set dtr/rts

The last line "failed to set dtr/rts" seems like a clue, perhaps that is what should cause the board to reset and thus make itself show up as ttyACM0.

It seems to me like some necessary library or driver didn't get loaded.

Other information:

-Running the local IDE version 1.8.10
-When it worked under Fedora was running the most current version of Fedora

Any help would be appreciated, project is all developed but now can't ship it!

I use Unbuntu, also Debian based and use M0 clones. Tonight I will see what I get when M0 plugged in and try to remember what I had to do to get it working.

Thank you Paul, I hope you can figure it out. I am leaving on vacation tomorrow so unfortunately I won't be able to try any solutions you find until I return. But please do investigate; seeing some good advice while I'm away will only make my trip better!

Rick

Sorry, I forgot on Friday!

Here is what I get from dmsg:

[  113.896265] usb 4-2: new full-speed USB device number 2 using ohci-pci
[  114.107327] usb 4-2: New USB device found, idVendor=2341, idProduct=804d
[  114.107330] usb 4-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[  114.107332] usb 4-2: Product: Arduino Zero
[  114.107334] usb 4-2: Manufacturer: Arduino LLC
[  114.107335] usb 4-2: SerialNumber: CA0EE8185050323339202020FF193037
[  114.516029] cdc_acm 4-2:1.0: ttyACM0: USB ACM device
[  114.517523] usbcore: registered new interface driver cdc_acm
[  114.517525] cdc_acm: USB Abstract Control Model driver for USB modems and ISDN adapters

It looks like my board is a Zero clone, not an M0 clone. Its actually a Protoneer NanoARM.

In /lib/udev/rules.d/77-mm-usb-device-blacklist.rules, I have:

# Arduinos
ATTRS{idVendor}=="2341", ENV{ID_MM_DEVICE_IGNORE}="1"

This is the only .rules file that mentions vendor 2341. If I comment the above out and reload the udev rules with "udevadm control --reload-rules && udevadm trigger", I then get this from dmsg:

[ 1334.894929] usb 4-2: USB disconnect, device number 2
[ 1479.326555] usb 4-2: new full-speed USB device number 3 using ohci-pci
[ 1479.536624] usb 4-2: New USB device found, idVendor=2341, idProduct=804d
[ 1479.536632] usb 4-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 1479.536636] usb 4-2: Product: Arduino Zero
[ 1479.536640] usb 4-2: Manufacturer: Arduino LLC
[ 1479.536643] usb 4-2: SerialNumber: CA0EE8185050323339202020FF193037
[ 1479.539812] cdc_acm 4-2:1.0: ttyACM0: USB ACM device

If I reboot first, those final 2 lines re-appear, so its just a once-per-boot thing rather than any result of commenting out the udev rule.

lsusb shows:

Bus 004 Device 002: ID 2341:804d Arduino SA

I doubt any of this has been helpful. Did you google for the error message you saw? I found this.

Try double clicking the reset button. At least on a real zero, it forces the board into the bootloader.

The udev rule prevents modemmanager from opening the port to send AT commands. An alternative is to sudo apt remove modemmanager if you do not need it.

# Arduinos
ATTRS{idVendor}=="2341", ENV{ID_MM_DEVICE_IGNORE}="1"