{"id":505,"date":"2024-07-06T16:01:17","date_gmt":"2024-07-06T20:01:17","guid":{"rendered":"https:\/\/thenetworksdown.com\/?p=505"},"modified":"2025-11-26T11:32:50","modified_gmt":"2025-11-26T16:32:50","slug":"labbing-virtualization-part-3-el-ultimo-punto","status":"publish","type":"post","link":"https:\/\/thenetworksdown.com\/?p=505","title":{"rendered":"Labbing Virtualization Part 3 &#8211; El Ultimo Punto."},"content":{"rendered":"\n<p class=\"has-drop-cap\">Hello there and welcome back!  Well, here we are&#8230; Post numero tres about virtualization with regards to passing through a USB device into our lab environment. Hopefully you have read the first two articles; <a href=\"https:\/\/thenetworksdown.com\/?p=422\">Par<\/a><a href=\"https:\/\/thenetworksdown.com\/?p=422\" target=\"_blank\" rel=\"noreferrer noopener\">t 1<\/a> and <a href=\"https:\/\/thenetworksdown.com\/?p=476\" target=\"_blank\" rel=\"noreferrer noopener\">Part 2<\/a>. If not you probably should just take a peek at them, just to be on the same page with my terminology and setup. Don&#8217;t worry, I&#8217;ll wait right here&#8230;<\/p>\n\n\n\n<p>So, now that we are all on the same page, let&#8217;s dig into this whole &#8220;plugging in&#8221; option of physical equipment into a Virtual Machine inside of EVE-NG \/ PNET&#8230; But, why do this in the first place? Well, maybe you want to pass through an Ethernet USB dongle to virtual switch port on a virtual switch node in your lab. Or, perhaps you&#8217;d like to start actually labbing wireless from within a your virtual lab? Or maybe we can even push the whole virtual platform a little further and emulate some other security tasks? What&#8217;s that you say? A Virtual ISE Server for physical IP Phone with physical PC Authentications behind it? That may need to be a separate post for us&#8230;<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"995\" height=\"707\" src=\"https:\/\/thenetworksdown.com\/wp-content\/uploads\/2025\/11\/NYC-Train.jpg\" alt=\"\" class=\"wp-image-2344\" srcset=\"https:\/\/thenetworksdown.com\/wp-content\/uploads\/2025\/11\/NYC-Train.jpg 995w, https:\/\/thenetworksdown.com\/wp-content\/uploads\/2025\/11\/NYC-Train-300x213.jpg 300w, https:\/\/thenetworksdown.com\/wp-content\/uploads\/2025\/11\/NYC-Train-768x546.jpg 768w\" sizes=\"auto, (max-width: 995px) 100vw, 995px\" \/><\/figure>\n\n\n\n<p>So, let&#8217;s get this show on the road here. I can&#8217;t believe I started this series of posts 4 years ago. Jeesh&#8230;  <em>Also, I switched to PNET from EVE-NG but this process is identical between the two platforms in my experience&#8230;<\/em>  Another quick sidenote, when passing USB3 through to your Node in the hypervisor (EVE or PNET), make sure the guest OS can understand it.  Basically windows 7 doesn&#8217;t have native support for USB3.x so, I built out a Windows 10 VM to show everyone this b\/c I didn&#8217;t feel like injecting drivers and hoping&#8230;<\/p>\n\n\n\n<p>So per our last post (<a href=\"https:\/\/thenetworksdown.com\/?p=476\" target=\"_blank\" rel=\"noreferrer noopener\">Labbing Virtualization Part 2<\/a>), we now see the Ralink Adapter within PNET\/EVE-NG&#8217;s &#8220;lsusb&#8221; list:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" src=\"https:\/\/thenetworksdown.com\/wp-content\/uploads\/2024\/07\/PNET-LSUSB.png\" alt=\"\" class=\"wp-image-1811\"\/><\/figure>\n\n\n\n<p>So let&#8217;s pass this thing through to the Windows 10 machine&#8230; So I have a Windows 10 (build 1607) in the lab that I will be working with.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/thenetworksdown.com\/wp-content\/uploads\/2024\/07\/Win10-NIC-Only-1024x579.png\" alt=\"\" class=\"wp-image-1826\"\/><\/figure>\n\n\n\n<p>As shown above, we only have the default &#8220;Wired&#8221; Ethernet NIC that is available when installing windows normally with an ethernet adapter.  Let&#8217;s hop over to Device Manager also&#8230;<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/thenetworksdown.com\/wp-content\/uploads\/2024\/07\/Win10-DevMgr-noUSB-1024x586.png\" alt=\"\" class=\"wp-image-1827\"\/><\/figure>\n\n\n\n<p>Also, we don&#8217;t see a USB 3.x controller that PNET sees at this point.  Let&#8217;s change that.<\/p>\n\n\n\n<p>First, let&#8217;s <strong>shut it <em>(the Win10 Machine)<\/em> down <\/strong>and grab a backup of the QEMU Options.  Right click on the node on, in your lab, and click Edit.  Then copy the entire value (using Command or Control A) to a text editor.  <\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/thenetworksdown.com\/wp-content\/uploads\/2024\/07\/Win10-Node-QEMU-852x1024.png\" alt=\"\" class=\"wp-image-1841\"\/><\/figure>\n\n\n\n<p>My Win10 box has the following string listed under QEMU Options: <code>-machine type=pc,accel=kvm -cpu host,+pcid,+kvm_pv_unhalt,+kvm_pv_eoi,hv_spinlocks=0x1fff,hv_vapic,hv_time,hv_reset,hv_vpindex,hv_runtime,hv_relaxed,hv_synic,hv_stimer -vga qxl -device qemu-xhci -usbdevice tablet -boot order=cd -drive file=\/opt\/qemu\/share\/qemu\/virtio-win-drivers.img,index=1,if=floppy,readonly<\/code><\/p>\n\n\n\n<p>For starters, let&#8217;s being with letting Windows know we have a USB3.0 hub available to it.  Modifying our original QEMU Options string above, with one additional option should do the trick.  Basically &#8220;I want to use PNETs USB3.0 bus&#8221;; which in QEMU Option speak is <em>&#8220;-device qemu-xhci&#8221;<\/em><\/p>\n\n\n\n<p>So our new string is (note the <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-cyan-blue-color\"><strong>blue<\/strong><\/mark>): <code>-machine type=pc,accel=kvm -cpu host,+pcid,+kvm_pv_unhalt,+kvm_pv_eoi,hv_spinlocks=0x1fff,hv_vapic,hv_time,hv_reset,hv_vpindex,hv_runtime,hv_relaxed,hv_synic,hv_stimer -vga qxl <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-cyan-blue-color\">-device qemu-xhci<\/mark> -usbdevice tablet -boot order=cd -drive file=\/opt\/qemu\/share\/qemu\/virtio-win-drivers.img,index=1,if=floppy,readonly<\/code><\/p>\n\n\n\n<p>Let&#8217;s paste that back into the Win10 Node, save the node in the lab, and then boot it up&#8230; Did anything change?  Let&#8217;s check Device Manager again; and <strong>BOOM<\/strong>. There&#8217;s the USB 3.0 controller, from PNET, from VMWare, from the Dell Host.  That&#8217;s not too exhausting right?<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" src=\"https:\/\/thenetworksdown.com\/wp-content\/uploads\/2024\/07\/Win10-DevMgr-USB3.x.png\" alt=\"\" class=\"wp-image-1830\"\/><\/figure>\n\n\n\n<p>So let&#8217;s shut the Win10 machine down again, and then modify that QEMU Options string one more time; adding the RAlink device (Bus 1 Device 5) from above.  Again, copy out that QEMU string and let&#8217;s add the RAlink USB device.  Or as they say in QEMU &#8220;<em>-device usb-host,hostbus=1,hostaddr=5<\/em>&#8220;.  <em>(note, based off PNET\/EVE-NGs lsusb output, you will have to match the hostbus and hostaddr values)<\/em><\/p>\n\n\n\n<p>My &#8220;fully updated&#8221; QEMU Options string now has <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-cyan-blue-color\">the USB3.0 Controller<\/mark> as well as the <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-purple-color\">RAlink USB Device: <\/mark><code>-machine type=pc,accel=kvm -cpu host,+pcid,+kvm_pv_unhalt,+kvm_pv_eoi,hv_spinlocks=0x1fff,hv_vapic,hv_time,hv_reset,hv_vpindex,hv_runtime,hv_relaxed,hv_synic,hv_stimer -vga qxl <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-cyan-blue-color\">-device qemu-xhci<\/mark> <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-purple-color\">-device usb-host,hostbus=1,hostaddr=5<\/mark> -usbdevice tablet -boot order=cd -drive file=\/opt\/qemu\/share\/qemu\/virtio-win-drivers.img,index=1,if=floppy,readonly<\/code><\/p>\n\n\n\n<p>Again, let&#8217;s paste that &#8220;fully updated&#8221; string back into the Win10 Node, save it in the lab, and then boot it up&#8230; Did anything change, again?  Let&#8217;s check Device Manager; and there&#8217;s our RAlink WiFi network device (the devaaaace). <\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img decoding=\"async\" src=\"https:\/\/thenetworksdown.com\/wp-content\/uploads\/2024\/07\/Win10-DevMgr-WiFi-1024x523.png\" alt=\"\" class=\"wp-image-1836\" style=\"width:774px;height:auto\"\/><\/figure>\n\n\n\n<p>Just for kicks, let&#8217;s go back to Control Panel and Network Connections to see if anything has changed&#8230;<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/thenetworksdown.com\/wp-content\/uploads\/2024\/07\/Win10-NIC-and-Wifi-1024x447.png\" alt=\"\" class=\"wp-image-1838\"\/><\/figure>\n\n\n\n<p><em>&#8220;Ohhh SNAP Mr. Lewis&#8230;. ohhhh snap!&#8221;<\/em> (Kee and Peele reference)&#8230; Now we see a Wireless adapter.  What is this trickery you see with your eyes?  Let&#8217;s see if there&#8217;s actual WiFi in the Area&#8230;<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/thenetworksdown.com\/wp-content\/uploads\/2024\/07\/Win10-WiFi-Passthru-1024x546.jpg\" alt=\"\" class=\"wp-image-1839\"\/><\/figure>\n\n\n\n<p>And there is&#8230; Actual wireless on a Windows machine from within PNET, within VMWare as the original hypervisor, passing through a USB device from the Dell host.<\/p>\n\n\n\n<p>Hopefully this post helps with your labbing and a little more of your understanding.  I&#8217;ll be using this setup going forward to build on for other labbing topics such as WiFi and Security.  Catch you soon.<\/p>\n\n\n\n<p>Stark out.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>The &#8220;Epic&#8221; conclusion of the Labbing Virtualization Series to showcase passing through physical USB devices to our nodes in a Virtual Labbing Platform.<\/p>\n","protected":false},"author":1,"featured_media":2565,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[27,28,31,47,58],"class_list":["post-505","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-tech-stuff","tag-homelab","tag-how-to","tag-labbing","tag-servers","tag-wifi"],"rise-blocks_total_comments":0,"rise-blocks_categories":[{"term_id":3,"name":"Tech Stuff","slug":"tech-stuff","term_group":0,"term_taxonomy_id":3,"taxonomy":"category","description":"","parent":0,"count":43,"filter":"raw","cat_ID":3,"category_count":43,"category_description":"","cat_name":"Tech Stuff","category_nicename":"tech-stuff","category_parent":0}],"rise-blocks_excerpt":"The \"Epic\" conclusion of the Labbing Virtualization Series to showcase passing through physical USB devices to our nodes in a Virtual Labbing Platform.","_links":{"self":[{"href":"https:\/\/thenetworksdown.com\/index.php?rest_route=\/wp\/v2\/posts\/505","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/thenetworksdown.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/thenetworksdown.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/thenetworksdown.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/thenetworksdown.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=505"}],"version-history":[{"count":1,"href":"https:\/\/thenetworksdown.com\/index.php?rest_route=\/wp\/v2\/posts\/505\/revisions"}],"predecessor-version":[{"id":2553,"href":"https:\/\/thenetworksdown.com\/index.php?rest_route=\/wp\/v2\/posts\/505\/revisions\/2553"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/thenetworksdown.com\/index.php?rest_route=\/wp\/v2\/media\/2565"}],"wp:attachment":[{"href":"https:\/\/thenetworksdown.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=505"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/thenetworksdown.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=505"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/thenetworksdown.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=505"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}