WARNING - OLD ARCHIVES

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/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-users

Re: [Xen-users] pciback.hide works great for video, but not usb contolle

To: Paul Waldo <paul@xxxxxxxxxxxxx>
Subject: Re: [Xen-users] pciback.hide works great for video, but not usb contollers
From: Yosuke Iwamatsu <y-iwamatsu@xxxxxxxxxxxxx>
Date: Fri, 08 Feb 2008 11:02:49 +0900
Cc: xen-users@xxxxxxxxxxxxxxxxxxx
Delivery-date: Thu, 07 Feb 2008 18:03:47 -0800
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
In-reply-to: <200802070739.15751.paul@xxxxxxxxxxxxx>
List-help: <mailto:xen-users-request@lists.xensource.com?subject=help>
List-id: Xen user discussion <xen-users.lists.xensource.com>
List-post: <mailto:xen-users@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-users>, <mailto:xen-users-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-users>, <mailto:xen-users-request@lists.xensource.com?subject=unsubscribe>
References: <200802070739.15751.paul@xxxxxxxxxxxxx>
Sender: xen-users-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: Thunderbird 2.0.0.6 (Windows/20070728)
Hi,

According to the DomU log,
adding 'swiotlb=force' in extra parameter
of the DomU config file may help you.

Regards,
Yosuke

Paul Waldo wrote:
Hi all,

