usbfs reopen yields unusable device.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I'm using usbfs to support braille devices. I'm experiencing a problem with one 
such device that I've never encountered before. When the device is opened for 
the first time (after connecting the USB cable), it works fine. All operations 
succeed as expected. When the device is closed and reopened, however, it no 
longer responds (for example, to "get descriptor" requests), i.e. the ioctl()s 
yield timeouts. Disconnecting/reconnecting the USB cable restores normal 
operation, but only for one open.

I know this problem has nothing to do with faulty support of autosuspend 
because I've made sure that feature was disabled via writing "on" to 
"power/level" and by writing "-1" to "power/autosuspend".

One unusual thing I'm noticing is that the "release interface" which is done 
just before the close of the device takes about five seconds to complete. From 
strace:

   08:59:17.106788 ioctl(10, USBDEVFS_RELEASEINTERFACE, 0xbfe8a58c) = 0 <5.001493>
   08:59:22.108524 close(10)               = 0 <0.000032>

The vendor assures me that reopening (without disconnect/reconect) the device 
does work on Windows.

Can any of you think of any possibilities that I should check?

Is there any way I can get the kernel to log all of the low-level USB 
operations involving the device?

-- 
Dave Mielke           | 2213 Fox Crescent | The Bible is the very Word of God.
Phone: 1-613-726-0014 | Ottawa, Ontario   | 2011 May 21 is the Day of Judgement.
EMail: dave@xxxxxxxxx | Canada  K2A 1H7   | 2011 Oct 21 is the End of the World.
http://FamilyRadio.com/                   | http://Mielke.cc/bible/
--
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

[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux