EMU 1212m card (emu10k1 driver) stops working after PCI reset snd_emu10k1 invalid position buffer size

Bug #1886235 reported by Kamyar Kaviani
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
alsa-driver (Ubuntu)
New
Undecided
Unassigned

Bug Description

After using my computer for a day or so and coming back to it, my sound card, EMU 1212m, randomly stops to work. And the only solution I have found is completely turn off the power to the motherboard and wait a few minutes until powering back on.

When the card works, I am able to reproduce the problem after typing:

sudo echo 1 > /sys/bus/pci/devices/0000:05:04.0/reset

Executing that command stops the card from outputting any sound, and I see the following printed in dmesg:

[ 73.029029] snd_pcm_update_hw_ptr0: 3153 callbacks suppressed
[ 73.029033] snd_emu10k1 0000:05:04.0: invalid position: , pos = 16759783, buffer size = 16384, period size = 16384
[ 73.029114] snd_emu10k1 0000:05:04.0: invalid position: , pos = 16759783, buffer size = 16384, period size = 16384
[ 73.029122] snd_emu10k1 0000:05:04.0: invalid position: , pos = 16759783, buffer size = 16384, period size = 16384
[ 73.040768] snd_emu10k1 0000:05:04.0: invalid position: , pos = 16759783, buffer size = 16384, period size = 16384
[ 73.046208] snd_emu10k1 0000:05:04.0: interrupt: PCI error
[ 73.046235] AMD-Vi: Event logged [IO_PAGE_FAULT device=05:00.0 domain=0x0015 address=0x0 flags=0x0000]
[ 73.046244] AMD-Vi: Event logged [IO_PAGE_FAULT device=05:00.0 domain=0x0015 address=0x0 flags=0x0000]
[ 73.046250] AMD-Vi: Event logged [IO_PAGE_FAULT device=05:00.0 domain=0x0015 address=0x0 flags=0x0000]
[ 73.046255] AMD-Vi: Event logged [IO_PAGE_FAULT device=05:00.0 domain=0x0015 address=0x0 flags=0x0000]
[ 73.046261] AMD-Vi: Event logged [IO_PAGE_FAULT device=05:00.0 domain=0x0015 address=0x0 flags=0x0000]
[ 73.046266] AMD-Vi: Event logged [IO_PAGE_FAULT device=05:00.0 domain=0x0015 address=0x0 flags=0x0000]

Further resets result in

[ 497.663897] snd_emu10k1 0000:05:04.0: invalid position: , pos = 16759783, buffer size = 16384, period size = 16384
[ 497.663971] snd_emu10k1 0000:05:04.0: invalid position: , pos = 16759783, buffer size = 16384, period size = 16384
[ 497.663997] snd_emu10k1 0000:05:04.0: invalid position: , pos = 16759783, buffer size = 16384, period size = 16384
[ 497.674025] snd_emu10k1 0000:05:04.0: invalid position: , pos = 16759783, buffer size = 16384, period size = 16384
[ 497.684046] snd_emu10k1 0000:05:04.0: invalid position: , pos = 16759783, buffer size = 16384, period size = 16384
[ 497.694065] snd_emu10k1 0000:05:04.0: invalid position: , pos = 16759783, buffer size = 16384, period size = 16384

It seems this is a problem with the driver snd_emu10k1 (maybe invalid buffer size?). In the past, I have used this card in earlier Ubuntu's before without any issues. All I had to do was to build and install the latest alsa-firmware, alsa-lib, and alsa-utils from https://www.alsa-project.org/wiki/Download.

It's surprising that this card is not natively supported out of the box in 20.04, but even worse, the driver emu10k1 appears to be broken.

ProblemType: Bug
DistroRelease: Ubuntu 20.04
Package: alsa-base 1.0.25+dfsg-0ubuntu5
ProcVersionSignature: Ubuntu 5.4.0-40.44-generic 5.4.44
Uname: Linux 5.4.0-40-generic x86_64
ApportVersion: 2.20.11-0ubuntu27.3
Architecture: amd64
CasperMD5CheckResult: skip
CurrentDesktop: ubuntu:GNOME
Date: Fri Jul 3 14:56:03 2020
InstallationDate: Installed on 2020-06-16 (17 days ago)
InstallationMedia: Ubuntu 20.04 LTS "Focal Fossa" - Release amd64 (20200423)
PackageArchitecture: all
ProcEnviron:
 TERM=xterm-256color
 PATH=(custom, no user)
 XDG_RUNTIME_DIR=<set>
 LANG=en_US.UTF-8
 SHELL=/bin/bash
SourcePackage: alsa-driver
UpgradeStatus: No upgrade log present (probably fresh install)
dmi.bios.date: 05/12/2020
dmi.bios.vendor: American Megatrends Inc.
dmi.bios.version: 1409
dmi.board.asset.tag: Default string
dmi.board.name: ROG STRIX X570-E GAMING
dmi.board.vendor: ASUSTeK COMPUTER INC.
dmi.board.version: Rev X.0x
dmi.chassis.asset.tag: Default string
dmi.chassis.type: 3
dmi.chassis.vendor: Default string
dmi.chassis.version: Default string
dmi.modalias: dmi:bvnAmericanMegatrendsInc.:bvr1409:bd05/12/2020:svnSystemmanufacturer:pnSystemProductName:pvrSystemVersion:rvnASUSTeKCOMPUTERINC.:rnROGSTRIXX570-EGAMING:rvrRevX.0x:cvnDefaultstring:ct3:cvrDefaultstring:
dmi.product.family: To be filled by O.E.M.
dmi.product.name: System Product Name
dmi.product.sku: SKU
dmi.product.version: System Version
dmi.sys.vendor: System manufacturer

Revision history for this message
Kamyar Kaviani (kamyar-kaviani87) wrote :
Revision history for this message
Kamyar Kaviani (kamyar-kaviani87) wrote :
summary: EMU 1212m card (emu10k1 driver) stops working after PCI reset
+ snd_emu10k1 invalid position buffer size
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.