View source for USB Networking

From Openmoko

Jump to: navigation, search

You do not have permission to edit this page, for the following reasons:

  • The action you have requested is limited to users in the group: Administrators.
  • You must confirm your email address before editing pages. Please set and validate your email address through your user preferences.

You can view and copy the source of this page:

Templates used on this page:

Return to USB Networking.

Personal tools

Neo1973 side

By default Neo1973 has usb0 interface working due to Ethernet gadget (g_ether) compiled into kernel.

Desktop side

Manual method

Modprobe usbnet module and configure usb0 interface (as root):

ifconfig usb0 netmask

If your eth0 interface is also in the same 'range' (e.g. then you can do the following:

1. ping the Neo with

# ping -I usb0

2. add a route to your Neo:

# /sbin/route add -host dev usb0

3 log in to the Neo

# ssh root@

Automatic method

Took from Hotplugging usbnet post by Marcin 'Hrw' Juszkiewicz.

For Debian or similar distros: Edit /etc/network/interfaces file ():

allow-hotplug usb0
iface usb0 inet static
        post-up iptables -A POSTROUTING -t nat -j MASQUERADE -s
        post-up echo 1 > /proc/sys/net/ipv4/ip_forward
        post-up iptables -P FORWARD ACCEPT

For Red Hat or similar distros Edit /etc/sysconfig/network-scripts/net.hotplug:

After this statement:

    case $INTERFACE in
	# interfaces that are registered after being "up" (?)

Add the following:

		ifconfig usb0 netmask
		route add usb0
		iptables -I INPUT 1 -s -j ACCEPT
		iptables -I OUTPUT 1 -s -j ACCEPT
		exit 0

For Gentoo or similar distros:

  • Edit /etc/conf.d/net by adding:
   # Neo1973
   config_usb0=( " netmask" )
  • Create a new init script:
   # cd /etc/init.d
   # ln -s net.lo net.usb0

And now when you connect phone (which has IP) it gets connection to world automatically.

For MacOS X this hotplugging configuration is done automatically by default if the interface has been initialized once. Install the AJZaurusUSB driver as described on MacOS_X and open System Preferences / Networks which will show the new interface. Configure for Manual DHC with Host address and Gateway

Connecting to phone

Then ssh root@ with empty password to get into phone.

SSH Extras

If you get fed up with typing root@, on your PC edit /etc/hosts and add an entry for 'phone' phone

then edit ~/.ssh/config (or create it) and add

host phone
user root

then all you need to do is type

# ssh phone

You might want to use keys to bypass the login prompt too.

SSH Keys

To generate ssh keys for use as a login mechanism type

ssh-keygen -t rsa

when prompted for a password either hit enter for no password (not really a good idea) or enter a password for this key. ssh into the phone and create ~/.ssh

# mkdir ~/.ssh

then from your PC copy the .pub file to the phone.

# scp ~/.ssh/ phone:.ssh/authorized_keys

You should now be able to ssh directly into the phone.

To disable password logins (after setting up key access) edit /etc/init.d/dropbear and change the following line:




You will need to restart dropbear for this to take effect.

GUI on desktop through SSH

If you need to get the GUI on the phone onto the desktop via usb, you can use ssh as follows

 ssh -l root -X -v

Login, and run openmoko-finger-demo for example, and it will open up on the desktop. To get landscape view, just resize the GUI window on the desktop.