Zum Inhalt springen

Fonera: Unterschied zwischen den Versionen

Pepi (Diskussion | Beiträge)
AndiS (Diskussion | Beiträge)
 
(93 dazwischenliegende Versionen von 6 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
= Fonera =
== FLASHING ==


=== NEW: Gargoyle Flash Fon Utility ===


== FLASHING ==
Gargoyle project includes a [http://www.gargoyle-router.com/download.php Flash Fon utility] that works similarly as EasyFlash, but works on MacOSX, Linux and Windows


=== Mac OS X ===
=== Mac OS X ===
Zeile 10: Zeile 11:
'''1. Set IP address of your Mac:'''
'''1. Set IP address of your Mac:'''
<pre>
<pre>
sudo ifconfig en0 192.168.1.166
sudo ifconfig en0 192.168.1.254
</pre>
</pre>


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.166. Then select that location as your current location.
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'''
'''2. Enable tftp'''


Alternative 1:
Get [http://ww2.unime.it/flr/tftpserver/ 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.
Get [http://ww2.unime.it/flr/tftpserver/ 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.
Altenative 2: Use the tftp server which comes with Mac OS X:
<pre>
sudo launchctl load -F /System/Library/LaunchDaemons/tftp.plist
</pre>


'''3. Copy OpenWRT files to tftp dir:'''
'''3. Copy OpenWRT files to tftp dir:'''
Zeile 34: Zeile 41:
'''Get access to RedBoot'''
'''Get access to RedBoot'''


See also http://forum.openwrt.org/viewtopic.php?pid=63402.
See also [http://forum.openwrt.org/viewtopic.php?pid=63402 http://forum.openwrt.org/viewtopic.php?pid=63402].


<pre>
<pre>
Zeile 52: Zeile 59:
'''Flash new kernel and filesystem images in RedBoot:'''
'''Flash new kernel and filesystem images in RedBoot:'''


In RedBoot (assuming you configured the machine with the tftp server to 192.168.1.166):
In RedBoot (assuming you configured the machine with the tftp server to 192.168.1.254):
<pre>
<pre>
ip_address -h 192.168.1.166
fis init
fis init
load -r -b 0x80041000 openwrt-atheros-2.6-vmlinux.lzma
load -r -b 0x80041000 openwrt-atheros-2.6-vmlinux.lzma
Zeile 69: Zeile 75:
====Flashing automatically (the lazy approach)====
====Flashing automatically (the lazy approach)====


Get this expect script: [http://boinkor.net/misc/flashit.expect flashit.expect], make sure your ethernet device is configured to use 192.168.1.166 (or edit the script to reflect your reality), plug in the box, wait for the second light to flash + 2 seconds, then run
Get this expect script (written by [[Benutzer:Antifuchs|Antifuchs]] and [[Benutzer:MariusKintel|Marius]]):
<pre>
[https://whatever.metalab.at/user/kintel/fonera/flashit.expect https://whatever.metalab.at/user/kintel/fonera/flashit.expect]
$ expect flashit.expect
 
</pre>
Usage:<br/>
1. Start script: ./flashit.expect<br/>
Optionally, you can give kernel and squashfs files as parameters if they don't have the default filenames<br/>
2. Connect and power up the Fonera<br/>
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
When the script exits (and you see no error message), you can safely reboot the box and telnet to 192.168.1.1
I added some error and cmd-line parameter handling to the script, and updated it to use the default IP addresses.
NB! Not very well tested, use at your own risk for now. [[Benutzer:MariusKintel|MariusKintel]] 19:14, 9. Mär. 2008 (CET)
https://whatever.metalab.at/user/kintel/fonera/flashit.expect
Caution: You need to add the following line after line 29 in Marius' script to actually make it work.
<pre>expect timeout abort $prompt { send "ip_address -h 192.168.1.166\n" }</pre>
I kept the IP common to this article. Adjust the IP to your reality if needed.
--[[Benutzer:Pepi|Pepi]] 00:08, 24. Mär. 2008 (CET)


=== Windows/Linux (easyflash): ===
=== Windows/Linux (easyflash): ===
<pre>
; Flashing Utility
http://downloads.berlin.freifunk.net/fonera/
http://download.berlin.freifunk.net/fonera/
 
* Linux/Unix: [http://download.berlin.freifunk.net/fonera/ap51-flash-fonera-1.0-42 ap51-flash-fonera-1.0-42]
[ ] ap51-flash-fonera-1.0-38 18-Dec-2007 19:10 3.3M
* Windows: [http://download.berlin.freifunk.net/fonera/ap51-flash-fonera-gui-1.0-42.exe ap51-flash-fonera-gui-1.0-42.exe]
[ ] ap51-flash-fonera-gui-1.0-38.exe 18-Dec-2007 19:12 3.3M
 
Passendes Tool runterladen.
Passendes Tool runterladen.


 
;System Images
http://downloads.openwrt.org/kamikaze/7.09/atheros-2.6/
http://downloads.openwrt.org/kamikaze/7.09/atheros-2.6/
[   ] openwrt-atheros-2.6-root.jffs2-64k                 30-Sep-2007 20:16  1.6M 
* [http://downloads.openwrt.org/kamikaze/7.09/atheros-2.6/openwrt-atheros-2.6-root.jffs2-64k openwrt-atheros-2.6-root.jffs2-64k]
[   ] openwrt-atheros-2.6-vmlinux.lzma                   30-Sep-2007 20:16  768K 
* [http://downloads.openwrt.org/kamikaze/7.09/atheros-2.6/openwrt-atheros-2.6-vmlinux.lzma openwrt-atheros-2.6-vmlinux.lzma]
 
die beiden runterladen.
die beiden runterladen.




Jetzt kommts..
Jetzt kommts..
1. Fonera mit ETHERNETKABEL an eth0 anstecken.
# Linux/Unix <pre>  sudo ifconfig eth0 192.168.1.254</pre> Vista <pre>  netsh interface ipv4 set address "LAN-Verbindung" static 192.168.1.254 255.255.255.0 192.168.1.1</pre>
2. ./ap51-flash-fonera-1.0-38 eth0 openwrt-atheros-2.6-root.jffs2-64k  openwrt-atheros-2.6-vmlinux.lzma  
# Fonera mit Ethernet-Patchkabel an eth0 anstecken.
3. Strom an den Fonera anstecken  
# Linux/Unix <pre>  ./ap51-flash-fonera-1.0-38 eth0 openwrt-atheros-2.6-root.jffs2-64k  openwrt-atheros-2.6-vmlinux.lzma</pre> unter Windows <code>ap51-flash-fonera-gui-1.0-38.exe</code> als Administrator ausführen
# Strom an den Fonera anstecken  




Zeile 113: Zeile 111:
Zuerst sieht man die IP vom Router  
Zuerst sieht man die IP vom Router  
Dann steht da was von  
Dann steht da was von  
<pre>
Loading RootFS ..
Loading RootFS ..
Writing RootFS..  (10 Minuten)
Writing RootFS..  (10 Minuten)
Zeile 118: Zeile 117:
Writing Kernel..  
Writing Kernel..  
Rebooting Device..
Rebooting Device..
 
</pre>


Fertig.
Fertig.
Zeile 126: Zeile 125:




=== Flashen direkt aus laufendem OpenWRT ===
Wenn OpenWRT bereits läuft kann man auch direkt auf eine neue Version updaten bzw. diese über die grade laufende Version drüber flashen.
'''ABER VORSICHT!''' Das geht nur wenn die neuen Kernel- und Dateisystemimages gleich groß oder kleiner sind als die die aktuell installiert sind, sonst ist nicht genug Platz frei! In dem Fall müssen die Partitionen ohnehin neu angelegt werden - also eine der anderen hier beschriebenen Updateroutinen verwenden!!
Zuerst per SSH einloggen, dann:
<pre>
cd /tmp
scp user@host:/path/to/openwrt-atheros-vmlinux.lzma .
scp user@host:/path/to/openwrt-atheros-root.squashfs .
mtd -e vmlinux.bin.l7 write openwrt-atheros-vmlinux.lzma vmlinux.bin.l7
mtd -e rootfs write openwrt-atheros-root.squashfs rootfs
</pre>
Danach einfach neu starten (Stecker ziehen), per Telnet einloggen und den SSH Zugang neu aktivieren (siehe unten)
=== 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 delete the old entry for 192.168.1.1 from your ssh known_hosts file:
[open ~/.ssh/known_hosts with your favourite editor]
[remove the line starting with 192.168.1.1]
ssh root@192.168.1.1
yes
*****
On Windows you can use [http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html 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 [http://www.iana.org/assignments/port-numbers 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:
<pre>
# 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
</pre>
Hint: You get the MAC-address using <code>ipconfig -all</code> on Windows or by using <code>ifconfig</code> 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 [http://en.wikipedia.org/wiki/Hosts_file#Custom_hosts_files custom hosts files]
=== /etc/networks ===
configures the names and addresses of networks. this file is used by the route command. Example:
<pre>
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
</pre>
=== /etc/protocols ===
Usually you [http://www.albinoblacksheep.com/flash/dont don't touch that].
=== /etc/config/network ===
See [http://downloads.openwrt.org/kamikaze/docs/openwrt.html#x1-80001.2.1 OpenWRT Kamikaze Manual] for setting up basic network configuration
; Example 0<nowiki>:</nowiki><br/>Routing between Ethernet and WLAN
<pre>
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
</pre>
''Note:'' Routing is enabled by default, so you usually don't have to configure routing tables.
; Example 1<nowiki>:</nowiki><br/>Bridging Ethernet and WLAN
<pre>
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
</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>
=== /etc/config/wireless ===
See [http://downloads.openwrt.org/kamikaze/docs/openwrt.html#x1-110001.2.2 OpenWRT Kamikaze Manual] for setting up basic wireless network configuration
; Example 0<nowiki>:</nowiki><br/>Routing Ethernet and WLAN without encryption
<pre>
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
</pre>
''Note:'' Routing is enabled by default, so you usually don't have to configure routing tables.
; Example 1<nowiki>:</nowiki><br/>Bridging Ethernet and WLAN with WPA2-PSK-encryption
<pre>
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
</pre>
; Example 2<nowiki>:</nowiki><br/>Configure WDS
:WDS Access Point (WDS-AP; first node)
<pre>
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
</pre>




:WDS-Station (WDS-STA; all other nodes)
<pre>
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
</pre>




;Notes on WPA2-Encryption
For WPA2-Encryption you must install hostapd on Access Points
<pre>
ipkg install hostapd
</pre>
as well as wpa-supplicant on WDS-Stations
<pre>
ipkg install wpa-supplicant
</pre>


''FIXME:'' Encryption also may only work on interface <code>ath0</code>. Please share your experience here.


== INSTALLING PACKAGES ==
<u>After you have successfully configured a connection with the internet</u>, you can load additional software packages using [http://wiki.openwrt.org/OpenWrtDocs/Using#head-4e336635f25edc3d0a099d43120719ba4dfe3fbe ipkg].


FIXME: If you compiled OpenWRT yourself, you can register your computer as the package repository


; install packages
<pre>
ipkg update
ipkg list | more
ipkg install <packagename>
</pre>
</pre>
==SOFTWARE==


software zum flashen + packages ..
http://download.berlin.freifunk.net/fonera/


; uninstall packages
<pre>
ipkg list_installed
ipkg remove <packagename>
</pre>
;Fette ipkg repositories
:http://downloads.openwrt.org/kamikaze/packages/mips/
:http://ipkg.k1k2.de/packages/
== MESH NETWORKS ==
For Mesh Networks you have to install one of
* olsrd (may produce routing loops, but standardized and most widely deployed)
* batman (also included in the [http://www.blogin.it/ robin firmware]; does not scale for big networks; beta)
* babel (also works with wired connections; beta)
on all your nodes.
''FIXME:'' write a howto
== CLONING ==
How to clone (or backup) a Fonera:
1. Get this expect script (written by  [[Benutzer:MariusKintel|Marius]]):
[https://whatever.metalab.at/user/kintel/fonera/clone.expect https://whatever.metalab.at/user/kintel/fonera/clone.expect]


Buildchain
2. Set up your fonera so you can ssh in without a password:
http://wiki.openwrt.org/BuildingPackagesHowTo
* 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


svn co https://svn.openwrt.org/openwrt/tags/kamikaze_7.09
3. Run the script on your computer


http://forum.openwrt.org/viewtopic.php?pid=31794#p31794
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.




Fettes ipkg repository
Assumptions: The fonera lives at 192.168.1.1,  the root prompt contains a "#", a normal openwrt is flashed on it.
http://downloads.openwrt.org/kamikaze/packages/mips/


==HARDWARE==


<b>NB! This has not been tested very well, so use with caution until it's been more quality assured.</b>
Bugreports are welcome :)


LCD am fonera?
''kyrah says:'' I've tried cloning my Fonera (running OpenWrt) using these instructions, resulting in #fail:
http://www.lefinnois.net/wpen/index.php/2007/11/11/lcd-screen-for-la-fonera/
Looks like the rootfs_data partition is overwritten when firstboot is run. Must investigate further.


I2C bus?
==SOFTWARE==
http://www.lefinnois.net/wpen/index.php/2007/05/13/i2c-bus-for-la-fonera/
;software zum flashen + packages ..
:http://download.berlin.freifunk.net/fonera/


SD card am fonera?
;Buildchain
http://www.larsen-b.com/Article/262.html
:http://wiki.openwrt.org/BuildingPackagesHowTo
http://phrozen.org/fonera.html
:<code>svn co https://svn.openwrt.org/openwrt/tags/kamikaze_7.09</code>
:http://forum.openwrt.org/viewtopic.php?pid=31794#p31794


;Fette ipkg repositories
:http://downloads.openwrt.org/kamikaze/packages/mips/
:http://ipkg.k1k2.de/packages/


==HARDWARE==
;LCD am fonera?
:http://www.lefinnois.net/wpen/index.php/2007/11/11/lcd-screen-for-la-fonera/


GPIO kernel modul
;I2C bus?
http://mobileaccess.de/fonera/gpio/
:http://www.lefinnois.net/wpen/index.php/2007/05/13/i2c-bus-for-la-fonera/
http://daubau.net/proc_gpio/


Fertig compiliertes GPIO kernelmodul im feschen .ipk + src
;SD card am fonera?
[[Media:Kamikaze_7.09_GPIOkmod.tar.gz]]
: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]]


[[Kategorie:0xFF]]
[[Kategorie:0xFF]]