Em Qua, 2003-12-24 �s 10:32, Sergey Vlasov escreveu:
On Wed, Dec 24, 2003 at 09:52:31AM -0200, Claudemir Todo Bom wrote:
> I've just received my new home stereo, it's a Philips MC-M570, it have
> an USB port and provides some functionalities to it.
>
> Under windows I can:
> * use it like a PCM soundcard, without mixer controls;
> * command the player application (MusicMatch Jukebox) with the
> remote control of the stereo;
> * see the song title that MusicMatch is playing on the stereo's
> display.
>
> On Linux, when I plug it in, usb hotplug loads the 'hid' and
> 'snd-usb-audio' drivers, the audio driver creates an /dev/sound/unknown
> device (i'm using devfs), and this device works like /dev/dsp, and works
> well. (I think that someone can update the web pages to show that this
> works, and probably other gadgets from the same line from philips).
>
> I'm looking for help on getting the other functionalities (remote
> control and song titles). I suppose that this funcionalities is provided
> by the HID it installs, but the hid driver didn't place any working
> device under /dev, it creates the directory /dev/usb/hid/ but it's
> empty.
>
> I'm not a very good developer, but I think I can do this if I get the
> right help, and this must be the right place to get this help.
>
> Here is the /proc/bus/usb/devices lines that referer to this gadget:
>
> ---cut-here---
> T: Bus=01 Lev=01 Prnt=01 Port=01 Cnt=01 Dev#= 2 Spd=12 MxCh= 0
> D: Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1
> P: Vendor=0471 ProdID=0110 Rev= 4.02
> S: Manufacturer=Philips
> S: Product=UAC3553B
> C:* #Ifs= 3 Cfg#= 1 Atr=80 MxPwr=100mA
> I: If#= 0 Alt= 0 #EPs= 0 Cls=01(audio) Sub=01 Prot=00 Driver=snd-usb-audio
> I: If#= 1 Alt= 0 #EPs= 0 Cls=01(audio) Sub=02 Prot=00 Driver=snd-usb-audio
> I: If#= 1 Alt= 1 #EPs= 1 Cls=01(audio) Sub=02 Prot=00 Driver=snd-usb-audio
> E: Ad=01(O) Atr=09(Isoc) MxPS= 100 Ivl=1ms
> I: If#= 1 Alt= 2 #EPs= 1 Cls=01(audio) Sub=02 Prot=00 Driver=snd-usb-audio
> E: Ad=01(O) Atr=09(Isoc) MxPS= 200 Ivl=1ms
> I: If#= 2 Alt= 0 #EPs= 1 Cls=03(HID ) Sub=00 Prot=00 Driver=hid
> E: Ad=83(I) Atr=03(Int.) MxPS= 2 Ivl=8ms
> ---cut-here---
So there is no vendor-specific interface - that's good. However,
there might be some vendor-specific HID usages :(
First you need to get the report descriptor for this device. You
can use lsusb for this:
rmmod hid; lsusb -vv >lsusb.log; modprobe hid
If you have an USB keyboard, you will need to give these commands on
a single line, because the hid module controls the USB keyboard too,
so if you just unload it, the keyboard will stop working. With the
hid module loaded, lsusb is unable to get the HID report descriptor.
Then post the lsusb output here (only the part which corresponds to
this device) - probably someone will be able to help.
here it is, hope somebody can help me getting this to work!
---cut-here---
Bus 001 Device 004: ID 0471:0110 Philips
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 1.10
bDeviceClass 0 Interface
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 8
idVendor 0x0471 Philips
idProduct 0x0110
bcdDevice 4.02
iManufacturer 1 Philips
iProduct 2 UAC3553B
iSerial 0
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 187
bNumInterfaces 3
bConfigurationValue 1
iConfiguration 3
bmAttributes 0x80
MaxPower 100mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 0
bInterfaceClass 1 Audio
bInterfaceSubClass 1 Control Device
bInterfaceProtocol 0
iInterface 0
AudioControl Interface Descriptor:
bLength 9
bDescriptorType 36
bDescriptorSubtype 1 (HEADER)
bcdADC 1.00
wTotalLength 43
bInCollection 1
baInterfaceNr( 0) 1
AudioControl Interface Descriptor:
bLength 12
bDescriptorType 36
bDescriptorSubtype 2 (INPUT_TERMINAL)
bTerminalID 12
wTerminalType 0x0101 USB Streaming
bAssocTerminal 0
bNrChannels 2
wChannelConfig 0x0003
Left Front (L)
Right Front (R)
iChannelNames 0
iTerminal 0
AudioControl Interface Descriptor:
bLength 13
bDescriptorType 36
bDescriptorSubtype 6 (FEATURE_UNIT)
bUnitID 1
bSourceID 12
bControlSize 2
bmaControls( 0) 0x55
bmaControls( 1) 0x01
Mute
Bass
Treble
Automatic Gain
Bass Boost
bmaControls( 0) 0x02
bmaControls( 1) 0x00
Volume
bmaControls( 0) 0x02
bmaControls( 1) 0x00
Volume
iFeature 0
AudioControl Interface Descriptor:
bLength 9
bDescriptorType 36
bDescriptorSubtype 3 (OUTPUT_TERMINAL)
bTerminalID 20
wTerminalType 0x0301 Speaker
bAssocTerminal 0
bSourceID 1
iTerminal 0
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 0
bNumEndpoints 0
bInterfaceClass 1 Audio
bInterfaceSubClass 2 Streaming
bInterfaceProtocol 0
iInterface 0
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 1
bNumEndpoints 1
bInterfaceClass 1 Audio
bInterfaceSubClass 2 Streaming
bInterfaceProtocol 0
iInterface 0
AudioControl Interface Descriptor:
bLength 7
bDescriptorType 36
bDescriptorSubtype 1 (AS_GENERAL)
bTerminalLink 12
bDelay 0 frames
wFormatTag 1 PCM
AudioControl Interface Descriptor:
bLength 14
bDescriptorType 36
bDescriptorSubtype 2 (FORMAT_TYPE)
bFormatType 1 (FORMAT_TYPE_I)
bNrChannels 1
bSubframeSize 2
bBitResolution 16
bSamFreqType 0 Continuous
tLowerSamFreq 6400
tUpperSamFreq 48000
Endpoint Descriptor:
bLength 9
bDescriptorType 5
bEndpointAddress 0x01 EP 1 OUT
bmAttributes 9
Transfer Type Isochronous
Synch Type Adaptive
wMaxPacketSize 100
bInterval 1
bRefresh 0
bSynchAddress 0
AudioControl Endpoint Descriptor:
bLength 7
bDescriptorType 37
bDescriptorSubtype 1 (EP_GENERAL)
bmAttributes 0x01
Sampling Frequency
bLockDelayUnits 2 Decoded PCM samples
wLockDelay 1 Decoded PCM samples
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 2
bNumEndpoints 1
bInterfaceClass 1 Audio
bInterfaceSubClass 2 Streaming
bInterfaceProtocol 0
iInterface 0
AudioControl Interface Descriptor:
bLength 7
bDescriptorType 36
bDescriptorSubtype 1 (AS_GENERAL)
bTerminalLink 12
bDelay 0 frames
wFormatTag 1 PCM
AudioControl Interface Descriptor:
bLength 14
bDescriptorType 36
bDescriptorSubtype 2 (FORMAT_TYPE)
bFormatType 1 (FORMAT_TYPE_I)
bNrChannels 2
bSubframeSize 2
bBitResolution 16
bSamFreqType 0 Continuous
tLowerSamFreq 6400
tUpperSamFreq 48000
Endpoint Descriptor:
bLength 9
bDescriptorType 5
bEndpointAddress 0x01 EP 1 OUT
bmAttributes 9
Transfer Type Isochronous
Synch Type Adaptive
wMaxPacketSize 200
bInterval 1
bRefresh 0
bSynchAddress 0
AudioControl Endpoint Descriptor:
bLength 7
bDescriptorType 37
bDescriptorSubtype 1 (EP_GENERAL)
bmAttributes 0x01
Sampling Frequency
bLockDelayUnits 2 Decoded PCM samples
wLockDelay 1 Decoded PCM samples
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 2
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 3 Human Interface Devices
bInterfaceSubClass 0 No Subclass
bInterfaceProtocol 0 None
iInterface 0
HID Device Descriptor:
bLength 9
bDescriptorType 33
bcdHID 1.00
bCountryCode 0
bNumDescriptors 1
bDescriptorType 34 Report
wDescriptorLength 41
Report Descriptor: (length is 41)
Item(Global): Usage Page, data= [ 0x0c ] 12
Consumer
Item(Local ): Usage, data= [ 0x01 ] 1
Consumer Control
Item(Main ): Collection, data= [ 0x01 ] 1
Application
Item(Local ): Usage, data= [ 0xcd ] 205
Play/Pause
Item(Local ): Usage, data= [ 0xb7 ] 183
Stop
Item(Local ): Usage, data= [ 0xb5 ] 181
Scan Next Track
Item(Local ): Usage, data= [ 0xb6 ] 182
Scan Previous Track
Item(Local ): Usage, data= [ 0xe2 ] 226
Mute
Item(Local ): Usage, data= [ 0xe9 ] 233
Volume Increment
Item(Local ): Usage, data= [ 0xea ] 234
Volume Decrement
Item(Local ): Usage, data= [ 0x01 ] 1
Consumer Control
Item(Global): Logical Minimum, data= [ 0x00 ] 0
Item(Global): Logical Maximum, data= [ 0x01 ] 1
Item(Global): Report Count, data= [ 0x08 ] 8
Item(Global): Report Size, data= [ 0x01 ] 1
Item(Main ): Input, data= [ 0x02 ] 2
Data Variable Absolute No_Wrap Linear
Preferred_State No_Null_Position Non_Volatile Bitfield
Item(Local ): Usage, data= [ 0x00 ] 0
Unassigned
Item(Global): Report Size, data= [ 0x08 ] 8
Item(Global): Report Count, data= [ 0x01 ] 1
Item(Main ): Input, data= [ 0x00 ] 0
Data Array Absolute No_Wrap Linear
Preferred_State No_Null_Position Non_Volatile Bitfield
Item(Main ): End Collection, data=none
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x83 EP 3 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type none
wMaxPacketSize 2
bInterval 8
Language IDs: (length=4)
0409 English(US)
---cut-here---
best regards,
--
Claudemir Todo Bom
[EMAIL PROTECTED]
http://www.wiredway.com.br/~allgood
signature.asc
Description: PGP signature
