I've been doing a bit more digging, and have ascertained that the WiFi USB device appears as a USB HID.
I've compiled lib-usb1 backend library from https://github.com/libusb/libusb , and installed PyUSB from http://walac.github.io/pyusb/ .
In my simple Python program, I can now enumerate the device and its 'endpoints', and see that there are two USB Interrupt endpoints on the device (one for IN and one for OUT).
However... attempts to perform an interrupt read from the device returns a USB error. sigh
Does anyone have any experience trying to do this, either successfully or not? I currently have no idea how the Makeblock program manages to talk to the mBot via the dongle, so trying to recreate this using Python and native USB library is going to be tough...
Does anyone know whether the serial reads/writes in the firmware code that you upload to the mBot actually transfer data over the 2.4g WiFi? or only the physically connected USB cable? Are there other commands you have to call to initialise the WiFi?
Any help most appreciated... or at least some consolation!