I haven't fully characterized this yet, but I've seen much of what you have with gadgetfs. I've also gotten it to work.
Once it is correctly set up, it seems to work well. However, it seems to me that once it has gotten it *wrong* it is very difficult to get it corrected. Try the following steps: $ = Desktop action # = QEMU action $ 1) Reboot the computer. $ 2) check dmesg output "dmesg | tail -30" and you should see some messages about finding USB devices. $ 3) do the modprobe, create /dev/gadget, and mount it. $ 4) run QEMU # 5) use Ctl+Alt+2 to switch to QEMU Monitor # 6) "info usbslave" should display that device 1 is the CDC Network # 7) "usb_add gadget:1" This should work silently in the monitor and NOT display an error message on the QEMU stream output to the desktop. # 8) Ctl+Alt+1 to switch back to normal QEMU display $ 9) use ifconfig to set the usb0 device parameters Good luck and persevere. It does work--it just seems finicky. - John

