USB Networking is not my preferred way of networking but it is quite usable with palmtops or Neo1973 phone (which spend most of time connected to USB due to charging problems in GTA01Bv3). But this also has some problems due to fat that this is hotplugable:

  • each plug mean usbX device re-appear
  • no idea which usbX it will be this time

Today I moved my Zaurus c7x0 back to using WiFi so second problem disappeared for me (now only Neo1973 is connected over USB) but first problem was still present. I was tired to having to write sudo ifdown usb0;sudo ifup usb0 each time when I reconnected phone so after reading some man pages I updated my /etc/network/interfaces with this:

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

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

Hotpluging usbnet
            

6 thoughts on “Hotpluging usbnet

  • 22nd March 2007 at 19:00
    Permalink

    You should look into creating a udev rule for the openmoko, it’s usually pretty straightforward.

    It’d be great if you had that up on the wiki by the time I got my phone 😉

  • 22nd March 2007 at 19:17
    Permalink

    Adam: I think that udev rule will be overkill for this task. But now since Neo1973 has other VendorId/ProductId then standard USB gadget system will know that this is Neo and not some other device.

    But what to do when more then one Neo1973 is connected to machine? I had such situation and will have them soon.

  • 22nd March 2007 at 21:08
    Permalink

    Nice trick. Could you add that to the OpenMoko wiki, please?

  • 22nd March 2007 at 22:35
    Permalink

    Mickeyl: Added.

  • 23rd March 2007 at 01:23
    Permalink

    Ah well you could always send me any extra phone you got to keep things simple for you.

    But you should be able to poke about the device entry in /sys for a serial number and create a mapping for each device you add.

  • 14th April 2007 at 02:00
    Permalink

    Definitely entering a udev rule is the way to go… this will be literally one (or maybe two) lines of text, and yields uniqueness for the device. My suggestion would be to map them such that your own phone is like /dev/moko0, then let additional phones enumerate themselves as they are added (these features, too, are available within udev).

Comments are closed.