I had someone write a program for me that interfaced with an AVR. The code sets up a serial port and then sends data over it, however it never receives it. You can check out what it does [youtube]F0Nq_V9VGqc[/youtube]
It runs on Linux (Ubuntu in my case) and it may be of some help. Check out the serial.c file.