Fixing Arduino on Ubuntu 9.10 Karmic x64 with librxtx-java

At present serial communication from the Arduino IDE will not work with the default installation as the IDE is supplied with a 32 bit version of the serial communication library rxtx and as yet the version in the repos doesn’t work either.

A full distribution of the arduino-0017 ide can be downloaded here with the correct files included.

If you haven’t used arduino before you’ll need to install its dependencies by running

sudo apt-get install avr-libc gcc-avr avrdude

To fix an existing installation – a working version of rxtx (rxtx-2.2pre2-bins.zip)  can be downloaded from http://rxtx.qbang.org/ however at the time of writing the site had been down for a while so I’ve provided a mirror of the file (here).

To install:

Extract /RXTXcomm.jar and /x86_64-unknown-linux-gnu/librxtxSerial.xo into the ardunio/lib directory overwriting the previous versions.

Arduino serial communication should now work as normal.

For people having more general problems with any application using  librxtx-java on 64 bit ubuntu I have created an updated .deb file – available here. This can be also used to fix arduino if the librxtxSerial.so file is removed from the arduino/lib directory.

The source code for rxtx can be found here

14 Responses to “Fixing Arduino on Ubuntu 9.10 Karmic x64 with librxtx-java”

  1. David Rogerson says:

    I downloaded the full distribution and it worked perfectly! Thank you Oliver!

    The next issue is getting the AVRISP MkII to work properly. It looks like its a permission thing with the USB. The work around is to open a terminal and go to the Arduino folder. Run it as:
    gksudo ./arduino and the programmer works fine.

  2. acidblue says:

    I downloaded the full distribution,
    and i still getting errors.
    So I tried replacing the RXTX.jar
    and the librxtxSerial.so files as stated above.

    Still getting errors, i can get the ide to run and compile, just can’t upload to my arduino.
    Using Ubuntu 9.10.
    The errors say ‘can’t run program avrdude’
    then goes onto list a bunch of .jar exceptions to long to list.
    This all works fine on windows

    • chemicaloliver says:

      Did you install the dependencies, arduino requires you to install sudo avr-libc avr-gcc and avrdude before it will work by doing

      sudo apt-get install avr-libc gcc-avr avrdude

      I’ll update the post

  3. KJBourgault says:

    Worked like a charm. Thank you very much for your work.

  4. Sawjam says:

    Dosen’t work!!!! Ahhhhh

    Ah, I see, if I read the instructions and do what it tells me, rather than boy read half the instructions!

    Great works a treat :)

    Fantastic thanks for this.

  5. Jeff says:

    One thing, you can run ‘./arduino’ as an ordinary user (not root) if you add yourself to the tty group. I believe you need to be in the dialout group as well, but I found that I was in it already. If you run the ‘./arduino’ IDE as a plain user without it, it will work the first time, but further uploads will hang complaining about a lock, and ttyUSB0 will disappear.

  6. Christoph says:

    Thanks for your work! Anyone else having problems with the latest kernel update (2.6.31-18)? I had to revert to 2.6.31-17 to get my arduino back working.

  7. chemicaloliver says:

    Is this under 9.10, the latest provided kernel still seems to be 2.6.31-17

  8. Christoph says:

    If you activate the proposed repositories (karmic-proposed), you’ll get 2.6.31-18. Maybe this will be fixed once the kernel update finds its way into the default repositories. For now, it seems to be a good idea not to get the “proposed” stuff.

  9. chemicaloliver says:

    I assume you’ve filed a bug on launchpad!

  10. Christoph says:

    It’s hard to reproduce the bug. The standard examples (LED blinking etc) work fine. Seems like Serial.available() works unreliably in my scripts on 2.6.31-18, whereas I’ve never had problems with earlier versions. I’ll try to put together a reproducible bug sample before filing something on launchpad.

  11. Adrian says:

    I’ve had problems with various FTDI USB serial devices under Ubuntu 9.10.

    I found that a power management driver is configured to recognise a wide range of Ftdi parts as belonging to a ‘Watts Up’ power meter. This can cause the driver to hold the device open, requiring the arduino user to be superuser to get the port.

    I have reported this as a bug,
    https://bugs.launchpad.net/ubuntu/+source/devicekit-power/+bug/507247

    but the workaround is to rename /lib/udev/rules.d/95-devkit-power-wup.rules as 95-devkit-power-wup.rules.DISABLED.

    If you actually own a Watts-Up meter, edit that file to distinguish between the FTDI chip in the power meter and the one in your arduino.

  12. Robynhub says:

    Thanks a lot dude!

Leave a Reply

All comments will be moderated before appearing

© 2010 Oliver Smith