GSoC 2010 - USB sniffer

The only other "gotcha" that springs to mind is that if you aren't
emulating the device then you'll need to stop linux's normal USB device
processing (i.e. device attached, wait for it to settle, scan it, load
drivers etc). There are a couple of options there, quick and dirty would
be to hack the existing kernel drivers for the EHCI controller. A better
option would be to add something into linux's generic USB code to say
ignore that piece of hardware and instead have it talk to this kernel
driver / userspace program.

Well, I think that preventing a driver from attaching to a device is feasible (I'm thinking about the bind/unbind things in the /sys filesystem). Preventing enumeration of the device may be trickier though.

And yes, the usb hub emulation, if feasible, looks like the most promising approach, I'll continue digging into that.

Thanks,

Best regards,

Nicolas

(P.S. I'll be offline until Monday)

I’ve been pondering this some more and I really like the idea of the OTG “gadget hub” having an option to “passthru” to a real physical USB port. This could then disconnect the hardware driver from the normal kernel processing and route it directly to the OTG virtual hub and then on to the OTG host. Will ponder some more on any potential hiccups (e.g. what if devices are already attached…?) but initially it seems relatively easy to do…

Hi everyone again,

I am currently writing my application for the GSoC, and one of the
questions is:

1. If your project is successfully completed, what will its impact be
on the BeagleBoard.org community? Give 3 answers, each 1-3 paragraphs
in length. The first one should be yours. The other two should be
answers received from feedback of members of the BeagleBoard.org
community, at least one of whom should be a BeagleBoard.org GSoC
mentor.

I feel that this project gathered some interest here (at least of the
technical part of it), but no answer really fits the question asked
above (i.e., the usefulness of it). So I was wondering if some of you
could tell me why do you think that this project is interesting, how
you would use it, and, its potential impact on the BeagleBoard.org
community.

For your reference, my own answer would be something around this line:
- First, I believe that this project would not only benefit the
BeagleBoard.org community, but the embedded Linux world as a whole.
The code I will develop should hopefully be portable to other pieces
of hardware, and could be used on other boards (as long as you have an
host and device USB port).
Also, hardware USB sniffer are very expensive, so having such a cheap
USB debugging solution would, for example, make debugging of
experimental USB stacks an easier task. Such a sniffer could be used
to help the development some other projects on the BeagleBoard GSoC
idea list, e.g., all the projects in the "Improve bootloader support"
which require adding any kind of USB support to bootloaders: you would
just need to have 2 BeagleBoards: one on which you develop the new USB
support, and the other one to sniff USB traffic.

Thanks a lot for your help,

Nicolas

Nicolas - did you get some feedback from the mentors off-line or in
the rssfeed?
thanks
Cathy

Cathy,

No I didn't get any feedback on that specific point (I got a lot of feedback on the "how", but not really on the "why" .-)).

What do you mean by "RSS feed"? The Google SoC application system? I filled the application there (only the 2 community feedbacks are missing)

Thank you,

Best regards,

Nicolas

I just realized what I think you mean by RSS feed (http://elinux.org/
BeagleBoard/GSoC/Ideas -- General requirements). I guess that
registering the project + creating a git repository + setting up an
RSS feed can wait until I start the project (if I'm accepted), right?

of course I have my TLA's confused - IRC was my reference.

did you get what you need to complete a strong application?

thanks
cathy

Cathy,

For the technical part, yes, the input from the community was very helpful.

Again, my only problem is that I do not have the 2 feedbacks I would need for this question:
> 1. If your project is successfully completed, what will its impact be
> on the BeagleBoard.org community? Give 3 answers, each 1-3 paragraphs
> in length. The first one should be yours. The other two should be
> answers received from feedback of members of the BeagleBoard.org
> community, at least one of whom should be a BeagleBoard.org GSoC
> mentor.

Regards,

Nicolas

Not really sure how I should give feedback, but if someone drops me a
note I'll happily provide some official feedback tonight.
Frans

Here’s my take, I see two audiences that would benefit from this project:

The first group are people interested in USB devices and development/troubleshooting of drivers (e.g. wireless USB sticks). The project would enable them to troubleshoot devices known to work with linux but problematic with the BeagleBoard. This would then benefit the wider BeagleBoard community through support for more USB devices.

The second group are people interested in designing and building custom USB devices. It would equally enable SMEs and individuals to develop USB devices without the usual significant financial costs.

Finally an opportunity exists to improve the linux USB-OTG gadget implementation that could provide benefits across the BeagleBoard community and the wider linux community through better connectivity to embedded devices and more imaginative solutions that can provide simultaneous and dynamic emulation of USB devices.

Cathy,

For the technical part, yes, the input from the community was very helpful.

Again, my only problem is that I do not have the 2 feedbacks I would need
for this question:

1. If your project is successfully completed, what will its impact be
on the BeagleBoard.org community? Give 3 answers, each 1-3 paragraphs
in length. The first one should be yours. The other two should be
answers received from feedback of members of the BeagleBoard.org
community, at least one of whom should be a BeagleBoard.org GSoC

As a mentor, I'm not sure how to approach this :slight_smile: I do know that at
least one application, the statement written by the student pretty
much covered everything I could think of, so I do not see any need to
help him expand it.

Philip

Perhaps for each of them we should make sure that you as mentors add
confirmation paragraphs to the students' comments then, or provide an
additional example or usability comment for the community. Answer the
question, if this project were completed what would someone build on
top of it or what would it enable eventually for another community
developer

thanks
cathy

Thank you for your feedback.

Regards,

Nicolas