Fonera: Unterschied zwischen den Versionen
| AndiS (Diskussion | Beiträge) | |||
| (98 dazwischenliegende Versionen von 8 Benutzern werden nicht angezeigt) | |||
| Zeile 1: | Zeile 1: | ||
| =  | == FLASHING == | ||
| === NEW: Gargoyle Flash Fon Utility === | |||
| 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 === | ||
| Since EasyFlash isn't available for Max OS X, we do this manually (FON2200 + ethernet only): | |||
| '''1. Set IP address of your Mac:''' | |||
| <pre> | <pre> | ||
| sudo ifconfig en0 192.168.1.254 | 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.254. Then select that location as your current location. | |||
| '''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. | |||
| Altenative 2: Use the tftp server which comes with Mac OS X: | |||
| <pre> | <pre> | ||
| sudo launchctl load -F /System/Library/LaunchDaemons/tftp.plist | sudo launchctl load -F /System/Library/LaunchDaemons/tftp.plist | ||
| </pre> | </pre> | ||
| . | '''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 http://forum.openwrt.org/viewtopic.php?pid=63402]. | |||
| http://forum.openwrt.org/viewtopic.php?pid=63402 | |||
| <pre> | |||
| echo -e "\003" > break | echo -e "\003" > break | ||
| </pre> | |||
| fonera an den strom, wenn das 2te led zu blinken beginnt: | fonera an den strom, wenn das 2te led zu blinken beginnt: | ||
| nc -vvv 192.168.1. | <pre> | ||
| nc -vvv 192.168.1.254 9000 < break; | |||
| </pre> | |||
| danach ctrl+c | danach ctrl+c | ||
| telnet 192.168.1. | <pre> | ||
| telnet 192.168.1.254 9000 | |||
| </pre> | |||
| -> 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): | |||
| <pre> | |||
| fis init | fis init | ||
| load -r -b 0x80041000 openwrt-atheros-vmlinux.lzma | load -r -b 0x80041000 openwrt-atheros-2.6-vmlinux.lzma | ||
| fis create -e 0x80041000 -r 0x80041000 vmlinux.bin.l7 | fis create -e 0x80041000 -r 0x80041000 vmlinux.bin.l7 | ||
| load -r -b 0x80041000 openwrt-atheros-root.squashfs | load -r -b 0x80041000 openwrt-atheros-2.6-root.squashfs | ||
| fis create -l 0x06F0000 rootfs | fis create -l 0x06F0000 rootfs | ||
| </pre> | |||
| '''Reboot''' | |||
| telnet 192.168.1.1 | 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 [[Benutzer:Antifuchs|Antifuchs]] and [[Benutzer:MariusKintel|Marius]]): | |||
| [https://whatever.metalab.at/user/kintel/fonera/flashit.expect https://whatever.metalab.at/user/kintel/fonera/flashit.expect] | |||
| 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 | |||
| === Windows/Linux (easyflash): === | |||
| ; Flashing Utility | |||
| 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] | |||
| * Windows: [http://download.berlin.freifunk.net/fonera/ap51-flash-fonera-gui-1.0-42.exe ap51-flash-fonera-gui-1.0-42.exe] | |||
| 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/ | ||
| * [http://downloads.openwrt.org/kamikaze/7.09/atheros-2.6/openwrt-atheros-2.6-root.jffs2-64k openwrt-atheros-2.6-root.jffs2-64k] | |||
| * [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  | # 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> | ||
| # Fonera mit Ethernet-Patchkabel an eth0 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 81: | 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 86: | Zeile 117: | ||
| Writing Kernel..   | Writing Kernel..   | ||
| Rebooting Device.. | Rebooting Device.. | ||
| </pre> | |||
| Fertig. | Fertig. | ||
| Zeile 94: | 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> | </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> | |||
| ; 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] | |||
| 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. | |||
| <b>NB! This has not been tested very well, so use with caution until it's been more quality assured.</b> | |||
| Bugreports are welcome :) | |||
| ''kyrah says:'' I've tried cloning my Fonera (running OpenWrt) using these instructions, resulting in #fail: | |||
| Looks like the rootfs_data partition is overwritten when firstboot is run. Must investigate further. | |||
| ==SOFTWARE== | |||
| http:// | ;software zum flashen + packages .. | ||
| :http://download.berlin.freifunk.net/fonera/ | |||
| ;Buildchain | |||
| http:// | :http://wiki.openwrt.org/BuildingPackagesHowTo | ||
| http:// | :<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/ | |||
| ;I2C bus? | |||
| http:// | :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]] | |||
| [[Kategorie:0xFF]] | [[Kategorie:0xFF]] | ||