Diskussion:Backfire

Aus Freifunk Leipzig
(Unterschied zwischen Versionen)
Wechseln zu: Navigation, Suche
(statistic-temp: olsr watchdog)
K (olsr watchdog script)
Zeile 433: Zeile 433:
  
 
== olsr watchdog script ==
 
== olsr watchdog script ==
Scheint nicht bzw. nur mit den richtigen, installierten Paketen zu funktionieren
+
Scheint nicht bzw. nur mit richtig installierten watchdog und olsr plugin Paketen zu funktionieren. Das ist mit den derzeitigen Images aus dem Imagebuilder leider NICHT der Fall..
 
Abhilfe schafft folgendes
 
Abhilfe schafft folgendes
 
  vi /usr/sbin/ff_olsr_watchdog
 
  vi /usr/sbin/ff_olsr_watchdog
 
am Ende der Datei folgendes hinzufügen:
 
am Ende der Datei folgendes hinzufügen:
  os.execute (" [ `pidof olsrd` -gt 0 ] || /etc/init.d/olsrd restart ")
+
  os.execute (' [ -n "`pidof olsrd`" ] || /etc/init.d/olsrd restart ')
  
 
== antennen diversity und sendeleistung ==
 
== antennen diversity und sendeleistung ==

Version vom 27. April 2012, 02:37 Uhr

Inhaltsverzeichnis

Asus WL-HDD

LAN vom Laptop auf 192.168.1.2, Kabel anschliessen, Reset Taste druekcen, gedrueckt halten, Asus-Gerät einschalten, Reset Taste erst loslassen, wenn lampe rechts oben im sekundenabstand blinkt....

ping 192.168.1.1

sollte nun funktionieren

Mac:_freifunk-rsl ufo$ tftp
tftp> bin
tftp> c
(to) 192.168.1.1 
tftp> bin
tftp> get ASUSSPACELINK\x01\x01\xa8\xc0 /dev/null
tftp> put 234-2b-openwrt-brcm47xx-squashfs.trx 
Sent 2887680 bytes in 10.0 seconds
tftp> quit
Mac:_freifunk-rsl ufo$ 

probleme nach dem flashen, scheint endlos-reboot. firmware via Firmware-Builder OHNE WIFI funktioniert allerdings problemlos.

Firmware-Builder

http://www.wgaugsburg.de/

Stat im AP Modus

root@OpenWrt:~# iwinfo ath0 assoclist

quickcam pro 5000

opkg list | grep uvc

quickcam silver

so wie http://wiki.leipzig.freifunk.net/Asus_WL-500GP und http://wireless.subsignal.org/index.php?title=Webcam-Howto

opkg update
opkg  install kmod-usb-core kmod-usb-uhci kmod-usb2 libpthread
opkg install kmod-video-pwc
opkg install motion

config /etc/motion.conf

vi /etc/motion.conf

#motion.conf

daemon on
quiet on

# You may very well need to change this (check with 'dmesg'
# after plugging in your webcam)
videodevice /dev/video0

# Image size in pixels (valid range is camera dependent)
width 320
height 240

quality 70
framerate 2
auto_brightness off

# Initial brightness, contrast, hue (NTSC), and saturation
# 0 = disabled (valid range 0-255)
brightness 0
contrast 0
saturation 0
hue 0

# ploetzlichen Lichteinfall daempfen
lightswitch 30

# Target base directory for pictures and films
# You should probably change this (create dir beforehand)
target_dir /tmp
jpeg_filename SpcaPict

# Speicherpause um das Geraet zu schonen
minimum_gap 30

low_cpu 1

# Define a port number (e.g. 8000) to enable the mini-http server
# 0 = disabled
webcam_port 8000

# Set to 'off' to allow anybody (not just localhost) to view the
# webcam via the mini-http server (http://hostname:port)
webcam_localhost off

webcam_quality 40
webcam_maxrate 1

# User defined text overlayed on each in the lower left corner
text_left  "Dave TV"

webcam

auch eine variante, beim komplizilieren vom firmware-image folgende pakete mit zu installieren:

horst kmod-usb-core kmod-usb-uhci kmod-usb2 libpthread kmod-video-pwc motion fswebcam

