Logitech iFeel working
Karl Andersson
karland at home.se
Sun Oct 23 13:54:45 PDT 2005
Hello
I have an USB Logitech iFeel mouse that haven't worked under freebsd for
sometime but now i actually got it working. I have an pretty old motherboard
type KT333 (athlon xp).
The common error message is:
device_probe_and_attach: ums0 attach returned 6
See also http://www.freebsd.org/cgi/query-pr.cgi?pr=40657
After enabling debuging and attaching the mouse i found that the USB stalls
after the driver tries to get the the language. The following patch "solves"
it. The mouse works perfectly after disabling that usb_get_string.
I know this isn't an good solution but maybee someone could point me
into what should
be done after the mouse stalls.
--- sys/dev/usb/usbdi.c.orig Sun Oct 16 23:37:47 2005
+++ sys/dev/usb/usbdi.c Tue Oct 18 22:13:43 2005
@@ -1207,8 +1207,10 @@
return (USBD_STALLED);
if (dev->langid == USBD_NOLANG) {
/* Set up default language */
- err = usbd_get_string_desc(dev, USB_LANGUAGE_TABLE, 0, &us,
- &size);
+ //err = usbd_get_string_desc(dev, USB_LANGUAGE_TABLE, 0,
&us,
+ // &size);
+ err = 1;
+ DPRINTFN(-1,("usbd_get_string: skipping get lang\n"));
if (err || size < 4) {
DPRINTFN(-1,("usbd_get_string: getting lang
failed, usin
g 0\n"));
dev->langid = 0; /* Well, just pick something
then */
When attatching the following happens. After the BABBLE/STALLED
everything times
out.
uhci_open: pipe=0xc45f6980, addr=0, endpt=0 (1)
uhci_device_control type=0x00, request=0x05, wValue=0x0002,
wIndex=0x0000 len=0,
addr=0, endpt=0
uhci_device_control type=0x80, request=0x06, wValue=0x0100,
wIndex=0x0000 len=8,
addr=2, endpt=0
uhci_device_control type=0x80, request=0x06, wValue=0x0100,
wIndex=0x0000 len=18
, addr=2, endpt=0
uhci_device_control type=0x80, request=0x06, wValue=0x0200,
wIndex=0x0000 len=9,
addr=2, endpt=0
uhci_device_control type=0x80, request=0x06, wValue=0x0200,
wIndex=0x0000 len=41
, addr=2, endpt=0
uhci_device_control type=0x00, request=0x09, wValue=0x0001,
wIndex=0x0000 len=0
, addr=2, endpt=0
uhci_device_control type=0x81, request=0x06, wValue=0x2200,
wIndex=0x0000 len=74
, addr=2, endpt=0
uhci_device_control type=0x81, request=0x06, wValue=0x2200,
wIndex=0x0000 len=74
, addr=2, endpt=0
uhci_device_control type=0x80, request=0x06, wValue=0x0300,
wIndex=0x0000 len=2,
addr=2, endpt=0
uhci_idone: error, addr=2, endpt=0x00, status 0x500000<BABBLE,STALLED>
usbd_get_string: getting lang failed, using 0
uhci_device_control type=0x80, request=0x06, wValue=0x0304,
wIndex=0x0000 len=2,
addr=2, endpt=0
uhci_timeout: uxfer=0xc463e700
uhci_timeout_task: xfer=0xc463e700
uhci_abort_xfer: xfer=0xc463e700, status=15
uhci_abort_xfer: stop ii=0xc463e770
uhci_check_intr: aborted xfer=0xc463e700
uhci_abort_xfer: callback
..
pciconv -l -v gives:
hostb0 at pci0:0:0: class=0x060000 card=0x00001106 chip=0x30991106
rev=0x00
hdr=0x00
vendor = 'VIA Technologies Inc'
device = 'VT8366/A,VT8367 Apollo KT266/A,KT333 CPU to PCI Bridge'
class = bridge
subclass = HOST-PCI
..
uhci0 at pci0:17:2: class=0x0c0300 card=0x12340925 chip=0x30381106
rev=0x23
hdr=0x00
vendor = 'VIA Technologies Inc'
device = 'VT82xxxxx UHCI USB 1.1 Controller (All VIA Chipsets)'
class = serial bus
subclass = USB
uhci1 at pci0:17:3: class=0x0c0300 card=0x12340925 chip=0x30381106
rev=0x23
hdr=0x00
vendor = 'VIA Technologies Inc'
device = 'VT82xxxxx UHCI USB 1.1 Controller (All VIA Chipsets)'
class = serial bus
subclass = USB
More information about the freebsd-usb
mailing list