Upgrading to Jaunty breaks RME Hammerfall soundcard

Bug #363003 reported by Nick Murtagh
8
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Fix Released
Medium
Unassigned
Jaunty
Fix Released
Medium
Brad Figg

Bug Description

SRU Justification:

Impact: This is a regression in the Jaunty release. This device worked normally up to 2.6.28.11 where it regressed.

Fix: There is already a patch upstream that is working for a group of uses though thesubmitter of this bug has not indicated if it fixes their issue or not.

---

The hdsp driver seems to be broken in 2.6.28-11-generic and 2.6.28-3-rt. This worked fine before upgrading. Going back to an older kernel (2.6.24-23-generic) fixes the problem.

nick@D420:~$ dmesg | grep -i rme
[ 20.978602] RME Hammerfall DSP 0000:03:00.0: enabling device (0080 -> 0082)
[ 20.978617] RME Hammerfall DSP 0000:03:00.0: PCI INT A -> GSI 19 (level, low) -> IRQ 19
[ 22.982321] RME Hammerfall DSP 0000:03:00.0: PCI INT A disabled
[ 22.982338] RME Hammerfall DSP: probe of 0000:03:00.0 failed with error -5

Revision history for this message
Nick Murtagh (nickm-go2) wrote :
Download full text (12.2 KiB)

nick@D420:~$ lspci -vv
00:00.0 Host bridge: Intel Corporation Mobile 945GM/PM/GMS, 943/940GML and 945GT Express Memory Controller Hub (rev 03)
 Subsystem: Dell Device 01d6
 Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
 Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort+ >SERR- <PERR- INTx-
 Latency: 0
 Capabilities: <access denied>
 Kernel driver in use: agpgart-intel
 Kernel modules: intel-agp

00:02.0 VGA compatible controller: Intel Corporation Mobile 945GM/GMS, 943/940GML Express Integrated Graphics Controller (rev 03)
 Subsystem: Dell Device 01d6
 Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
 Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
 Latency: 0
 Interrupt: pin A routed to IRQ 16
 Region 0: Memory at dff00000 (32-bit, non-prefetchable) [size=512K]
 Region 1: I/O ports at eff8 [size=8]
 Region 2: Memory at c0000000 (32-bit, prefetchable) [size=256M]
 Region 3: Memory at dfec0000 (32-bit, non-prefetchable) [size=256K]
 Capabilities: <access denied>
 Kernel modules: intelfb

00:02.1 Display controller: Intel Corporation Mobile 945GM/GMS/GME, 943/940GML Express Integrated Graphics Controller (rev 03)
 Subsystem: Dell Device 01d6
 Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
 Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
 Latency: 0
 Region 0: Memory at dff80000 (32-bit, non-prefetchable) [size=512K]
 Capabilities: <access denied>

00:1b.0 Audio device: Intel Corporation 82801G (ICH7 Family) High Definition Audio Controller (rev 01)
 Subsystem: Dell Device 01d6
 Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B- DisINTx-
 Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
 Latency: 0, Cache Line Size: 64 bytes
 Interrupt: pin A routed to IRQ 21
 Region 0: Memory at dfebc000 (64-bit, non-prefetchable) [size=16K]
 Capabilities: <access denied>
 Kernel driver in use: HDA Intel
 Kernel modules: snd-hda-intel

00:1c.0 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 1 (rev 01)
 Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B- DisINTx+
 Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
 Latency: 0, Cache Line Size: 64 bytes
 Bus: primary=00, secondary=0b, subordinate=0b, sec-latency=0
 Secondary status: 66MHz- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort+ <SERR- <PERR-
 BridgeCtl: Parity- SERR+ NoISA- VGA- MAbort- >Reset- FastB2B-
  PriDiscTmr- SecDiscTmr- DiscTmrStat- DiscTmrSERREn-
 Capabilities: <access denied>
 Kernel driver in use: pcieport-driver
 Kernel modules: shpchp

00:1c.1 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 2 (rev 01)
 Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B- DisINTx+
 Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <T...

