Fonera: Unterschied zwischen den Versionen

aus Metalab Wiki, dem offenen Zentrum für meta-disziplinäre Magier und technisch-kreative Enthusiasten.
Zur Navigation springenZur Suche springen
Zeile 227: Zeile 227:
   option gateway 10.0.0.138      # dsl/cable router
   option gateway 10.0.0.138      # dsl/cable router
   option dns 10.0.0.138          # dns server
   option dns 10.0.0.138          # dns server
</pre>
; Example 2<nowiki>:</nowiki><br/>Bridging multiple Ethernet ports
<pre>
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
</pre>
</pre>



Version vom 26. Juli 2008, 11:32 Uhr

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/

Passendes Tool runterladen.

System Images

http://downloads.openwrt.org/kamikaze/7.09/atheros-2.6/

die beiden runterladen.


Jetzt kommts..

  1. Linux/Unix
      sudo ifconfig eth0 192.168.1.254
    Vista
      netsh interface ipv4 set address "LAN-Verbindung" static 192.168.1.254 255.255.255.0 192.168.1.1
  2. Fonera mit Ethernet-Patchkabel an eth0 anstecken.
  3. Linux/Unix
      ./ap51-flash-fonera-1.0-38 eth0 openwrt-atheros-2.6-root.jffs2-64k  openwrt-atheros-2.6-vmlinux.lzma
    unter Windows ap51-flash-fonera-gui-1.0-38.exe als Administrator ausführen
  4. 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

Note: for WPA2-Encryption you must install hostapd first (ipkg install hostapd). Encryption also may only work on 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

LCD am fonera?
http://www.lefinnois.net/wpen/index.php/2007/11/11/lcd-screen-for-la-fonera/
I2C bus?
http://www.lefinnois.net/wpen/index.php/2007/05/13/i2c-bus-for-la-fonera/
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