On 12/12/2016 09:12 PM, Fabian Vogt wrote: > 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. > Ohhhh I see now. Sorry I misunderstood this;) Sorry I don't know any translator like this. Best regards, -- Krzysztof Opasiak Samsung R&D Institute Poland Samsung Electronics -- 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