User:Nukama

From Openmoko

(Difference between revisions)
Jump to: navigation, search
(= USB-Networking on Ubuntu 9.04)
Line 13: Line 13:
  
  
===== USB-Networking on Ubuntu 9.04 ====
+
==== USB-Networking on Ubuntu 9.04 ====
  
 
== /etc/network/freerunner == chmod -x
 
== /etc/network/freerunner == chmod -x
 +
<pre>
 
#!/bin/sh
 
#!/bin/sh
 
#
 
#
Line 53: Line 54:
 
esac
 
esac
  
 
+
</pre>
 
== /etc/udev/rules.d/80-freerunner.rules
 
== /etc/udev/rules.d/80-freerunner.rules
 +
<pre>
 
# This file causes programs to be run on device insertion.
 
# This file causes programs to be run on device insertion.
 
# See udev(7) for syntax.
 
# See udev(7) for syntax.
 
# rule to assign a fixed mac address specified in /
 
# rule to assign a fixed mac address specified in /
 
KERNEL=="usb[0-9]*", DRIVERS=="cdc_ether", ACTION=="add", RUN+="/usr/local/sbin/freerunner-usb-add.sh %k"
 
KERNEL=="usb[0-9]*", DRIVERS=="cdc_ether", ACTION=="add", RUN+="/usr/local/sbin/freerunner-usb-add.sh %k"
 
+
</pre>
  
 
== /usr/local/sbin/freerunner-usb-add.sh == chmod -x
 
== /usr/local/sbin/freerunner-usb-add.sh == chmod -x
 +
<pre>
 
#!/bin/sh
 
#!/bin/sh
 
(
 
(
Line 69: Line 72:
 
) &
 
) &
 
exit 0
 
exit 0
 +
</pre>

Revision as of 22:52, 11 May 2009

Bicycle

Dynamo powered openmoko (and other USB-Devices/Host) using the frequency/voltage of the dynamo to gather information about speed and distance.

Wishlist for this USB-Charger:

  • 5V, 500-1500mA output (through diodes or MOSFET)
  • Voltage, Frequency (should be dynamohub independable)
  • USB-Device (maybe with USBprog)

nice to

  • 3d compass, altimeter, thermometer (with information of distance to map tunnels, dense forest, ...)
  • buttons for turning lights (on lowpower/on highpower/off), setting waypoints/audionotes, easy navigation of openmoko (scrolling/enter)


USB-Networking on Ubuntu 9.04

== /etc/network/freerunner == chmod -x

#!/bin/sh
#
# configures the freerunner for internet
#
#

DEVICE=usb0
IPADDR=192.168.0.200
REMOTE_IPADDR=192.168.0.202
NETMASK=255.255.255.0

# get first ip for dns
DNSIP=$(awk '$1 == "nameserver"{print $2; exit(0);}' /etc/resolv.conf)

case "$1" in
start)
iptables -A POSTROUTING -t nat -j MASQUERADE -s $REMOTE_IPADDR
iptables -A PREROUTING -t nat -p tcp -s $REMOTE_IPADDR -d $IPADDR --dport domain -j DNAT --to-destination $DNSIP
iptables -A PREROUTING -t nat -p udp -s $REMOTE_IPADDR -d $IPADDR --dport domain -j DNAT --to-destination $DNSIP

if [ "$(cat /proc/sys/net/ipv4/ip_forward)" = "0" ]; then
echo "temoprarely allow ip_forward for openmoko" > /var/run/openmoko.ip_forward
echo 1 > /proc/sys/net/ipv4/ip_forward
fi
;;
stop)
iptables -D POSTROUTING -t nat -j MASQUERADE -s $REMOTE_IPADDR
iptables -D PREROUTING -t nat -p tcp -s $REMOTE_IPADDR -d $IPADDR --dport domain -j DNAT --to-destination $DNSIP
iptables -D PREROUTING -t nat -p udp -s $REMOTE_IPADDR -d  $IPADDR --dport domain -j DNAT --to-destination $DNSIP