falls /opt verzeichnis existiert, siehe usb-stick

 ln -s  /opt/cam.jpg /www/luci-static/resources/cam.jpg 

zum ausführen vom einem bild jede minute:

fswebcam -F 10 -S 10 -r 640x480 --jpeg 95 --save /opt/cam.jpg
cd /opt
mkdir `date +%Y-%m-%d`
cp cam.jpg `date +%Y-%m-%d`/sublab-verschwommen-`date +%Y-%m-%d--%H-%M`.png

in /etc/crontabs/root ergänzen:

* * * * *    /opt/webcam

und die startseite (via web) umstellen, hier ergänzen:

<img src="/luci-static/resources/cam.jpg" />

usb-speicherstick

opkg update
opkg install kmod-usb-storage kmod-usb-core kmod-fs-vfat kmod-nls-cp437 kmod-nls-iso8859-1 
mkdir /opt

und dann noch per

vi /etc/rc.local

startscipt-datei in zeile 3 folgendes einfuegen:

mount /dev/sda  /opt/


usb-speicherstick als root

opkg update
opkg install kmod-usb-storage kmod-usb-core kmod-usb2 kmod-fs-ext4 

jetzt sollte (per logread zu sehen) der usb-stick erkannt worden sein...

opkg install block-extroot

siehe auch http://wiki.openwrt.org/doc/howto/extroot und die config datei unter /etc/config/fstab sollte so ähnlich aussehen wie auf o.g. seite zu sehen..

config mount
       option device        /dev/sda1
       option fstype        ext3
       option options       rw,sync
       option enabled       1
       option enabled_fsck  0
       option is_rootfs     1

horst auf linksys

da horst.sh noch nicht richtig funktioniert: bei Linksys WRT54G mit 2.6er Kernel und wl-treiber:

wlc monitor 1
horst -i prism0

und danach noch

wlc monitor 0

luci_statistics

opkg install luci-app-statistics collectd-mod-exec collectd-mod-interface collectd-mod-load collectd-mod-ping
/etc/init.d/collectd enable
/etc/init.d/collectd restart

braucht ca. 550kbyte/s und dann

vi /etc/config/luci_statistics 

um die Konfigurationsdatei folgendermassen zu bearbeiten: (anderdungen siehe hier:)


config 'statistics' 'rrdtool'
        option 'default_timespan' '4hours'
        option 'image_width' '720'
        option 'image_path' '/tmp/rrdimg'

config 'statistics' 'collectd'
        option 'BaseDir' '/var/run/collectd'
        option 'Include' '/etc/collectd/conf.d'
        option 'PIDFile' '/var/run/collectd.pid'
        option 'PluginDir' '/usr/lib/collectd'
        option 'TypesDB' '/usr/share/collectd/types.db'
        option 'Interval' '20'
        option 'ReadThreads' '2'

...

                                    
config 'statistics' 'collectd_rrdtool'
        option 'enable' '1'                 
        option 'DataDir' '/tmp'     
        option 'RRARows' '720'          
        option 'RRASingle' '1'   
        option 'RRATimespans' '4hours 1day 1week 1month 1year'

usb-sound

opkg install kmod-usb-core kmod-usb-uhci kmod-usb2 libpthread madplay kmod-usb-audio alsa-utils     

alsa-utils bei bedarf internetstream spielen

wget -O - http://streams.bigvibez.com:7000/ | madplay   -
wget -O - http://85.239.108.31:8000/radioblau | madplay -

oder auch vielleicht

wget -O - http://streams.bigvibez.com:7000/ | madplay -o /dev/audio1 -a -30 -


Anzeige, ob die SOundcard erkannt wurde:

root@Freifunk-234-38:/opt# cat /proc/asound/card0/stream0
USB Device 0xd8c:0x0c at usb-0000:00:03.0-1, full speed : USB Audio

Playback:
  Status: Stop
  Interface 1
    Altset 1
    Format: S16_LE
    Channels: 2
    Endpoint: 1 OUT (ADAPTIVE)
    Rates: 48000, 44100

Capture:
  Status: Stop
  Interface 2
    Altset 1
    Format: S16_LE
    Channels: 1
    Endpoint: 2 IN (ASYNC)
    Rates: 48000, 44100

