xen-users
Re: [Xen-users] pciback.hide works great for video, but not usb contolle
Hi,
One question embedded below.
On Feb 7, 2008 7:39 AM, Paul Waldo <paul@xxxxxxxxxxxxx> 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)
>
Did you try adding pciback.permissive to the above dom0 kernel line?
Regards,
Todd
> 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
|
|
|