Farming on Microsoft Surface devices

DISCLAIMER- I still have yet to earn rewards for the Surface nodes. Support has been investigating for a few weeks, but the devices were flagged as “virtualized”.

A few months ago, I decided to look through my cabinets and bring more nodes online using hardware I had sitting around collecting dust. There were various laptops, NUCs, desktops, etc. Well, I went through the legwork of converting Surface devices into Threefold nodes and thought I would share the process.

For the Surface Pro devices (2017 i7 models), they only have a single USB port, which made it a pain to get set up. My first thought was to use the MicroSD slot for the bootable ZOS image, then a USB to Ethernet adapter for internet. No matter what I tried, I couldn’t get the Surface to recognize a ZOS flashed MicroSD as a bootable drive.

Next step was to buy some USB hubs that had a built in Ethernet port. Unfortunately, the Surface didn’t recognize the ethernet adapter on the hub as a bootable device. With only a single USB port (needed for ZOS drive and ethernet), that meant I had to get messy.

Final configuration was Surface Pros running those USB hubs that had an ethernet port, with a ZOS bootable drive connected, and a Surface brand USB to ethernet adapter.

I was able to repeat this process for a Surface Laptop 2 I had sitting around too.


Thanks @cryptobeggins for sharing this. It’s interesting to see how you got the Surface Pro to boot zero-os. I too use such USB hub equipped with an ethernet port when I’m on a Surface Pro (not farming with it though).

Please let us know when you have news about the rewards situation. It’d be great if TF farming rewards were possible with such computers.

Do you have hyper-v enabled in the bios? I saw a thread elsewhere with an individual having issues with his surface being detected as virtualized and disabling hyper-v resolved the issue


That would make so much sense. Good idea.

Love to see a picture of that “surface” setup. :slight_smile:

Turns out the code that checks to see if a machine is virtualized or physical is checking the Manufacturer of the ethernet adapter. If it’s listed as Microsoft, it gets flagged as virtualized.

Since my Surfaces were all running the Microsoft Surface branded ethernet adapters, they were flagged.

Sounds like that part of the code has already been updated, just not implemented yet. In the meantime, I have turned off the nodes to save power/frustration.

There is no hyper-v setting in the Surface Pro or Laptop BIOS (technicially UEFI settings, not a true traditional bios)

I don’t know if it could help, but on my Surface Pro I use this ethernet adapter (with 3 usb ports) and it works well:

  • USB 3.0 to Ethernet Adapter, ABLEWE 3-Port USB Hub Ethernet with RJ45 10/100/1000 USB Gigabit Ethernet Network Adapter Support Windows 10, Surface Pro

But maybe it’s not even necessary if the code has been updated.

Hope it works out!

Interesting, I started to post a link to disabling it from windows before I realized I wasn’t thinking this through.

I’m interested in how you got that working.

I am not using the Surface Pro to farm, but I simply use an ethernet adaptor with 3 USB ports to connect the computer to the router and use the computer normally (no TF farming). I guess I wasn’t clear in my last message.

I was just proposing a different adaptor than the traditional Windows branded adaptor, so maybe it could work for farming and not be flagged as virtualized.

Just to add some clarity here, since I was looking into this. It’s not specifically the ethernet adapter that causes Zos to mark Surface devices as virtualized. It’s actually the fact that the hardware manufacturer for the whole system is marked as Microsoft.

Basically, in an age before Microsoft branded hardware, any system reporting Microsoft as the manufacturer was running in a Microsoft VM product. So that was a sufficient check to use in the tool that Zos employs to assess virtualization status, virt-what. While the latest version of virt-what has been updated to add an additional check that should clear the Surface devices as physical hardware, Zos is using an older version. I’ve advised the devs and this should be updated with a future release.

1 Like

That’s some very nice information right there. Thanks for sharing.

1 Like

Well I realized I can’t edit the first post, but I ended up decommissioning the Surface devices.

Non Microsoft branded USB ethernet adapters with Asix chipset would have worked though.

1 Like

And the team sent me the payments for the missing months. Incredible support as always from them!


I’ll add a note here that we’re still waiting for developers to deliver the fix that will allow the network to recognize Surface devices are not virtualized. Hoping to see this come in the next release.

1 Like