ALT Linux sysadmins discussion
 help / color / mirror / Atom feed
* [Sysadmins] Проброс PCI-устройтва в KVM-гостя
@ 2014-03-13 13:04 Васюк Максим
  2014-03-13 13:35 ` Фаизов Алишер
  0 siblings, 1 reply; 4+ messages in thread
From: Васюк Максим @ 2014-03-13 13:04 UTC (permalink / raw)
  To: sysadmins

Привет всем!

Реально-ли пропбросить PCI устройство в KVM-гостя без IOMMU?
Судя по интернету в этом направлении все не однозначно.

Поднял asterisk в домене, хотел ему отдать USB устройство и воткнуть 
туда 3g модемы, а тут такая засада. Кто использовал такую связку 
отзовитесь, пожалуйста! Неужели придется выносить это дело на отдельную 
машину или еще хуже в хост?

-------------------------------------------------------
Пробовал следующее!

Предварительно поправил qemu.conf:
relaxed_acs_check = 1

И отвязал устройство от хоста:
echo 0000:00:1a.0 > /sys/bus/pci/drivers/ehci-pci/unbind

lspci
----
00:1a.0 USB controller: Intel Corporation 6 Series/C200 Series Chipset 
Family USB Enhanced Host Controller #2 (rev 05)
----

lspci -vn
00:1a.0 0c03: 8086:1c2d (rev 05) (prog-if 20 [EHCI])
     Subsystem: 1458:5006
     Flags: bus master, medium devsel, latency 0, IRQ 18
     Memory at fbffe000 (32-bit, non-prefetchable) [size=1K]
     Capabilities: [50] Power Management version 2
     Capabilities: [58] Debug port: BAR=1 offset=00a0
     Capabilities: [98] PCI Advanced Features
     Kernel driver in use: ehci-pci

Кусок из конфига гостя:
     <hostdev mode='subsystem' type='pci' managed='yes'>
       <source>
         <address domain='0x0000' bus='0x00' slot='0x1a' function='0x0'/>
       </source>
       <address type='pci' domain='0x0000' bus='0x00' slot='0x06' 
function='0x0'/>
     </hostdev>


Логи гостя при попытке запуска:
qemu-kvm: -device 
pci-assign,host=00:1a.0,id=hostdev0,configfd=23,bus=pci.0,addr=0x6: PCI 
region 0 at address 0xfbffe000 has size 0x400, which is not a multi

qemu-kvm: -device 
pci-assign,host=00:1a.0,id=hostdev0,configfd=23,bus=pci.0,addr=0x6: No 
IOMMU found.  Unable to assign device "hostdev0"

qemu-kvm: -device 
pci-assign,host=00:1a.0,id=hostdev0,configfd=23,bus=pci.0,addr=0x6: 
Device 'kvm-pci-assign' could not be initialized



^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [Sysadmins] Проброс PCI-устройтва в KVM-гостя
  2014-03-13 13:04 [Sysadmins] Проброс PCI-устройтва в KVM-гостя Васюк Максим
@ 2014-03-13 13:35 ` Фаизов Алишер
  2014-03-14  3:07   ` Васюк Максим
  0 siblings, 1 reply; 4+ messages in thread
From: Фаизов Алишер @ 2014-03-13 13:35 UTC (permalink / raw)
  To: ALT Linux sysadmins' discussion

Почему не пробросить само usb-устройство? Зачем весь контроллер?
13.03.2014 19:04, Васюк Максим пишет:
> Привет всем!
>
> Реально-ли пропбросить PCI устройство в KVM-гостя без IOMMU?
> Судя по интернету в этом направлении все не однозначно.
>
> Поднял asterisk в домене, хотел ему отдать USB устройство и воткнуть 
> туда 3g модемы, а тут такая засада. Кто использовал такую связку 
> отзовитесь, пожалуйста! Неужели придется выносить это дело на 
> отдельную машину или еще хуже в хост?
>
> -------------------------------------------------------
> Пробовал следующее!
>
> Предварительно поправил qemu.conf:
> relaxed_acs_check = 1
>
> И отвязал устройство от хоста:
> echo 0000:00:1a.0 > /sys/bus/pci/drivers/ehci-pci/unbind
>
> lspci
> ----
> 00:1a.0 USB controller: Intel Corporation 6 Series/C200 Series Chipset 
> Family USB Enhanced Host Controller #2 (rev 05)
> ----
>
> lspci -vn
> 00:1a.0 0c03: 8086:1c2d (rev 05) (prog-if 20 [EHCI])
>     Subsystem: 1458:5006
>     Flags: bus master, medium devsel, latency 0, IRQ 18
>     Memory at fbffe000 (32-bit, non-prefetchable) [size=1K]
>     Capabilities: [50] Power Management version 2
>     Capabilities: [58] Debug port: BAR=1 offset=00a0
>     Capabilities: [98] PCI Advanced Features
>     Kernel driver in use: ehci-pci
>
> Кусок из конфига гостя:
>     <hostdev mode='subsystem' type='pci' managed='yes'>
>       <source>
>         <address domain='0x0000' bus='0x00' slot='0x1a' function='0x0'/>
>       </source>
>       <address type='pci' domain='0x0000' bus='0x00' slot='0x06' 
> function='0x0'/>
>     </hostdev>
>
>
> Логи гостя при попытке запуска:
> qemu-kvm: -device 
> pci-assign,host=00:1a.0,id=hostdev0,configfd=23,bus=pci.0,addr=0x6: 
> PCI region 0 at address 0xfbffe000 has size 0x400, which is not a multi
>
> qemu-kvm: -device 
> pci-assign,host=00:1a.0,id=hostdev0,configfd=23,bus=pci.0,addr=0x6: No 
> IOMMU found.  Unable to assign device "hostdev0"
>
> qemu-kvm: -device 
> pci-assign,host=00:1a.0,id=hostdev0,configfd=23,bus=pci.0,addr=0x6: 
> Device 'kvm-pci-assign' could not be initialized
>
> _______________________________________________
> Sysadmins mailing list
> Sysadmins@lists.altlinux.org
> https://lists.altlinux.org/mailman/listinfo/sysadmins



^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [Sysadmins] Проброс PCI-устройтва в KVM-гостя
  2014-03-13 13:35 ` Фаизов Алишер
