Autor Thema: USB-Passthrough unter kvm  (Gelesen 4589 mal)

Andre___

  • Newbie
  • *
  • Beiträge: 3
    • Profil anzeigen
USB-Passthrough unter kvm
« am: April 28, 2017, 02:36:17 Nachmittag »
Tag zusammen,

hat jemand den Sundtek SkyTV Ultimate erfolgreich an eine kvm-vm durchreichen können? Bei mir erscheint er in der vm, lässt sich ansprechen wie gewohnt, nur gibt es keinenen Empfang und auch keine Fehlermeldungen. Habe DVB-S2-Sticks anderer Bauart erfolgreich virtualisiert in Betrieb, sprich per USB-Passthrough unter kvm. Hier gab es in 2010 ein Posting, wo auf Probleme mit USBFS hingewiesen wird, aber das scheint doch nicht mehr zu gelten, oder? Schliesslich funktionieren andere.

vielen Dank schonmal...

Sundtek

  • Administrator
  • Hero Member
  • *****
  • Beiträge: 8512
    • Profil anzeigen
Re:USB-Passthrough unter kvm
« Antwort #1 am: April 28, 2017, 07:44:03 Nachmittag »
Ich weiß nicht wie du die Virtualisierung vornimmst, versuch eventuell mal im Chat zu fragen http://chat.sundtek.de

Es gibt da wohl 2 Möglichkeiten, entweder ist die USB Node direkt durchgeleitet oder über einen virtuellen Host-Controller.
Mit einem virtuellen Host-Controller könnte es durchaus Probleme geben (da es einfach zu langsam ist).
Failure is a good thing! I'll fix it

Andre___

  • Newbie
  • *
  • Beiträge: 3
    • Profil anzeigen
Re:USB-Passthrough unter kvm
« Antwort #2 am: April 29, 2017, 04:28:49 Nachmittag »
Hi, danke für die Antwort.

ich habe den Stick an einen virtualisierten USB-Controller durchgereicht:
<controller type='usb' index='0' model='ich9-uhci1'>
      <master startport='0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0' multifunction='on'/>
</controller>
ich habe also nicht den Host-Controller via PCI-Passthrough durchgereicht (geht hier nicht, Vt-d fehlt). Ein Stick der Konkurenz (PCTV 461e) funktioniert in dieser Konfiguration (hat aber leider andere Macken die von Zeit zu Zeit auftreten, auch außerhalb der vm).
Unter /sys/kernel/debug/usb/usbmon/... kan man schön mitverfolgen, dass, sobald auf den Stick zugegriffen wird Pakete hin-und hergehen. Mir fehlt aber USB-Know-How um das weiter zu analysieren.
Habe zwischenzeitlich auchmal unter VMware Workstation versucht, auch hier kein Empfang möglich, und auch keine Fehlermeldung.

Sundtek

  • Administrator
  • Hero Member
  • *****
  • Beiträge: 8512
    • Profil anzeigen
Re:USB-Passthrough unter kvm
« Antwort #3 am: April 29, 2017, 06:12:04 Nachmittag »
uhc = usb 1.1 entweder liegt hier ein Bug der Virtualisierungssoftware vor oder sonstwas.
https://en.wikipedia.org/wiki/Host_controller_interface_(USB,_Firewire)#Universal_Host_Controller_Interface

Wenn der EHCI Port (/dev/bus/usb/...) weitergeleitet wird sollte es keine Probleme geben. Unter Linux gibt's aber halt etliche Möglichkeiten Dinge falsch zu machen...

Wie erwähnt besser Du kontaktierst uns via Chat damit wir da mal drüberschauen können.
Failure is a good thing! I'll fix it

Andre___

  • Newbie
  • *
  • Beiträge: 3
    • Profil anzeigen
Re:USB-Passthrough unter kvm
« Antwort #4 am: April 29, 2017, 10:08:29 Nachmittag »
zu blöd für Copy & Paste, hab den falschen Eintrag erwischt. Hängt natürlich an einem ehci-controller:
% lsusb -t
/:  Bus 04.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
/:  Bus 03.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/6p, 480M
    |__ Port 1: Dev 2, If 0, Class=Human Interface Device, Driver=usbhid, 480M
    |__ Port 2: Dev 3, If 0, Class=Vendor Specific Class, Driver=usbfs, 480M
    |__ Port 2: Dev 3, If 5, Class=Vendor Specific Class, Driver=, 480M
    |__ Port 2: Dev 3, If 3, Class=Vendor Specific Class, Driver=, 480M
    |__ Port 2: Dev 3, If 1, Class=Vendor Specific Class, Driver=, 480M
    |__ Port 2: Dev 3, If 6, Class=Vendor Specific Class, Driver=, 480M
    |__ Port 2: Dev 3, If 4, Class=Vendor Specific Class, Driver=, 480M
    |__ Port 2: Dev 3, If 2, Class=Vendor Specific Class, Driver=, 480M