User:Nukama
From Openmoko
Line 11: | Line 11: | ||
* 3d compass, altimeter, thermometer (with information of distance to map tunnels, dense forest, ...) | * 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) | * 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 |
Revision as of 22:51, 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