2006-01-04 19:53:41

by Edgar Toernig

[permalink] [raw]
Subject: 2.6.15 USB-Audio produces loud noise

Hi,

my USB-speakers only work sporadical with 2.6.15. Sometimes everything's
fine, sometimes they only produces loud noise as if the low and high bytes
are swapped or the samples are not properly aligned. With 2.6.13 I never
had this problem.

This occures either with alsaplayer or with OSS apps using the kernel
OSS emulation. Furthermore, it seems to be a startup problem. If
playback starts correct it stays correct, if it starts wrong it stays
wrong - at least as long as it keeps streaming. If playback is paused,
the problem may trigger again.

I tried UP, SMP (P4-HT), gcc-2.95, gcc-3.3.5 - no change. All drivers
build in.

[dmesg, lspci, and lsusb output below]

Any fix known? I had a short look at the 2.6.13->15 diffs of usbaudio.c
but they are rather big and I don't even know whether it's an USB or an
Alsa problem...

Ciao, ET.


dmesg: (stripped)

ACPI: PCI Interrupt 0000:00:13.0[A] -> GSI 19 (level, low) -> IRQ 18
ohci_hcd 0000:00:13.0: OHCI Host Controller
drivers/usb/core/inode.c: creating file '002'
ohci_hcd 0000:00:13.0: new USB bus registered, assigned bus number 2
ohci_hcd 0000:00:13.0: irq 18, io mem 0xec304000
ohci_hcd 0000:00:13.0: resetting from state 'reset', control = 0x0
ohci_hcd 0000:00:13.0: OHCI controller state
ohci_hcd 0000:00:13.0: OHCI 1.0, NO legacy support registers
ohci_hcd 0000:00:13.0: control 0x083 HCFS=operational CBSR=3
ohci_hcd 0000:00:13.0: cmdstatus 0x00000 SOC=0
ohci_hcd 0000:00:13.0: intrstatus 0x00000044 RHSC SF
ohci_hcd 0000:00:13.0: intrenable 0x8000001a MIE UE RD WDH
ohci_hcd 0000:00:13.0: hcca frame #0005
ohci_hcd 0000:00:13.0: roothub.a 02000203 POTPGT=2 NPS NDP=3(3)
ohci_hcd 0000:00:13.0: roothub.b 00000000 PPCM=0000 DR=0000
ohci_hcd 0000:00:13.0: roothub.status 00008000 DRWE
ohci_hcd 0000:00:13.0: roothub.status 00008000 DRWE
ohci_hcd 0000:00:13.0: roothub.portstatus [0] 0x00010100 CSC PPS
ohci_hcd 0000:00:13.0: roothub.portstatus [1] 0x00000100 PPS
ohci_hcd 0000:00:13.0: roothub.portstatus [2] 0x00000100 PPS
ohci_hcd 0000:00:13.0: created debug files
usb usb2: default language 0x0409
usb usb2: new device strings: Mfr=3, Product=2, SerialNumber=1
usb usb2: Product: OHCI Host Controller
usb usb2: Manufacturer: Linux 2.6.15 ohci_hcd
usb usb2: SerialNumber: 0000:00:13.0
usb usb2: hotplug
usb usb2: adding 2-0:1.0 (config #1, interface 0)
usb 2-0:1.0: hotplug
hub 2-0:1.0: usb_probe_interface
hub 2-0:1.0: usb_probe_interface - got id
hub 2-0:1.0: USB hub found
hub 2-0:1.0: 3 ports detected
hub 2-0:1.0: standalone hub
hub 2-0:1.0: no power switching (usb 1.0)
hub 2-0:1.0: global over-current protection
hub 2-0:1.0: power on to power good time: 4ms
hub 2-0:1.0: local power source is good
hub 2-0:1.0: no over-current condition exists
hub 2-0:1.0: global over-current protection
hub 2-0:1.0: power on to power good time: 4ms
hub 2-0:1.0: local power source is good
hub 2-0:1.0: no over-current condition exists
hub 2-0:1.0: debounce: port 1: total 100ms stable 100ms status 0x101
ohci_hcd 0000:00:13.0: GetStatus roothub.portstatus [0] = 0x00100103 PRSC PPS PE
S CCS
usb 2-1: new full speed USB device using ohci_hcd and address 2
ohci_hcd 0000:00:13.0: GetStatus roothub.portstatus [0] = 0x00100103 PRSC PPS PE
S CCS
usb 2-1: ep0 maxpacket = 8
usb 2-1: skipped 4 descriptors after interface
usb 2-1: skipped 2 descriptors after interface
usb 2-1: skipped 1 descriptor after endpoint
usb 2-1: default language 0x0409
usb 2-1: new device strings: Mfr=1, Product=2, SerialNumber=0
usb 2-1: Product: USB Audio
usb 2-1: Manufacturer: C-Media INC.
usb 2-1: hotplug
usb 2-1: adding 2-1:1.0 (config #1, interface 0)
usb 2-1:1.0: hotplug
usb 2-1: adding 2-1:1.1 (config #1, interface 1)
usb 2-1:1.1: hotplug
drivers/usb/core/inode.c: creating file '002'
Advanced Linux Sound Architecture Driver Version 1.0.10rc3 (Mon Nov 07 13:30:21
2005 UTC).
ACPI: PCI Interrupt 0000:00:14.5[B] -> GSI 17 (level, low) -> IRQ 17
snd-usb-audio 2-1:1.0: usb_probe_interface
snd-usb-audio 2-1:1.0: usb_probe_interface - got id
usbcore: registered new driver snd-usb-audio
ALSA device list:
#0: ATI IXP rev 0 with ALC650F at 0xec305000, irq 17
#1: C-Media INC. USB Audio at usb-0000:00:13.0-1, full speed


lspci:

0000:00:13.0 USB Controller: ATI Technologies Inc OHCI USB Controller #1 (rev 01) (prog-if 10 [OHCI])
Subsystem: Holco Enterprise Co, Ltd/Shuttle Computer: Unknown device f362
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
Status: Cap- 66Mhz+ UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 64, cache line size 20
Interrupt: pin A routed to IRQ 18
Region 0: Memory at ec304000 (32-bit, non-prefetchable) [size=4K]


lsusb:

Bus 002 Device 002: ID 0d8c:0001 C-Media Electronics, Inc. USB Speaker
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 1.10
bDeviceClass 0 (Defined at Interface level)
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 8
idVendor 0x0d8c C-Media Electronics, Inc.
idProduct 0x0001 USB Speaker
bcdDevice 0.10
iManufacturer 1 C-Media INC.
iProduct 2 USB Audio
iSerial 0
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 110
bNumInterfaces 2
bConfigurationValue 1
iConfiguration 0
bmAttributes 0x80
MaxPower 500mA
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 40
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 2
wChannelConfig 0x0003
Left Front (L)
Right Front (R)
iChannelNames 0
iTerminal 0
AudioControl Interface Descriptor:
bLength 10
bDescriptorType 36
bDescriptorSubtype 6 (FEATURE_UNIT)
bUnitID 13
bSourceID 1
bControlSize 1
bmaControls( 0) 0x03
Mute
Volume
bmaControls( 1) 0x00
bmaControls( 2) 0x00
iFeature 0
AudioControl Interface Descriptor:
bLength 9
bDescriptorType 36
bDescriptorSubtype 3 (OUTPUT_TERMINAL)
bTerminalID 3
wTerminalType 0x0301 Speaker
bAssocTerminal 0
bSourceID 13
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 2
bSubframeSize 2
bBitResolution 16
bSamFreqType 1 Discrete
tSamFreq[ 0] 48000
Endpoint Descriptor:
bLength 9
bDescriptorType 5
bEndpointAddress 0x06 EP 6 OUT
bmAttributes 9
Transfer Type Isochronous
Synch Type Adaptive
Usage Type Data
wMaxPacketSize 0x00c0 1x 192 bytes
bInterval 1
bRefresh 0
bSynchAddress 0
AudioControl Endpoint Descriptor:
bLength 7
bDescriptorType 37
bDescriptorSubtype 1 (EP_GENERAL)
bmAttributes 0x00
bLockDelayUnits 0 Undefined
wLockDelay 0 Undefined

EOF


2006-01-05 22:35:49

by Lee Revell

[permalink] [raw]
Subject: Re: 2.6.15 USB-Audio produces loud noise

[added alsa-devel to cc]

On Wed, 2006-01-04 at 20:53 +0100, Edgar Toernig wrote:
> Hi,
>
> my USB-speakers only work sporadical with 2.6.15. Sometimes everything's
> fine, sometimes they only produces loud noise as if the low and high bytes
> are swapped or the samples are not properly aligned. With 2.6.13 I never
> had this problem.
>
> This occures either with alsaplayer or with OSS apps using the kernel
> OSS emulation. Furthermore, it seems to be a startup problem. If
> playback starts correct it stays correct, if it starts wrong it stays
> wrong - at least as long as it keeps streaming. If playback is paused,
> the problem may trigger again.
>
> I tried UP, SMP (P4-HT), gcc-2.95, gcc-3.3.5 - no change. All drivers
> build in.
>
> [dmesg, lspci, and lsusb output below]
>
> Any fix known? I had a short look at the 2.6.13->15 diffs of usbaudio.c
> but they are rather big and I don't even know whether it's an USB or an
> Alsa problem...
>
> Ciao, ET.
>
>
> dmesg: (stripped)
>
> ACPI: PCI Interrupt 0000:00:13.0[A] -> GSI 19 (level, low) -> IRQ 18
> ohci_hcd 0000:00:13.0: OHCI Host Controller
> drivers/usb/core/inode.c: creating file '002'
> ohci_hcd 0000:00:13.0: new USB bus registered, assigned bus number 2
> ohci_hcd 0000:00:13.0: irq 18, io mem 0xec304000
> ohci_hcd 0000:00:13.0: resetting from state 'reset', control = 0x0
> ohci_hcd 0000:00:13.0: OHCI controller state
> ohci_hcd 0000:00:13.0: OHCI 1.0, NO legacy support registers
> ohci_hcd 0000:00:13.0: control 0x083 HCFS=operational CBSR=3
> ohci_hcd 0000:00:13.0: cmdstatus 0x00000 SOC=0
> ohci_hcd 0000:00:13.0: intrstatus 0x00000044 RHSC SF
> ohci_hcd 0000:00:13.0: intrenable 0x8000001a MIE UE RD WDH
> ohci_hcd 0000:00:13.0: hcca frame #0005
> ohci_hcd 0000:00:13.0: roothub.a 02000203 POTPGT=2 NPS NDP=3(3)
> ohci_hcd 0000:00:13.0: roothub.b 00000000 PPCM=0000 DR=0000
> ohci_hcd 0000:00:13.0: roothub.status 00008000 DRWE
> ohci_hcd 0000:00:13.0: roothub.status 00008000 DRWE
> ohci_hcd 0000:00:13.0: roothub.portstatus [0] 0x00010100 CSC PPS
> ohci_hcd 0000:00:13.0: roothub.portstatus [1] 0x00000100 PPS
> ohci_hcd 0000:00:13.0: roothub.portstatus [2] 0x00000100 PPS
> ohci_hcd 0000:00:13.0: created debug files
> usb usb2: default language 0x0409
> usb usb2: new device strings: Mfr=3, Product=2, SerialNumber=1
> usb usb2: Product: OHCI Host Controller
> usb usb2: Manufacturer: Linux 2.6.15 ohci_hcd
> usb usb2: SerialNumber: 0000:00:13.0
> usb usb2: hotplug
> usb usb2: adding 2-0:1.0 (config #1, interface 0)
> usb 2-0:1.0: hotplug
> hub 2-0:1.0: usb_probe_interface
> hub 2-0:1.0: usb_probe_interface - got id
> hub 2-0:1.0: USB hub found
> hub 2-0:1.0: 3 ports detected
> hub 2-0:1.0: standalone hub
> hub 2-0:1.0: no power switching (usb 1.0)
> hub 2-0:1.0: global over-current protection
> hub 2-0:1.0: power on to power good time: 4ms
> hub 2-0:1.0: local power source is good
> hub 2-0:1.0: no over-current condition exists
> hub 2-0:1.0: global over-current protection
> hub 2-0:1.0: power on to power good time: 4ms
> hub 2-0:1.0: local power source is good
> hub 2-0:1.0: no over-current condition exists
> hub 2-0:1.0: debounce: port 1: total 100ms stable 100ms status 0x101
> ohci_hcd 0000:00:13.0: GetStatus roothub.portstatus [0] = 0x00100103 PRSC PPS PE
> S CCS
> usb 2-1: new full speed USB device using ohci_hcd and address 2
> ohci_hcd 0000:00:13.0: GetStatus roothub.portstatus [0] = 0x00100103 PRSC PPS PE
> S CCS
> usb 2-1: ep0 maxpacket = 8
> usb 2-1: skipped 4 descriptors after interface
> usb 2-1: skipped 2 descriptors after interface
> usb 2-1: skipped 1 descriptor after endpoint
> usb 2-1: default language 0x0409
> usb 2-1: new device strings: Mfr=1, Product=2, SerialNumber=0
> usb 2-1: Product: USB Audio
> usb 2-1: Manufacturer: C-Media INC.
> usb 2-1: hotplug
> usb 2-1: adding 2-1:1.0 (config #1, interface 0)
> usb 2-1:1.0: hotplug
> usb 2-1: adding 2-1:1.1 (config #1, interface 1)
> usb 2-1:1.1: hotplug
> drivers/usb/core/inode.c: creating file '002'
> Advanced Linux Sound Architecture Driver Version 1.0.10rc3 (Mon Nov 07 13:30:21
> 2005 UTC).
> ACPI: PCI Interrupt 0000:00:14.5[B] -> GSI 17 (level, low) -> IRQ 17
> snd-usb-audio 2-1:1.0: usb_probe_interface
> snd-usb-audio 2-1:1.0: usb_probe_interface - got id
> usbcore: registered new driver snd-usb-audio
> ALSA device list:
> #0: ATI IXP rev 0 with ALC650F at 0xec305000, irq 17
> #1: C-Media INC. USB Audio at usb-0000:00:13.0-1, full speed
>
>
> lspci:
>
> 0000:00:13.0 USB Controller: ATI Technologies Inc OHCI USB Controller #1 (rev 01) (prog-if 10 [OHCI])
> Subsystem: Holco Enterprise Co, Ltd/Shuttle Computer: Unknown device f362
> Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
> Status: Cap- 66Mhz+ UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
> Latency: 64, cache line size 20
> Interrupt: pin A routed to IRQ 18
> Region 0: Memory at ec304000 (32-bit, non-prefetchable) [size=4K]
>
>
> lsusb:
>
> Bus 002 Device 002: ID 0d8c:0001 C-Media Electronics, Inc. USB Speaker
> Device Descriptor:
> bLength 18
> bDescriptorType 1
> bcdUSB 1.10
> bDeviceClass 0 (Defined at Interface level)
> bDeviceSubClass 0
> bDeviceProtocol 0
> bMaxPacketSize0 8
> idVendor 0x0d8c C-Media Electronics, Inc.
> idProduct 0x0001 USB Speaker
> bcdDevice 0.10
> iManufacturer 1 C-Media INC.
> iProduct 2 USB Audio
> iSerial 0
> bNumConfigurations 1
> Configuration Descriptor:
> bLength 9
> bDescriptorType 2
> wTotalLength 110
> bNumInterfaces 2
> bConfigurationValue 1
> iConfiguration 0
> bmAttributes 0x80
> MaxPower 500mA
> 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 40
> 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 2
> wChannelConfig 0x0003
> Left Front (L)
> Right Front (R)
> iChannelNames 0
> iTerminal 0
> AudioControl Interface Descriptor:
> bLength 10
> bDescriptorType 36
> bDescriptorSubtype 6 (FEATURE_UNIT)
> bUnitID 13
> bSourceID 1
> bControlSize 1
> bmaControls( 0) 0x03
> Mute
> Volume
> bmaControls( 1) 0x00
> bmaControls( 2) 0x00
> iFeature 0
> AudioControl Interface Descriptor:
> bLength 9
> bDescriptorType 36
> bDescriptorSubtype 3 (OUTPUT_TERMINAL)
> bTerminalID 3
> wTerminalType 0x0301 Speaker
> bAssocTerminal 0
> bSourceID 13
> 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 2
> bSubframeSize 2
> bBitResolution 16
> bSamFreqType 1 Discrete
> tSamFreq[ 0] 48000
> Endpoint Descriptor:
> bLength 9
> bDescriptorType 5
> bEndpointAddress 0x06 EP 6 OUT
> bmAttributes 9
> Transfer Type Isochronous
> Synch Type Adaptive
> Usage Type Data
> wMaxPacketSize 0x00c0 1x 192 bytes
> bInterval 1
> bRefresh 0
> bSynchAddress 0
> AudioControl Endpoint Descriptor:
> bLength 7
> bDescriptorType 37
> bDescriptorSubtype 1 (EP_GENERAL)
> bmAttributes 0x00
> bLockDelayUnits 0 Undefined
> wLockDelay 0 Undefined
>
> EOF
> -
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to [email protected]
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/
>