After having great success exporting my video card to a paravirt domu, I decided to try the USB controllers. It appears that all should be working, but when I connect a USB device, I get a hung box :-(

Here is my info:
DOM0
----------------
Xen 3.1.0, Kubuntu Gutsy AMD64

root@hydra:~# lspci|egrep "USB|VGA"
00:1d.0 USB Controller: Intel Corporation 82801EB/ER (ICH5/ICH5R) USB UHCI Controller #1 (rev 02) 00:1d.1 USB Controller: Intel Corporation 82801EB/ER (ICH5/ICH5R) USB UHCI Controller #2 (rev 02) 00:1d.2 USB Controller: Intel Corporation 82801EB/ER (ICH5/ICH5R) USB UHCI Controller #3 (rev 02) 00:1d.3 USB Controller: Intel Corporation 82801EB/ER (ICH5/ICH5R) USB UHCI Controller #4 (rev 02) 00:1d.7 USB Controller: Intel Corporation 82801EB/ER (ICH5/ICH5R) USB2 EHCI Controller (rev 02) 05:00.0 VGA compatible controller: nVidia Corporation NV38GL [Quadro FX 1300] (rev a2)

root@hydra:~# grep pciback /etc/grub.conf
module /vmlinuz-2.6.22-14-xen root=/dev/mapper/hydra-root ro xencons=xvc console=xvc0 console=tty1 swiotlb=force pciback.hide=(05:00.0)
(00:1d.0)(00:1d.1)(00:1d.2)(00:1d.3)(00:1d.7)

root@hydra:~# cat  /sys/bus/pci/drivers/pciback/slots
0000:05:00.0
0000:00:1d.0
0000:00:1d.1
0000:00:1d.2
0000:00:1d.3
0000:00:1d.7

root@hydra:~# cat /etc/xen/aphrodite.cfg
#
# Configuration file for the Xen instance aphrodite, created
# by xen-tools 3.5 on Mon Nov 26 14:24:09 2007.
#
#
#  Kernel + memory size
#
kernel      = '/boot/vmlinuz-2.6.22-14-xen'
ramdisk     = '/boot/initrd.img-2.6.22-14-xen'
memory      = '2048'
vcpus       = '4'
pci = ['05:00.0', '00:1d.0', '00:1d.1', '00:1d.2', '00:1d.3', '00:1d.7']
#extra       = clock=jiffies
#
#  Disk device(s).
#
root        = '/dev/sda1 ro'
disk = [ 'phy:hydra/aphrodite-disk,sda1,w', 'phy:hydra/aphrodite-swap,sda2,w' ]
#
#  Hostname
#
name        = 'aphrodite'
#
#  Networking
#
vif         = [ 'ip=10.0.0.9' ]
#
#  Behaviour
#
on_poweroff = 'destroy'
on_reboot   = 'restart'
on_crash    = 'restart'
-------------------------------------------End of Dom0-----------------------


So, everything looks OK on the Dom0 side

DomU
--------------
Also Kubuntu Gutsy

$ lspci|egrep "USB|VGA"
00:00.0 VGA compatible controller: nVidia Corporation NV38GL [Quadro FX 1300] (rev a2) 00:01.0 USB Controller: Intel Corporation 82801EB/ER (ICH5/ICH5R) USB UHCI Controller #1 (rev 02) 00:01.1 USB Controller: Intel Corporation 82801EB/ER (ICH5/ICH5R) USB UHCI Controller #2 (rev 02) 00:01.2 USB Controller: Intel Corporation 82801EB/ER (ICH5/ICH5R) USB UHCI Controller #3 (rev 02) 00:01.3 USB Controller: Intel Corporation 82801EB/ER (ICH5/ICH5R) USB UHCI Controller #4 (rev 02) 00:01.7 USB Controller: Intel Corporation 82801EB/ER (ICH5/ICH5R) USB2 EHCI Controller (rev 02)


It looks like USB should work. When I run "lsusb" the command never returns even when run by root. It is a juggernaut; even "kill -9" won't stop it!

When I plug a USB device in, I get hangs all over the place, until I unplug it. I get this in my DomU log:

Feb 6 18:27:31 aphrodite kernel: [87615.162981] usb 1-2: new low speed USB device using uhci_hcd and address 2 Feb 6 18:27:31 aphrodite kernel: [87615.163009] Fatal DMA error! Please use 'swiotlb=force' Feb 6 18:27:31 aphrodite kernel: [87615.163060] ------------[ cut here ]------------ Feb 6 18:27:31 aphrodite kernel: [87615.163073] kernel BUG at /build/buildd/linux-source-2.6.22-2.6.22/debian/build/custom-source-xen/arch/x86_64/kernel/../../i386/kernel/pci-dma-xen.c:369!
Feb  6 18:27:31 aphrodite kernel: [87615.163089] invalid opcode: 0000 [1] SMP
Feb  6 18:27:31 aphrodite kernel: [87615.163100] CPU 0
Feb 6 18:27:31 aphrodite kernel: [87615.163109] Modules linked in: binfmt_misc rfcomm l2cap bluetooth ppdev parport_pc lp parport isofs udf loop ipv6 nfs lockd sunrpc nls_cp437 cifs ehci_hcd uhc i_hcd nvidia(P) usbcore i2c_core evdev ext3 jbd mbcache raid10 raid456 xor raid1 raid0 multipath linear md_mod dm_mirror dm_snapshot dm_mod fuse apparmor commoncap Feb 6 18:27:31 aphrodite kernel: [87615.163249] Pid: 2875, comm: khubd Tainted: P 2.6.22-14-xen #1
Feb  6 18:27:31 aphrodite kernel: [87615.163259] RIP: e030:
[dma_map_single+472/544]  [dma_map_single+472/544] dma_map_single+0x1d8/0x220
Feb 6 18:27:32 aphrodite kernel: [87615.163289] RSP: e02b:ffff88007b1afc00 EFLAGS: 00010282 Feb 6 18:27:32 aphrodite kernel: [87615.163299] RAX: 000000000000003e RBX: ffff88000244c3f8 RCX: ffffffffff5f9000 Feb 6 18:27:32 aphrodite kernel: [87615.163309] RDX: 0000000000000000 RSI: 0000000000000000 RDI: ffffffff80542f60 Feb 6 18:27:32 aphrodite kernel: [87615.163318] RBP: 0000000000000e28 R08: 0000000000000000 R09: ffff880001f9e000 Feb 6 18:27:32 aphrodite kernel: [87615.163333] R10: 000000000000003c R11: 0720072007200720 R12: 0000000000000008 Feb 6 18:27:32 aphrodite kernel: [87615.163345] R13: ffff88007eca6870 R14: ffff880028ac29c0 R15: 0000000000000010 Feb 6 18:27:32 aphrodite kernel: [87615.163364] FS: 00002b46502f36b0(0000) GS:ffffffff80575000(0000) knlGS:0000000000000000
Feb  6 18:27:32 aphrodite kernel: [87615.163379] CS:  e033 DS: 0000 ES: 0000
Feb 6 18:27:32 aphrodite kernel: [87615.163388] Process khubd (pid: 2875, threadinfo ffff88007b1ae000, task ffff88007b1a86e0) Feb 6 18:27:32 aphrodite kernel: [87615.163399] Stack: ffff88007b1afc40 ffff880028ac29c0 00000000ffffffff ffff880000701c00 Feb 6 18:27:32 aphrodite kernel: [87615.163428] ffff880024a4d048 ffffffff880e6f52 ffff880028ac29d0 0000000000000000 Feb 6 18:27:32 aphrodite kernel: [87615.163455] ffff88007b1afc62 ffffffff8022f152 313637385b3e363c 3138393236312e35
Feb  6 18:27:32 aphrodite kernel: [87615.163478] Call Trace:
Feb 6 18:27:32 aphrodite kernel: [87615.163519] [_end+128346314/2130180472] :usbcore:usb_hcd_submit_urb+0x452/0x9b0 Feb 6 18:27:32 aphrodite kernel: [87615.163540] [vprintk+530/992] vprintk+0x212/0x3e0 Feb 6 18:27:32 aphrodite kernel: [87615.163577] [_end+128350655/2130180472] :usbcore:usb_start_wait_urb+0x87/0xd0 Feb 6 18:27:32 aphrodite kernel: [87615.163615] [_end+128350599/2130180472] :usbcore:usb_start_wait_urb+0x4f/0xd0 Feb 6 18:27:32 aphrodite kernel: [87615.163654] [_end+128351334/2130180472] :usbcore:usb_control_msg+0xde/0x120 Feb 6 18:27:32 aphrodite kernel: [87615.163692] [_end+128327405/2130180472] :usbcore:hub_port_init+0x395/0x610 Feb 6 18:27:32 aphrodite kernel: [87615.163714] [kobject_init+57/80] kobject_init+0x39/0x50 Feb 6 18:27:32 aphrodite kernel: [87615.163754] [_end+128334597/2130180472] :usbcore:hub_thread+0x68d/0xe60 Feb 6 18:27:32 aphrodite kernel: [87615.163782] [autoremove_wake_function+0/48] autoremove_wake_function+0x0/0x30 Feb 6 18:27:32 aphrodite kernel: [87615.163819] [_end+128332920/2130180472] :usbcore:hub_thread+0x0/0xe60 Feb 6 18:27:32 aphrodite kernel: [87615.163841] [kthread+75/128] kthread+0x4b/0x80 Feb 6 18:27:32 aphrodite kernel: [87615.163859] [child_rip+10/18] child_rip+0xa/0x12 Feb 6 18:27:32 aphrodite kernel: [87615.163883] [kthread+0/128] kthread+0x0/0x80 Feb 6 18:27:32 aphrodite kernel: [87615.163897] [child_rip+0/18] child_rip+0x0/0x12
Feb  6 18:27:32 aphrodite kernel: [87615.163911]
Feb  6 18:27:32 aphrodite kernel: [87615.163920]
Feb 6 18:27:32 aphrodite kernel: [87615.163921] Code: 0f 0b eb fe 0f 1f 40 00 48 c7 c1 68 9c 45 80 ba 69 01 00 00 Feb 6 18:27:32 aphrodite kernel: [87615.163977] RIP [dma_map_single+472/544] dma_map_single+0x1d8/0x220
Feb  6 18:27:32 aphrodite kernel: [87615.163996]  RSP <ffff88007b1afc00>


The only thing strange I can find is on booting the DomU, I get messages like this:
[   51.774675] PCI: Enabling device 0000:00:1d.0 (0000 -> 0001)
[ 51.774704] ACPI: PCI Interrupt 0000:00:1d.0[A] -> GSI 16 (level, low) -> IRQ 16
[   51.778271] PCI: Setting latency timer of device 0000:00:1d.0 to 64
[ 51.779447] pciback 0000:00:1d.0: Driver tried to write to a read-only configuration space field at offset 0xc0, size 2. This may be harmless, but if you have problems with your device:
[   51.779455] 1) see permissive attribute in sysfs
[ 51.779458] 2) report problems to the xen-devel mailing list along with details of your device obtained from lspci.

I tried setting the permissive attributes, like this:

root@hydra:~# cat /etc/xen/xend-pci-permissive.sxp
(unconstrained_dev_ids
     #('0123:4567:89AB:CDEF')
       ('0000:00:1d.0'
        '0000:00:1d.1'
        '0000:00:1d.2'
        '0000:00:1d.3'
        '0000:00:1d.7')

)


I'm stumped.  Any help would be greatly appreciated!

Paul

_______________________________________________
Xen-users mailing list
Xen-users@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-users


_______________________________________________
Xen-users mailing list
Xen-users@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-users