This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
Home Products Support Community News


[Xen-devel] Can't unbind PCI sound card

To: <xen-devel@xxxxxxxxxxxxxxxxxxx>
Subject: [Xen-devel] Can't unbind PCI sound card
From: "Tech Writer" <TechWtr@xxxxxxxxxxxx>
Date: Thu, 27 Sep 2007 08:10:22 -0400
Cc: TechWtr@xxxxxxxxxxxx
Delivery-date: Thu, 27 Sep 2007 05:25:48 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
This is my first post, so I am hoping this is the right place to ask my question...  I have been asked to test some training materials that we received, and provide sample solutions.  I've been unable to get one of the exercises to work properly, even though it follows the same steps that are available both in the documentation, and throughout the web.  
The task is to unbind the PCI sound card from Domain0 and then assign it to a new VM, as shown below.
(1)  Load the pciback module by typing -> modprobe pciback
(2)  Get the PCI ID for the hardware you will be using by typing > lspci
(3)   Unbind the desired device intended for pciback. Go to /sys/bus/drivers and look for the folder with your driver. Go in the folder and you will see the sym link for the device starting with your pci_id. Next ->
echo -n [pci-slot-id] >  /sys/bus/pci/drivers/e100/unbind
Now that sym link you just checked out should be gone.
(4)  Now bind the device to pciback.
echo -n [pci-slot-id] >  /sys/bus/pci/drivers/pciback/new_slot
echo -n [pci-slot-id] >  /sys/bus/pci/drivers/pciback/bind
Go to the pciback directory and you should see a new sym link created.
Now configure your Virtual Machine (DomU) to use the device.
Every time I get to the command:
    echo -n 0000:00:0b.0 >  /sys/bus/pci/drivers/e100/unbind
my terminal window locks up. Although I have no other processes running, it appears the sound card is being used.  I have tried this several different ways, and can't seem to get past the unbind command.  It's an ensoniq card, so I tried to search for other dependencies and found:
# lsmod | grep ens
snd_ens1371            30880  1
gameport               19464  1 snd_ens1371
snd_rawmidi            30848  2 snd_seq_midi,snd_ens1371
snd_ac97_codec         98592  1 snd_ens1371
snd_pcm               101124  3 snd_pcm_oss,snd_ens1371,snd_ac97_codec
snd                    63492  12 snd_pcm_oss,snd_mixer_oss,snd_seq_midi,snd_seq,snd_ens1371,snd_rawmidi,snd_seq_device,snd_ac97_codec,snd_pcm,snd_timer
I can make the sound card available if I edit /etc/modprobe.conf.local with:
    options pciback hide=(0000:00:0b.0)
and then reboot.  However, I would like to find some way to get the example that is so widely documented to work.  Does anyone know how I can ensure that the sound card is free and available so that the unbind works correctly?
Xen-devel mailing list
<Prev in Thread] Current Thread [Next in Thread>