Re: Compiling Issue on Sun

From: Christopher Intemann (me_at_privacy.net)
Date: 12/10/03


Date: Wed, 10 Dec 2003 18:21:31 +0000 (UTC)

Hi,
Juergen Keil <jk@tools.de> wrote:
> Christopher Intemann <me@privacy.net> writes:

>> This is from the messages file, when I try to reattach the camera:
>> Dec 9 21:48:42 vrlab21 genunix: [ID 408114 kern.info] /pci@8,700000/usb@5,3/device@2/sound-control@1 (usb_ac1) offline
>> Dec 9 21:48:42 vrlab21 genunix: [ID 408114 kern.info] /pci@8,700000/usb@5,3/device@2/sound@2 (usb_as1) offline
>> Dec 9 21:48:42 vrlab21 genunix: [ID 408114 kern.info] /pci@8,700000/usb@5,3/device@2 (usb_mid1) offline
>> Dec 9 21:48:44 vrlab21 usba: [ID 668111 kern.warning] WARNING: usba: no driver found for device /pci@8,700000/usb@5,3/device@1/data
>> Dec 9 21:48:44 vrlab21 usba: [ID 855233 kern.info] USB-device: device@1, usb_mid0 at bus address 4
>> Dec 9 21:48:44 vrlab21 genunix: [ID 936769 kern.info] usb_mid0 is /pci@8,700000/usb@5,3/device@1
>> Dec 9 21:48:44 vrlab21 genunix: [ID 408114 kern.info] /pci@8,700000/usb@5,3/device@1 (usb_mid0) online
>> Dec 9 21:48:44 vrlab21 usba: [ID 855233 kern.info] USB-device: sound-control@1, usb_ac0 at bus address 4
>> Dec 9 21:48:44 vrlab21 genunix: [ID 936769 kern.info] usb_ac0 is /pci@8,700000/usb@5,3/device@1/sound-control@1
>> Dec 9 21:48:45 vrlab21 genunix: [ID 408114 kern.info] /pci@8,700000/usb@5,3/device@1/sound-control@1 (usb_ac0) online
>> Dec 9 21:48:45 vrlab21 usba: [ID 855233 kern.info] USB-device: sound@2, usb_as0 at bus address 4
>> Dec 9 21:48:45 vrlab21 genunix: [ID 936769 kern.info] usb_as0 is /pci@8,700000/usb@5,3/device@1/sound@2
>> Dec 9 21:48:46 vrlab21 genunix: [ID 408114 kern.info] /pci@8,700000/usb@5,3/device@1/sound@2 (usb_as0) online
>> Dec 9 21:48:46 vrlab21 audiosup: [ID 559317 kern.notice] NOTICE: usb_ac0:attach_check() bad channels list
>> Dec 9 21:48:46 vrlab21 usba: [ID 593373 kern.info] /pci@8,700000/usb@5,3/device@1/sound-control@1 (usb_ac0): am_attach failed
>> Dec 9 21:48:46 vrlab21 usba: [ID 464422 kern.warning] WARNING: /pci@8,700000/usb@5,3/device@1/sound-control@1 (usb_ac0): failure to plumb audio streams drivers
>>
>> Something is seriously going wrong here:-(

> Yes.

> These messages indicate a standard "usb audio" device is found when
> you hotplug the camera. The "qcam" driver is intended for a "Logitech
> QuickCam Express" camera, but this camera is unable to record audio!
> So I guess you must be using "unsupported" hardware.

Mhh, yes maybe.
I have a logitech USB Webcam here.
I found it in a desk at work, without a box, and there is no name on it.
It looks similar to the webcams on the logitech HP but I cannot find it there.
Anyway, it seems to have a micro:-)