music player daemon

praktisch, damit mehrere Leute die Playlist bedienen können.. Installation

opkg install mpd

passt NICHT normal auf ein Gerät! Es sind mehrere Anpassungen notwenig, wahrscheinlich hilft ein USB-Speicherstick, auf dem die Pakete installiert werden und sich die Musik befindet http://wiki.openwrt.org/doc/howto/usb.overview siehe http://wiki.openwrt.org/doc/techref/opkg#installation.destinations bzw. http://wiki.openwrt.org/doc/howto/extroot

music_directory         "/opt/mp3"                                             
music_directory         "/opt/mp3"                                            
#playlist_directory             "~/.mpd/playlists"                            
db_file                 "/opt/database"                                     
#log_file                       "~/.mpd/log"                                
#pid_file                       "~/.mpd/pid"                                   
#state_file                     "~/.mpd/state"                               
#sticker_file                   "~/.mpd/sticker.sql"                           
bind_to_address         "any"                                                  
port                            "6600"                                         
input {                                                                        
        plugin "curl"                                                          
#       proxy "proxy.isp.com:8080"                                             
#       proxy_user "user"                                                      
#       proxy_password "password"                                              
}                                                                                         
audio_output {                                                                 
        type            "alsa"                                                 
        name            "USB Device 0xd8c:0x0c"                                
##      device          "hw:0,0"        # optional                             
##      format          "44100:16:2"    # optional                             
        mixer_type      "hardware"      # optional                             
        mixer_device    "default"       # optional                             
        mixer_control   "Speaker"               # optional                     
##      mixer_index     "0"             # optional                                        
}     

installation overview

  • firmware aus dem imagebuilder
  • bei pakete anzugeben für wrt54GL geräte: olsrd-mod-arprefresh horst -opkg
  • bei pakete anzugeben für wrt54GS geräte: olsrd-mod-arprefresh horst luci-app-statistics collectd-mod-exec collectd-mod-interface collectd-mod-load collectd-mod-ping
  • bei asus premium mit webcam/soundkarte: horst kmod-usb-core kmod-usb-uhci kmod-usb2 libpthread madplay kmod-usb-audio motion fswebcam olsrd-mod-arprefresh horst luci-app-statistics collectd-mod-exec collectd-mod-interface collectd-mod-load collectd-mod-ping
  • per wget oder ssh auf das gerät (beim neuen openwrt) vorher cd /tmp; wget...; mtd write -r openwrt.trx linux
  • auf alter firmware: wget .. dann mtd write openwrt..filename linux; reboot;
  • vorsicht bei update vom neuen openwrt auf brandneu: wget -O - http://.... | mtd write -r - linux
  • d.h. in gadow: wget -O - http://104.61.240.101/ffl1610d.trx | mtd write -r - linux
  • länger als 5 minuten warten...
  • in der administration (login-passwd ist root/admin):
  • passwd ändern
  • timezone kontrollieren (berlin)
  • wlan einstellungen (ssid, antenne, sendestärke)
  • sleep 40; am ende von /etc/init.d/S99freifunk hinzufügen (wird bald gefixt)
  • opkg install olsrd-mod-arprefresh (nicht bei linksyswrt54GL wegen zuwenig speicher?)
  • statistik bei bedarf installieren/ konfigurieren (nur bei GS geräten bzw. mit mehr speicher)


update linksys WRT54G / GL von alter (white russian) FIrmware auf Openwrt Backfire

Neustart

  • per webui einloggen
  • Gerät sollte die "alte" (white russian) FIrmware aufgespielt haben, und im Freifunk-Netz funktionieren (meshen)
  • antenneneinstellungen checken (und notieren)
  • Neustart für FIrmware-update

Firmware bauen: http://wgaugsburg.de/cgi-bin/newkit-trunk/

  • community: gadow, * target brcm47xx
  • profile: broadcom-wl !!! hostname: Freifunk-240-xy
  • wifi-ip: 104.61.240.xy
  • packages:
olsrd-mod-arprefresh horst -opkg
  • contact ausfüllen
  • submit...
  • generate..
  • link-adresse der trx-datei kopieren in die zwischablage

