Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 24 Jul 2007 14:32:42 +0100
From:      Rui Paulo <rpaulo@fnop.net>
To:        Hans Petter Selasky <hselasky@c2i.net>
Cc:        Perforce Change Reviews <perforce@freebsd.org>
Subject:   Re: PERFORCE change 123399 for review
Message-ID:  <46A5FF7A.1090803@fnop.net>
In-Reply-To: <200707131604.22648.hselasky@c2i.net>
References:  <200707121918.l6CJIFkI094946@repoman.freebsd.org> <200707130713.14525.hselasky@c2i.net> <4697815C.2080103@fnop.net> <200707131604.22648.hselasky@c2i.net>

next in thread | previous in thread | raw e-mail | index | archive | help
This is a multi-part message in MIME format.
--------------040908040603050309080809
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit

Hans Petter Selasky wrote:
> Remove all USB device drivers from your kernel config file, except "device 
> ugen". All your USB devices should show up like "ugenX" devices. Then 
> install "/usr/ports/sysutils/udesc_dump" and run this command on 
> all /dev/ugenX instances. Redirect the contents to a set of files and upload 
> them somewhere. I want to have a look at the descriptors. Maybe there is a 
> USB descriptor that you can detect, that makes a keyboard an Apple keyboard. 
> That will be more generic than adding these quirks!

The output of udesc_dump is attached. ugen3 is what you really wanted to
take a look.

Thanks.
-- 
Rui Paulo

--------------040908040603050309080809
Content-Type: text/plain;
 name="udescdump"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
 filename="udescdump"

/dev/ugen0 (iSight):
Standard Device Descriptor:
  bLength            18
  bDescriptorType    01
  bcdUSB             0200
  bDeviceClass       ff
  bDeviceSubClass    ff
  bDeviceProtocol    ff
  bMaxPacketSize     64
  idVendor           05ac
  idProduct          8300
  bcdDevice          000c
  iManufacturer      0
  iProduct           0
  iSerialNumber      0
  bNumConfigurations 1

