Am Montag, 12. Dezember 2016, 20:55:24 CET schrieb Krzysztof Opasiak: > > On 12/12/2016 08:18 PM, Fabian Vogt wrote: > > Am Montag, 12. Dezember 2016, 19:47:00 CET schrieb Krzysztof Opasiak: > >> > >> On 12/12/2016 04:40 PM, Fabian Vogt wrote: > >>> Hi, > >>> > >>> (sorry for the missing message ID, I wasn't subscribed to this list > >>> beforehand so I did not get the original message) > >>> > >>> On Fri, Dec 09, 2016 at 12:38:23AM +0100, Andrey Konovalov wrote: > >>>> Hi, > >>>> > >>>> I'm working on a way to extend syzkaller [1] to support fuzzing of the > >>>> USB subsystem. The idea is to be able to emulate various USB devices > >>>> and fuzz communication between the emulated device and the kernel. I'm > >>>> looking for a way to emulate devices from userspace. Similar to how > >>>> tuntap allows to create virtual network interfaces and emit ethernet > >>>> traffic by writing to /dev/net/tun. > >>> > >>> FYI: > >>> > >>> I've started working on a similiar project a week ago, although it's > >>> structured a bit differently. It's made so that a USB gadget device > >>> is used to fuzz arbitrary USB hosts. > >>> > >>> On the one side, it uses the usbredir protocol that is used by > >>> vUSBf (https://github.com/schumilo/vUSBf) and on the other side it > >>> uses usb_gadget configfs (libcomposite) + usb functionfs for the > >>> gadget. > >>> > >>> This means it can also be used to forward a physical USB device over > >>> network to a physical USB host, which makes it useful beyond > >>> fuzzing as well. > >> > >> That's already implemented and called vUDC;) > > > > Oh well, I completely misunderstood its purpose. I thought it was > > just the implementation detail of using USB/IP devices on the local > > host. > > Nope. It's fully working USB Device Controller to which you can bind > your gadget and then connect it to any machine over the network as if it > would be a real USB device;) > > > > > Anyway, it does not talk usbredir and it's not in userspace, so my > > work isn't totally pointless. If you can point me to a translator > > of usbredir to usbip or something equivalent, I can take the next > > week off ;-) > > I'm not sure if you need this translator. As vUDC is a device controller > you may use vusbf to generate traffic, pass it to kernel via functionfs > and then vUDC can forward it to you remote host over the network. So why > would you like to do any translation? The > use vusbf to generate traffic, pass it to kernel via functionfs part is what I'm coding. vUSBf talks usbredir, VHCI and vUDC talk USBIP. Cheers, Fabian > > Cheers, > -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html