Installing Arduino 2.3.4 on latest Mint Linux 22 (Ubuntu 6.8.0-51-generic)

I was frustrated at first not to find the standard Linux .tar file (with the normal install script) to install the new Arduino IDE 2.3.4. under Linux. The zip file contained no install script and the .Appimage file was not intuitive for a standard linux install. Hmmm.

In reading the forums I figured out you wanted the app image made executable and then execute it from the command line to install the IDE. Perfect! Piece of cake...

So I ran the executable arduino-ide_2.3.4_Linux_64bit.Appimage from the terminal command line and it 'apperated' to install everything and the IDE came up. It also re-installed the Teensy modules from the .json script just fine as well. I added in 3 more library packages and was able to successfully compile my CPP code for the Teensy 4.0 and the programming window came up and it attempted to program the Teensy 4.0 but failed. The right hardware was selected (Teensy 4.0) and the port was set to the correct "/dev/ttyACM0 Serial (Teensy 4.0)" serial link. You could see the Teensy go into programming mode after the compile finished (little red LED lit dimly) but it never flashed brightly when it normally actually programms the device. OK - so I pressed the Teensy programming button.

The message in the terminal window when I pressed the Teensy program button was:

2025-01-13T18:04:20.944Z discovery-log INFO {"eventType":"add","port":{"matchingBoardsList":[{"name":"Teensy 4.0","fqbn":"teensy:avr:teensy40","isHidden":false}],"port":{"address":"usb2/2-3","label":"/dev/bus/usb/002/065 Bootloader","protocol":"teensy","protocolLabel":"Teensy Ports","propertiesMap":[["modelID","0x24"],["name","Teensy 4.0"]],"hardwareId":""}},"error":""}

Clearly not happy...It's definiltely crippled but close to doing something useful.

The annoying this is that all the messages showed up in the terminal window and NOT in the Arduino IDE window. Interesting and annoying at the same time...

So I exited out of the IDE and noticed I had a new desktop icon for the Arduino.
HORRAY! This should fix it!

But when I clicked on it I get the error message "There was an error launching the application". Dang...

Looking at the properties of the ICON the path it was pointing to was:

/"path to where the original appimage was stored-executed"/arduino-ide_2.3.3_Linux_64bit/arduino-ide
in the directory where the appimage exists there was NO /arduino-ide_2.3.3_Linux_64bit/ sub-directory that was created - and nothing else was there. And of course the arduino-ide executable doesn't exist either - hence the error meassage.

Running the .Appimage again from the command line still brings up the IDE, but again all the messages are directed to the terminal window (and not the IDE window) and it will not program the Teensy 4.0 micro.

I'm not sure where it thinks it got installed as a 'whereis arduino' only reveals the original .Appimage file -> arduino-ide_2.3.4_Linux_64bit.AppImage. I'm guessing that this is the code being executed directly and looks elsewhere for settings and the like.

What am I missing here?

I need this to work...

HELP!

HWdude37

1 Like

Hi @hwdude37.

The Arduino IDE developers are tracking the request to add an installer here:

If you have a GitHub account, you can subscribe to that thread to get notifications of any new developments related to this subject:


:exclamation: Please only comment on the GitHub issue thread if you have new technical information that will assist with the resolution. General discussion and support requests are always welcome here on the Arduino Forum.


Usage instructions are provided in the official documentation:

https://docs.arduino.cc/software/ide-v2/tutorials/getting-started/ide-v2-downloading-and-installing/#linux

I'm going to ask you to provide the full verbose output from an upload attempt.


:exclamation: This procedure is not intended to solve the problem. The purpose is to gather more information.


Please do this:

  1. Select File > Preferences... (or Arduino IDE > Settings... for macOS users) from the Arduino IDE menus.
    The "Preferences" dialog will open.
  2. Uncheck the box next to Show verbose output during: compile in the "Preferences" dialog.
  3. Check the box next to Show verbose output during: ☐ upload.
  4. Click the "OK" button.
    The "Preferences" dialog will close.
  5. Attempt an upload, as you did before.
  6. Wait for the upload to fail.
  7. You will see an "Upload error: ..." notification at the bottom right corner of the Arduino IDE window. Click the "COPY ERROR MESSAGES" button on that notification.
  8. Open a forum reply here by clicking the "Reply" button.
  9. Click the <CODE/> icon on the post composer toolbar.
    This will add the forum's code block markup (```) to your reply to make sure the error messages are correctly formatted.
  10. Press the Ctrl+V keyboard shortcut (Command+V for macOS users).
    This will paste the error output from the upload into the code block.
  11. Move the cursor outside of the code block markup before you add any additional text to your reply.
  12. Click the "Reply" button to post the output.

You misinterpreted the logs. This is completely normal. It is simply showing that the port was discovered.

With the default preferences, Arduino IDE displays all content the upload process prints to the "standard error" stream (AKA "stderr") in the "Output" panel.

If you enable verbose output in the Arduino IDE preferences, in addition to the stderr content, Arduino IDE also displays the content the upload process prints to the "standard output" stream (AKA "stdout").

The messages you saw in the logs are not produced by the upload process, and are only of value when troubleshooting a potential problem with the Arduino IDE application in certain rare cases of unexpected behavior, so are not normally of value to the user. So it is intentional that they are not displayed in the Arduino IDE GUI.

The official Arduino IDE doesn't do anything to create such an icon so it must have been created by some other unknown mechanism.

per your request - output from IDE (I originally typed IED - YIKES! :boom:) window is as follows:

Memory Usage on Teensy 4.0:
  FLASH: code:42536, data:7112, headers:8716   free for files:1973252
   RAM1: variables:8992, code:40744, padding:24792   free for local variables:449760
   RAM2: variables:12416  free for malloc/new:511872
