Posting in case anyone else has the same issue:
I was having this problem on two different machines (one Dell desktop, and one Lenovo T420s laptop) - both running Ubuntu 12.04 64-bit, both with openjdk-6-jre (64 bit), Arduino tools 1.0.3 64-bit, avrdummy and micronucleus command line compiled locally on the system and placed in the arduino package hardware/tools/ directory as instructed.
I was always getting the 'micronucleus_connect: Assertion `res >= 4' failed.' error when I plugged the device in at the 'Plug in device now...' prompt.
While writing this post, I decided to run the arduino IDE under 'sudo' in case it was a usb dev permissions error, and voila - it worked!! It turns out that the default usb udev rules on my systems were causing the device to show up owned as root with mode 0600. To alleviate this, I created a custom udev rules file for the digispark using the vendorId and productId fields that I observed when I plugged the device in:
Create a file named
/etc/udev/rules.d/digispark.rules with the following line in it:
SUBSYSTEM=="usb", ATTR{idVendor}=="16d0", ATTR{idProduct}=="0753", MODE="0660", GROUP="dialout"
[Question: Is this the only / final vendor:product ID combo for the digisparks?]This will cause the digispark to show up with mode 0660 (-rw-rw----) and owned by group "dialout", which is consistent with how other usb-serial devices show up. Optionally, you can change the group or the mode if you'd like. (E.g. MODE="0666" will be writable by any user on the system.)