Re: Fritz!Card, MSIs and virtual machines

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 2012-01-07 18:52, Binarus wrote:
> Dear all,
> 
> we are running a fairly complex fax system in a KVM guest.
> 
> The KVM host is Ubuntu 11.04 (64 bit), the guest is Windows 2003 R2 server.
> 
> The fax system needs ISDN hardware, so we have tried to passthrough a PCI ISDN card (AVM Fritz!card PCI) to the guest. We were partly successful:
> 
> The guest has recognized the hardware which we have passed through and runs like a charm, including the fax system.
> 
> But for passing through the PCI ISDN card, we had to deactivate two USB devices on the mainboard, i.e. we had to deactivate their normal linux drivers and handle the devices over to the PCI stub driver. This is a thing we surely don't want, so we are searching for a solution which makes this unnecessary.
> 
> Background:
> 
> The ISDN card is sharing it's interrupt with these two USB devices. As the KVM website states: PCI passthrough is only supported for devices which support MSIs IF these devices share an interrupt with other devices; this restriction does not apply for PCI-E devices. Needless to say that the Fritz!card is a PCI device and obviously does not support Message Signaled Interrupts.

There are patches in the queue to enable legacy interrupt sharing for
PCI 2.3 compliant devices at least. But I bet the Fritz hardware
predates even this (just like my Fritz!Card DSL v2).

> 
> So there are a few questions (if any of them is answered yes, our problem is solved):
> 
> - Does anybody know of a PCI-E ISDN card (hoping that our fax software will support it)?
> - Does anybody know of a PCI ISDN card which supports MSIs (hoping that it's compatible to our fax system)?
> - The KVM host (Ubuntu 11.04) currently runs a (customized) kernel 2.6.37. In the meantime, there are newer kernels. Is there a kernel which the issue mentioned above (PCI passthrough of devices with shared interrupts only if devices support MSIs) does not apply to? Please forgive that we're asking instead of testing, but this is a production server which we really are not allowed to play around with, and we currently don't get hands on a box with identical hardware.
> - Is it possible to run a guest with a mixture of I/O virtualization technologies, i.e. run the most part of the guest by using KVM with VT-d and VT-x, but "emulate" the PCI device without using these technologies? I think that will not be possible, but it's worth asking since performance will not be the problem: some time ago, we have run the same guest under XEN 3.x (which had no problem with the PCI-ISDN passthrough) without VT-d or such with sufficient performance (although the hardware was slow compared to the current server).

Emulating an ISDN adapter could be fairly complicated, specifically if
the interface the binary Windows driver expects is not well documented.
Even for Linux-on-Linux, i.e. when you can debug both host and guest
properly, this will be quite some work (just check the driver code of
some popular ISDN adapters Linux supports).

And it may turn out to be timing sensitive, e.g. for fax services.
Emulation will happen in user space, i.e. in still fairly
undeterministic QEMU hands, while device path through mostly happens in
kernel space under KVM control.

Jan

-- 
Siemens AG, Corporate Technology, CT T DE IT 1
Corporate Competence Center Embedded Linux
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux