When i started developing for the GBA i bought a Flash2Advance because the MBV2 limited me too much.
I took the Parport version, because i thought it’s more likely to find a Parport driver or client tool for Linux than a usb based. But the only Linux based tool i could find was the Usb client called f2a. So i decided to write my own client or user space driver. I took the Usb sources and added Parport support. I used Wine to reverse engineer the protocol. I took me 2 weekends to analyse the Wine io debug dumps and find all patterns. I even had to write some Python scripts to get worked through the whole io debug logfiles. But finally i had a working parport driver. Later i ported the Parport io code from outb/inp calls to Kernel parport dev interface. The whole tool was later integrated into the Ucon64 suite.