Neo 1973 and Windows

From Openmoko

(Difference between revisions)
Jump to: navigation, search
(Option 4, using HTTP proxy at work with Putty SSH tunneling)
m (typo fixed)
 
(12 intermediate revisions by 7 users not shown)
Line 1: Line 1:
 +
''Note -- The guidelines on this page work for the Neo FreeRunner too -- at least they do if you have a recent kernel installed. (See notes below on bluescreen of death before proceeding.)''
 +
 
This page tries to collect some information on how to use your Neo1973 together with a computer running a Microsoft(R) Windows(TM) series operating system.
 
This page tries to collect some information on how to use your Neo1973 together with a computer running a Microsoft(R) Windows(TM) series operating system.
  
Line 10: Line 12:
  
 
How to connect to Windows XP via Bluetooth is described here: [[Manually_using_Bluetooth#Bluetooth_networking_with_a_Windows_XP_system]]
 
How to connect to Windows XP via Bluetooth is described here: [[Manually_using_Bluetooth#Bluetooth_networking_with_a_Windows_XP_system]]
 
  
 
=== USB Ethernet emulation ===
 
=== USB Ethernet emulation ===
 +
 +
{{note|With some recent versions of FSO or SHR with kernel 2.6.28 and Windows XP, you might get a Blue Screen Of Death (BSOD) as soon as you connect your Freerunner. ( https://docs.openmoko.org/trac/ticket/2211 )}}
 +
 
{{note|For Windows XP USB RNDIS networking ''finally works'' as of Kernel 2.6.22.5-moko11 using the procedure described below.}}
 
{{note|For Windows XP USB RNDIS networking ''finally works'' as of Kernel 2.6.22.5-moko11 using the procedure described below.}}
  
 
{{note|For Vista this procedure works with the 2.6.24 kernel that ships with the Neo FreeRunner. The initial SSH connection seems a little slow however.}}
 
{{note|For Vista this procedure works with the 2.6.24 kernel that ships with the Neo FreeRunner. The initial SSH connection seems a little slow however.}}
  
# Download http://privat.wmo.de/~c_schweers/NeoRndis.inf ([[NeoRndis.inf|Listing of NeoRndis.inf]]) to somewhere convenient on your Windows machine. If the file is not reachable, you can download another working inf file here: http://users.informatik.uni-halle.de/~rabe/neo/Neo1973.inf ([[Neo1973.inf|Listing of Neo1973.inf]]). If you have Windows Vista x64 try this one: [http://openmoko.kamillo.pl/neo_vista_x64.inf http://openmoko.kamillo.pl/neo_vista_x64.inf]. If you have Windows 2000 download this: [http://minucci.net/file/FreeRndis.zip http://minucci.net/file/FreeRndis.zip]
+
# Download ([[NeoRndis.inf|Listing of NeoRndis.inf]]) to somewhere convenient on your Windows machine. If the file is not reachable, you can download another working inf file here: http://users.informatik.uni-halle.de/~rabe/neo/Neo1973.inf ([[Neo1973.inf|Listing of Neo1973.inf]]). If you have Windows Vista x64 try this one: [http://openmoko.kamillo.pl/neo_vista_x64.inf http://openmoko.kamillo.pl/neo_vista_x64.inf] (this also works with Windows 7 x64 RC). If you have Windows 2000 download this: [http://minucci.net/file/FreeRndis.zip http://minucci.net/file/FreeRndis.zip] For Windows 7 32 bit and QTMoko v35 the following guide has been helpful: [http://geekswithblogs.net/WindowsEmbeddedCookbook/archive/2010/08/31/installing-windows-ce-6.0-tools-on-a-windows7-64bit-pc.aspx]
 
# Power up your Neo1973, let it boot into Openmoko, and then connect its USB port to the Windows machine, using a standard USB-A to USB-mini-B cable. Note that if you connect the cable ''before'' powering the phone on, Windows will detect a device presented by the [[Boot lader|boot loader]]. This probably isn't what you want. Let the phone power up first.
 
# Power up your Neo1973, let it boot into Openmoko, and then connect its USB port to the Windows machine, using a standard USB-A to USB-mini-B cable. Note that if you connect the cable ''before'' powering the phone on, Windows will detect a device presented by the [[Boot lader|boot loader]]. This probably isn't what you want. Let the phone power up first.
 
# Assuming the new drivers are downloaded and accessible as above, Windows should detect the Neo1973 and prompt you for a driver for a "RNDIS/Ethernet Gadget". Select to specify your own driver, and then choose the NeoRndis.inf file you downloaded earlier. This file tells Windows XP to use its own built-in RNDIS driver for the device.
 
# Assuming the new drivers are downloaded and accessible as above, Windows should detect the Neo1973 and prompt you for a driver for a "RNDIS/Ethernet Gadget". Select to specify your own driver, and then choose the NeoRndis.inf file you downloaded earlier. This file tells Windows XP to use its own built-in RNDIS driver for the device.
Line 23: Line 27:
 
# Go into the Windows network configuration for the new USB networking adapter and set the IP address of the interface to 192.168.0.200.
 
# Go into the Windows network configuration for the new USB networking adapter and set the IP address of the interface to 192.168.0.200.
  
You should now be able to connect to your Neo1973 on 192.168.0.202 via ssh (e.g. putty)
+
If you have trouble using the Windows tools to set the IP address (on XP it would not allow me to type in the full ip address!), use a command line.
 +
List all available interfaces to get the adapter name to use:
  
Getting a Blue Screen of Death (BSOD) in windows XP? Some extra drivers are automatically installed with new devices (e.g. "SecureRemoteMiniPort"). Try disabling them in the device manager while the Neo is not connectedYou need to select "Show hidden devices" in the view menu to see them. Then reconnect the Neo.
+
$ '''netsh interface ip show config'''
 +
''...lots of stuff here not shown, at the bottom I see my USB interface...''
 +
  Configuration for interface "Local Area Connection 11"
 +
    DHCP enabled:                        Yes
 +
    InterfaceMetric:                      0
 +
    DNS servers configured through DHCP:  None
 +
    WINS servers configured through DHCP: None
 +
    Register with which suffix:          Primary only
 +
 +
Now that you know the name of the ethernet adapter, use the command to configure it.
  
=== Connection to the Internet ===
+
$ '''netsh interface ip set address name="Local Area Connection 11" static 192.168.0.200 255.255.255.0'''
 +
Ok.
 +
 
 +
You should now be able to connect to your smart phone on 192.168.0.202 via ssh (e.g. putty). The distribution you have might not have an ssh server running on it but if you still have a command line window open, you can ping the phone to make sure it's connected.
 +
 
 +
$ '''ping 192.168.0.202'''
 +
 +
Pinging 192.168.0.202 with 32 bytes of data:
 +
 +
Reply from 192.168.0.202: bytes=32 time=3ms TTL=64
 +
etc... good news!
 +
 
 +
'''Getting a Blue Screen of Death (BSOD) in windows XP?''' Some extra drivers are automatically installed with new devices (e.g. "SecureRemoteMiniPort").  Try disabling them in the device manager while the Neo is not connected.  You need to select "Show hidden devices" in the view menu to see them. Then reconnect the Neo.
 +
 
 +
'''Troubles getting connected?'''
 +
If you're having issues getting things to work, you can always try again from scratch using:
 +
 
 +
$ '''netsh interface ip reset'''
 +
 
 +
This will reset the IP configuration of the interface.
 +
 
 +
== Connection to the Internet ==
  
 
If you want to connect to the internet from your Neo via Windows XP, e.g. for doing ipkg update/upgrade, you need to set up IP forwarding and routing properly.
 
If you want to connect to the internet from your Neo via Windows XP, e.g. for doing ipkg update/upgrade, you need to set up IP forwarding and routing properly.
Line 35: Line 70:
 
An easy way to do this is to use Windows Internet Connection Sharing.
 
An easy way to do this is to use Windows Internet Connection Sharing.
  
To do this, you need to create a network bridge which contains the usb connection to the Neo.
+
First tell Windows to share the WAN connection (i.e. the network interface which connects your Windows system to the internet) with the USB Ethernet connection.
 
+
Then you tell Windows to share the WAN connection (i.e. the network interface which connects your Windows system to the internet) with the new bridge.
+
  
Then you manually set the IP address of the bridge to 192.168.0.200
+
Then you manually set the IP address of the USB to 192.168.0.200
  
 
After you have done all this, the Neo will be able to route through the Windows machine out to the internet. DNS queries will also be proxied by the Windows machine. Of course, /etc/resolv.conf on the Neo needs to be set to your local DNS or a free DNS.
 
After you have done all this, the Neo will be able to route through the Windows machine out to the internet. DNS queries will also be proxied by the Windows machine. Of course, /etc/resolv.conf on the Neo needs to be set to your local DNS or a free DNS.
Line 59: Line 92:
 
# Login to openmoko using Putty (ssh client for windows) 192.168.0.202
 
# Login to openmoko using Putty (ssh client for windows) 192.168.0.202
  
==== Option 1.5, using a Network Bridge ====
+
=== Option 1.5, using a Network Bridge ===
 
+
If your PC is on 192.168.0 (or you want to give the Neo an address in the PC's subnet), you can just bridge the USB and Ethernet networks together (Win XP).
Just bridge the USB and Ethernet networks together (Win XP).
+
  
 
To do this, you need to create a network bridge which contains the usb connection to the Neo and your normal Ethernet (or WiFi) connection (the one you use to go on the internets).
 
To do this, you need to create a network bridge which contains the usb connection to the Neo and your normal Ethernet (or WiFi) connection (the one you use to go on the internets).
  
Then you set up the bridge like your Ethernet was (DHCP or static IP, e.g. 10.10.0.foo) and the Neo to be in the same subnet as the bridge (10.10.0.bar)
+
Then you set up the bridge like your Ethernet was (DHCP or static IP, e.g. 192.168.0.foo) and the Neo to be in the same subnet as the bridge (192.168.0.bar)
  
After you have done all this, the Neo will be able to route through the Windows machine out to the internet. DNS queries will also be proxied by the Windows machine. Of course, /etc/resolv.conf on the Neo needs to be set to your local DNS or a free DNS.  
+
After you have done all this, the Neo will be able to route through the Windows machine out to the internet. DNS queries will also be proxied by the Windows machine. Of course, /etc/resolv.conf on the Neo needs to be set to your local DNS or a free DNS.
  
==== Option 2, using AnalogX ====
+
=== Option 2, using AnalogX ===
  
 
AnalogX is a lightweight, free network proxy for Windows. It can proxy HTTP, FTP, SMTP and other protocols. It's very easy to set up and works with any software on the phone that supports proxies (eg. opkg).
 
AnalogX is a lightweight, free network proxy for Windows. It can proxy HTTP, FTP, SMTP and other protocols. It's very easy to set up and works with any software on the phone that supports proxies (eg. opkg).
Line 83: Line 115:
 
Other apps like [[Minimo]] can also be configured to use a proxy. Use the HTTP proxy URL as above.
 
Other apps like [[Minimo]] can also be configured to use a proxy. Use the HTTP proxy URL as above.
  
==== Option 3, using IP Forwarding and extra routing ====
+
=== Option 3, using IP Forwarding and extra routing ===
  
 
An alternative way is to do it manually:
 
An alternative way is to do it manually:
Line 95: Line 127:
 
Then, if there is a router between your Windows XP system and the internet, you also need to tell the router how to get back to your Neo, so you need to set a route on it for 192.168.0.0/255.255.255.0 to your Windows XP LAN interface IP address. Windows will then forward the packets to the Neo.
 
Then, if there is a router between your Windows XP system and the internet, you also need to tell the router how to get back to your Neo, so you need to set a route on it for 192.168.0.0/255.255.255.0 to your Windows XP LAN interface IP address. Windows will then forward the packets to the Neo.
  
 
+
=== Option 4, using HTTP proxy at work with Putty SSH tunneling ===
==== Option 4, using HTTP proxy at work with Putty SSH tunneling ====
+
  
 
If your PC is running Windows and Internet connection goes through proxy, you can simply use [http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html PuTTY: A Free Telnet/SSH Client]. In Connection->SSH->Tunnels you can add tunnel to your proxy server. For example, if proxy address is "10.0.0.1:8080":
 
If your PC is running Windows and Internet connection goes through proxy, you can simply use [http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html PuTTY: A Free Telnet/SSH Client]. In Connection->SSH->Tunnels you can add tunnel to your proxy server. For example, if proxy address is "10.0.0.1:8080":
Line 108: Line 139:
 
And have Internet.
 
And have Internet.
  
=== Further references ===
+
== Further references ==
 +
 
 
* http://www.microsoft.com/whdc/device/network/NDIS/rndis.mspx
 
* http://www.microsoft.com/whdc/device/network/NDIS/rndis.mspx
 
* http://maemo.org/maemowiki/USBnetworkingWinXP
 
* http://maemo.org/maemowiki/USBnetworkingWinXP
 
* http://docwiki.gumstix.org/Setting_up_USBnet
 
* http://docwiki.gumstix.org/Setting_up_USBnet
 
* http://handhelds.org/moin/moin.cgi/WindowsXpUsbNetworkHowTo
 
* http://handhelds.org/moin/moin.cgi/WindowsXpUsbNetworkHowTo
 +
* [http://www.petri.co.il/configure_tcp_ip_from_cmd.htm Configuring TCP/IP settings from command line]
  
 
[[Category:Networking]]
 
[[Category:Networking]]
 
[[Category:Host OSes]]
 
[[Category:Host OSes]]

Latest revision as of 17:58, 24 September 2011

Note -- The guidelines on this page work for the Neo FreeRunner too -- at least they do if you have a recent kernel installed. (See notes below on bluescreen of death before proceeding.)

This page tries to collect some information on how to use your Neo1973 together with a computer running a Microsoft(R) Windows(TM) series operating system.

Please note that this is not really supported, and that the Openmoko developers themselves only use Linux for testing.

Also note that Windows appears to not recognize and communicate with the neo as a USB device unless you install the .inf file below, and hence you will always have to force fast charge to recharge using a usb connection to a Windows machine unless you install that .inf.

Contents

[edit] Connecting to the phone

[edit] Bluetooth connection

How to connect to Windows XP via Bluetooth is described here: Manually_using_Bluetooth#Bluetooth_networking_with_a_Windows_XP_system

[edit] USB Ethernet emulation

NOTE: With some recent versions of FSO or SHR with kernel 2.6.28 and Windows XP, you might get a Blue Screen Of Death (BSOD) as soon as you connect your Freerunner. ( https://docs.openmoko.org/trac/ticket/2211 )


NOTE: For Windows XP USB RNDIS networking finally works as of Kernel 2.6.22.5-moko11 using the procedure described below.


NOTE: For Vista this procedure works with the 2.6.24 kernel that ships with the Neo FreeRunner. The initial SSH connection seems a little slow however.


  1. Download (Listing of NeoRndis.inf) to somewhere convenient on your Windows machine. If the file is not reachable, you can download another working inf file here: http://users.informatik.uni-halle.de/~rabe/neo/Neo1973.inf (Listing of Neo1973.inf). If you have Windows Vista x64 try this one: http://openmoko.kamillo.pl/neo_vista_x64.inf (this also works with Windows 7 x64 RC). If you have Windows 2000 download this: http://minucci.net/file/FreeRndis.zip For Windows 7 32 bit and QTMoko v35 the following guide has been helpful: [1]
  2. Power up your Neo1973, let it boot into Openmoko, and then connect its USB port to the Windows machine, using a standard USB-A to USB-mini-B cable. Note that if you connect the cable before powering the phone on, Windows will detect a device presented by the boot loader. This probably isn't what you want. Let the phone power up first.
  3. Assuming the new drivers are downloaded and accessible as above, Windows should detect the Neo1973 and prompt you for a driver for a "RNDIS/Ethernet Gadget". Select to specify your own driver, and then choose the NeoRndis.inf file you downloaded earlier. This file tells Windows XP to use its own built-in RNDIS driver for the device.
  4. Windows may complain of "reduced network connectivity". This is because it expects to be able to get an address automatically from the Neo1973 and it doesn't provide one in the default setup. To fix this, see the next step.
  5. Go into the Windows network configuration for the new USB networking adapter and set the IP address of the interface to 192.168.0.200.

If you have trouble using the Windows tools to set the IP address (on XP it would not allow me to type in the full ip address!), use a command line. List all available interfaces to get the adapter name to use:

$ netsh interface ip show config
...lots of stuff here not shown, at the bottom I see my USB interface...
Configuration for interface "Local Area Connection 11"
   DHCP enabled:                         Yes
   InterfaceMetric:                      0
   DNS servers configured through DHCP:  None
   WINS servers configured through DHCP: None
   Register with which suffix:           Primary only

Now that you know the name of the ethernet adapter, use the command to configure it.

$ netsh interface ip set address name="Local Area Connection 11" static 192.168.0.200 255.255.255.0
Ok.

You should now be able to connect to your smart phone on 192.168.0.202 via ssh (e.g. putty). The distribution you have might not have an ssh server running on it but if you still have a command line window open, you can ping the phone to make sure it's connected.

$ ping 192.168.0.202

Pinging 192.168.0.202 with 32 bytes of data:

Reply from 192.168.0.202: bytes=32 time=3ms TTL=64
etc... good news!

Getting a Blue Screen of Death (BSOD) in windows XP? Some extra drivers are automatically installed with new devices (e.g. "SecureRemoteMiniPort"). Try disabling them in the device manager while the Neo is not connected. You need to select "Show hidden devices" in the view menu to see them. Then reconnect the Neo.

Troubles getting connected? If you're having issues getting things to work, you can always try again from scratch using:

$ netsh interface ip reset

This will reset the IP configuration of the interface.

[edit] Connection to the Internet

If you want to connect to the internet from your Neo via Windows XP, e.g. for doing ipkg update/upgrade, you need to set up IP forwarding and routing properly.

[edit] Option 1, using Windows ICS

An easy way to do this is to use Windows Internet Connection Sharing.

First tell Windows to share the WAN connection (i.e. the network interface which connects your Windows system to the internet) with the USB Ethernet connection.

Then you manually set the IP address of the USB to 192.168.0.200

After you have done all this, the Neo will be able to route through the Windows machine out to the internet. DNS queries will also be proxied by the Windows machine. Of course, /etc/resolv.conf on the Neo needs to be set to your local DNS or a free DNS.

New When you have LAN with network address 192.168.0.0 you have to do some hacking. 1. Edit /etc/network/interfaces and set for usb0 address 192.168.2.202

  netmask 255.255.255.0
  network 192.168.2.0
  gateway 192.168.2.1

On Windows go to Network settings, pull out LAN cable (so there's no connection with local DHCP server which conflicts with IP 192.168.0.1), enable connection sharing for Neo-USB cable. Then edit Neo-usb interface settings and change it's IP address to 192.168.2.1 and set gateway for yours 192.168.0.x (other which you have). Apply changes with OK. Put in net cable. Enjoy net on NEO.

Example: Setup for wifi only internet connection (windows xp and Neo FreeRunner)

  1. Once the Network Connections window shows both "Wireless Network Connection Status:Connected" and "openmoko Status:Connected" Right click on Wireless Network Connection and goto Properties. Select Advanced tab, and turn on Internet Connection sharing. Choose the openmoko network.
  2. If you get the error: the ip address is already in use. Change your wireless router address away from 192.168.0.2, to something like 192.168.1.2
  3. Windows will change the ip address of openmoko network to 192.168.0.1 and the Network Connections window will show "Wireless Internet Connection Status: connected,shared"
  4. Right click on openmoko network and goto Properties. Change the ip address of openmoko network to 192.168.0.200
  5. Login to openmoko using Putty (ssh client for windows) 192.168.0.202

[edit] Option 1.5, using a Network Bridge

If your PC is on 192.168.0 (or you want to give the Neo an address in the PC's subnet), you can just bridge the USB and Ethernet networks together (Win XP).

To do this, you need to create a network bridge which contains the usb connection to the Neo and your normal Ethernet (or WiFi) connection (the one you use to go on the internets).

Then you set up the bridge like your Ethernet was (DHCP or static IP, e.g. 192.168.0.foo) and the Neo to be in the same subnet as the bridge (192.168.0.bar)

After you have done all this, the Neo will be able to route through the Windows machine out to the internet. DNS queries will also be proxied by the Windows machine. Of course, /etc/resolv.conf on the Neo needs to be set to your local DNS or a free DNS.

[edit] Option 2, using AnalogX

AnalogX is a lightweight, free network proxy for Windows. It can proxy HTTP, FTP, SMTP and other protocols. It's very easy to set up and works with any software on the phone that supports proxies (eg. opkg).

Other apps like Minimo can also be configured to use a proxy. Use the HTTP proxy URL as above.

[edit] Option 3, using IP Forwarding and extra routing

An alternative way is to do it manually:

In the Windows registry, go to:

Hkey_Local_Machine\System\CurrentControlSet\Services\Tcpip\Parameters

and set

REG_DWORD: "IPEnableRouter" to "1"

Be aware that IP Forwarding can be a security risk.

Then, if there is a router between your Windows XP system and the internet, you also need to tell the router how to get back to your Neo, so you need to set a route on it for 192.168.0.0/255.255.255.0 to your Windows XP LAN interface IP address. Windows will then forward the packets to the Neo.

[edit] Option 4, using HTTP proxy at work with Putty SSH tunneling

If your PC is running Windows and Internet connection goes through proxy, you can simply use PuTTY: A Free Telnet/SSH Client. In Connection->SSH->Tunnels you can add tunnel to your proxy server. For example, if proxy address is "10.0.0.1:8080": Source port: 8080 Destination: 10.0.0.1 Radio button: "Remote" Then you will only need to set http_proxy address at your 1973/Freerunner:

# export http_proxy=http://localhost:8080

And have Internet.

[edit] Further references

Personal tools

This page tries to collect some information on how to use your Neo1973 together with a computer running a Microsoft(R) Windows(TM) series operating system.

Please note that this is not really supported, and that the Openmoko developers themselves only use Linux for testing.

Also note that Windows appears to not recognize and communicate with the neo as a USB device unless you install the .inf file below, and hence you will always have to force fast charge to recharge using a usb connection to a Windows machine unless you install that .inf.

Connecting to the phone

Bluetooth connection

How to connect to Windows XP via Bluetooth is described here: Manually_using_Bluetooth#Bluetooth_networking_with_a_Windows_XP_system


USB Ethernet emulation

NOTE: For Windows XP USB RNDIS networking finally works as of Kernel 2.6.22.5-moko11 using the procedure described below.


NOTE: For Vista this procedure works with the 2.6.24 kernel that ships with the Neo FreeRunner. The initial SSH connection seems a little slow however.


  1. Download http://privat.wmo.de/~c_schweers/NeoRndis.inf (Listing of NeoRndis.inf) to somewhere convenient on your Windows machine. If the file is not reachable, you can download another working inf file here: http://users.informatik.uni-halle.de/~rabe/neo/Neo1973.inf (Listing of Neo1973.inf). If you have Windows Vista x64 try this one: http://openmoko.kamillo.pl/neo_vista_x64.inf. If you have Windows 2000 download this: http://minucci.net/file/FreeRndis.zip
  2. Power up your Neo1973, let it boot into Openmoko, and then connect its USB port to the Windows machine, using a standard USB-A to USB-mini-B cable. Note that if you connect the cable before powering the phone on, Windows will detect a device presented by the boot loader. This probably isn't what you want. Let the phone power up first.
  3. Assuming the new drivers are downloaded and accessible as above, Windows should detect the Neo1973 and prompt you for a driver for a "RNDIS/Ethernet Gadget". Select to specify your own driver, and then choose the NeoRndis.inf file you downloaded earlier. This file tells Windows XP to use its own built-in RNDIS driver for the device.
  4. Windows may complain of "reduced network connectivity". This is because it expects to be able to get an address automatically from the Neo1973 and it doesn't provide one in the default setup. To fix this, see the next step.
  5. Go into the Windows network configuration for the new USB networking adapter and set the IP address of the interface to 192.168.0.200.

You should now be able to connect to your Neo1973 on 192.168.0.202 via ssh (e.g. putty)

Getting a Blue Screen of Death (BSOD) in windows XP? Some extra drivers are automatically installed with new devices (e.g. "SecureRemoteMiniPort"). Try disabling them in the device manager while the Neo is not connected. You need to select "Show hidden devices" in the view menu to see them. Then reconnect the Neo.

Connection to the Internet

If you want to connect to the internet from your Neo via Windows XP, e.g. for doing ipkg update/upgrade, you need to set up IP forwarding and routing properly.

Option 1, using Windows ICS

An easy way to do this is to use Windows Internet Connection Sharing.

To do this, you need to create a network bridge which contains the usb connection to the Neo.

Then you tell Windows to share the WAN connection (i.e. the network interface which connects your Windows system to the internet) with the new bridge.

Then you manually set the IP address of the bridge to 192.168.0.200

After you have done all this, the Neo will be able to route through the Windows machine out to the internet. DNS queries will also be proxied by the Windows machine. Of course, /etc/resolv.conf on the Neo needs to be set to your local DNS or a free DNS.

New When you have LAN with network address 192.168.0.0 you have to do some hacking. 1. Edit /etc/network/interfaces and set for usb0 address 192.168.2.202

  netmask 255.255.255.0
  network 192.168.2.0
  gateway 192.168.2.1

On Windows go to Network settings, pull out LAN cable (so there's no connection with local DHCP server which conflicts with IP 192.168.0.1), enable connection sharing for Neo-USB cable. Then edit Neo-usb interface settings and change it's IP address to 192.168.2.1 and set gateway for yours 192.168.0.x (other which you have). Apply changes with OK. Put in net cable. Enjoy net on NEO.

Example: Setup for wifi only internet connection (windows xp and Neo FreeRunner)

  1. Once the Network Connections window shows both "Wireless Network Connection Status:Connected" and "openmoko Status:Connected" Right click on Wireless Network Connection and goto Properties. Select Advanced tab, and turn on Internet Connection sharing. Choose the openmoko network.
  2. If you get the error: the ip address is already in use. Change your wireless router address away from 192.168.0.2, to something like 192.168.1.2
  3. Windows will change the ip address of openmoko network to 192.168.0.1 and the Network Connections window will show "Wireless Internet Connection Status: connected,shared"
  4. Right click on openmoko network and goto Properties. Change the ip address of openmoko network to 192.168.0.200
  5. Login to openmoko using Putty (ssh client for windows) 192.168.0.202

Option 1.5, using a Network Bridge

Just bridge the USB and Ethernet networks together (Win XP).

To do this, you need to create a network bridge which contains the usb connection to the Neo and your normal Ethernet (or WiFi) connection (the one you use to go on the internets).

Then you set up the bridge like your Ethernet was (DHCP or static IP, e.g. 10.10.0.foo) and the Neo to be in the same subnet as the bridge (10.10.0.bar)

After you have done all this, the Neo will be able to route through the Windows machine out to the internet. DNS queries will also be proxied by the Windows machine. Of course, /etc/resolv.conf on the Neo needs to be set to your local DNS or a free DNS.

Option 2, using AnalogX

AnalogX is a lightweight, free network proxy for Windows. It can proxy HTTP, FTP, SMTP and other protocols. It's very easy to set up and works with any software on the phone that supports proxies (eg. opkg).

Other apps like Minimo can also be configured to use a proxy. Use the HTTP proxy URL as above.

Option 3, using IP Forwarding and extra routing

An alternative way is to do it manually:

In the Windows registry, go to:

Hkey_Local_Machine\System\CurrentControlSet\Services\Tcpip\Parameters

and set

REG_DWORD: "IPEnableRouter" to "1"

Be aware that IP Forwarding can be a security risk.

Then, if there is a router between your Windows XP system and the internet, you also need to tell the router how to get back to your Neo, so you need to set a route on it for 192.168.0.0/255.255.255.0 to your Windows XP LAN interface IP address. Windows will then forward the packets to the Neo.


Option 4, using HTTP proxy at work with Putty SSH tunneling

If your PC is running Windows and Internet connection goes through proxy, you can simply use PuTTY: A Free Telnet/SSH Client. In Connection->SSH->Tunnels you can add tunnel to your proxy server. For example, if proxy address is "10.0.0.1:8080": Source port: 8080 Destination: 10.0.0.1 Radio button: "Remote" Then you will only need to set http_proxy address at your 1973/Freerunner:

# export http_proxy=http://localhost:8080

And have Internet.

Further references