Tool/Board Info Works, Uploading Fails

Hello all,

I come at this as a programmer with decades of experience, but nearly none with Arduinos. I am running Ubuntu in a VirtualBox on Ubuntu (both are Jammy Jellyfish). What puzzles me, is I wrote a simple LED blink test program and it compiles. But, it fails to upload. I have tested with 2 different Arduino's a Due and a Portenta H7. For each, when I select Tools /Get Board Info it always reports the currently connected board. However, it always fails to upload the program. Since I've tried with different Arduino's, I do have 2 different source files, each compile properly, but they indicate different failures. When the Portenta H7 is connected, it reports No DFU capbable USB device available. When the Due is connected it fails with No device found on ttyACM0.

I've checked and /dev/ttyACM0 does exist. It is also the selected port for each. I find it interesting that it reports the correctly connected board, I assume that verifies the USB cable has data lines. When testing this, I only have 1 board connected at a time. And I restart Arduino IDE when switching boards.

Does, anyone have ideas on what the problem would be? I have tried switching cables. When the Due is connect, issuing lsusb in a Terminal window reveals: Bus 001 Device 008: ID 2341:003d Arduino SA Due Programming Port. When the Portenta is connected, issuing lsusb in a Terminal window reveals: Bus 001 Device 009: ID 22341:025b Arduino SA Envie M7.

Thanks,

I am not sure about the VirtualBox, but the IDEs work on Ubuntu without any problems for me. I have a UNO that is programed to send messages every few seconds at 115200 baud, that is my simple test device. Connecting it to the IDE and if I get messages I know the hardware should work. That gives me basically a Known good unit. I also can connect with putty and see the messages coming from the Arduino.

Thank you for the reply. It seems I did miss the step of creating the rules file. I'm not sure if at the time I thought that was a Fedora step. Anyhow. I finally programmed both the DUE and the Portenta in the VirtualBox. I did have to go back out and play with the USB settings for the Portenta to work. When connected via USB, it shows up 2 different ways, 1 way didn't work (Arduino Envie M7), the other way did (Arduino SA Envie H7 Bootloader).

Hi @arduinodandy

When you upload to the Portenta H7 board, the IDE sends a special signal to the Portenta to tell it to activate the bootloader. The bootloader is a separate application from your sketch program, and has its own USB code that causes it to appear as a different device. It is this device the upload tool sends the upload data to. For this reason, VirtualBox must be configured so that it connects both those USB devices in order for it to be possible to perform an upload in a virtual machine.

1 Like