Current problem reports assigned to freebsd-usb@FreeBSD.org

2008-06-09 Thread FreeBSD bugmaster
Current FreeBSD problem reports
Critical problems

S Tracker  Resp.  Description

f usb/84750usb[hang] 6-BETA2 reboot/shutdown with root_fs on externa
o usb/91629usbusbd_abort_pipe() may result in infinite loop

2 problems total.

Serious problems

S Tracker  Resp.  Description

o i386/46371   usbUSB controller cannot be initialized on IBM Netfinity 
o bin/57255usbusbd(8) and multi-function devices
o usb/63621usb[umass] [panic] USB MemoryStick Reader stalls/crashes 
o usb/69006usb[usbdevs] [patch] Apple Cinema Display hangs USB ports
o usb/71155usb[ulpt] misbehaving usb-printer hangs processes, causes
o usb/73307usb[panic] Kernel panics on USB disconnect
o usb/74771usb[umass] [hang] mounting write-protected umass device a
o usb/75705usb[umass] [panic] da0 attach / Optio S4 (with backtrace)
o usb/75797usb[sound] 5.3-STABLE(2005 1/4) detect USB headset, But c
o usb/76395usb[uhci] USB printer does not work, usbdevs says addr 0
o usb/77184usb[umass] [panic] kernel panic on USB device disconnect,
o usb/77294usb[ucom] [panic] ucom + ulpcom panic
o usb/79269usb[ohci] USB ohci da0 plug/unplug causes crashes and loc
o usb/79287usb[uhci] [hang] UHCI hang after interrupt transfer
o usb/79524usb[ulpt] printing to Minolta PagePro 1[23]xxW via USB fa
a usb/79656usb[ehci] RHSC interrupts lost
o usb/79722usb[ehci] wrong alignments in ehci.h
o usb/80040usb[hang] Use of sound mixer causes system freeze with ua
o usb/80361usb[umass] [patch] mounting of Dell usb-stick fails
o usb/80829usb[modules] [panic] possible panic when loading USB-modu
o usb/80862usb[patch] USB locking issues: missing some Giant calls
o usb/82350usb[ucom] [panic] null pointer dereference in USB stack
o usb/82520usb[udbp] [reboot] Reboot when USL101 connected
s usb/82569usb[umass] [panic] USB mass storage plug/unplug causes sy
o usb/82660usb[ehci] [panic] EHCI: I/O stuck in state 'physrd'/panic
o usb/83504usb[kernel] [patch] SpeedTouch USB stop working on recent
o usb/83563usb[umass] [panic] Page Fault while detaching Mpman Usb d
o usb/83677usb[usb] [request] usb controller often not detected (Sun
o usb/83756usb[ums] [patch] Microsoft Intellimouse Explorer 4.0A doe
o usb/83977usb[ucom] [panic] ucom1: open bulk out error (addr 2): IN
o usb/84326usb[umass] Panic trying to connect SCSI tape drive via US
s usb/84336usb[usb] [reboot] instant system reboot when unmounting a
o usb/86767usb[umass] [patch] bogus slice starts beyond end of the 
o usb/88743usb[hang] [regression] USB makes kernel hang at boot (reg
s usb/89003usb[request] LaCie Firewire drive not properly supported 
o usb/89954usb[umass] [panic] USB Disk driver race condition?
o usb/90700usb[umass] [panic] Kernel panic on connect/mount/use umas
o usb/91238usb[umass] USB tape unit fails to write a second tape fil
o usb/91283usb[boot] [regression] booting very slow with usb devices
o usb/91538usb[ulpt] [patch] Unable to print to EPSON CX3500
o usb/91906usb[ehci] [hang] FreeBSD hangs while booting with USB leg
o usb/92052usb[ulpt] usbd causes defunct process with busy file-hand
o usb/92083usb[ural] [panic] panic using WPA on ural NIC in 6.0-RELE
o usb/92142usb[uhub] SET_ADDR_FAILED and SHORT_XFER errors from usb 
o usb/92171usb[panic] panic unplugging Vodafone Mobile Connect (UMTS
o usb/93155usb[ulpt] /dev/ulpt0: device busy, USB printer does not w
o usb/93408usb[mouse] hw.acpi.cpu.cx_lowest=C3 on AMD Turion causes 
o usb/93828usb[ohci] [panic] ohci causes panic on boot (HP Pavillion
o usb/94384usb[panic] kernel panic with usb2 hardware
o usb/94717usb[ulpt] Reading from /dev/ulpt can break work of a UHCI
o usb/94897usb[panic] Kernel Panic when cleanly unmounting USB disk
s usb/95348usb[keyboard] USB keyboard unplug causes noise on screen
o usb/95562usb[umass] Write Stress in USB Mass drive causes vinvalb
s usb/95636usb[umass] [boot] 5 minute delay at boot when using VT620
s usb/96120usb[ums] [request] USB mouse not always detected
o usb/96224usb[usb] [msdosfs] mount_msdosfs cause page fault in sync
o usb/96457usb[umass] [panic] fatback on umass = reboot
s usb/97286usb[mouse] [request] MS Wireless Intellimouse Explorer 2.
o 

Re: final usb question

2008-06-09 Thread Markus Brueffer
Am Sonntag, 8. Juni 2008 16:35:08 schrieb Chuck Robey:
 This replaces my last usb question, because (even though I think the answer
 to that one confirms the utter insanity of the people who wrote the USB-HID
 spec), I have absolute confirmation of the fact that I cannot, in
 situations where the report descriptor has multiple sections ID'd by
 multiple report IDs, force the USB peripheral to send me the report ID that
 makes the best sense, and I must be satisfied with whatever the device
 sends me.  That's ridiculous, but I wrote down the reference, just so I
 could look back at it and confirm to myself that I wasn't dreaming any of
 this.

 As a better illustration of that, my tablet has report IDs 7, 8, and 9. 
 ID# 7 is the only one that matches well, but the device manufacturer has
 set it up to respond ONLY with report ID# 9.  If I _could_ change that, I
 surely would, and I spent a LOT of time investigating until I absolutely
 found hard confirmation of the fact that I can't.  If you get lucky and
 have a mfr sending all of the report ID's, you then can toss out the ones
 you don't like, but if they only send one (as in my case), well, you're
 screwed.  What a stupid spec!

Just because you don't understand the reasoning behind this part of the spec, 
it doesn't make it ridiculous automatically, so please stop bashing the spec 
as it doesn't help in any way.

In your case the report IDs directly correspond to 3 different top level 
application collections:

ID 7: Digitizer Pen
ID 8: Mouse (relative coordinates)
ID 9: Mouse (absolute coordinates)

This way, each application collection can be handled by a generic driver 
instead of requireing a special driver for the whole device or interface. 
This isn't supported by our HID code, yet, but it will be (I'm working on 
that part).

If your tablet only uses report ID 9 regardless of what device (pen or mouse) 
you use on it, this is certainly the vendor's fault but not the fault of the 
HID spec.

 My question now regards parsing of the input data using FreeBSD-supplied
 functions (which seems to me to mean things in libusbhid).  Even though I
 can get hid_get_item and then hid_locate() to work for me, it's only by
 ignoring incorrect return values.  Past that, the final point would be to
 use hid_get_data() to select and scale the data (which I gather through a
 read() of a scanned-for device such as uhid0) EXCEPT that I cannot get
 anything but a integer zero to return to me.

As I told you before in private mail, see the source of usbhidctl(1) for  
examples on how to use libusbhid functions. hid_get_data() is being used 
there as well.

 Darn hid_get_data() just doesn't work.  I'm probably missing some code
 assumption that didn't get illustrated in the man page.  The only example I
 can get for it (the kernel code) is in dev/usb/ums.c, using the code in
 sys/dev/usb/hid.c, BUT the proto for this kernel code just looks _really_
 different than the proto for the libusbhid functions.  Headers and
 declarations are set up to make it really evil to try to use the kernel
 code in the user-mode code.  I'm possibly going to have to adapt the kernel
 code to see if it can be forced to run in usermode.

The kernel has its own HID functions which are mostly, but not entirely, the 
same than the counterparts in libusbhid.

 Does the libusbhid stuff work?  Is there any sort of example, anywhere? 
 Or, should I copy and adapt the kernel code?  I could do the 3rd item, but
 it also seems like a really bad way to go.

 What's the right path here?  Am I being stupid in missing the obvious?


 There's even one other question ... I'd heard some while back that someone
 else was preparing a separate implementation of the hid code.  Do you know
 of anything like that, anything I could maybe replace the libusbhid code
 with?

That would be me.

Markus


signature.asc
Description: This is a digitally signed message part.