Network Troubleshooting

From Openmoko

Jump to: navigation, search
Stub: This is a stub. You can help OpenMokoWiki by expanding it.


USB Networking

If your Openmoko fails to download packages or package information, there is likely a problem connecting to the network.

Assuming that you have successfully made a usb connection to your Openmoko, the problem probably lies in your /etc/resolv.conf file or in the host computer's failure to act as a gateway.


If resolv.conf is not set correctly, then your Openmoko won't be able to look up internet host names.

Type ping on your Openmoko. If the response is something like PING ( 56 data bytes, then your resolv.conf file is fine. If the result is something like ping: bad address '', then the problem lies here.

Take a quick look at /etc/resolv.conf. The default contents are


which means that Openmoko will look to your host computer for name lookups. If your host computer is not configured to act as a DNS server, that will be your problem.

To fix: Examine the /etc/resolv.conf on your own host system. You might typically see


which will either point to the name server provided by your ISP, or (as in this example) another system on your local network, such as your NAT router.

On your Openmoko, give the command (e.g.) ping If this command succeeds, then it's a simple matter of adding nameserver to the resolv.conf on your Openmoko device. (Being certain, of course, to use the actual IP address you found on the host system.)


If the ping command failed, then it is likely that your host system is not acting as a gateway.

Gateway Failure

If your Openmoko is connected to a host computer via USB, then the host computer will need to provide internet connectivity to the Openmoko. This is known as acting as a gateway.

See Allow FreeRunner to Connect to Internet via USB on the Getting Started page for instructions on configuring this.

usb0 Not Found

If the usb0 interface is not created when you connect the (booted) phone to your Linux computer, you need to compile support for it into the kernel. ie:

 usb0: error fetching interface information: Device not found

You need specifically the cdc_ether module. To compile support, go to the kernel menuconfig and navigate to "Device Drivers" -> "Network Device Support" -> "USB Network Adapters" Ensure the following are enabled:

 Multi-purpose USB Networking Framework
 CDC Ethernet support (smart devices such as cable modems)
 Simple USB Network Links (CDC Ethernet subset)
 Embedded ARM Linux links (iPaq, ...)

Compile the modules and install them, and then reconnect the USB cable. The usb0 interface should now be present.

Personal tools