{"id":574,"date":"2019-08-09T10:12:34","date_gmt":"2019-08-09T10:12:34","guid":{"rendered":"https:\/\/nmbm.biz\/sitio\/?p=574"},"modified":"2019-08-09T10:12:36","modified_gmt":"2019-08-09T10:12:36","slug":"centos-7-libvirt-passagem-directa-usb-passthrough","status":"publish","type":"post","link":"https:\/\/blog.webgescom.pt\/blog\/centos-7-libvirt-passagem-directa-usb-passthrough\/","title":{"rendered":"CentOS 7 Libvirt Passagem Directa USB (Passthrough)"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Num cen\u00e1rio de m\u00e1quinas virtuais, em ambiente Linux CentOS 7, pode ser necess\u00e1rio utilizar liga\u00e7\u00f5es directas \u00e0(s) porta(s) USB, por exemplo, pen drives ou chaves do tipo hardlock.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Para poder ligar dispositivos USB directamente a uma m\u00e1quina virtual \u00e9 necess\u00e1rio instruir o hipervisor de quais as portas a ligar. O comando lsusb, do Linux, mostra os dispositivos:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"> <strong># lsusb<\/strong>\nBus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub\nBus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub\n<strong>Bus 004 Device 002: ID 0951:1505 Kingston Technology\u00a0<\/strong>\nBus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub\nBus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub\nBus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub\nBus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub <\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">A negrito, est\u00e1 o dispositivo que queremos ligar. O ID, composto por dois hexadecimais, identifica o fabricante (0951) e o produto (1505). De seguida, \u00e9 necess\u00e1rio compor o XML que vamos integrar na defini\u00e7\u00e3o da m\u00e1quina:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"> &lt;hostdev mode='subsystem' type='usb' managed='yes'>\n\u00a0 &lt;source>\n\u00a0 \u00a0 &lt;vendor id='0x0951'\/>\n\u00a0 \u00a0 &lt;product id='0x1505'\/>\n\u00a0 &lt;\/source>\n&lt;\/hostdev> <\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Finalmente, fazemos a agrega\u00e7\u00e3o do dispositivo \u00e0 nossa m\u00e1quina virtual, com o comando virsh:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"> # virsh\u00a0attach-device &lt;domain> &lt;file> [--persistent] <\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Onde, &lt;domain> \u00e9 o nome da m\u00e1quina virtual e &lt;file> ser\u00e1 o nome do ficheiro XML criado. Podemos optar por uma liga\u00e7\u00e3o permanente, utilizando a op\u00e7\u00e3o <strong>&#8211;persistent<\/strong>. Da mesma forma, podemos &#8220;desligar&#8221; o dispositivo com o comando <strong>virsh detach-device<\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">O artigo original, completo e mais detalhado em:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/virtuozzosupport.force.com\/s\/article\/000017379\">https:\/\/virtuozzosupport.force.com\/s\/article\/000017379<\/a><\/p>\n<div class=\"pvc_clear\"><\/div><p id=\"pvc_stats_574\" class=\"pvc_stats all  \" data-element-id=\"574\" style=\"\"><i class=\"pvc-stats-icon small\" aria-hidden=\"true\"><svg aria-hidden=\"true\" focusable=\"false\" data-prefix=\"far\" data-icon=\"chart-bar\" role=\"img\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 512 512\" class=\"svg-inline--fa fa-chart-bar fa-w-16 fa-2x\"><path fill=\"currentColor\" d=\"M396.8 352h22.4c6.4 0 12.8-6.4 12.8-12.8V108.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v230.4c0 6.4 6.4 12.8 12.8 12.8zm-192 0h22.4c6.4 0 12.8-6.4 12.8-12.8V140.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v198.4c0 6.4 6.4 12.8 12.8 12.8zm96 0h22.4c6.4 0 12.8-6.4 12.8-12.8V204.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v134.4c0 6.4 6.4 12.8 12.8 12.8zM496 400H48V80c0-8.84-7.16-16-16-16H16C7.16 64 0 71.16 0 80v336c0 17.67 14.33 32 32 32h464c8.84 0 16-7.16 16-16v-16c0-8.84-7.16-16-16-16zm-387.2-48h22.4c6.4 0 12.8-6.4 12.8-12.8v-70.4c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v70.4c0 6.4 6.4 12.8 12.8 12.8z\" class=\"\"><\/path><\/svg><\/i> <img loading=\"lazy\" decoding=\"async\" width=\"16\" height=\"16\" alt=\"Loading\" src=\"https:\/\/blog.webgescom.pt\/blog\/wp-content\/plugins\/page-views-count\/ajax-loader-2x.gif\" border=0 \/><\/p><div class=\"pvc_clear\"><\/div>","protected":false},"excerpt":{"rendered":"<p>Num cen\u00e1rio de m\u00e1quinas virtuais, em ambiente Linux CentOS 7, pode ser necess\u00e1rio utilizar liga\u00e7\u00f5es directas \u00e0(s) porta(s) USB, por exemplo, pen drives ou chaves do tipo hardlock. Para poder ligar dispositivos USB directamente a uma m\u00e1quina virtual \u00e9 necess\u00e1rio instruir o hipervisor de quais as portas a ligar. O comando lsusb, do Linux, mostra&hellip;&nbsp;<\/p>\n<div class=\"pvc_clear\"><\/div>\n<p id=\"pvc_stats_574\" class=\"pvc_stats all  \" data-element-id=\"574\" style=\"\"><i class=\"pvc-stats-icon small\" aria-hidden=\"true\"><svg aria-hidden=\"true\" focusable=\"false\" data-prefix=\"far\" data-icon=\"chart-bar\" role=\"img\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 512 512\" class=\"svg-inline--fa fa-chart-bar fa-w-16 fa-2x\"><path fill=\"currentColor\" d=\"M396.8 352h22.4c6.4 0 12.8-6.4 12.8-12.8V108.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v230.4c0 6.4 6.4 12.8 12.8 12.8zm-192 0h22.4c6.4 0 12.8-6.4 12.8-12.8V140.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v198.4c0 6.4 6.4 12.8 12.8 12.8zm96 0h22.4c6.4 0 12.8-6.4 12.8-12.8V204.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v134.4c0 6.4 6.4 12.8 12.8 12.8zM496 400H48V80c0-8.84-7.16-16-16-16H16C7.16 64 0 71.16 0 80v336c0 17.67 14.33 32 32 32h464c8.84 0 16-7.16 16-16v-16c0-8.84-7.16-16-16-16zm-387.2-48h22.4c6.4 0 12.8-6.4 12.8-12.8v-70.4c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v70.4c0 6.4 6.4 12.8 12.8 12.8z\" class=\"\"><\/path><\/svg><\/i> <img loading=\"lazy\" decoding=\"async\" width=\"16\" height=\"16\" alt=\"Loading\" src=\"https:\/\/blog.webgescom.pt\/blog\/wp-content\/plugins\/page-views-count\/ajax-loader-2x.gif\" border=0 \/><\/p>\n<div class=\"pvc_clear\"><\/div>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"neve_meta_sidebar":"","neve_meta_container":"","neve_meta_enable_content_width":"","neve_meta_content_width":0,"neve_meta_title_alignment":"","neve_meta_author_avatar":"","neve_post_elements_order":"","neve_meta_disable_header":"","neve_meta_disable_footer":"","neve_meta_disable_title":"","footnotes":""},"categories":[9],"tags":[68,125,127,126],"class_list":["post-574","post","type-post","status-publish","format-standard","hentry","category-linux","tag-centos-7","tag-maquina-virtual","tag-usb","tag-vm"],"aioseo_notices":[],"a3_pvc":{"activated":true,"total_views":1841,"today_views":0},"_links":{"self":[{"href":"https:\/\/blog.webgescom.pt\/blog\/wp-json\/wp\/v2\/posts\/574","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.webgescom.pt\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.webgescom.pt\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.webgescom.pt\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.webgescom.pt\/blog\/wp-json\/wp\/v2\/comments?post=574"}],"version-history":[{"count":4,"href":"https:\/\/blog.webgescom.pt\/blog\/wp-json\/wp\/v2\/posts\/574\/revisions"}],"predecessor-version":[{"id":578,"href":"https:\/\/blog.webgescom.pt\/blog\/wp-json\/wp\/v2\/posts\/574\/revisions\/578"}],"wp:attachment":[{"href":"https:\/\/blog.webgescom.pt\/blog\/wp-json\/wp\/v2\/media?parent=574"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.webgescom.pt\/blog\/wp-json\/wp\/v2\/categories?post=574"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.webgescom.pt\/blog\/wp-json\/wp\/v2\/tags?post=574"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}