[alsa-devel] Altec Lansing FX5051 USB Speakers

Jeremy Nickurak alsa-devel at atrus.rifetech.com
Sun Dec 16 05:41:49 CET 2007


Any suggestions at all? I love this system's sound in windows, and I 
really don't want to have to try to sell it to a non-linux user.

On Mon, Nov 12, 2007 at 09:49:12PM -0700, Jeremy Nickurak wrote:
> Some number of months ago I posted a request here for any suggestions in 
> getting a set of USB speakers from Altec Lansing, model# FX5051, working 
> with ALSA. I wasn't able to follow up in detail at the time, so I'm 
> hoping try again.
> 
> They're a set of 5.1 speakers with a built in USB sound card. Sound does 
> appear to work, but the mixer is locked at 100%. There is no analog 
> manual mixer, and the digital control dial exhibits the same problem as 
> alsamixer, so I have to find a way to adjust the usb device's mixer 
> volume in order to make the speakers usable.
> 
> The speakers work fine in Windows XP, without installing any drivers, so 
> it would seem that this device is operating based on some standard.
> 
> In windows, adjusting the mixer via the digital control dial, or via the 
> windows mixer control both result in the LED display moving in sync to 
> indicate the new volume setting.
> 
> In alsa, adjusting the digital control dial doesn't appear to have any 
> effect, other then waking the LED display from its low-light mode. 
> Attempting to adjust volume from alsamixer likewise wakes the display 
> from low-light mode, but also fails to significantly change the mixer 
> setting.  When I say significantly, I mean that the mixer flips between 
> about 98% and 100%, when using the Up/Down keys (or PgUp or PgDown). End 
> appears to drop the volume to 0%, but Home doesn't restore it.
> 
> Pressing the device's 'Power' button also behaves strangely. I can turn 
> the device off, but it is turned back on shortly afterward. No usb 
> connect/disconnect events appear here, instead, the power button seems 
> to function more like a mute.
> 
> amixer -c 2 contents yields:
> 
> atrus at kedri:~$ amixer -c 2 contents
> numid=3,iface=MIXER,name='Tone Control - Bass'
>   ; type=INTEGER,access=rw------,values=1,min=0,max=10,step=0
>   : values=1
> numid=4,iface=MIXER,name='Tone Control - Treble'
>   ; type=INTEGER,access=rw------,values=1,min=0,max=10,step=0
>   : values=3
> numid=1,iface=MIXER,name='PCM Playback Switch'
>   ; type=BOOLEAN,access=rw------,values=1
>   : values=on
> numid=2,iface=MIXER,name='PCM Playback Volume'
>   ; type=INTEGER,access=rw---R--,values=2,min=0,max=49,step=0
>   : values=48,48
>   | dBscale-min=-49.00dB,step=1.00dB,mute=0
> 
> 
> 
> I'm attaching the contents of 'lsusb -v'.
> 
> Any suggestions would be appreciated, and any requests for further 
> information about this device will be accomodated ASAP.
> 
> Thanks in advance.
> 
> --
> Jeremy Nickurak -= Email/Jabber: atrus at rifetech.com =-

