Opened 12 years ago

Closed 12 years ago

Last modified 12 years ago

#1220 closed bug (duplicate)

USB webcam device not published by usb_raw

Reported by: mmu_man Owned by: mmlr
Priority: normal Milestone: R1
Component: Drivers/USB Version: R1/pre-alpha1
Keywords: Cc: siarzhuk
Blocked By: Blocking:
Has a Patch: no Platform: All

Description

My webcam doesn't get published by usb_raw in Haiku. It seems the stack doesn't like it:

KERN: usb_ehci: pipe change 0 for pipe 0x90b20480
KERN: usb_ehci: pipe change 0 for pipe 0x90b20500
KERN: usb_uhci: no devices found
...
KERN: USB BusManager: error while setting device address

...
KERN: USB Hub 1: port 2 disabled
KERN: Last message repeated 3 times.
KERN: USB BusManager: error while setting device address
KERN: USB Hub 1: port 2 enabled
KERN: Last message repeated 2 times.
KERN: USB BusManager: error while setting device address
KERN: USB Hub 1: port 2 enabled
KERN: Last message repeated 2 times.

Tried to enable DEBUG on usb but it doesn't seem to print much more...

Attachments (1)

haiku.syslog.ehci.usbwebcam.txt (129.5 KB) - added by mmu_man 12 years ago.
syslog for usb webcam plugged in with ehci

Download all attachments as: .zip

Change History (7)

comment:1 Changed 12 years ago by mmlr

Status: newassigned

Now this is pretty severe as the addressing is the very first step in handling a device. It is done even before getting a device descriptor or anything. It's possible that the device times out somehow then you could try playing around with the delay defines in "src/add-ons/kernel/bus_managers/usb/usbspec_p.h". They are generally larger than those specified in the USB specs, maybe some of them are too long for the device at hand.

Could you please also get and post some infos about the device to see if it has some known specifics.

comment:2 Changed 12 years ago by mmu_man

cheapo "Sonix" webcam:

[Device]
Location ............... [/dev/bus/usb] /2/2
Class .................. 0
Subclass ............... 0
Protocol ............... 0
Vendor ID .............. 0x0c45
Product ID ............. 0x6005
Version ................ 0x0101
Manufacturer String .... ""
Product String ......... ""
Serial Number .......... ""
  [Configuration 0]
    [Interface 0]
    Class .............. 255
    Subclass ........... 255
    Protocol ........... 255
      [Endpoint 0]
      MaxPacketSize .... 0
      Interval ......... 1
      Type ............. Isochronous
      Direction ........ Input
      [Endpoint 1]
      MaxPacketSize .... 64
      Interval ......... 0
      Type ............. Bulk
      Direction ........ Input
      [Endpoint 2]
      MaxPacketSize .... 1
      Interval ......... 100
      Type ............. Interrupt
      Direction ........ Input

comment:3 Changed 12 years ago by siarzhuk

Cc: siarzhuk added

Changed 12 years ago by mmu_man

syslog for usb webcam plugged in with ehci

comment:4 Changed 12 years ago by mmu_man

I removed ohci, fixed ehci to not give up port ownership for slow devices, it seems to go further, but still gives an error. See attached syslog.

comment:5 Changed 12 years ago by mmlr

Resolution: duplicate
Status: assignedclosed

Now I see it: this is a USB 1.1 device and you are stuck with OHCI. Sorry, but there is no other "fix" than to implement OHCI in this case. It is not possible for EHCI to communicate with these devices. If you simply force keeping the ownership you at most risk damaging the device, but you will certainly not get it working. EHCI uses a different protocol which is incompatible with the one of older devices. I will close this bug as a duplicate, as bug #1044 already covers this.

comment:6 Changed 12 years ago by mmu_man

Ok is that part of SoC at least or do I have to do it ? :D

Note: See TracTickets for help on using tickets.