gerät per ssh updaten

  • einloggen
df -h checken (ob g oder gs gerät) 
wget <<zwischenablage>>
mtd write openwrt....dateiname linux; reboot;


letzte sachen nach reboot:

  • per webui antenneneinstellungen (Antenne A?)
  • passwd

update linksys wrt54GS von white russian auf backfire

alles wie beim G/GL, nur ist zum Glück mehr Platz für mehr Pakete, d.h. beim Firmware-bauen kommt das hier

olsrd-mod-arprefresh horst luci-app-statistics collectd-mod-exec collectd-mod-interface collectd-mod-load collectd-mod-ping

anstelle (GL)

olsrd-mod-arprefresh horst -opkg

in das paketlistenfeld... zusätzlich ist vor dem flashen nochmal zu schauen, ob wirklich (jffs, available) ein GS anliegt

df

screenshot

root@240-3:~# df
Filesystem           1k-blocks      Used Available Use% Mounted on
/dev/root                 1280      1280         0 100% /rom
/dev/mtdblock/4           6016       780      5236  13% /rom/jffs
none                      1280      1280         0 100% /
root@240-3:~# cd /tmp/
root@240-3:~# wget http://wgaugsburg.de/imagebuilder/images/Freifunk-240-3-2011-09-14-163425/bin/openwrt-brcm47xx-squashfs.trx
Connecting to wgaugsburg.de[77.4.7.8]:80
openwrt-brcm47xx-squ 100% |*****************************|  3460 KB    00:00 ETA
root@240-3:~# mtd write openwrt-brcm47xx-squashfs.trx  linux; reboot;
writing openwrt-brcm47xx-squashfs.trx to linux
freeram=[15409152] bufferram=[1175552]
The free memory is enough, writing image once.
sum=[3543040]
linux: CRC OK
Writing image to flash, waiting a monent...

update Nanostation2 per reset-knopf und tftp

Neustart

  • per webui einloggen
  • gerät und einstellungen (z.b. antennendetails) nochmal checken

Firmware bauen: http://wgaugsburg.de/cgi-bin/newkit-trunk/

  • community: gadow, * target atheros-backfire-..
  • profile: broadcom-wl !!! hostname: Freifunk-240-xy
  • wifi-ip: 104.61.240.xy
  • packages:
olsrd-mod-arprefresh horst -opkg
  • contact ausfüllen
  • submit...
  • generate..
  • datei runterladen, je nach Typ: bei Nanostation2 + Powerstation2 die openwrt-atheros-ubnt2-squashfs.bin (3.2M) Datei.. für 5 ghz die andere datei und für pico-geräte existieren auch
  • vorsicht beim abspeichern,

laptop vorbereiten

  • IP-Adresse vom LAN auf manuell 192.168.1.2/255.255.255.0 einstellen
  • bzw. internetzugang per wlan einstellen und LAN das default gateway weglassen
  • fenster öffnen mit
ping 192.168.1.1
  • zweites fenster öffnen (terminal/kommandozeile)
cd firmware-dateien (oder entsprechendes verzeichnis wechseln)
  • um alle dateien im verzeichnis zu listen:
ls
  • tftp starten mit
tftp 192.168.1.1
  • dort dann
bin
  • und schonmal eintippen, ohne enter-taste zu drücken (!)
put 241-20-openwrt-atheros-ubnt2-squashfs.bin

nanostation flashen

  • gerät ausschalten
  • reset taster drücken + gedrückt lassen (!!!)
  • gerät einschalten, mit blick auf das erste (ping) fenster
  • nach ein paar sekunden ist der ping zu sehen
  • sofort oder nach 1-2 sekunden ENTER im zweiten fenster drücken (der vorbereitete tftp-befehl)
  • flash-vorgang ist nach ein paar sekunden beendet
  • das gerät braucht dann ca. 5 minuten
  • bitte in dieser zeit nicht ausschalten, vorsicht vor kabelwacklern (z.b. strom!)

letzte sachen nach reboot:

  • im ersten fenstser (ping) kommt irgendwann wieder das gerät, braucht aber noch etwas mehr zeit, um voll hochgefahren zu sein
  • per webui einloggen
  • antenneneinstellungen (Antenne A?)
  • passwd
  • geo-coordinate checken (siehe freifunk-datenbank für exakte parameter)

