-
Notifications
You must be signed in to change notification settings - Fork 103
ToDo
jaapcrezee edited this page Sep 24, 2014
·
11 revisions
An incomplete list of tasks for the project
Require some discussion and knowledge of existing code)
- Relay device over ethernet
- Isochronous transfers
- LibUSB async transfers
- GadgetFS Multipacket reads
- See if we can programatically disconnect the host device
- See if there are any other standard control requests we need to do something special for
- update active interface in interfacegroup and active endpoints upon set interface request
- proper handling of multiple set configs in a session (deactivate old endpoints, activate new ones, leave unchanged ones alone
- FaceDancer software compatibility
- FaceDancer hardware compatibility (possibly not worth the time/effort)
- Support other hardware - Parallella, Olimex Lime, USB3380kl
- retry incomplete libusb transfers
- handling of device/host connects/disconnects/reconnects
- Act as a hub to proxy multiple devices
- Test mode for development on a host without a USB device controller (kernel module to present device?)
- Implement USBProxy module for gadget_configfs (See Documentation/usb/gadget_configfs.txt from 3.16 for example)
Good for newcomers to the project
- Check return values from malloc(), memcpy(), etc
- Decide on how many debug/verbosity levels we should have and set prints appropriately and add any additional ones needed. (Eg relay thread start/stop)
- Language bindings, especially for packet filters, host/device proxies - python, C, etc
- Make USBProxy into a library - split out optional sections as plugins, and command line tool as example
- Make host/device proxy and filters runtime configurable - config files, args passed to usb-mitm, etc