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

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

To: xen-users@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-users] pciback.hide works great for video, but not usb contollers
From: Paul Waldo <paul@xxxxxxxxxxxxx>
Date: Thu, 7 Feb 2008 07:39:15 -0500
Delivery-date: Thu, 07 Feb 2008 04:39:52 -0800
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
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>
Organization: WaldoWare, Inc.
Sender: xen-users-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: KMail/1.9.6 (enterprise 0.20070907.709405)
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