update Nanostation M2 per reset-knopf und tftp

Neustart

  • per webui einloggen
  • gerät und einstellungen (z.b. antennendetails) nochmal checken

Firmware bauen: http://wgaugsburg.de/cgi-bin/newkit-trunk/

  • community: gadow, * target ar71xx-backfire-..
  • profile: UBNT !!! hostname: Freifunk-240-xy
  • wifi-ip: 104.61.240.xy
  • packages:
olsrd-mod-arprefresh horst luci-app-statistics collectd-mod-exec collectd-mod-interface collectd-mod-load collectd-mod-ping

weiter gehts wie bei der nanostation2 beschrieben

reboot time

Linksys WRT54GL (via vpn) 4:30 min

dhcp sperren

 iptables -I INPUT -p udp -m mac --mac-source 04:1e:64:21:5f:c3 --dport 67 -j DROP

statistic-temp


	collectd	4.10.2-2
Entfernen	collectd-mod-exec	4.10.2-2
Entfernen	collectd-mod-interface	4.10.2-2
Entfernen	collectd-mod-load	4.10.2-2
Entfernen	collectd-mod-ping	4.10.2-2
Entfernen	collectd-mod-rrdtool	4.10.2-2
Entfernen	collectd-mod-wireless

olsr watchdog script

Scheint nicht bzw. nur mit richtig installierten watchdog und olsr plugin Paketen zu funktionieren. Das ist mit den derzeitigen Images aus dem Imagebuilder leider NICHT der Fall.. Abhilfe schafft folgendes

vi /usr/sbin/ff_olsr_watchdog

am Ende der Datei folgendes hinzufügen:

os.execute (' [ -n "`pidof olsrd`" ] || /etc/init.d/olsrd restart ')

antennen diversity und sendeleistung

Die Weboberfläche unterstützt die Antenneneinstellungen nur zum Teil, d.h. es ist bei brcm47xxx (z.b. Linksys WRT54G Geräte) per Hand zu korrigieren:

uci set wireless.radio0.txantenna=0
uci set wireless.radio0.rxantenna=0
uci commit
wifi

Der Wert 0/1 bedeutet Antenne A/B, Auf 2 ist diversity eingeschaltet, wird aber von uns nicht empfohlen!

Gleichzeitig ist darauf zu achten, dass die Sendeleistung korrekt eingestellt ist.. Bei einigen Aktionen in der Weboberfläche kann es nämlich vorkommen, dass die sich auf den Wert 1 stellt.. Faslls Sendeleistung in /etc/config/wireless nicht angegeben ist, wird der Maximalwert der WLAN-Karte eingestellt.


folgende Idee funktioniert z.b. auch nicht, weil der Kernel da noch signiert werden müßte:

der trick ist wohl die regulatory.bin zu hacken, hier ist eine von evernet die anscheinend keine txpower limits fuer de hat: http://wgaugsburg.de/trac/browser/kamikaze/contrib/imagebuilder/trunk/profiles/evernet/files/usr/lib/crda/regulatory.bin ueberschreib damit mal deine in /usr/lib/crda und versuchs dann nochmal

bei nanostation das hier mal nachvollziehen bitte, ob das so stimmt und beachtet werden MUSS? https://dev.openwrt.org/ticket/6009

mcast

Idee zum Testen verschiedener Multicast Raten

http://luci.subsignal.org/~jow/mcast.elf

das mal runterladen und ausführbar machen dann

./mcast wl0
./mcast wl0 1000

openvpn

vorher checken, ob wirklich genug platz auf dem gerät ist

opkg update
opkg install openvpn  luci-app-openvpn
cd /etc/openvpn
scp ....... (vpn-dateien besorgen)
vi vpnleipzig.conf

hier rein:

remote vpn2.leipzig.freifunk.net
client
dev tap
proto tcp
port 5000
ca /etc/openvpn/ca.crt
cert /etc/openvpn/NAME.crt
key /etc/openvpn/NAME.key
cipher AES-128-CBC
ns-cert-type server                          
tun-mtu 1472       
mssfix         

