Hi blargg,
Glad to see your feedback that it is suppose to work. I presume you didn't have to do any changes to the original package ?
Unfortunately, it still doesn't work for me.
(I'm running 12.04 too, so it should not be a driver issue.)
I've ran your test script, AVR is receiving string properly but capture is still empty.![Sad :-(]()
I've even try changing the crystal from 16MHz to 12MHz to make sure the problem wasn't related to clock accuracy.
Then, I've done some debugging with "usbmon" and "wireshark" : I can see 16x "UBR_INTERRUPT in" been send when I'm launching gtkterm and been replied 16 times by the AVR with "URB status: Broken pipe (-EPIPE) (-32)". (running the test script is also doing the same returns, although not in the same packet order)
I've added a USB_RX_USER_HOOK to figure out that interrupts are calling usbProcessRx only for SETUP and DATA packets.
I've tried to dig into assembly code, but I'm a bit lot : I can't figure out where the -EPIPE error comes from and why, I didn't found a place where a reply packet have such status.
Glad to see your feedback that it is suppose to work. I presume you didn't have to do any changes to the original package ?
Unfortunately, it still doesn't work for me.

I've ran your test script, AVR is receiving string properly but capture is still empty.

I've even try changing the crystal from 16MHz to 12MHz to make sure the problem wasn't related to clock accuracy.
Then, I've done some debugging with "usbmon" and "wireshark" : I can see 16x "UBR_INTERRUPT in" been send when I'm launching gtkterm and been replied 16 times by the AVR with "URB status: Broken pipe (-EPIPE) (-32)". (running the test script is also doing the same returns, although not in the same packet order)
I've added a USB_RX_USER_HOOK to figure out that interrupts are calling usbProcessRx only for SETUP and DATA packets.
I've tried to dig into assembly code, but I'm a bit lot : I can't figure out where the -EPIPE error comes from and why, I didn't found a place where a reply packet have such status.