Bug 180997

Summary: Sound does not work when booting with kernel-xen-hypervisor
Product: [Fedora] Fedora Reporter: Jason <nospam>
Component: kernel-xenAssignee: Xen Maintainance List <xen-maint>
Status: CLOSED WONTFIX QA Contact: Virtualization Bugs <virt-bugs>
Severity: medium Docs Contact:
Priority: medium    
Version: 5CC: bstein, mattdm, sundaram
Target Milestone: ---   
Target Release: ---   
Hardware: i686   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2008-02-26 22:57:06 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 179629    
Attachments:
Description Flags
Output from lspci, lsmod and cat'ing files from /proc/asound
none
Output from lspci, lsmod, and /proc/asound
none
Copy of /var/log/dmesg
none
Output from 'xm dmesg' none

Description Jason 2006-02-11 04:27:06 UTC
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.0.1) Gecko/20060208 Fedora/1.5.0.1-2.1 Firefox/1.5.0.1

Description of problem:
When boot with kernel-xen-hypervisor-2.6.15-1.51_FC5 (as well as early xen kernels) sound does not work.  Modules for the sound card are loaded but the GStreamer Volume Applet is unable to detect the sound card and no output is produced when attempting to play audio.

When booting with kernel-2.6.15-1.1928_FC5 (and earlier non xen kernels) sound works as expected.

Version-Release number of selected component (if applicable):
kernel-xen-hypervisor-2.6.15-1.51_FC5

How reproducible:
Always

Steps to Reproduce:
1. Boot with kernel-xen-hypervisor
  

Actual Results:  Sound output does not work.

Expected Results:  Sound should work.

Additional info:

The system is a Dell Inspiron 8000 laptop.

