OpenBSD Journal

USB devices wanted

Contributed by maxime on from the usual-suspects-bus dept.

Jacob Meuser (jakemsr@) recently asked for more USB gear on the want.html page. Jacob's been working on (USB) audio equipment for some time and is now expanding his work into the USB stack. He's already done some great work there (see for example here, here and here) but lacks some devices for testing. Please send him some USB gear, note that he specifically asks for network devices. Please read on for Jacob's message :
From: Jacob Meuser 
To: source-changes@cvs.openbsd.org
Subject: CVS: cvs.openbsd.org: www
Date: Wed, 3 Nov 2010 18:20:49 -0600 (MDT)

CVSROOT:	/cvs
Module name:	www
Changes by:	jakemsr@cvs.openbsd.org	2010/11/03 18:20:49

Modified files:
	.              : want.html 

Log message:
I have enough usb audio devices, other devices would be useful though.
Jacob gives us some extra information about what kind of hardware he would like to hack on, and what kind of new features the users will get if they send it to him:
At this point, I'm just trying to fix the bugs.  Our USB stack is buggy.
It's not documented, and different drivers handle similar situations quite
differently.  It's rather easy to crash a system by inserting and removing
a device at just the right time.  IMO, that's embarrassing for an OS that
takes pride in stability and doing things "the right way".

What I'm working on now is cleaning up and making more consistent what
happens in USB drivers when they are attached/detached from the kernel.
Since USB devices can be removed at any time, they may be removed while
the device is in use, which can easily lead to a crash or hang if the
driver tries to access the already removed hardware.  There is
surprisingly little protection against this in the current USB stack.

My plan for this release cycle is to make it possible to add and remove
any USB device at any time without hanging or crashing the system, and
to start documenting the functions in the USB stack.

Most of the USB devices I have are uaudio(4) and uvideo(4).  I also
have one umass(4), a few rum(4), some uhub(4), and USB mice and keyboards.
While these devices use most of the features of the USB stack and allow
me to test changes in a few cases, changes to the USB stack itself
affect *all* USB devices.  This is why I am asking for more USB devices.

USB network devices are particularly useful because they often use
timeout(9)s and the USB task thread.  These allow the device to be used
asynchronously.  In other words, a task may be scheduled for later, but
before the task is started or completed, the device can be removed, which
can lead to problems.

Of course, I am learning more about the USB stack in general while working
on the attach/detach issues.  Certainly there are other issues lurking,
such as the crash on usb_allocmem() which has been reported recently
on misc@ ... and of course we'll need support for USB 3.0 at some point.
So, if you want to give some love to the USB support in OpenBSD, just contact Jacob and send him some new toys to hack on!

(Comments are closed)


Comments
  1. By sneaker (sneaker) sneaker@noahpugsley.net on

    I've got a Novatel U8xx gsm/edge/umts device. As soon as I find it it's on the way.

    Comments
    1. By Jeff Quast (dingo) on

      > I've got a Novatel U8xx gsm/edge/umts device. As soon as I find it it's on the way.

      I've got a Novatel U720 on his way also

  2. By Motley Fool (MotleyFool) motleyfool@dieselrepower.org on

    Last week I sent an e-mail to the developer regarding a USB device I had to offer, but have not heard back.

    Comments
    1. By Jacob Meuser (jakemsr) on

      > Last week I sent an e-mail to the developer regarding a USB device I had to offer, but have not heard back.

      oops, sorry. last couple weeks have been hectic. going through email now to make sure I've replied to everyone.

      Comments
      1. By Motley Fool (MotleyFool) on

        > oops, sorry. last couple weeks have been hectic. going through email now to make sure I've replied to everyone.
        >
        Glad to hear you got the USB device I sent, hopefully you received devices from other people.

Credits

Copyright © - Daniel Hartmeier. All rights reserved. Articles and comments are copyright their respective authors, submission implies license to publish on this web site. Contents of the archive prior to as well as images and HTML templates were copied from the fabulous original deadly.org with Jose's and Jim's kind permission. This journal runs as CGI with httpd(8) on OpenBSD, the source code is BSD licensed. undeadly \Un*dead"ly\, a. Not subject to death; immortal. [Obs.]