@ 2014-03-14  3:07   ` Васюк Максим
  2014-03-14  8:29     ` Фаизов Алишер
  0 siblings, 1 reply; 4+ messages in thread
From: Васюк Максим @ 2014-03-14  3:07 UTC (permalink / raw)
  To: ALT Linux sysadmins' discussion

13.03.2014 20:35, Фаизов Алишер пишет:
> Почему не пробросить само usb-устройство? Зачем весь контроллер?

Хотел чтобы втыкаешь 3g модем в usb отверстие в количестве n штук, а 
asterisk в kvm-домене  видел их без всяких дополнительных телодвижений.

Но если пробросить весь контролер проблематично можно и по отдельности, 
просто автоматизировать проброс. Проблема в том что kvm эмулирует 
usb1.0, а модему нужен, вроде как, usb2.0. Я конечно как всегда могу 
ошибаться, но если поделитесь опытом работособного решения, буду очень 
признателен!




^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [Sysadmins] Проброс PCI-устройтва в KVM-гостя
  2014-03-14  3:07   ` Васюк Максим
@ 2014-03-14  8:29     ` Фаизов Алишер
  0 siblings, 0 replies; 4+ messages in thread
From: Фаизов Алишер @ 2014-03-14  8:29 UTC (permalink / raw)
  To: ALT Linux sysadmins' discussion

14.03.2014 09:07, Васюк Максим пишет:
> 13.03.2014 20:35, Фаизов Алишер пишет:
>> Почему не пробросить само usb-устройство? Зачем весь контроллер?
>
> Хотел чтобы втыкаешь 3g модем в usb отверстие в количестве n штук, а 
> asterisk в kvm-домене  видел их без всяких дополнительных телодвижений.
>
> Но если пробросить весь контролер проблематично можно и по 
> отдельности, просто автоматизировать проброс. Проблема в том что kvm 
> эмулирует usb1.0, а модему нужен, вроде как, usb2.0. Я конечно как 
> всегда могу ошибаться, но если поделитесь опытом работособного 
> решения, буду очень признателен!
>
у меня так:
<hostdev mode='subsystem' type='usb' managed='no'>
       <source>
         <vendor id='0x0529'/>
         <product id='0x0001'/>
       </source>
     </hostdev>

Но не знаю как поведет себя с двумя устройствами с одинаковыми vid:pid
И думаю usb1.0 всяко быстрее максимальной скорости модема.
>
> _______________________________________________
> Sysadmins mailing list
> Sysadmins@lists.altlinux.org
> https://lists.altlinux.org/mailman/listinfo/sysadmins



^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2014-03-14  8:29 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-03-13 13:04 [Sysadmins] Проброс PCI-устройтва в KVM-гостя Васюк Максим
2014-03-13 13:35 ` Фаизов Алишер
2014-03-14  3:07   ` Васюк Максим
2014-03-14  8:29     ` Фаизов Алишер

ALT Linux sysadmins discussion

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/sysadmins/0 sysadmins/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 sysadmins sysadmins/ http://lore.altlinux.org/sysadmins \
		sysadmins@lists.altlinux.org sysadmins@lists.altlinux.ru sysadmins@lists.altlinux.com
	public-inbox-index sysadmins

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.sysadmins


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git