"/home/n8obj/.arduino15/packages/teensy/tools/teensy-tools/1.59.0/teensy_post_compile" "-file=DataAcquisition.ino" "-path=/home/n8obj/.cache/arduino/sketches/809C1D1A7BCBBCADD9C70E021FC8C4E7" "-tools=/home/n8obj/.arduino15/packages/teensy/tools/teensy-tools/1.59.0" "-board=TEENSY40" -reboot "-port=usb2/2-3" "-portlabel={serial.port.label}" "-portprotocol={serial.port.protocol}"
error sending reboot command to /dev/hidraw4
Teensy did not respond to a USB-based request to enter program mode.
Please press the PROGRAM MODE BUTTON on your Teensy to upload your sketch.
  Cause may be missing 00-teensy.rules UDEV rules in /etc/udev/rules.d
  Get this file from https://www.pjrc.com/teensy/00-teensy.rules
Failed uploading: uploading error: exit status 1

Also
the file in /etc/udev/rules.d/99-arduino.rules contains:
SUBSYSTEMS=="usb", ATTRS{idVendor}=="2341", GROUP="plugdev", MODE="0666"

libfuse2 is correctly installed via apt

Also attached text files of console terminal output of:

  • program start
  • compile/program
  • push Teensy pgm button

compileprogm.txt (14.5 KB)
startup.txt (39.2 KB)
pushbutton.txt (2.4 KB)

HWDude37

Have you installed that udev rules file?

If not, please do so and then try uploading again. There are instructions for installing it in the comments in the file.

Per my previous post the udev rules are in place - the little pop-up window does appear and when you press the Teensy button the Teensy goes into bootloader mode, but it never gets programmed.

I followed a set of instructions on this site to set it (the udev rules) up.

But now just looking - the pjrc.com rules are different than what is listed on this site - will try again tomorrow with the pjcr udev rules and see if that fixes it.

HWDude37

That is a different rule from the ones mentioned by the Teensy upload error message. The rule you installed is only for official Arduino boards (2341 is the USB vendor ID owned by the Arduino company). It is irrelevant to Teensy boards.

Please follow the instructions provided by the error message.

I don't see any such reference. It is much more helpful if you just post text instead of making vague references to it.

You are focusing far too much on the terminal logs and not enough on the output displayed in the Arduino IDE GUI. The terminal logs are only intended to be used to investigate potential problems with the Arduino IDE application.

When troubleshooting an upload error message, you should focus your attention on the verbose output from the upload process that is displayed in the "Output" panel of the Arduino IDE window.

lumps taken and will try again tomorrow...

HWDude37

using the Teensy website udev rules the compile/program sequence ends with:

Opening Teensy Loader...
Memory Usage on Teensy 4.0:
  FLASH: code:42536, data:7112, headers:8716   free for files:1973252
   RAM1: variables:8992, code:40744, padding:24792   free for local variables:449760
   RAM2: variables:12416  free for malloc/new:511872
"/home/n8obj/.arduino15/packages/teensy/tools/teensy-tools/1.59.0/teensy_post_compile" "-file=DataAcquisition.ino" "-path=/home/n8obj/.cache/arduino/sketches/809C1D1A7BCBBCADD9C70E021FC8C4E7" "-tools=/home/n8obj/.arduino15/packages/teensy/tools/teensy-tools/1.59.0" "-board=TEENSY40" -reboot "-port=usb2/2-3" "-portlabel={serial.port.label}" "-portprotocol={serial.port.protocol}"
error sending reboot command to /dev/hidraw4
Teensy did not respond to a USB-based request to enter program mode.
Please press the PROGRAM MODE BUTTON on your Teensy to upload your sketch.
Failed uploading: uploading error: exit status 1

nuts...

At this time I pressed the Teensy manual program button and it went into bootloader mode (red LED dimly lit) then after about 10 seconds it did actually program the Teensy!

So I then re-tried the compile/program button and it worked as well giving the following output:

Memory Usage on Teensy 4.0:
  FLASH: code:42536, data:7112, headers:8716   free for files:1973252
   RAM1: variables:8992, code:40744, padding:24792   free for local variables:449760
   RAM2: variables:12416  free for malloc/new:511872
"/home/n8obj/.arduino15/packages/teensy/tools/teensy-tools/1.59.0/teensy_post_compile" "-file=DataAcquisition.ino" "-path=/home/n8obj/.cache/arduino/sketches/809C1D1A7BCBBCADD9C70E021FC8C4E7" "-tools=/home/n8obj/.arduino15/packages/teensy/tools/teensy-tools/1.59.0" "-board=TEENSY40" -reboot "-port=usb2/2-3" "-portlabel={serial.port.label}" "-portprotocol={serial.port.protocol}"

So thinking it looked like it was installing something on the manual button press I exited the IDE and restarted it again from the terminal cmd line.

My machine is a dual core running at 1.4GHz - the first sign of the IDE window appears @~11 seconds in - the GKrell CPU activity keeps going for a total of 2 min 17 sec before CPU activity dies down. Rather busy...

At this point I then did the compile / program ('check' button) and it took a total of ~ 10 seconds to compile AND program the Teensy. Victory!

So this is now functioning nicely - am I now supposed to make a desktop icon that runs the .Appimage or is there something I'm still missing for a normal linux install?

HWdude37

Great news! Thanks for taking the time to post an update.

You can do that if you like. It is completely optional. You can also just start the file directly as you have been doing.

You might find that you need to install additional udev rules if you use different boards, but you can cross that bridge if you come to it, and that is more about the board in general than the IDE specifically.

Other than that, if the IDE is able to start and compile and upload then you are all set.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.