Revision history for this message
Nick Murtagh (nickm-go2) wrote :
Download full text (49.5 KiB)

[ 0.000000] BIOS EBDA/lowmem at: 0009f000/0009f000
[ 0.000000] Initializing cgroup subsys cpuset
[ 0.000000] Initializing cgroup subsys cpu
[ 0.000000] Linux version 2.6.28-11-generic (buildd@palmer) (gcc version 4.3.3 (Ubuntu 4.3.3-5ubuntu4) ) #42-Ubuntu SMP Fri Apr 17 01:57:59 UTC 2009 (Ubuntu 2.6.28-11.42-generic)
[ 0.000000] KERNEL supported cpus:
[ 0.000000] Intel GenuineIntel
[ 0.000000] AMD AuthenticAMD
[ 0.000000] NSC Geode by NSC
[ 0.000000] Cyrix CyrixInstead
[ 0.000000] Centaur CentaurHauls
[ 0.000000] Transmeta GenuineTMx86
[ 0.000000] Transmeta TransmetaCPU
[ 0.000000] UMC UMC UMC UMC
[ 0.000000] BIOS-provided physical RAM map:
[ 0.000000] BIOS-e820: 0000000000000000 - 000000000009f000 (usable)
[ 0.000000] BIOS-e820: 000000000009f000 - 00000000000a0000 (reserved)
[ 0.000000] BIOS-e820: 0000000000100000 - 000000007f691400 (usable)
[ 0.000000] BIOS-e820: 000000007f691400 - 0000000080000000 (reserved)
[ 0.000000] BIOS-e820: 00000000e0000000 - 00000000f0007000 (reserved)
[ 0.000000] BIOS-e820: 00000000f0008000 - 00000000f000c000 (reserved)
[ 0.000000] BIOS-e820: 00000000fec00000 - 00000000fec10000 (reserved)
[ 0.000000] BIOS-e820: 00000000fed20000 - 00000000feda0000 (reserved)
[ 0.000000] BIOS-e820: 00000000fee00000 - 00000000fee10000 (reserved)
[ 0.000000] BIOS-e820: 00000000ffb00000 - 0000000100000000 (reserved)
[ 0.000000] DMI 2.4 present.
[ 0.000000] last_pfn = 0x7f691 max_arch_pfn = 0x100000
[ 0.000000] Scanning 2 areas for low memory corruption
[ 0.000000] modified physical RAM map:
[ 0.000000] modified: 0000000000000000 - 0000000000002000 (usable)
[ 0.000000] modified: 0000000000002000 - 0000000000006000 (reserved)
[ 0.000000] modified: 0000000000006000 - 0000000000007000 (usable)
[ 0.000000] modified: 0000000000007000 - 0000000000010000 (reserved)
[ 0.000000] modified: 0000000000010000 - 0000000000092000 (usable)
[ 0.000000] modified: 000000000009f000 - 00000000000a0000 (reserved)
[ 0.000000] modified: 0000000000100000 - 000000007f691400 (usable)
[ 0.000000] modified: 000000007f691400 - 0000000080000000 (reserved)
[ 0.000000] modified: 00000000e0000000 - 00000000f0007000 (reserved)
[ 0.000000] modified: 00000000f0008000 - 00000000f000c000 (reserved)
[ 0.000000] modified: 00000000fec00000 - 00000000fec10000 (reserved)
[ 0.000000] modified: 00000000fed20000 - 00000000feda0000 (reserved)
[ 0.000000] modified: 00000000fee00000 - 00000000fee10000 (reserved)
[ 0.000000] modified: 00000000ffb00000 - 0000000100000000 (reserved)
[ 0.000000] kernel direct mapping tables up to 373fe000 @ 10000-16000
[ 0.000000] RAMDISK: 378a1000 - 37fef67d
[ 0.000000] Allocated new RAMDISK: 00881000 - 00fcf67d
[ 0.000000] Move RAMDISK from 00000000378a1000 - 0000000037fef67c to 00881000 - 00fcf67c
[ 0.000000] ACPI: RSDP 000FC1D0, 0014 (r0 DELL )
[ 0.000000] ACPI: RSDT 7F691A95, 0038 (r1 DELL M07 27D60616 ASL 61)
[ 0.000000] ACPI: FACP 7F692800, 0074 (r1 DELL M07 27D60616 ASL 61)
[ 0.000000] ACPI: DSDT 7F693400, 3D6E (r1 INT430 SYSFexxx ...

Revision history for this message
Nick Murtagh (nickm-go2) wrote :
Revision history for this message
Leann Ogasawara (leannogasawara) wrote :

Just posting the workaround mentioned in that thread:

"i use this workaround for the moment:

* boot the kernel
* plug in my cardbus-interface and see the error mesage

        RME Hammerfall DSP 0000:16:00.0: enabling device (0000 -> 0002)
        RME Hammerfall DSP 0000:16:00.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16
        Hammerfall-DSP: no Digiface or Multiface connected!
        RME Hammerfall DSP 0000:16:00.0: PCI INT A disabled
        RME Hammerfall DSP: probe of 0000:16:00.0 failed with error -5

and than the workaround...
* rmmod snd_hdsp
* modprobe snd-hdsp
"

The thread also mentioned the following patch to test which has already been merged upstream:

http://article.gmane.org/gmane.linux.alsa.devel/60411

ogasawara@yoji:~/linux-2.6$ git log -p e588ed8304f76cbb396ee85e657a58990298a675

commit e588ed8304f76cbb396ee85e657a58990298a675

Author: Tim Blechmann <email address hidden>

Date: Fri Feb 20 19:30:35 2009 +0100

    ALSA: hdsp - poll for iobox

    sleeping for 2 seconds before checking for the iobox is not enough

    on some systems.

    this patch increases the timeout, but polls the card during that

    time. it thus speeds up the module loading when the card has already

    been initialized, while being more robust on systems, which require

    a higher timeout than the predefined 2 seconds.

    Signed-off-by: Tim Blechmann <email address hidden>

    Signed-off-by: Takashi Iwai <email address hidden>

Unfortuantely this patch did not make it into Jaunty. However, it should be in the Mainline Kernel Builds the Ubuntu kernel team has been producing. I'd recomment testing the 2.6.29 build, please let us know your results. Thanks.

https://wiki.ubuntu.com/KernelMainlineBuilds

Changed in linux (Ubuntu):
importance: Undecided → Medium
status: New → Triaged
tags: added: regression-release
Brad Figg (brad-figg)
Changed in linux (Ubuntu):
assignee: nobody → Brad Figg (brad-figg)
Revision history for this message
Brad Figg (brad-figg) wrote :

SRU Justification:

This is a regression in the Jaunty release. This device worked normally up to 2.6.28.11 where it regressed. There is already a patch upstream that is working for a group of uses though the submitter of this bug has not indicated if it fixes their issue or not.

Fix: Cherry-pick the upstream patch

Brad Figg (brad-figg)
Changed in linux (Ubuntu):
status: Triaged → In Progress
Revision history for this message
Nick Murtagh (nickm-go2) wrote :

Sorry for the delay, will test that new kernel and report back ASAP!

Revision history for this message
Nick Murtagh (nickm-go2) wrote :

I tried the following packages from http://kernel.ubuntu.com/~kernel-ppa/mainline/v2.6.29.3/

linux-headers-2.6.29-02062903_2.6.29-02062903_all.deb
linux-headers-2.6.29-02062903-generic_2.6.29-02062903_i386.deb
linux-image-2.6.29-02062903-generic_2.6.29-02062903_i386.deb

and the problem is not fixed. Will try another kernel.

Revision history for this message
Nick Murtagh (nickm-go2) wrote :

The packages from http://kernel.ubuntu.com/~kernel-ppa/mainline/v2.6.30-rc5/ fix the problem

[ 22.175983] RME Hammerfall DSP 0000:03:00.0: enabling device (0080 -> 0082)
[ 22.176000] RME Hammerfall DSP 0000:03:00.0: PCI INT A -> GSI 19 (level, low) -> IRQ 19
[ 22.187757] HDA Intel 0000:00:1b.0: PCI INT A -> GSI 21 (level, low) -> IRQ 21
[ 22.187798] HDA Intel 0000:00:1b.0: setting latency timer to 64
[ 22.304658] input: HDA Intel Mic at Ext Left Jack as /devices/pci0000:00/0000:00:1b.0/input/input9
[ 22.304785] input: HDA Intel HP Out at Ext Left Jack as /devices/pci0000:00/0000:00:1b.0/input/input10
[ 24.391158] Hammerfall-DSP: wait for FIFO status <= 0 failed after 30 iterations
[ 24.391272] RME Hammerfall DSP 0000:03:00.0: firmware: requesting multiface_firmware_rev11.bin
[ 24.482210] Hammerfall-DSP: loading firmware
[ 27.784129] Hammerfall-DSP: finished firmware loading

Stefan Bader (smb)
Changed in linux (Ubuntu):
assignee: Brad Figg (brad-figg) → nobody
status: In Progress → Fix Released
Changed in linux (Ubuntu Jaunty):
assignee: nobody → Brad Figg (brad-figg)
importance: Undecided → Medium
status: New → Fix Committed
Stefan Bader (smb)
description: updated
Revision history for this message
Martin Pitt (pitti) wrote :

Accepted linux into jaunty-proposed, the package will build now and be available in a few hours. Please test and give feedback here. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Thank you in advance!

tags: added: verification-needed
Steve Beattie (sbeattie)
tags: added: hw-specific
Revision history for this message
Nick Murtagh (nickm-go2) wrote :

I installed 2.6.28-14-generic and it fixes the problem. Thanks!

[ 24.651924] RME Hammerfall DSP 0000:03:00.0: enabling device (0080 -> 0082)
[ 24.651938] RME Hammerfall DSP 0000:03:00.0: PCI INT A -> GSI 19 (level, low) -> IRQ 19

...

[ 26.663256] Hammerfall-DSP: wait for FIFO status <= 0 failed after 30 iterations
[ 26.663368] RME Hammerfall DSP 0000:03:00.0: firmware: requesting multiface_firmware_rev11.bin
[ 26.758455] Hammerfall-DSP: loading firmware
[ 30.060113] Hammerfall-DSP: finished firmware loading

Revision history for this message
Steve Beattie (sbeattie) wrote :

Nick, thanks a lot for testing this!

tags: added: verification-done
removed: verification-needed
Revision history for this message
Nick Murtagh (nickm-go2) wrote :

I spoke too soon! It only seems to fix it if the multiface break out box has been unplugged before boot - ie it has no firmware. If the multiface is left plugged in when the laptop is shutdown, it keeps its firmware. Booting up with it in this state doesn't work.

[ 24.630145] RME Hammerfall DSP 0000:03:00.0: enabling device (0080 -> 0082)
[ 24.630159] RME Hammerfall DSP 0000:03:00.0: PCI INT A -> GSI 19 (level, low) -> IRQ 19

...

[ 26.636131] Hammerfall-DSP: no Digiface or Multiface connected!
[ 26.636195] RME Hammerfall DSP 0000:03:00.0: PCI INT A disabled
[ 26.636214] RME Hammerfall DSP: probe of 0000:03:00.0 failed with error -5

The previous workaround still works:

$ rmmod snd_hdsp
$ modprobe snd_hdsp

which results in this in dmesg

[ 6433.866522] RME Hammerfall DSP 0000:03:00.0: PCI INT A -> GSI 19 (level, low) -> IRQ 19
[ 6435.868164] Hammerfall-DSP: Firmware already present, initializing card.

So it looks like the patch applied is only a partial fix :(

Revision history for this message
Launchpad Janitor (janitor) wrote :
Download full text (7.2 KiB)

This bug was fixed in the package linux - 2.6.28-15.48

---------------
linux (2.6.28-15.48) jaunty-proposed; urgency=low

  [ Andy Whitcroft ]

  * SAUCE: pnp: add PNP resource range checking function
    - LP: #349314
  * SAUCE: i915: enable MCHBAR if needed
    - LP: #349314

  [ Brad Figg ]

  * SAUCE: Add information to recognize Toshiba Satellite Pro M10 Alps
    Touchpad
    - LP: #330885

  [ Colin Ian King ]

  * Input: atkbd - add forced release keys quirk for Samsung Q45
    - LP: #347623

  [ Manoj Iyer ]

  * SAUCE: Added quirk to enable the installer to recognize NetXen NIC.
    - LP: #389603

  [ Stefan Bader ]

  * SAUCE: input: Blacklist digitizers from joydev.c
    - LP: #300143

  [ Tim Gardner ]

  * Revert "SAUCE: md: wait for possible pending deletes after stopping an
    array"
    - LP: #334994

  [ Upstream Kernel Changes ]

  * bonding: Fix updating of speed/duplex changes
    - LP: #371651
  * net: fix sctp breakage
    - LP: #371651
  * ipv6: don't use tw net when accounting for recycled tw
    - LP: #371651
  * ipv6: Plug sk_buff leak in ipv6_rcv (net/ipv6/ip6_input.c)
    - LP: #371651
  * netfilter: nf_conntrack_tcp: fix unaligned memory access in tcp_sack
    - LP: #371651
  * xfrm: spin_lock() should be spin_unlock() in xfrm_state.c
    - LP: #371651
  * bridge: bad error handling when adding invalid ether address
    - LP: #371651
  * bas_gigaset: correctly allocate USB interrupt transfer buffer
    - LP: #371651
  * USB: EHCI: add software retry for transaction errors
    - LP: #371651
  * USB: fix USB_STORAGE_CYPRESS_ATACB
    - LP: #371651
  * USB: usb-storage: increase max_sectors for tape drives
    - LP: #371651
  * USB: gadget: fix rndis regression
    - LP: #371651
  * USB: add quirk to avoid config and interface strings
    - LP: #371651
  * cifs: fix buffer format byte on NT Rename/hardlink
    - LP: #371651
  * b43: fix b43_plcp_get_bitrate_idx_ofdm return type
    - LP: #371651
  * Add a missing unlock_kernel() in raw_open()
    - LP: #371651
  * x86, PAT, PCI: Change vma prot in pci_mmap to reflect inherited prot
    - LP: #371651
  * security/smack: fix oops when setting a size 0 SMACK64 xattr
    - LP: #371651
  * x86, setup: mark %esi as clobbered in E820 BIOS call
    - LP: #371651
  * dock: fix dereference after kfree()
    - LP: #371651
  * mm: define a UNIQUE value for AS_UNEVICTABLE flag
    - LP: #371651
  * mm: do_xip_mapping_read: fix length calculation
    - LP: #371651
  * vfs: skip I_CLEAR state inodes
    - LP: #371651
  * net/netrom: Fix socket locking
    - LP: #371651
  * kprobes: Fix locking imbalance in kretprobes
    - LP: #371651
  * netfilter: {ip, ip6, arp}_tables: fix incorrect loop detection
    - LP: #371651
  * ALSA: hda - add missing comma in ad1884_slave_vols
    - LP: #371651
  * SCSI: libiscsi: fix iscsi pool error path
    - LP: #371651
  * SCSI: libiscsi: fix iscsi pool error path again
    - LP: #371651
  * posixtimers, sched: Fix posix clock monotonicity
    - LP: #371651
  * sched: do not count frozen tasks toward load
    - LP: #371651
  * spi: spi_write_then_read() bugfixes
    - LP: #371651
  * powerpc: Fix data-corrupting bug in __futex_atomic_op
    - LP...

Read more...

Changed in linux (Ubuntu Jaunty):
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.