Configuration 0:
	Standard Configuration Descriptor:
	  bLength             9
	  bDescriptorType     02
	  wTotalLength        171
	  bNumInterface       1
	  bConfigurationValue 1
	  iConfiguration      0
	  bmAttributes        80
	  bMaxPower           50 (100 mA)

	Standard Interface Descriptor:
	  bLength            9
	  bDescriptorType    04
	  bInterfaceNumber   0
	  bAlternateSetting  0
	  bNumEndpoints      0
	  bInterfaceClass    ff
	  bInterfaceSubClass ff
	  bInterfaceProtocol ff
	  iInterface         0

	Standard Interface Descriptor:
	  bLength            9
	  bDescriptorType    04
	  bInterfaceNumber   0
	  bAlternateSetting  1
	  bNumEndpoints      6
	  bInterfaceClass    ff
	  bInterfaceSubClass ff
	  bInterfaceProtocol ff
	  iInterface         0

	Standard Endpoint Descriptor:
	  bLength          7
	  bDescriptorType  05
	  bEndpointAddress 01 (out)
	  bmAttributes     02 (Bulk)
	  wMaxPacketSize   512
	  bInterval        0

	Standard Endpoint Descriptor:
	  bLength          7
	  bDescriptorType  05
	  bEndpointAddress 81 (in)
	  bmAttributes     02 (Bulk)
	  wMaxPacketSize   512
	  bInterval        0

	Standard Endpoint Descriptor:
	  bLength          7
	  bDescriptorType  05
	  bEndpointAddress 02 (out)
	  bmAttributes     02 (Bulk)
	  wMaxPacketSize   512
	  bInterval        0

	Standard Endpoint Descriptor:
	  bLength          7
	  bDescriptorType  05
	  bEndpointAddress 04 (out)
	  bmAttributes     02 (Bulk)
	  wMaxPacketSize   512
	  bInterval        0

	Standard Endpoint Descriptor:
	  bLength          7
	  bDescriptorType  05
	  bEndpointAddress 86 (in)
	  bmAttributes     02 (Bulk)
	  wMaxPacketSize   512
	  bInterval        0

	Standard Endpoint Descriptor:
	  bLength          7
	  bDescriptorType  05
	  bEndpointAddress 88 (in)
	  bmAttributes     02 (Bulk)
	  wMaxPacketSize   512
	  bInterval        0

	Standard Interface Descriptor:
	  bLength            9
	  bDescriptorType    04
	  bInterfaceNumber   0
	  bAlternateSetting  2
	  bNumEndpoints      6
	  bInterfaceClass    ff
	  bInterfaceSubClass ff
	  bInterfaceProtocol ff
	  iInterface         0

	Standard Endpoint Descriptor:
	  bLength          7
	  bDescriptorType  05
	  bEndpointAddress 01 (out)
	  bmAttributes     03 (Interrupt)
	  wMaxPacketSize   64
	  bInterval        1

	Standard Endpoint Descriptor:
	  bLength          7
	  bDescriptorType  05
	  bEndpointAddress 81 (in)
	  bmAttributes     03 (Interrupt)
	  wMaxPacketSize   64
	  bInterval        1

	Standard Endpoint Descriptor:
	  bLength          7
	  bDescriptorType  05
	  bEndpointAddress 02 (out)
	  bmAttributes     03 (Interrupt)
	  wMaxPacketSize   512
	  bInterval        1

	Standard Endpoint Descriptor:
	  bLength          7
	  bDescriptorType  05
	  bEndpointAddress 04 (out)
	  bmAttributes     02 (Bulk)
	  wMaxPacketSize   512
	  bInterval        0

	Standard Endpoint Descriptor:
	  bLength          7
	  bDescriptorType  05
	  bEndpointAddress 86 (in)
	  bmAttributes     03 (Interrupt)
	  wMaxPacketSize   512
	  bInterval        1

	Standard Endpoint Descriptor:
	  bLength          7
	  bDescriptorType  05
	  bEndpointAddress 88 (in)
	  bmAttributes     02 (Bulk)
	  wMaxPacketSize   512
	  bInterval        0

	Standard Interface Descriptor:
	  bLength            9
	  bDescriptorType    04
	  bInterfaceNumber   0
	  bAlternateSetting  3
	  bNumEndpoints      6
	  bInterfaceClass    ff
	  bInterfaceSubClass ff
	  bInterfaceProtocol ff
	  iInterface         0

	Standard Endpoint Descriptor:
	  bLength          7
	  bDescriptorType  05
	  bEndpointAddress 01 (out)
	  bmAttributes     03 (Interrupt)
	  wMaxPacketSize   64
	  bInterval        1

	Standard Endpoint Descriptor:
	  bLength          7
	  bDescriptorType  05
	  bEndpointAddress 81 (in)
	  bmAttributes     03 (Interrupt)
	  wMaxPacketSize   64
	  bInterval        1

	Standard Endpoint Descriptor:
	  bLength          7
	  bDescriptorType  05
	  bEndpointAddress 02 (out)
	  bmAttributes     01 (Isochronous)
	  wMaxPacketSize   512
	  bInterval        1

	Standard Endpoint Descriptor:
	  bLength          7
	  bDescriptorType  05
	  bEndpointAddress 04 (out)
	  bmAttributes     02 (Bulk)
	  wMaxPacketSize   512
	  bInterval        0

	Standard Endpoint Descriptor:
	  bLength          7
	  bDescriptorType  05
	  bEndpointAddress 86 (in)
	  bmAttributes     01 (Isochronous)
	  wMaxPacketSize   512
	  bInterval        1

	Standard Endpoint Descriptor:
	  bLength          7
	  bDescriptorType  05
	  bEndpointAddress 88 (in)
	  bmAttributes     02 (Bulk)
	  wMaxPacketSize   512
	  bInterval        0