> The video data might be comming from the device
> "/pci@8,700000/usb@5,3/device@1/data", because the kernel doesn't find
> a usable driver for this device ("WARNING: usba: no driver found for
> device ...")
ok, I see.

> Apparently the audio part of the camera is handled with the standard
> usb audio driver included with Solaris. But the Solaris usb audio
> driver has problems with the device ("attach_check() bad channels
> list"), and fails to attach to the device. So the audio part probably
> doesn't work, either. You might be able to solve this part of the
> problem by applying the latest Solaris USB driver patch.
I will try this to get at least the audiopart running.

> If you hotplut a "Logitech QuickCam Express" camera, the device tree
> will look like this:

> % prtconf -D
> ...
> pci1033,35, instance #1 (driver name: usba10_ohci)
> device, instance #2 (driver name: qcam)
> ...

> The first line is the PCI USB host controller device (usb 1.x OHCI in
> this case), the second line is the usb video device for the logitech
> quickcam express camera. (one or more "hub" devices may appear
> between the USB host controller and the Quickcam device, if you attach
> the camera via USB hubs to the machine)

> A closer look at the USB device properties with the "prtconf -Dv"
> command reveals the USB device identification, which is used by the
> kernel to find drivers:

> % prtconf -Dv
> ...
> pci1033,35, instance #1 (driver name: usba10_ohci)
> System software properties:
> name='ddi-forceattach' type=int items=1
> value=00000001
> Driver properties:
> name='pm-want-child-notification?' type=boolean dev=none
> Hardware properties:
> name='root-hub' type=boolean
> Interrupt Specifications:
> Interrupt Priority=0x1 (ipl 1), vector=0x9 (9)
> device, instance #2 (driver name: qcam)
> System software properties:
> name='usba10' type=int items=1
> value=00000000
> Hardware properties:
> name='configuration#' type=int items=1
> value=00000001
> name='usb-product-name' type=string items=1
> value='Camera'
> name='usb-num-configs' type=int items=1
> value=00000001
> name='usb-revision-id' type=int items=1
> value=00000100
> name='usb-product-id' type=int items=1
> value=00000840
> name='usb-vendor-id' type=int items=1
> value=0000046d
> -------> name='compatible' type=string items=9
> value='usb46d,840.100' + 'usb46d,840' +
> 'usb46d,classff.ff.ff' + 'usb46d.classff.ff' + 'usb46d.classff' +
> 'usb,classff.ff.ff' + 'usb,classff.ff' + 'usb,classff' +
> 'usb,device'
> name='reg' type=int items=1
> value=00000002
> name='assigned-address' type=int items=1
> value=00000002
> ...

> The important information is the "compatible" property value, which is
> used to find a usable device driver. The "compatible" property is
> constructed from the 'usb-vendor-id', 'usb-product-i' and
> 'usb-revision-id' property.

this is what prtconf says about my usb devices:

        usb, instance #0 (driver name: ohci)
            Driver properties:
                name <pm-want-child-notification?> length <0> -- <no value>.
            Hardware properties:
                name <root-hub> length <0> -- <no value>.
            keyboard, instance #2 (driver name: hid)
                Driver properties:
                    name <pm-components> length <47>
                        value 'NAME= hid2 Power' + '0=USB D3 State' + '3=USB D0 State'
                Hardware properties:
                    name <low-speed> length <0> -- <no value>.
                    name <assigned-address> length <4>
                        value <0x00000002>.
            mouse, instance #3 (driver name: hid)
                Driver properties:
                    name <pm-components> length <47>
                        value 'NAME= hid3 Power' + '0=USB D3 State' + '3=USB D0 State'
                Hardware properties:
                    name <low-speed> length <0> -- <no value>.
                    name <assigned-address> length <4>
                        value <0x00000003>.
            device, instance #0 (driver name: usb_mid)
                Driver properties:
                    name <pm-components> length <51>
                        value 'NAME= usb_mid0 Power' + '0=USB D3 State' + '3=USB D0 State'
                    name <pm-want-child-notification?> length <0> -- <no value>.
                Hardware properties:
                    name <self-probing> length <0> -- <no value>.
                    name <configuration#> length <4>
                        value <0x00000001>.
                    name <compatible> length <35>
                        value 'usb46d,8b0.0' + 'usb46d,8b0' + 'usb,device'
                    name <reg> length <4>
                        value <0x00000001>.
                    name <assigned-address> length <4>
                        value <0x00000004>.
                data
                    Hardware properties:
                        name <interface> length <4>
                            value <0x00000000>.
                        name <compatible> length <151>
                            value 'usbif46d,8b0.0.config1.0' + 'usbif46d,8b0.config1.0' + 'usbif46d,classa.ff.0' + 'usbif46d,classa.ff' + 'usbif46d,classa' + 'usbif,classa.ff.0' + 'usbif,classa.ff' + 'usbif,classa'
                       name <reg> length <8>
                            value <0x0000000000000001>.
                        name <assigned-address> length <4>
                            value <0x00000004>.
                sound-control, instance #0 (driver name: usb_ac)
                    System software properties:
                        name <mixer-enabled> length <4>
                            value <0x00000001>.
                    Driver properties:
                        name <pm-components> length <50>
                            value 'NAME= usb_ac0 Power' + '0=USB D3 State' + '3=USB D0 State'
                    Hardware properties:
                        name <interface> length <4>
                            value <0x00000001>.
                        name <compatible> length <147>
                            value 'usbif46d,8b0.0.config1.1' + 'usbif46d,8b0.config1.1' + 'usbif46d,class1.1.0' + 'usbif46d,class1.1' + 'usbif46d,class1' + 'usbif,class1.1.0' + 'usbif,class1.1' + 'usbif,class1'
                        name <reg> length <8>
                            value <0x0000000100000001>.
                        name <assigned-address> length <4>
                            value <0x00000004>.
                sound, instance #0 (driver name: usb_as)
                    Driver properties:
                        name <pm-components> length <50>
                            value 'NAME= usb_as0 Power' + '0=USB D3 State' + '3=USB D0 State'
                    Hardware properties:
                        name <interface> length <4>
                            value <0x00000002>.
                        name <compatible> length <147>
                            value 'usbif46d,8b0.0.config1.2' + 'usbif46d,8b0.config1.2' + 'usbif46d,class1.2.0' + 'usbif46d,class1.2' + 'usbif46d,class1' + 'usbif,class1.2.0' + 'usbif,class1.2' + 'usbif,class1'
                        name <reg> length <8>
                            value <0x0000000200000001>.
                        name <assigned-address> length <4>
                            value <0x00000004>.

> The "qcam" driver supports the following two USB device:

> % grep qcam /etc/driver_aliases
> /etc/driver_aliases:qcam "usb46d,870"
> /etc/driver_aliases:qcam "usb46d,840"

> With the above hardware, the second driver_aliases entry was used to
> bind a device driver to the hardware.

In my case it is something like "usb46d,8b0", if I got the output right.
So if I'd edit /etc/driver_aliases and I'd add

/etc/driver_aliases:qcam "usb46d,8b0"

the qcam module would try to attatch to my webcam?
Maybe its worth a try...
Thanks,
 Christopher

-- 
Christopher Intemann		
	mail:inte@goe.net             		 .~.	
        phone/fax:0700/I-N-T-E-M-A-N-N     	 /v\
        Iridium:+881631417758                   // \\			
                                               /( _ )\
PGP-Public-Key:                        	        ^^ ^^ 
	 http://www.math.uni-goettingen.de/intemann/pgp 
		


Relevant Pages