Fonera
FLASHING
Mac OS X
Since EasyFlash isn't available for Max OS X, we do this manually (FON2200 + ethernet only):
1. Set IP address of your Mac:
sudo ifconfig en0 192.168.1.254
antifuchs says: this does not work reliably on Leopard. What does work is: In Network.prefpane, Make a new network location, make inactive every device except ethernet; set ethernet config to "Manual", configure IP address 192.168.1.254. Then select that location as your current location.
2. Enable tftp
Get TFTPServer, point it to the directory that contains the firmware; it needs to be world-read/writable; you can let that program fix permissions for you.
3. Copy OpenWRT files to tftp dir:
These files are typically what you want to use:
- openwrt-atheros-2.6-vmlinux.lzma
- openwrt-atheros-2.6-root.squashfs
4. Upload the firmware
Two methods here: The lazy approach, and flashing it manually. I recommend doing it by hand at least once to be able to debug the lazy approach if it goes wrong.
Flashing manually
Get access to RedBoot
See also http://forum.openwrt.org/viewtopic.php?pid=63402.
echo -e "\003" > break
fonera an den strom, wenn das 2te led zu blinken beginnt:
nc -vvv 192.168.1.254 9000 < break;
danach ctrl+c
telnet 192.168.1.254 9000
-> You should now have a "RedBoot>" prompt. If not, rinse and repeat.
Flash new kernel and filesystem images in RedBoot:
In RedBoot (assuming you configured the machine with the tftp server to 192.168.1.254):
fis init load -r -b 0x80041000 openwrt-atheros-2.6-vmlinux.lzma fis create -e 0x80041000 -r 0x80041000 vmlinux.bin.l7 load -r -b 0x80041000 openwrt-atheros-2.6-root.squashfs fis create -l 0x06F0000 rootfs
Reboot
You are now where EasyFlash ends. Wait for the boot to finish and telnet to 192.168.1.1 and set a root password.
Flashing automatically (the lazy approach)
Get this expect script (written by Antifuchs and Marius): https://whatever.metalab.at/user/kintel/fonera/flashit.expect
Usage:
1. Start script: ./flashit.expect
Optionally, you can give kernel and squashfs files as parameters if they don't have the default filenames
2. Connect and power up the Fonera
3. When you see stuff happening, go for lunch.<br/
When the script exits (and you see no error message), you can safely reboot the box and telnet to 192.168.1.1
Windows/Linux (easyflash):
- Flashing Utility
http://download.berlin.freifunk.net/fonera/
- Linux/Unix: ap51-flash-fonera-1.0-42
- Windows: ap51-flash-fonera-gui-1.0-42.exe
Passendes Tool runterladen.
- System Images
http://downloads.openwrt.org/kamikaze/7.09/atheros-2.6/
die beiden runterladen.
Jetzt kommts..
- Linux/Unix
sudo ifconfig eth0 192.168.1.254
Vistanetsh interface ipv4 set address "LAN-Verbindung" static 192.168.1.254 255.255.255.0 192.168.1.1
- Fonera mit Ethernet-Patchkabel an eth0 anstecken.
- Linux/Unix
./ap51-flash-fonera-1.0-38 eth0 openwrt-atheros-2.6-root.jffs2-64k openwrt-atheros-2.6-vmlinux.lzma
unter Windowsap51-flash-fonera-gui-1.0-38.exe
als Administrator ausführen - Strom an den Fonera anstecken
Der Fonera schickt nun beim hochfahren einen ARP request raus, das Flashtool wartet darauf und tut dann seine Magie.
Der ganze Flashvorgang dauert rund _15_ Minuten.
Zuerst sieht man die IP vom Router
Dann steht da was von
Loading RootFS .. Writing RootFS.. (10 Minuten) Loading Kernel .. Writing Kernel.. Rebooting Device..
Fertig.
Danach hat der Fonero die IP 192.168.1.1 und ist über TELNET erreichbar. Happy hacking.
set password after flashing
telnet 192.168.1.1 passwd ***** ***** exit
ssh root@192.168.1.1 yes *****
note: after flashing, the fingerprint of the router changes. in that case you can delete the known-hosts file from ssh:
rm ~/.ssh/known_hosts ssh root@192.168.1.1 yes *****
On Windows you can use PuTTY for the SSH connection.
CONFIGURATION
default network configuration files
file | description |
---|---|
/etc/ethers | specifying static IP addresses via DHCP |
/etc/dnsmasq.conf | configures DNS masquerading |
/etc/hosts | maps IP-address to hostname |
/etc/networks | maps network addresses to network name |
/etc/protocols | maps protocol to port number; see IANA for a complete list |
/etc/config/dhcp | configures dhcp server |
/etc/config/dropbear | configures ssh |
/etc/config/firewall | configures firewall |
/etc/config/network | configures network interfaces |
/etc/config/system | |
/etc/config/wireless | configures wireless lan adapter |
/etc/ethers
This file maps a given MAC-address to an IPv4-Address via DHCP. Example:
# desktop xx:xx:xx:xx:xx:xx 192.168.1.10 # another desktop xx:xx:xx:xx:xx:xx 192.168.1.20 # laptop xx:xx:xx:xx:xx:xx 192.168.1.30 # LAN xx:xx:xx:xx:xx:xx 192.168.1.31 # WLAN
Hint: You get the MAC-address using ipconfig -all
on Windows or by using ifconfig
on Linux/Unix.
/etc/hosts
maps IP address to full domain names, local domain names, and local hostnames. Example:
127.0.0.1 www.mydomain.com localhost.lan www.lan localhost www 192.168.1.4 ftp.mydomain.com ftp.lan ftp
Hint: you can also use a hosts file to block bad sites; see also custom hosts files
/etc/networks
configures the names and addresses of networks. this file is used by the route command. Example:
default 0.0.0.0 # default route - mandatory loopnet 127.0.0.0 # loopback network - mandatory wlan 192.168.0.0 # local wireless network lan 192.168.1.0 # local wired network
/etc/protocols
Usually you don't touch that.
/etc/config/network
See OpenWRT Kamikaze Manual for setting up basic network configuration
- Example 0:
Routing between Ethernet and WLAN
config interface loopback option ifname lo option proto static option ipaddr 127.0.0.1 option netmask 255.0.0.0 config interface eth0 option proto static option ipaddr 10.0.0.10 # bridge option netmask 255.255.255.0 # network subnet mask option gateway 10.0.0.138 # dsl/cable router option dns 10.0.0.138 # dns server
- Example 1:
Bridging Ethernet and WLAN
config interface loopback option ifname lo option proto static option ipaddr 127.0.0.1 option netmask 255.0.0.0 config interface bridge option ifname eth0 wifi0 # which interfaces to bridge option type bridge option proto static option ipaddr 10.0.0.10 # bridge option netmask 255.255.255.0 # network subnet mask option gateway 10.0.0.138 # dsl/cable router option dns 10.0.0.138 # dns server
- Example 2:
Bridging multiple Ethernet ports
config interface loopback option ifname lo option proto static option ipaddr 127.0.0.1 option netmask 255.0.0.0 config interface lan option ifname 'eth0 eth1 eth2' option type bridge option proto static option ipaddr 10.0.0.10 # bridge option netmask 255.255.255.0 # network subnet mask option gateway 10.0.0.138 # dsl/cable router option dns 10.0.0.138 # dns server
/etc/config/wireless
See OpenWRT Kamikaze Manual for setting up basic wireless network configuration
- Example 0:
Routing Ethernet and WLAN without encryption
config wifi-device wifi0 option type atheros option channel 11 # select best channel between 1 and 11 option country at # austria option disabled 0 # wlan enabled # you can also use the reset button to enable/disable option agmode 11bg # 802.11bg option distance 20 # maximum wlan reach in meters config wifi-iface option device wifi0 # 2nd interface is called "ath0" option network bridge # which settings from /etc/config/network option mode ap # access point mode option ssid "My Fonera" # name of the router option hidden 0 # ssid broadcast option encryption "none" # no encryption
- Example 1:
Bridging Ethernet and WLAN with WPA2-PSK-encryption
config wifi-device wifi0 option type atheros option channel 11 # select best channel between 1 and 11 option country at # austria option disabled 0 # wlan enabled # you can also use the reset button to enable/disable option agmode 11bg # 802.11bg option distance 20 # maximum wlan reach in meters config wifi-iface option device ath0 # 2nd interface is called "wifi0" option network bridge # which settings from /etc/config/network option mode ap # access point mode option ssid "My Fonera" # name of the router option hidden 1 # disables ssid broadcast option encyption psk2 # wpa2-psk option key *********** # google 'wep key generator' to get a key
- Example 2:
Configure an WDS - WDS Access Point (WDS-AP)
config wifi-device wifi0 option type atheros option channel 11 # select best channel between 1 and 11 option country at # austria option disabled 0 # wlan enabled # you can also use the reset button to enable/disable option agmode 11bg # 802.11bg option distance 20 # maximum wlan reach in meters config wifi-iface option device ath0 # 2nd interface is called "wifi0" option network bridge # which settings from /etc/config/network option mode ap # access point mode option ssid 'My Fonera' # name of the WDS-AP option bssid '00:xx:xx:xx:xx:xx' # MAC-Address of the WDS-AP option hidden 0 # enables ssid broadcast option encyption psk2 # wpa2-psk option key *********** # google 'wep key generator' to get a key
- WDS-Station (WDS-STA)
config wifi-device wifi0 option type atheros option channel 11 # select best channel between 1 and 11 option country at # austria option disabled 0 # wlan enabled # you can also use the reset button to enable/disable option agmode 11bg # 802.11bg option distance 20 # maximum wlan reach in meters config wifi-iface option device ath0 # 2nd interface is called "wifi0" option network bridge # which settings from /etc/config/network option mode ap # access point mode option ssid 'My Fonera' # name of the WDS-AP option bssid '00:xx:xx:xx:xx:xx' # MAC-Address of the WDS-AP option hidden 0 # enables ssid broadcast option encyption psk2 # wpa2-psk option key *********** # google 'wep key generator' to get a key
- Notes on WPA2-Encryption
For WPA2-Encryption you must install hostapd on Access Points
ipkg install hostapd
as well as wpa-supplicant on WDS-Stations
ipkg install wpa-supplicant
Encryption also may only work on interface ath0
.
INSTALLING PACKAGES
After you have successfully configured a connection with the internet, you can load additional software packages using ipkg.
FIXME: If you compiled OpenWRT yourself, you can register your computer as the package repository
- install packages
ipkg update ipkg list | more ipkg install <packagename>
- uninstall packages
ipkg list_installed ipkg remove <packagename>
CLONING
How to clone (or backup) a Fonera:
1. Get this expect script (written by Marius): https://whatever.metalab.at/user/kintel/fonera/clone.expect
2. Set up your fonera so you can ssh in without a password:
- Copy your computer's ~/.ssh/id_dsa.pub (or equivalent) to the Fonera
- On the Fonera:
# cp id_dsa.pub /etc/dropbear/authorized_keys # chmod og-r /etc/dropbear/authorized_keys
3. Run the script on your computer
4. The backup is now made to the files clone.lzma and clone.squashfs. These can be used to reflash another fonera to become an identical copy.
Assumptions: The fonera lives at 192.168.1.1, the root prompt contains a "#", a normal openwrt is flashed on it.
NB! This has not been tested very well, so use with caution until it's been more quality assured.
Bugreports are welcome :)
SOFTWARE
- software zum flashen + packages ..
- http://download.berlin.freifunk.net/fonera/
- Buildchain
- http://wiki.openwrt.org/BuildingPackagesHowTo
svn co https://svn.openwrt.org/openwrt/tags/kamikaze_7.09
- http://forum.openwrt.org/viewtopic.php?pid=31794#p31794
- Fettes ipkg repository
- http://downloads.openwrt.org/kamikaze/packages/mips/
HARDWARE
- SD card am fonera?
- http://www.larsen-b.com/Article/262.html
- http://phrozen.org/fonera.html
- GPIO kernel modul
- http://mobileaccess.de/fonera/gpio/
- http://daubau.net/proc_gpio/
- Fertig compiliertes GPIO kernelmodul im feschen .ipk + src
- Media:Kamikaze_7.09_GPIOkmod.tar.gz