I have a Raspberry Pi that can't have physical access to the router, but I have a PC that does.

I would like to share internet connection from the PC to the Raspberry via the USB cable*, not via the ethernet cable, so that it receives both power and internet connection from the PC it is connected to.

Is it possible?

If yes, is there a way to make this connection look like a bridged connection, like virtualbox/vmware do? I would like to have a different IP address for the RPi.


  • The RPi does not connect the data lines in the USB micro B connector. It's ONLY for power. Wonderful idea, relatively easily implemented... but won't work because the RPi can't communicate with the USB cable. Best solution is to buy typical 8192 chipset wireless USB adapter and let RPi connect to router wirelessly. – lornix May 29 '14 at 21:17

In Linux, support for Ethernet over USB is in-bult: there are the drivers cdc_ether and rndis. To the best of my knowledge, there is no such thing in Windows. However, you can buy an Ethernet over USB adapter, for something around 10 euros, and plug an ethernet able from that to the Windows pc. This way, Windows will see a connection over Ethernet, and Raspbian (which is a Linux distro, basically Debian for arm architectures) already has the proper driver for Ethernet over USB.

  • Well, the PC is already connected to the router via the Ethernet cable, so I can't use another ethernet cable to do such – Harlandraka May 28 '14 at 18:05
  • @Harlandraka No problem: buy two Ethernet to USB adapters, connect them by means of the cable, use the proprietary (meaning: you have to pay for it) driver for Windows for Ethernet over USB. – MariusMatutiae May 28 '14 at 21:34
  • Well... I asked the question because I would like to connect the RPi via USB without buying any other thing to make it work... If this is the only way, the most intelligent thing to do is to buy a wifi usb adapter instead, I think – Harlandraka May 28 '14 at 22:03
  • @Harlandraka If you want a free solution, given that Windows does not have free drivers for Ethernet over USB, you can install Linux on the Windows pc: then you would have drivers on both ends. You could mount Linux in place of Windows, alongside Windows in a new partition, or in a VM. But there is no way around he fact that Windows has no free drivers. – MariusMatutiae May 29 '14 at 0:41

I don't think it is natively supported by Windows but did find this very cool looking project on GitHub.


I know its not intended for use with a Pi but could be an interesting little project. I think I may give it a go myself.


I've not tested the bridging for the connection, but the site dummies.com has a quick tutorial for Windows connection sharing here.

You need to be connected to the raspberry in order to complete those steps. Basically you need to open the network sharing center. If you have an active internet connection then you'll be able to see this connection along with the raspberry's. Note down the name of the raspberry connection.

  • Open the active wifi or lan connection
  • Click on Properties (you need admin rights)
  • Open the tab sharing
  • Choose "Allow Other Network Users to Connect through This Computer’s Internet Connection"
  • In the combobox choose the name of the raspberry's connection.
  • Click Ok
  • Reboot Raspberry.

This worked for me.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.