> Bus 004 Device 002: ID 04d2:5051 Altec Lansing Technologies 
> Device Descriptor:
>   bLength                18
>   bDescriptorType         1
>   bcdUSB               1.00
>   bDeviceClass            0 (Defined at Interface level)
>   bDeviceSubClass         0 
>   bDeviceProtocol         0 
>   bMaxPacketSize0        16
>   idVendor           0x04d2 Altec Lansing Technologies
>   idProduct          0x5051 
>   bcdDevice            1.12
>   iManufacturer           1 Altec Lansing Technologies, Inc.
>   iProduct                2 Altec Lansing - FX5051
>   iSerial                 0 
>   bNumConfigurations      1
>   Configuration Descriptor:
>     bLength                 9
>     bDescriptorType         2
>     wTotalLength          139
>     bNumInterfaces          3
>     bConfigurationValue     1
>     iConfiguration          0 
>     bmAttributes         0x40
>       (Missing must-be-set bit!)
>       Self Powered
>     MaxPower                0mA
>     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           44
>         bInCollection           1
>         baInterfaceNr( 0)       1
>       AudioControl Interface Descriptor:
>         bLength                12
>         bDescriptorType        36
>         bDescriptorSubtype      2 (INPUT_TERMINAL)
>         bTerminalID             1
>         wTerminalType      0x0101 USB Streaming
>         bAssocTerminal          0
>         bNrChannels             6
>         wChannelConfig     0x003f
>           Left Front (L)
>           Right Front (R)
>           Center Front (C)
>           Low Freqency Enhancement (LFE)
>           Left Surround (LS)
>           Right Surround (RS)
>         iChannelNames           0 
>         iTerminal               0 
>       AudioControl Interface Descriptor:
>         bLength                14
>         bDescriptorType        36
>         bDescriptorSubtype      6 (FEATURE_UNIT)
>         bUnitID                 2
>         bSourceID               1
>         bControlSize            1
>         bmaControls( 0)      0x15
>           Mute
>           Bass
>           Treble
>         bmaControls( 1)      0x02
>           Volume
>         bmaControls( 2)      0x02
>           Volume
>         bmaControls( 3)      0x00
>         bmaControls( 4)      0x00
>         bmaControls( 5)      0x00
>         bmaControls( 6)      0x00
>         iFeature                0 
>       AudioControl Interface Descriptor:
>         bLength                 9
>         bDescriptorType        36
>         bDescriptorSubtype      3 (OUTPUT_TERMINAL)
>         bTerminalID             3
>         wTerminalType      0x0301 Speaker
>         bAssocTerminal          0
>         bSourceID               2
>         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 
>       AudioStreaming Interface Descriptor:
>         bLength                 7
>         bDescriptorType        36
>         bDescriptorSubtype      1 (AS_GENERAL)
>         bTerminalLink           1
>         bDelay                  1 frames
>         wFormatTag              1 PCM
>       AudioStreaming Interface Descriptor:
>         bLength                11
>         bDescriptorType        36
>         bDescriptorSubtype      2 (FORMAT_TYPE)
>         bFormatType             1 (FORMAT_TYPE_I)
>         bNrChannels             6
>         bSubframeSize           2
>         bBitResolution         16
>         bSamFreqType            1 Discrete
>         tSamFreq[ 0]        48000
>       Endpoint Descriptor:
>         bLength                 9
>         bDescriptorType         5
>         bEndpointAddress     0x01  EP 1 OUT
>         bmAttributes            9
>           Transfer Type            Isochronous
>           Synch Type               Adaptive
>           Usage Type               Data
>         wMaxPacketSize     0x0240  1x 576 bytes
>         bInterval               1
>         bRefresh                0
>         bSynchAddress           0
>         AudioControl Endpoint Descriptor:
>           bLength                 7
>           bDescriptorType        37
>           bDescriptorSubtype      1 (EP_GENERAL)
>           bmAttributes         0x01
>             Sampling Frequency
>           bLockDelayUnits         0 Undefined
>           wLockDelay              0 Undefined
>     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 Not supported
>           bNumDescriptors         1
>           bDescriptorType        34 Report
>           wDescriptorLength     172
>           Report Descriptor: (length is 172)
>             Item(Global): Usage Page, data= [ 0x0c ] 12
>                             Consumer
>             Item(Local ): Usage, data= [ 0x01 ] 1
>                             Consumer Control
>             Item(Main  ): Collection, data= [ 0x01 ] 1
>                             Application
>             Item(Global): Usage Page, data= [ 0x0c ] 12
>                             Consumer
>             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= [ 0x52 0x01 ] 338
>                             Bass Increment
>             Item(Local ): Usage, data= [ 0x53 0x01 ] 339
>                             Bass Decrement
>             Item(Local ): Usage, data= [ 0x54 0x01 ] 340
>                             Treble Increment
>             Item(Local ): Usage, data= [ 0x55 0x01 ] 341
>                             Treble Decrement
>             Item(Local ): Usage, data= [ 0x00 ] 0
>                             Unassigned
>             Item(Global): Logical Minimum, data= [ 0x00 ] 0
>             Item(Global): Logical Maximum, data= [ 0x01 ] 1
>             Item(Global): Report Size, data= [ 0x01 ] 1
>             Item(Global): Report Count, data= [ 0x08 ] 8
>             Item(Main  ): Input, data= [ 0x82 ] 130
>                             Data Variable Absolute No_Wrap Linear
>                             Preferred_State No_Null_Position Volatile Bitfield
>             Item(Global): Usage Page, data= [ 0x00 0xff ] 65280
>                             (null)
>             Item(Local ): Usage, data= [ 0x01 ] 1
>                             (null)
>             Item(Local ): Usage, data= [ 0x3a ] 58
>                             (null)
>             Item(Local ): Usage, data= [ 0x2e ] 46
>                             (null)
>             Item(Local ): Usage, data= [ 0x09 ] 9
>                             (null)
>             Item(Local ): Usage, data= [ 0x0a ] 10
>                             (null)
>             Item(Local ): Usage, data= [ 0x3d ] 61
>                             (null)
>             Item(Local ): Usage, data= [ 0x3e ] 62
>                             (null)
>             Item(Local ): Usage, data= [ 0xff ] 255
>                             (null)
>             Item(Global): Logical Minimum, data= [ 0x00 ] 0
>             Item(Global): Logical Maximum, data= [ 0x01 ] 1
>             Item(Global): Report Size, data= [ 0x01 ] 1
>             Item(Global): Report Count, data= [ 0x08 ] 8
>             Item(Main  ): Input, data= [ 0x82 ] 130
>                             Data Variable Absolute No_Wrap Linear
>                             Preferred_State No_Null_Position Volatile Bitfield
>             Item(Global): Usage Page, data= [ 0x0c ] 12
>                             Consumer
>             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= [ 0x52 0x01 ] 338
>                             Bass Increment
>             Item(Local ): Usage, data= [ 0x53 0x01 ] 339
>                             Bass Decrement
>             Item(Local ): Usage, data= [ 0x54 0x01 ] 340
>                             Treble Increment
>             Item(Local ): Usage, data= [ 0x55 0x01 ] 341
>                             Treble Decrement
>             Item(Local ): Usage, data= [ 0x00 ] 0
>                             Unassigned
>             Item(Global): Logical Minimum, data= [ 0x00 ] 0
>             Item(Global): Logical Maximum, data= [ 0x01 ] 1
>             Item(Global): Report Size, data= [ 0x01 ] 1
>             Item(Global): Report Count, data= [ 0x08 ] 8
>             Item(Main  ): Output, data= [ 0x82 ] 130
>                             Data Variable Absolute No_Wrap Linear
>                             Preferred_State No_Null_Position Volatile Bitfield
>             Item(Global): Usage Page, data= [ 0x00 0xff ] 65280
>                             (null)
>             Item(Local ): Usage, data= [ 0x01 ] 1
>                             (null)
>             Item(Local ): Usage, data= [ 0x3a ] 58
>                             (null)
>             Item(Local ): Usage, data= [ 0x09 ] 9
>                             (null)
>             Item(Local ): Usage, data= [ 0x0a ] 10
>                             (null)
>             Item(Local ): Usage, data= [ 0x3d ] 61
>                             (null)
>             Item(Local ): Usage, data= [ 0x3e ] 62
>                             (null)
>             Item(Local ): Usage, data= [ 0xfe ] 254
>                             (null)
>             Item(Local ): Usage, data= [ 0x00 ] 0
>                             (null)
>             Item(Global): Logical Minimum, data= [ 0x00 ] 0
>             Item(Global): Logical Maximum, data= [ 0x01 ] 1
>             Item(Global): Report Size, data= [ 0x01 ] 1
>             Item(Global): Report Count, data= [ 0x08 ] 8
>             Item(Main  ): Output, data= [ 0x82 ] 130
>                             Data Variable Absolute No_Wrap Linear
>                             Preferred_State No_Null_Position Volatile Bitfield
>             Item(Local ): Usage, data= [ 0xf0 ] 240
>                             (null)
>             Item(Global): Logical Minimum, data= [ 0x00 ] 0
>             Item(Global): Logical Maximum, data= [ 0xff 0xff ] 65535
>             Item(Global): Report Size, data= [ 0x10 ] 16
>             Item(Global): Report Count, data= [ 0x01 ] 1
>             Item(Main  ): Output, data= [ 0x82 ] 130
>                             Data Variable Absolute No_Wrap Linear
>                             Preferred_State No_Null_Position Volatile Bitfield
>             Item(Local ): Usage, data= [ 0xf1 ] 241
>                             (null)
>             Item(Global): Logical Minimum, data= [ 0x00 ] 0
>             Item(Global): Logical Maximum, data= [ 0xff 0xff 0xff 0xff ] -1
>             Item(Global): Report Size, data= [ 0x20 ] 32
>             Item(Global): Report Count, data= [ 0x01 ] 1
>             Item(Main  ): Output, data= [ 0x82 ] 130
>                             Data Variable Absolute No_Wrap Linear
>                             Preferred_State No_Null_Position Volatile Bitfield
>             Item(Local ): Usage, data= [ 0xf2 ] 242
>                             (null)
>             Item(Global): Logical Minimum, data= [ 0x00 ] 0
>             Item(Global): Logical Maximum, data= [ 0xff 0xff 0xff 0xff ] -1
>             Item(Global): Report Size, data= [ 0x20 ] 32
>             Item(Global): Report Count, data= [ 0x01 ] 1
>             Item(Main  ): Output, data= [ 0x82 ] 130
>                             Data Variable Absolute No_Wrap Linear
>                             Preferred_State No_Null_Position 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
>           Usage Type               Data
>         wMaxPacketSize     0x0002  1x 2 bytes
>         bInterval               1
> Device Status:     0x0001
>   Self Powered
> 
> Bus 004 Device 001: ID 0000:0000  
> Device Descriptor:
>   bLength                18
>   bDescriptorType         1
>   bcdUSB               1.10
>   bDeviceClass            9 Hub
>   bDeviceSubClass         0 Unused
>   bDeviceProtocol         0 Full speed hub
>   bMaxPacketSize0        64
>   idVendor           0x0000 
>   idProduct          0x0000 
>   bcdDevice            2.06
>   iManufacturer           3 Linux 2.6.22-14-generic uhci_hcd
>   iProduct                2 UHCI Host Controller
>   iSerial                 1 0000:00:1d.3
>   bNumConfigurations      1
>   Configuration Descriptor:
>     bLength                 9
>     bDescriptorType         2
>     wTotalLength           25
>     bNumInterfaces          1
>     bConfigurationValue     1
>     iConfiguration          0 
>     bmAttributes         0xe0
>       Self Powered
>       Remote Wakeup
>     MaxPower                0mA
>     Interface Descriptor:
>       bLength                 9
>       bDescriptorType         4
>       bInterfaceNumber        0
>       bAlternateSetting       0
>       bNumEndpoints           1
>       bInterfaceClass         9 Hub
>       bInterfaceSubClass      0 Unused
>       bInterfaceProtocol      0 Full speed hub
>       iInterface              0 
>       Endpoint Descriptor:
>         bLength                 7
>         bDescriptorType         5
>         bEndpointAddress     0x81  EP 1 IN
>         bmAttributes            3
>           Transfer Type            Interrupt
>           Synch Type               None
>           Usage Type               Data
>         wMaxPacketSize     0x0002  1x 2 bytes
>         bInterval             255
> Hub Descriptor:
>   bLength               9
>   bDescriptorType      41
>   nNbrPorts             2
>   wHubCharacteristic 0x000a
>     No power switching (usb 1.0)
>     Per-port overcurrent protection
>   bPwrOn2PwrGood        1 * 2 milli seconds
>   bHubContrCurrent      0 milli Ampere
>   DeviceRemovable    0x00
>   PortPwrCtrlMask    0xff
>  Hub Port Status:
>    Port 1: 0000.0103 power enable connect
>    Port 2: 0000.0100 power
> Device Status:     0x0003
>   Self Powered
>   Remote Wakeup Enabled




> _______________________________________________
> Alsa-devel mailing list
> Alsa-devel at alsa-project.org
> http://mailman.alsa-project.org/mailman/listinfo/alsa-devel


-- 
Jeremy Nickurak -= Email/Jabber: atrus at rifetech.com =-
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: Digital signature
Url : http://mailman.alsa-project.org/pipermail/alsa-devel/attachments/20071215/c46cf3e0/attachment-0001.sig 


More information about the Alsa-devel mailing list