-------------------------------------------------------------------------------

/dev/ugen1 (keyboard + touchpad):
Standard Device Descriptor:
  bLength            18
  bDescriptorType    01
  bcdUSB             0200
  bDeviceClass       00
  bDeviceSubClass    00
  bDeviceProtocol    00
  bMaxPacketSize     8
  idVendor           05ac
  idProduct          0218
  bcdDevice          0064
  iManufacturer      1
  iProduct           2
  iSerialNumber      0
  bNumConfigurations 1

Configuration 0:
	Standard Configuration Descriptor:
	  bLength             9
	  bDescriptorType     02
	  wTotalLength        84
	  bNumInterface       3
	  bConfigurationValue 1
	  iConfiguration      0
	  bmAttributes        a0 (remote-wakeup)
	  bMaxPower           20 (40 mA)

	Standard Interface Descriptor:
	  bLength            9
	  bDescriptorType    04
	  bInterfaceNumber   0
	  bAlternateSetting  0
	  bNumEndpoints      1
	  bInterfaceClass    03
	  bInterfaceSubClass 01
	  bInterfaceProtocol 01
	  iInterface         3

		HID Descriptor:
		  bLength           9
		  bDescriptorType   21
		  bcdHID            0111
		  bCountryCode      0d
		  bNumDescriptors   1
		  bDescriptorType   22
		  wDescriptorLength 73


	Standard Endpoint Descriptor:
	  bLength          7
	  bDescriptorType  05
	  bEndpointAddress 83 (in)
	  bmAttributes     03 (Interrupt)
	  wMaxPacketSize   8
	  bInterval        8

	Standard Interface Descriptor:
	  bLength            9
	  bDescriptorType    04
	  bInterfaceNumber   1
	  bAlternateSetting  0
	  bNumEndpoints      1
	  bInterfaceClass    03
	  bInterfaceSubClass 01
	  bInterfaceProtocol 02
	  iInterface         4

		HID Descriptor:
		  bLength           9
		  bDescriptorType   21
		  bcdHID            0111
		  bCountryCode      00
		  bNumDescriptors   1
		  bDescriptorType   22
		  wDescriptorLength 89


	Standard Endpoint Descriptor:
	  bLength          7
	  bDescriptorType  05
	  bEndpointAddress 81 (in)
	  bmAttributes     03 (Interrupt)
	  wMaxPacketSize   64
	  bInterval        8

	Standard Interface Descriptor:
	  bLength            9
	  bDescriptorType    04
	  bInterfaceNumber   2
	  bAlternateSetting  0
	  bNumEndpoints      1
	  bInterfaceClass    03
	  bInterfaceSubClass 00
	  bInterfaceProtocol 00
	  iInterface         3

		HID Descriptor:
		  bLength           9
		  bDescriptorType   21
		  bcdHID            0111
		  bCountryCode      00
		  bNumDescriptors   1
		  bDescriptorType   22
		  wDescriptorLength 20


	Standard Endpoint Descriptor:
	  bLength          7
	  bDescriptorType  05
	  bEndpointAddress 84 (in)
	  bmAttributes     03 (Interrupt)
	  wMaxPacketSize   1
	  bInterval        8

Codes Representing Languages by the Device:
  bLength          4
  bDescriptorType  03
  wLANGID[0]       0409

String (index 1): Apple Computer

String (index 2): Apple Internal Keyboard / Trackpad

String (index 3): Apple Internal Keyboard

String (index 4): Touchpad

-------------------------------------------------------------------------------

/dev/ugen2 (IR reciever):
Standard Device Descriptor:
  bLength            18
  bDescriptorType    01
  bcdUSB             0200
  bDeviceClass       00
  bDeviceSubClass    00
  bDeviceProtocol    00
  bMaxPacketSize     8
  idVendor           05ac
  idProduct          8240
  bcdDevice          0110
  iManufacturer      1
  iProduct           2
  iSerialNumber      0
  bNumConfigurations 1

