All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Steinar H. Gunderson" <sgunderson@bigfoot.com>
To: linux-kernel@vger.kernel.org
Subject: USB low-speed bulk transfers
Date: Wed, 6 Jun 2007 23:20:46 +0200	[thread overview]
Message-ID: <20070606212046.GA16162@uio.no> (raw)

[Please Cc on reply]

Hi,

I recently bought an USB MIDI interface from ESI (called “ESI MIDI Mate”). It
claims to work with Linux, but doesn't -- I've already asked the manufacturer
for an explanation, but as I was impatient, I hacked a bit on the drivers to
actually make it work...

The /proc/bus/usb/devices entry looks like this:

  T:  Bus=04 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#=  4 Spd=1.5 MxCh= 0
  D:  Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs=  1
  P:  Vendor=0a92 ProdID=1001 Rev= 1.04
  S:  Manufacturer=ESI
  S:  Product=ESI MIDI Mate
  C:* #Ifs= 2 Cfg#= 1 Atr=80 MxPwr= 20mA
  I:* If#= 0 Alt= 0 #EPs= 0 Cls=01(audio) Sub=01 Prot=00 Driver=snd-usb-audio
  I:* If#= 1 Alt= 0 #EPs= 2 Cls=01(audio) Sub=03 Prot=00 Driver=snd-usb-audio
  E:  Ad=81(I) Atr=02(Bulk) MxPS=   4 Ivl=0ms
  E:  Ad=01(O) Atr=02(Bulk) MxPS=   4 Ivl=0ms

There are two points worth noting here:

 - The device is USB low speed. snd-usb-audio simply checks for full/high
   speed, and refuses any device that isn't. I can hack around this,
   inverting a few checks etc., and it seems to work reasonably well
   (probably since the device has no PCM parts).
 - Both endpoint descriptors are bulk. The HCD driver plain refuses bulk
   transfers for low-speed; it looks like they are disallowed in the USB
   standard somehow. If I comment out the check, the driver works
   (perfectly!), but I guess this isn't acceptable for upstream?

Could the check for low-speed bulk transfers be replaced by a kernel warning
somehow? I can't see any big harm by allowing them, and obviously, Windows XP
and Mac OS X does so.

I can supply a patch for the snd-usb-audio specific parts if desired, but I
can't guarantee it's the correct fix for cards that support PCM. Not that I
know of any PCM-capable low-speed USB sound cards out there...

/* Steinar */
-- 
Homepage: http://www.sesse.net/

             reply	other threads:[~2007-06-06 21:45 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-06-06 21:20 Steinar H. Gunderson [this message]
2007-06-07  0:52 ` USB low-speed bulk transfers Andrew Morton

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20070606212046.GA16162@uio.no \
    --to=sgunderson@bigfoot.com \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.