Surface2OSX HD 4400 i5 4300U 8GB 512GB
"Look Ma no Dongle"
ok.. I'd never actually say something like that to Mom, she worries...
Anyhow I had never planned to buy a usb wifi dongle after reading some of the horror stories of getting one to work and still getting app store etc to function properly. Also, I planned on using my iPhone and tether wifi etc. if needed and also use the built in VPN.
Also, I was always bothered that we had a perfectly good built in wifi-bluetooth and couldn't really use them, unless you wanted the bluetooth to be always on. Since there is only the one USB port on the Surface Pro it sure would be useful to free it up for other devices.
Well I'm sure I'm not the first to do this but its pretty easy to share the built in USB wifi via a Virtual Machine. I used Ubuntu 14.04 and Parallels as my solution since Parallels creates the necessary link that you can configure in the Mac OS Network settings. Ubuntu has the driver for our USB wifi buillt into the kernel, plus the updated firmware addon somewhere, which makes it very stable. Also, Parallels VMs have direct control of anything USB if you give it to them, and you can limit the amount of memory and cpus allocated to the VM in the settings so that the host OS can still function solidly.
First you have to download a VM, I went to osboxes.org and grabbed a 64bit ubuntu 14.04 that is designed for VMware. Once I opened it with parallels I was asked to convert it over to the parallels format. Then just use the newly created VM.
In the Parallels control center for the new VM make sure there is a network setup, go into its hardware settings and add one if its not already there, you will need to do this before starting up the new VM. Once its created make sure the checkbox for 'connected' is checked and you can use the virtuio or the Intel 'Nic type'.
Under Parallels> preferences >Advanced click on Network: 'Change Settings' Under the Host-Only Tab check all the boxes and take note of the start and end addresses and subnet. Under Shared tab deselect all checkboxes.
Back to Parallels>Preferences select the Devices menu and see if Bluetooth and Wireless Lan Composite Device is listed, If not see if you can add it and then sellect 'connect it to the active virtual machine'. If it doesn't allow you to do this now It might need to be done after the first VM connection.
Now boot up the VM and as its connecting see if you can add the Marvel USB under USB or if the previous step was already successful you should see the Bluetooth and Wireless Lan device listed and connecting under the devices icon on the VM window border.
The next part differs with different Ubuntus but basically its time to find the wifi network settings and connect to you wifi router. You may have to deselect and select the USB wifi device connection every now and again but once it connects it is usually pretty stable and will connect immediately whenever its needed and you fire up the VM. you should be able to test the connection within the VM by starting up Firefox to see that you now have internet access from Ubuntu. Also, as an added bonus if you haven't installed the avastar-fw.kext into mac os you may notice that each time you exit the VM and wait a few secs that you will have Bluetooth functioning from within Mac os. So you can basically use this procedure as a virtual 'switch' to turn on BT whenever you'd like and you don't have to leave it on all the time. You may have to install the avastar-fw.kext at least once to provide the 'infrastructure' for this to work tho. Then just delete the kext and run kext utility.
Now go into Network settings in Ubuntu and find the 'wired' internet connection, write down the ip address make sure its on and then go into its 'Options' button. Under IPv4 settings tab>Method>select 'Shared to other computers' then save.
Open terminal in Ubuntu VM and type ifconfig and the prompt. It should show you the same ip address as in the step above as eth0. Now run the same command at the Mac Terminal. You should see a vnic1 and vnic0, which are the two virtual links that parallels set up for you in the above network setup steps. Notice that one of them will have an IP on the same subnet as the IP from the previous step, in my case it is one number above.
Now under Mac's network settings find the Parallels Host-Only virtual link, select under Configure IPv4 as Manually. Then for IP address use the same IP as the one for the vnic1 or vnic0 that was on the same subnet as the ubuntu wired connection, from the above step. For subnet mask: 255.255.255.0. For Router use the original IP from the Ubuntu wired connection. Then go into advanced and add under dns servers 220.127.116.11 and 18.104.22.168 then Save.
Then reboot everything and see if you can reconnect and then access the internet not just from Ubuntu Firefox but also from Mac's Safari. If everything is working well you might save the Ubuntu config as a snapshot in Parallels. So you can always rollback to it if there is an issue.
You can alter the hardware settings to give the VM as little resources as possible so that you can still use Mac os to a high degree, and there are some mimimal installs of ubuntu floating out there that would take up very little harddisk space. Just make sure they are recent and probably a debian branch of Linux so that their kernels have our built in marvel-avastar driver and firmware pieces. After getting mine to work I then tested appstore imessage facetime icloud and they all work fine, so this is compatible with Rehabman's nullethernet.kext.
Thus freeing up the dongle space, cuz who doesn't need a lil extra dongle?