Configuration 0:
	Standard Configuration Descriptor:
	  bLength             9
	  bDescriptorType     02
	  wTotalLength        34
	  bNumInterface       1
	  bConfigurationValue 1
	  iConfiguration      0
	  bmAttributes        a0 (remote-wakeup)
	  bMaxPower           50 (100 mA)

	Standard Interface Descriptor:
	  bLength            9
	  bDescriptorType    04
	  bInterfaceNumber   0
	  bAlternateSetting  0
	  bNumEndpoints      1
	  bInterfaceClass    03
	  bInterfaceSubClass 00
	  bInterfaceProtocol 00
	  iInterface         0

		HID Descriptor:
		  bLength           9
		  bDescriptorType   21
		  bcdHID            0111
		  bCountryCode      00
		  bNumDescriptors   1
		  bDescriptorType   22
		  wDescriptorLength 41


	Standard Endpoint Descriptor:
	  bLength          7
	  bDescriptorType  05
	  bEndpointAddress 83 (in)
	  bmAttributes     03 (Interrupt)
	  wMaxPacketSize   64
	  bInterval        10

Codes Representing Languages by the Device:
  bLength          4
  bDescriptorType  03
  wLANGID[0]       0409

String (index 1): Apple Computer, Inc.

String (index 2): IR Receiver

-------------------------------------------------------------------------------

/dev/ugen3 (bluetooth in HID mode):
Standard Device Descriptor:
  bLength            18
  bDescriptorType    01
  bcdUSB             0200
  bDeviceClass       00
  bDeviceSubClass    00
  bDeviceProtocol    00
  bMaxPacketSize     64
  idVendor           05ac
  idProduct          1000
  bcdDevice          1965
  iManufacturer      0
  iProduct           0
  iSerialNumber      0
  bNumConfigurations 1

Configuration 0:
	Standard Configuration Descriptor:
	  bLength             9
	  bDescriptorType     02
	  wTotalLength        59
	  bNumInterface       2
	  bConfigurationValue 1
	  iConfiguration      0
	  bmAttributes        e0 (self-powered, remote-wakeup)
	  bMaxPower           0 (0 mA)

	Standard Interface Descriptor:
	  bLength            9
	  bDescriptorType    04
	  bInterfaceNumber   0
	  bAlternateSetting  0
	  bNumEndpoints      1
	  bInterfaceClass    03
	  bInterfaceSubClass 01
	  bInterfaceProtocol 01
	  iInterface         0

		HID Descriptor:
		  bLength           9
		  bDescriptorType   21
		  bcdHID            0111
		  bCountryCode      00
		  bNumDescriptors   1
		  bDescriptorType   22
		  wDescriptorLength 63


	Standard Endpoint Descriptor:
	  bLength          7
	  bDescriptorType  05
	  bEndpointAddress 81 (in)
	  bmAttributes     03 (Interrupt)
	  wMaxPacketSize   16
	  bInterval        1

	Standard Interface Descriptor:
	  bLength            9
	  bDescriptorType    04
	  bInterfaceNumber   1
	  bAlternateSetting  0
	  bNumEndpoints      1
	  bInterfaceClass    03
	  bInterfaceSubClass 01
	  bInterfaceProtocol 02
	  iInterface         0

		HID Descriptor:
		  bLength           9
		  bDescriptorType   21
		  bcdHID            0111
		  bCountryCode      00
		  bNumDescriptors   1
		  bDescriptorType   22
		  wDescriptorLength 61


	Standard Endpoint Descriptor:
	  bLength          7
	  bDescriptorType  05
	  bEndpointAddress 82 (in)
	  bmAttributes     03 (Interrupt)
	  wMaxPacketSize   16
	  bInterval        1


--------------040908040603050309080809--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?46A5FF7A.1090803>