The first is a complete rewrite of the read/write mechanism using the existing serial usb driver (ftdi) which should be much more robust at staying in sync with results coming in from the device, as well as more accurately picking when the device is misbehaving and hopefully be more reliable at resetting it. This code is currently in a git branch called avalon-serialdev .
The second is an even more complete rewrite, built on the avalon-serialdev one with direct USB bypassing the ftdi driver entirely. The avalon does some weird and (not so) wonderful things to emulate running serial at 115200 baud, and the ftdi chip has some serious limitations I never would have known about had I not started poking around (for instance, the driver reads from the device every 1 millisecond because the buffer is so small it easily overflows). The modified code is more efficient and uses a lot less OS-kernel time but the demonstrable CPU usage of cgminer itself looks the same. This code works reliably and solidly... on a linux PC. This code is currently in a git branch called avalon-usbdev .
Now this is where it gets tricky. The direct USB code does not really work at all on the MIPS router that is built into the Avalon device itself. I'm not really sure if it's a libusb limitation, a different implementation or what, but it just does not work, and what does work appears extraordinarily slow. Only installing usbmon onto the device will tell me for sure, and that's not as trivial as I wish it were. We'll see how much time I get in the future to investigate this and whether it's even worth doing or not.
So down to my questions. How many avalon users here wish to be running them via a PC instead of as the standalone device it is? I suspect precious few. How many of you even want to be building your own binaries versus the number downloading the latest firmware? It would be possible to release a new version of cgminer that has both drivers but that will become a maintenance burden long term - and without having an avalon myself, it could end up going to bitrot. I've already made massive improvements to the serial usb based code and would be happy to push that alone into the next cgminer version and Xiangfu should be able to make you all new firmware with it.
I should add the Avalon team have made it clear they will not be providing me with a free Avalon outright to further development. Talks continue on that front...