if [ -f /var/run/openmoko.ip_forward ]; then
rm /var/run/openmoko.ip_forward
echo 0 > /proc/sys/net/ipv4/ip_forward
fi
;;
esac

== /etc/udev/rules.d/80-freerunner.rules

# This file causes programs to be run on device insertion.
# See udev(7) for syntax.
# rule to assign a fixed mac address specified in /
KERNEL=="usb[0-9]*", DRIVERS=="cdc_ether", ACTION=="add", RUN+="/usr/local/sbin/freerunner-usb-add.sh %k"

== /usr/local/sbin/freerunner-usb-add.sh == chmod -x

#!/bin/sh
(
ip address add 192.168.0.200/26 netmask dev usb0 > /dev/null
ip link set usb0 up > /dev/null
/etc/network/freerunner start
) &
exit 0
Personal tools
Bicycle

Dynamo powered openmoko (and other USB-Devices/Host) using the frequency/voltage of the dynamo to gather information about speed and distance.

Wishlist for this USB-Charger:

  • 5V, 500-1500mA output (through diodes or MOSFET)
  • Voltage, Frequency (should be dynamohub independable)
  • USB-Device (maybe with USBprog)

nice to

  • 3d compass, altimeter, thermometer (with information of distance to map tunnels, dense forest, ...)
  • buttons for turning lights (on lowpower/on highpower/off), setting waypoints/audionotes, easy navigation of openmoko (scrolling/enter)


= USB-Networking on Ubuntu 9.04

== /etc/network/freerunner == chmod -x

  1. !/bin/sh
  2. configures the freerunner for internet

DEVICE=usb0 IPADDR=192.168.0.200 REMOTE_IPADDR=192.168.0.202 NETMASK=255.255.255.0

  1. get first ip for dns

DNSIP=$(awk '$1 == "nameserver"{print $2; exit(0);}' /etc/resolv.conf)

case "$1" in start) iptables -A POSTROUTING -t nat -j MASQUERADE -s $REMOTE_IPADDR iptables -A PREROUTING -t nat -p tcp -s $REMOTE_IPADDR -d $IPADDR --dport domain -j DNAT --to-destination $DNSIP iptables -A PREROUTING -t nat -p udp -s $REMOTE_IPADDR -d $IPADDR --dport domain -j DNAT --to-destination $DNSIP

if [ "$(cat /proc/sys/net/ipv4/ip_forward)" = "0" ]; then echo "temoprarely allow ip_forward for openmoko" > /var/run/openmoko.ip_forward echo 1 > /proc/sys/net/ipv4/ip_forward fi

stop) iptables -D POSTROUTING -t nat -j MASQUERADE -s $REMOTE_IPADDR iptables -D PREROUTING -t nat -p tcp -s $REMOTE_IPADDR -d $IPADDR --dport domain -j DNAT --to-destination $DNSIP iptables -D PREROUTING -t nat -p udp -s $REMOTE_IPADDR -d $IPADDR --dport domain -j DNAT --to-destination $DNSIP

if [ -f /var/run/openmoko.ip_forward ]; then rm /var/run/openmoko.ip_forward echo 0 > /proc/sys/net/ipv4/ip_forward fi

esac


== /etc/udev/rules.d/80-freerunner.rules

  1. This file causes programs to be run on device insertion.
  2. See udev(7) for syntax.
  3. rule to assign a fixed mac address specified in /

KERNEL=="usb[0-9]*", DRIVERS=="cdc_ether", ACTION=="add", RUN+="/usr/local/sbin/freerunner-usb-add.sh %k"


== /usr/local/sbin/freerunner-usb-add.sh == chmod -x

  1. !/bin/sh

( ip address add 192.168.0.200/26 netmask dev usb0 > /dev/null ip link set usb0 up > /dev/null /etc/network/freerunner start ) & exit 0