When I first saw USBasp programmer, I wondered why it has 10 pins in the connector, even though it uses only six during programming, According to official schematics, two of them (often labeled as unused or ground), are actuallyy connected to Tx and Rx of ATmega on board. There was no support for UART so far, so I thought maybe it's time to do it myself :).
There have been a lot of problems and gotchas during this project, and I learned a lot about USB protocol - it's really time-sensitive, by the way!
See GitHub page of the project for a several page long discussion of the project development. Here, I'll just write that I managed to make USBasp send and receive at around 12kB/s, which corresponds to constant UART stream at 120000baud. That is usually much more than needed for debugging purposes, so I'd say mission succeeded :)
nice. thanks.