# lspci
00:00.0 Host bridge: Intel Corporation 82815 815 Chipset Host Bridge and Memory Controller Hub (rev 02)
00:01.0 PCI bridge: Intel Corporation 82815 815 Chipset AGP Bridge (rev 02)
00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev 03)
00:1f.0 ISA bridge: Intel Corporation 82801BAM ISA Bridge (LPC) (rev 03)
00:1f.1 IDE interface: Intel Corporation 82801BAM IDE U100 (rev 03)
00:1f.2 USB Controller: Intel Corporation 82801BA/BAM USB (Hub #1) (rev 03)
01:00.0 VGA compatible controller: nVidia Corporation NV17 [GeForce4 440 Go] (rev a3)
02:03.0 Multimedia audio controller: ESS Technology ES1983S Maestro-3i PCI Audio Accelerator (rev 10)
02:06.0 PCI bridge: Actiontec Electronics Inc Mini-PCI bridge (rev 11)
02:0f.0 CardBus bridge: Texas Instruments PCI4451 PC card Cardbus Controller
02:0f.1 CardBus bridge: Texas Instruments PCI4451 PC card Cardbus Controller
02:0f.2 FireWire (IEEE 1394): Texas Instruments PCI4451 IEEE-1394 Controller
08:04.0 Ethernet controller: Intel Corporation 82557/8/9 [Ethernet Pro 100] (rev 08)
08:08.0 Communication controller: Agere Systems WinModem 56k (rev 01)

# lsmod
Module                  Size  Used by
xt_physdev              6353  1
loop                   19657  2
bridge                 51925  0
ppdev                  12741  0
autofs4                23237  1
i2c_dev                12869  0
i2c_core               24897  1 i2c_dev
xt_limit                6721  6
xt_tcpudp               7233  21
iptable_mangle          6849  0
ipt_LOG                10049  8
ipt_MASQUERADE          7745  0
ip_nat                 20973  1 ipt_MASQUERADE
ipt_TOS                 6465  0
ipt_REJECT              9537  1
ip_conntrack_irc       10801  0
ip_conntrack_ftp       11697  0
xt_state                6209  6
ip_conntrack           54681  5 ipt_MASQUERADE,ip_nat,ip_conntrack_irc,ip_conntrack_ftp,xt_state
nfnetlink              10585  2 ip_nat,ip_conntrack
iptable_filter          7105  1
ip_tables              16517  2 iptable_mangle,iptable_filter
x_tables               16965  9 xt_physdev,xt_limit,xt_tcpudp,ipt_LOG,ipt_MASQUERADE,ipt_TOS,ipt_REJECT,xt_state,ip_tables
dm_mirror              24209  0
dm_mod                 55257  1 dm_mirror
video                  19269  0
button                 10705  0
battery                13381  0
ac                      8901  0
ipv6                  249633  12
lp                     16393  0
parport_pc             29540  1
parport                38153  3 ppdev,lp,parport_pc
nvram                  12745  0
usblp                  17473  0
ohci1394               36357  0
uhci_hcd               33617  0
ieee1394              293913  1 ohci1394
e100                   39109  0
mii                     9409  1 e100
joydev                 13441  0
snd_maestro3           28229  0
snd_ac97_codec         87905  1 snd_maestro3
snd_ac97_bus            6465  1 snd_ac97_codec
snd_seq_dummy           7749  0
snd_seq_oss            33985  0
snd_seq_midi_event     11329  1 snd_seq_oss
snd_seq                53297  5 snd_seq_dummy,snd_seq_oss,snd_seq_midi_event
snd_seq_device         12877  3 snd_seq_dummy,snd_seq_oss,snd_seq
snd_pcm_oss            49489  0
snd_mixer_oss          20545  1 snd_pcm_oss
snd_pcm                81989  3 snd_maestro3,snd_ac97_codec,snd_pcm_oss
snd_timer              26949  2 snd_seq,snd_pcm
snd_page_alloc         14537  1 snd_pcm
snd                    54085  9 snd_maestro3,snd_ac97_codec,snd_seq_oss,snd_seq,snd_seq_device,snd_pcm_oss,snd_mixer_oss,snd_pcm,snd_timer
soundcore              13473  1 snd
hw_random               9817  0
ext3                  123209  1
jbd                    57685  1 ext3

Comment 1 Jason 2006-02-12 11:19:56 UTC
Created attachment 124556 [details]
Output from lspci, lsmod and cat'ing files from /proc/asound

This files contains output for lspci lsmod and output from files in
/proc/asound when booting under kernel-xen-hypervisor-2.6.15-1.51_FC5

Comment 2 Jason 2006-02-12 11:20:59 UTC
Created attachment 124557 [details]
Output from lspci, lsmod, and /proc/asound

This files contains output for lspci lsmod and output from files in
/proc/asound when booting under kernel-2.6.15-1.1928_FC5

Comment 3 Rahul Sundaram 2006-02-20 10:39:22 UTC

These bugs are being closed since a large number of updates have been released
after the FC5 test1 and test2 releases. Kindly update your system by running yum
update as root user or try out the third and final test version of FC5 being
released in a short while and verify if the bugs are still present on the system
.Reopen or file new bug reports as appropriate after confirming the presence of
this issue. Thanks

Comment 4 Jason 2006-02-20 11:10:02 UTC
FC5T3 is already available here: 
ftp://ftp.dti.ad.jp/pub/Linux/Fedora/core/test/4.92/  I have downloaded and 
done a clean install and still suffer from the same problem with kernel-xen-
hypervisor-2.6.15-1.1955_FC5.  Sound functions with kernel-2.6.15-1.1955_FC5.

Comment 5 Jason 2006-02-25 06:53:42 UTC
I have the following line in /var/log/dmesg when boot with kernel-xen-
hypervisor:
PCI: Found IRQ 5 for device 0000:02:03.0

But /proc/interrupts reads:
           CPU0
  1:         10        Phys-irq  i8042
  7:          4        Phys-irq  parport0
  8:          1        Phys-irq  rtc
  9:          0        Phys-irq  acpi
 10:      14162        Phys-irq  yenta, yenta, uhci_hcd:usb1, ohci1394, peth0
 12:       2336        Phys-irq  i8042
 14:      26839        Phys-irq  ide0
256:     280954     Dynamic-irq  timer0
257:          0     Dynamic-irq  resched0
258:          0     Dynamic-irq  callfunc0
259:         85     Dynamic-irq  xenbus
260:          0     Dynamic-irq  console
NMI:          0
LOC:          0
ERR:          0
MIS:          0

/proc/interrupts in native kernel, for comparison, reads:
           CPU0
  0:   11987784          XT-PIC  timer
  1:         12          XT-PIC  i8042
  2:          0          XT-PIC  cascade
  5:          4          XT-PIC  Maestro3
  7:          4          XT-PIC  parport0
  8:          1          XT-PIC  rtc
  9:          1          XT-PIC  acpi
 10:   15662864          XT-PIC  yenta, yenta, ohci1394, uhci_hcd:usb1, eth0
 12:       2336          XT-PIC  i8042
 14:     435778          XT-PIC  ide0
NMI:          0
LOC:          0
ERR:          0
MIS:          0

Comment 6 Jason 2006-03-09 14:22:12 UTC
I found the cause, and a work around that seems to do the job very well for me, 
however I am completely unsure of the negative implications of what I've done.  

I'm sure someones computer would get up and make a trip to taco bell in the 
early AM if they did this on their computer.  This is a definate case of a 
little bit of knowledge is a very dangerous thing.

I noticed the message in /var/log/dmesg that read:
"architecture does not support 28bit PCI busmaster DMA"
when booting with the xen kernel.

I downloaded and installed the kernel source RPM and tracked the message down  
to /usr/src/linux/sound/pci/maestro3.c

I ended up changing the lines that read:
        /* check, if we can restrict PCI DMA transfers to 28 bits */
        if (pci_set_dma_mask(pci, 0x0fffffff) < 0 ||
            pci_set_consistent_dma_mask(pci, 0x0fffffff) < 0) {
                snd_printk(KERN_ERR "architecture does not support 28bit PCI 
busmaster DMA\n");
                pci_disable_device(pci);
                return -ENXIO;
        }

to read like this (commented out the printk, pci disable and return):
        /* check, if we can restrict PCI DMA transfers to 28 bits */
        if (pci_set_dma_mask(pci, 0x0fffffff) < 0 ||
            pci_set_consistent_dma_mask(pci, 0x0fffffff) < 0) {
                //snd_printk(KERN_ERR "architecture does not support 28bit PCI 
busmaster DMA\n");
                //pci_disable_device(pci);
                //return -ENXIO;
        }

From there I compiled the module and replaced the existing snd-maestro3.ko 
in /lib/modules/2.6.15-1.2032_FC5xen0/kernel/sound/pci and rebooted to reload 
all the sound modules and now I have good working sound, with no obvious ill 
effects.

Comment 7 Juan Quintela 2006-03-16 17:38:35 UTC
Device only support 28bit addresses (i.e. <=256MB RAM)
With your workaround, if you have less than 256MB RAM, and while you are lucky
and your buffers happen to be in the low 256MB, it will work, otherwise, will fail.

Trying to find anyways, why xen is not support 28bits DMA.

Later, Juan.

Comment 8 Chris Wright 2006-03-16 18:28:43 UTC
Please post your full dmesg from bootup.

Comment 9 Jason 2006-03-17 00:01:53 UTC
Created attachment 126258 [details]
Copy of /var/log/dmesg

Comment 10 Jason 2006-03-17 00:02:46 UTC
Created attachment 126259 [details]
Output from 'xm dmesg'

Comment 11 Brian Stein 2006-11-13 21:16:02 UTC
Please confirm this BZ is still current with the latest FC5 updates.

Comment 12 Matthew Miller 2007-04-06 16:05:59 UTC
Fedora Core 5 and Fedora Core 6 are, as we're sure you've noticed, no longer
test releases. We're cleaning up the bug database and making sure important bug
reports filed against these test releases don't get lost. It would be helpful if
you could test this issue with a released version of Fedora or with the latest
development / test release. Thanks for your help and for your patience.

[This is a bulk message for all open FC5/FC6 test release bugs. I'm adding
myself to the CC list for each bug, so I'll see any comments you make after this
and do my best to make sure every issue gets proper attention.]


Comment 13 Red Hat Bugzilla 2007-07-25 01:30:15 UTC
change QA contact

Comment 14 Chris Lalancette 2008-02-26 22:57:06 UTC
This report targets FC5, which is now end-of-life.

Please re-test against Fedora 7 or later, and if the issue persists, open a new bug.

Thanks