I abandoned fixing the Python version that I had for a few reasons - it was buggy, I don't really know Python, and eventually I want to have this running on Android. I ported it to C++ a couple months ago and managed to work out the bigger bugs (from what I can tell), including figuring out a few of the inconsistencies with the Perl module that I was working off of.
I've attached the code. You may have to run:
sudo /sbin/modprobe ftdi_sio vendor=0x0403 product=0xca81
(I remember having to do that when I was working with the Python stuff, but it's been a while, so I'm not sure if that's still necessary or not.)
Let me know if it works for you.