Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1664938
| From | Alan Stern <stern@rowland.harvard.edu> |
|---|---|
| Newsgroups | linux.kernel |
| Subject | Re: gadgetfs: how to wait for USB device initialization? |
| Date | 2017-06-13 16:50 +0200 |
| Message-ID | <tRViO-Jw-19@gated-at.bofh.it> (permalink) |
| References | <tRT7k-7UN-27@gated-at.bofh.it> |
| Organization | linux.* mail to news gateway |
On Tue, 13 Jun 2017, Andrey Konovalov wrote:
> Hi!
>
> I'm trying to use gadgetfs to fuzz USB device drivers by simply
> connecting random devices for now.
>
> What I want to achieve right now is the following:
>
> 1. mount gadgetfs
> 2. emulate connection of a new USB device
> 3. wait for the device to finish initializing
> 4. unmount gadgetfs
> 5. goto 1
>
> The question is how do I wait for the device to finish initializing
> (the corresponding USB driver to finish probing?) before unmounting
> gadgetfs? As I understand, when I write device description to
> "/dev/gadget/dummy_udc" the initialization happens asynchronously
> after writing is done.
The most generic approach is to monitor the system log and wait for the
appropriate messages to show up. If you know a little more about the
device (such as which driver it will bind to), you might be able to use
a udev library to do the monitoring.
Or since the gadget driver in this case is part of your program, you
could wait until your program sees all the USB requests that get sent
during the initialization and probing procedures.
For a really simple approach, just wait a fixed amount of time, like 10
seconds. Unless the system is highly loaded or probing takes a lot
longer than usual, that should be enough.
Alan Stern
> To mount and unmount gadgetfs right now I do:
> mount("none", "/dev/gadget", "gadgetfs", 0, NULL)
> umount2("/dev/gadget", MNT_FORCE | MNT_DETACH)
>
> Thanks!
Back to linux.kernel | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
gadgetfs: how to wait for USB device initialization? Andrey Konovalov <andreyknvl@google.com> - 2017-06-13 14:30 +0200
Re: gadgetfs: how to wait for USB device initialization? Alan Stern <stern@rowland.harvard.edu> - 2017-06-13 16:50 +0200
Re: gadgetfs: how to wait for USB device initialization? Tal Shorer <tal.shorer@gmail.com> - 2017-06-13 18:10 +0200
Re: gadgetfs: how to wait for USB device initialization? Tal Shorer <tal.shorer@gmail.com> - 2017-06-13 18:30 +0200
Re: gadgetfs: how to wait for USB device initialization? Andrey Konovalov <andreyknvl@google.com> - 2017-06-13 20:10 +0200
csiph-web