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