vpn starten mit

openvpn --config vpnleipzig.conf

Admin -> Netzwork -> Interfaces Add new Interface.. name: hauptvpn, modus: unmanaged, interface tap0 (muss auszuwählen sein!) firewallsettings: freifunk auswählen, apply& submit

/etc/init.d/openvpn enable

dann config bearbeiten, der anfang hatzwei aenderungen: vi /etc/config/openvpn


config openvpn custom_config

        # Set to 1 to enable this instance:
        option enable 1

        # Include OpenVPN configuration
        option config /etc/openvpn/vpnleipzig.conf   

Admin -> Netzwork -> Firewall die Freifunk-Zone bearbeiten, "FORWARDING" einschalten!

(ich glaube, in der anderen zone ist das auch noch notwendig)


Admin -> Services -> OLSR ganz unten "add new Interface Network auswählen (hauptvpn)

comp cache und policy routing

soma
entweder man ist ein gateway oder man will policy routing
also policyrouting ist dafuer da dass der user zwar internet fuer sich (oder den knoten) an seinem knoten haben kann, aber dabei nicht unwissentlich traffic ins internet routet
22:04
Ufo
aber das ist jetzt standardmaessig an 
zum thema "compcache", was meinst du damit?
22:04
tetzlav hat den Raum verlassen.
22:04
soma
ne, wenn man sharenet im imagebuilder waehlt sollte es nicht angemacht werden
22:04
Ufo
ja, ram problem, denn die Linksys-GS Versionen mit doppelt RAM und flash laufen besser
22:04
soma
compcache komprimiert den cahe im ram
cache
einfach opkg install kmod-compcache
dann /etc/config/compcache bearbeiten
ich hab da jetzt 4MB drin als cache
dann /etc/init.d/compcache restart oder so

wireshark und tcpdump

am bequemsten:

  • linux-rechner (oder vm) mit wireshark
  • sshkey vom rechner auf dem freifunk-node
  • ssh 192.168.1.1 klappt dann ohne password-abfrage
  • tcpdump muss installiert sein
  • mon0 interface (bei ath0) starten mit horst.sh (und CTRL-C fuer abbruch) und dann geht:
wireshark -k -i <(ssh 192.168.1.1 /usr/sbin/tcpdump -i mon0 -s 0 -n -w -)

statistik mit ath-treibern

iwinfo wlan0 assoclist
00:1B:FC:81:75:73  -23 dBm / -95 dBm (SNR 72)
00:11:D8:1A:4C:D3  -64 dBm / -95 dBm (SNR 31)
00:12:17:D4:2D:29  -66 dBm / -95 dBm (SNR 29)
neigh.sh 
Table: Links
Local IP        Remote IP       Hyst.   LQ      NLQ     Cost
104.61.234.165  104.61.234.115  0.00    1.000   1.000   1.000
104.61.234.65   104.61.234.15   0.00    1.000   1.000   1.000
104.61.234.165  104.61.71.201   0.00    1.000   1.000   1.000
104.61.234.65   104.61.71.1     0.00    1.000   1.000   1.000
Table: Neighbors
IP address      SYM     MPR     MPRS    Will.   2 Hop Neighbors
104.61.234.15   YES     YES     NO      3       2
104.61.71.1     YES     YES     NO      3       2
wlanconfig mon0 create wlandev wifi0 wlanmode monitor
ip link set dev mon0 up
tcpdump -n -i mon0 port 698 and not host 104.61.234.38

statstik auf der kommandozeile bei b43

for i in `ls /sys/kernel/debug/ieee80211/phy0/netdev:wlan0/stations/`; do echo $i   `cat /sys/kernel/debug/ieee80211/phy0/netdev:wlan0/stations/$i/last_signal` dBm; done

Acesspoint / Client Modus

(beim AP-modus muss man ja hostapd nachinstallieren..)
[nbd] für client mode braucht er wpa_supplicant. das 'wpad-mini' paket enthält beides

nanostation PoE passthrough

https://forum.openwrt.org/viewtopic.php?pid=149163

echo 8 > /sys/class/gpio/export
echo out > /sys/class/gpio/gpio8/direction
echo 1 > /sys/class/gpio/gpio8/value