.titleBar { margin-bottom: 5px!important; }

[Frage] Netatalk mit Zeroconf

Dieses Thema im Forum "Freetz" wurde erstellt von simonszu, 31 März 2012.

  1. simonszu

    simonszu Neuer User

    Registriert seit:
    12 März 2007
    Beiträge:
    67
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Hi,

    ich versuche, auf meiner 7390 einen AFP-Server per Netatalk zum laufen zu bringen, der seine Dienste auch über Zeroconf/Bonjur/avahi (wie auch immer) announced.

    Ich hänge da aber gerade etwas an der Zeroconf-Geschichte fest. Ich habe im freetz die avahi- und netatalk-Pakete ausgewählt, und netatalk auch mit zeroconf-support gebaut. Der afp-server läuft auch soweit.
    Nur...wie kriege ich jetzt avahi zum laufen? Das Ding scheint sich ja noch nicht irgendwo in der WebUI zu registrieren, also über die Kommandozeile. Allerdings weiß ich jetzt nicht so genau, wie ich Daemons steuere. Hat Freetz sowas wie Initscripte?

    Wenn ich den avahi-daemon so calle, kriege ich eine Meldung, dass /etc/avahi/avahi.conf (oder so) nicht gefunden wurde. Aber die hauptsächlichen Configs liegen doch in /var/mod/etc...

    Was mache ich falsch, wo fang ich am besten an, oder denke ich gar viel zu kompliziert?
     
  2. sf3978

    sf3978 IPPF-Promi

    Registriert seit:
    2 Dez. 2007
    Beiträge:
    7,711
    Zustimmungen:
    7
    Punkte für Erfolge:
    38
    Für den avahi-daemon gibt es in Freetz, ein Start-Stop-Script ( http://svn.freetz.org/trunk/make/avahi/files/root/etc/init.d/rc.avahi ). D. h., Du musst nicht mit dem binary hantieren.
     
  3. futurmat

    futurmat Neuer User

    Registriert seit:
    6 Apr. 2012
    Beiträge:
    5
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Hallo simonzu,

    ich versuche auch gerade Timemachine mit meiner FritzBox + externe HDD + Freetz Firmware zum Laufen zu bekommen. Bin diesem Artikel gefolgt:
    http://www.jens-david-consulting.com/de/?option=com_content&view=article&id=11
    Allerdings ist er wohl nicht mehr ganz aktuell.
    So weit ich es sehe muss man auf der FritzBox zuerst per /etc/init.d/rc.avahi load die Konfiguration laden (man findet sie dann unter /tmp/flash/avahi/ zum Bearbeiten). Wenn man dann /etc/init.d/rc.avahi start macht findet avahi die Konfiguration, bricht dann aber nach einiger Zeit mit:
    "Starting avahi ... Timeout reached while wating for return value
    Could not receive return value from daemon process."
    Leider habe ich keine Ahnung, ob es an meiner Konfiguration liegt oder an irgendetwas anderem ... Vielleicht gibt es ja Profis hier im Forum?!

    Grüsse,

    futurmat
     
  4. controlletti2

    controlletti2 Neuer User

    Registriert seit:
    3 Sep. 2011
    Beiträge:
    3
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Hallo allerseits,

    bin auch neuer Freetz User und bin auf dem gleichen Stand wie futurmat gelandet.
    Netatalk läuft, aber der avahi daemon bricht mit der gleichen Message wie bei futurmat ab.

    Für Ideen wäre ich dankbar.

    Meine Umgebung: Fritzbox 7390 FRITZ!OS 05.20-freetz-devel-8867

    Viele Grüße

    controlletti2
     
  5. sf3978

    sf3978 IPPF-Promi

    Registriert seit:
    2 Dez. 2007
    Beiträge:
    7,711
    Zustimmungen:
    7
    Punkte für Erfolge:
    38
    Wie ist die Ausgabe von:
    Code:
    sh -x /etc/init.d/rc.avahi start
    
     
  6. futurmat

    futurmat Neuer User

    Registriert seit:
    6 Apr. 2012
    Beiträge:
    5
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    #6 futurmat, 6 Apr. 2012
    Zuletzt bearbeitet: 6 Apr. 2012
    Hallo sf3978,

    danke für Deine Antwort!

    Die Ausgabe sieht bei mir so aus:
    root@fritz:/var/mod/root# sh -x /etc/init.d/rc.avahi start
    + DAEMON=avahi
    + DAEMON_BIN=avahi-daemon
    + . /etc/init.d/modlibrc
    + export PATH=/mod/sbin:/mod/bin:/mod/usr/sbin:/mod/usr/bin:/sbin:/bin:/usr/sbin:/usr/bin
    + export LD_LIBRARY_PATH=/mod/lib:/mod/usr/lib
    + : avahi
    + : avahi
    + : avahi_ENABLED
    + : /mod/etc/avahi.conf
    + : avahi-daemon
    + : /var/run/avahi-daemon.pid
    + [ -n avahi ]
    + modlib_loadconfig
    + local CONF_FILE=/mod/etc/conf/avahi.cfg
    + [ ! -r /mod/etc/conf/avahi.cfg ]
    + . /mod/etc/conf/avahi.cfg
    + export AVAHI_ENABLED=no
    + DAEMON_USER=nobody
    + DAEMON_GROUP=nobody
    + start
    + modlib_startdaemon avahi-daemon -D
    + echo -n Starting avahi ...
    Starting avahi ... + config
    + :
    + which avahi-daemon
    + [ ! -x /usr/sbin/avahi-daemon ]
    + env - PATH=/mod/sbin:/mod/bin:/mod/usr/sbin:/mod/usr/bin:/sbin:/bin:/usr/sbin:/usr/bin LD_LIBRARY_PATH=/mod/lib:/mod/usr/lib avahi-daemon -D
    Timeout reached while wating for return value
    Could not receive return value from daemon process.
    + local rv=255
    + [ 255 -ne 0 ]
    + echo failed.
    failed.
    + exit 255


    Übrigens: wenn ich noch ein zweites mal "/etc/init.d/rc.avahi load" starte bekomme ich die Ausgabe "avahi is disabled." Keine Ahnung, ob das was zu sagen hat?

    In "/mod/etc/conf/avahi.cfg" steht "export AVAHI_ENABLED='no'" ... auch komisch, oder?
     
  7. sf3978

    sf3978 IPPF-Promi

    Registriert seit:
    2 Dez. 2007
    Beiträge:
    7,711
    Zustimmungen:
    7
    Punkte für Erfolge:
    38
    Ja, das ist komisch. Ich denke da fehlt etwas, z. B. die avahi.cgi-Datei. AVAHI_ENABLED sollte man doch auf yes ändern können. Schau mal im trac nach, wer das WEB-IF für das Paket avahi erstellt hat. Evtl. kann derjenige, hier weiter helfen.
     
  8. futurmat

    futurmat Neuer User

    Registriert seit:
    6 Apr. 2012
    Beiträge:
    5
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    habe es jetzt mal per Hand auf "yes" geändert und kompiliere gerade neu. Aber vermutlich wird es nicht so trivial sein.
    Ausserdem habe ich noch im Trac gesucht (im Source von trunk). Allerdings habe ich keine Ahnung wo ich das WEB-IF finde. Der letzte der im Ordner trunk/make/avahi Änderungen vorgenommen hat ist, so weit ich das sehe, Whoopie.
     
  9. sf3978

    sf3978 IPPF-Promi

    Registriert seit:
    2 Dez. 2007
    Beiträge:
    7,711
    Zustimmungen:
    7
    Punkte für Erfolge:
    38
    reiffert sollte dir weiter helfen können. Er hat das avahi-Paket committet. Evtl. im ticket fragen: http://freetz.org/ticket/1483
     
  10. olistudent

    olistudent IPPF-Urgestein

    Registriert seit:
    19 Okt. 2004
    Beiträge:
    14,761
    Zustimmungen:
    5
    Punkte für Erfolge:
    38
    Beruf:
    Softwareentwickler
    Ort:
    Kaiserslautern
    Sieht mir so aus als gäbe es kein Webinterface für das avahi-Paket...

    Der Fehler hat jedoch nichts mit dem fehlenden Webinterface zu tun.

    Gruß
    Oliver
     
  11. cyberlight

    cyberlight Neuer User

    Registriert seit:
    4 Feb. 2006
    Beiträge:
    26
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Das avahi-projekt wurde vor etwa einem Jahr auf Git ins Leben gerufen. https://github.com/dg1kjd/freetz-avahi.git
    Diese Version hat ein WebIF.
    Wieso das dann bei der Übernahme verloren gegangen ist... jedenfalls habe ich mit dieser Version und den aktuellen Versionen von Netatalk eine fast perfekte Timecapsule nachgebaut. Incl. funktionierendem Zeroconf.
     
  12. simonszu

    simonszu Neuer User

    Registriert seit:
    12 März 2007
    Beiträge:
    67
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    In welches Ticket kann man denn reporten, dass Avahi wieder ein Webinterface spendiert bekommt?
     
  13. sf3978

    sf3978 IPPF-Promi

    Registriert seit:
    2 Dez. 2007
    Beiträge:
    7,711
    Zustimmungen:
    7
    Punkte für Erfolge:
    38
    Das hier: http://freetz.org/ticket/1483
     
  14. futurmat

    futurmat Neuer User

    Registriert seit:
    6 Apr. 2012
    Beiträge:
    5
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    @cyberlight: Danke für den Hinweis.
    Ich hatte das Paket über die oben genannte Anleitung auch gefunden. Allerdings scheint es mir mittlerweile "outdated". Es hat die Versionsnummer 06.25.00, das aktuelle aus dem Trunk ist 06.30.00. Wenn man das Trac ticket verfolgt sieht man auch, dass es an einem Punkt von avahi-daemon in avahi umbenannt wurde. Avahi wird nun auch im menuconfig als Voraussetzung für Netatalk automatisch angewählt.
    Eventuell könnte man aber mit einer stable Version probieren, ob es funktioniert. Dann sollte man ja auf Deinen Stand kommen.
     
  15. sf3978

    sf3978 IPPF-Promi

    Registriert seit:
    2 Dez. 2007
    Beiträge:
    7,711
    Zustimmungen:
    7
    Punkte für Erfolge:
    38
    Anbei die geänderte avahi-daemon.mk-Datei (Version 06.30.00) für das Paket von cyberlight. Das geänderte Paket von cyberlight funktioniert mit dem trunk. Das Verzeichnis "make/avahi" aus dem trunk, musst Du löschen. Die erforderlichen Änderungen in: "make/Config.in", "make/external.in", "make/libs/Config.in", "make/libs/external.in", "make/netatalk/Config.in" und "make/netatalk/netatalk.mk" musst Du manuell machen.
    Code:
    $(call PKG_INIT_BIN, 0.6.30)
    $(PKG)_SOURCE:=avahi-$($(PKG)_VERSION).tar.gz
    #$(PKG)_SOURCE_MD5:=d0143a5aa3265019072e53ab497818d0
    $(PKG)_SOURCE_MD5:=e4db89a2a403ff4c47d66ac66fad1f43
    $(PKG)_SITE:=http://avahi.org/download
    AVAHI_DAEMON_DIR:=$(SOURCE_DIR)/avahi-$($(PKG)_VERSION)
    $(PKG)_BINARY:=$(SOURCE_DIR)/avahi-$($(PKG)_VERSION)/$(pkg)/.libs/$(pkg)
    $(PKG)_TARGET_BINARY:=$($(PKG)_DEST_DIR)/usr/bin/$(pkg)
    $(PKG)_AVAHI_DNSCONFD:=$(SOURCE_DIR)/avahi-$($(PKG)_VERSION)/avahi-dnsconfd/.libs/avahi-dnsconfd
    $(PKG)_TARGET_AVAHI_DNSCONFD:=$($(PKG)_DEST_DIR)/usr/bin/avahi-dnsconfd
    
    $(PKG)_LIB:=$(SOURCE_DIR)/avahi-$($(PKG)_VERSION)/avahi-common/.libs/libavahi-common.so.3.5.3
    $(PKG)_TARGET_LIB:=$($(PKG)_DEST_LIBDIR)/libavahi-common.so.3.5.3
    
    $(PKG)_LIB2:=$(SOURCE_DIR)/avahi-$($(PKG)_VERSION)/avahi-core/.libs/libavahi-core.so.7.0.2
    $(PKG)_TARGET_LIB2:=$($(PKG)_DEST_LIBDIR)/libavahi-core.so.7.0.2
    
    $(PKG)_LIB3:=$(SOURCE_DIR)/avahi-$($(PKG)_VERSION)/avahi-client/.libs/libavahi-client.so.3.2.9
    $(PKG)_TARGET_LIB3:=$($(PKG)_DEST_LIBDIR)/libavahi-client.so.3.2.9
    
    AVAHI_DAEMON_LIBS := -lpcap -lexpat -ldaemon -lintl
    $(PKG)_DEPENDS_ON := dbus expat libpcap libdaemon gettext
    AVAHI_CFLAGS := -DDISABLE_SYSTEMD
    AVAHI_LDFLAGS := -lpthread
    
    $(PKG)_CONFIGURE_PRE_CMDS += $(call PKG_PREVENT_RPATH_HARDCODING,./configure)
    
    $(PKG)_CONFIGURE_ENV += ac_cv_func_malloc_0_nonnull=yes
    $(PKG)_CONFIGURE_ENV += ac_cv_func_realloc_0_nonnull=yes
    $(PKG)_CONFIGURE_ENV += ac_cv_func_memcmp_working=yes
    
    $(PKG)_CONFIGURE_OPTIONS += --enable-static
    $(PKG)_CONFIGURE_OPTIONS += --disable-doxygen-ps
    $(PKG)_CONFIGURE_OPTIONS += --disable-doxygen-pdf
    $(PKG)_CONFIGURE_OPTIONS += --enable-libdaemon
    $(PKG)_CONFIGURE_OPTIONS += --disable-dbm
    $(PKG)_CONFIGURE_OPTIONS += --enable-shared
    $(PKG)_CONFIGURE_OPTIONS += --disable-doxygen-chm
    $(PKG)_CONFIGURE_OPTIONS += --disable-doxygen-chi
    $(PKG)_CONFIGURE_OPTIONS += --disable-doxygen-man
    $(PKG)_CONFIGURE_OPTIONS += --disable-doxygen-rtf
    $(PKG)_CONFIGURE_OPTIONS += --with-autoipd-user=nobody
    $(PKG)_CONFIGURE_OPTIONS += --with-autoipd-group=nobody
    
    $(PKG)_CONFIGURE_OPTIONS += --with-avahi-user=nobody
    $(PKG)_CONFIGURE_OPTIONS += --with-avahi-group=nobody
    $(PKG)_CONFIGURE_OPTIONS += --with-avahi-priv-access-group=avahi
    $(PKG)_CONFIGURE_OPTIONS += --with-xml=expat
    $(PKG)_CONFIGURE_OPTIONS += --with-distro=none
    $(PKG)_CONFIGURE_OPTIONS += --disable-qt3
    $(PKG)_CONFIGURE_OPTIONS += --disable-qt4
    $(PKG)_CONFIGURE_OPTIONS += --disable-gtk
    $(PKG)_CONFIGURE_OPTIONS += --disable-gtk3
    $(PKG)_CONFIGURE_OPTIONS += --disable-glib
    $(PKG)_CONFIGURE_OPTIONS += --disable-gobject
    $(PKG)_CONFIGURE_OPTIONS += --enable-dbus
    $(PKG)_CONFIGURE_OPTIONS += --disable-gdbm
    $(PKG)_CONFIGURE_OPTIONS += --disable-python
    $(PKG)_CONFIGURE_OPTIONS += --disable-pygtk
    $(PKG)_CONFIGURE_OPTIONS += --disable-python-dbus
    $(PKG)_CONFIGURE_OPTIONS += --disable-mono
    $(PKG)_CONFIGURE_OPTIONS += --disable-monodoc
    #$(PKG)_CONFIGURE_OPTIONS += --disable-autoipd
    $(PKG)_CONFIGURE_OPTIONS += --disable-doxygen-doc
    $(PKG)_CONFIGURE_OPTIONS += --disable-doxygen-dot
    $(PKG)_CONFIGURE_OPTIONS += --disable-doxygen-xml
    $(PKG)_CONFIGURE_OPTIONS += --disable-doxygen-html
    $(PKG)_CONFIGURE_OPTIONS += --disable-manpages
    $(PKG)_CONFIGURE_OPTIONS += --disable-xmltoman
    $(PKG)_CONFIGURE_OPTIONS += --with-bdb="$(TARGET_TOOLCHAIN_STAGING_DIR)/usr"
    $(PKG)_CONFIGURE_OPTIONS += --sysconfdir="/mod/etc"
    
    $(PKG_SOURCE_DOWNLOAD)
    $(PKG_UNPACKED)
    $(PKG_CONFIGURED_CONFIGURE)
    
    $($(PKG)_BINARY): $($(PKG)_DIR)/.configured
    		$(SUBMAKE) -C $(AVAHI_DAEMON_DIR) \
    		CFLAGS="$(TARGED_CFLAGS) $(AVAHI_CFLAGS)" \
    		LDFLAGS="$(TARGED_LDFLAGS) $(AVAHI_LDFLAGS)" \
    		LIBS="$(AVAHI_DAEMON_LIBS)"
    
    $($(PKG)_TARGET_BINARY): $($(PKG)_BINARY)
    	$(INSTALL_BINARY_STRIP)
    
    $($(PKG)_TARGET_AVAHI_DNSCONFD): $($(PKG)_AVAHI_DNSCONFD)
    	$(INSTALL_BINARY_STRIP)
    
    $($(PKG)_TARGET_LIB): $($(PKG)_LIB)
    	$(INSTALL_LIBRARY_STRIP)
    
    $($(PKG)_TARGET_LIB2): $($(PKG)_LIB2)
    	$(INSTALL_LIBRARY_STRIP)
    
    $($(PKG)_TARGET_LIB3): $($(PKG)_LIB3)
    	$(INSTALL_LIBRARY_STRIP)
    
    $(pkg):
    
    $(pkg)-precompiled: $($(PKG)_TARGET_BINARY) \
    		    $($(PKG)_TARGET_AVAHI_DNSCONFD) \
    		    $($(PKG)_TARGET_LIB) \
    		    $($(PKG)_TARGET_LIB2) \
    		    $($(PKG)_TARGET_LIB3)
    
    $(pkg)-clean:
    	-$(SUBMAKE) -C $(AVAHI_DAEMON_DIR) clean
    	 $(RM) $(AVAHI_DAEMON_DIR)/.configured
    
    $(pkg)-uninstall:
    	$(RM) $(AVAHI_DAEMON_TARGET_BINARY) \
    	      $(AVAHI_DAEMON_TARGET_AVAHI_DNSCONFD) \
    	      $(AVAHI_DAEMON_TARGET_LIB) \
    	      $(AVAHI_DAEMON_TARGET_LIB2) \
    	      $(AVAHI_DAEMON_TARGET_LIB3)
    
    $(PKG_FINISH)
    
     
  16. futurmat

    futurmat Neuer User

    Registriert seit:
    6 Apr. 2012
    Beiträge:
    5
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Habe nun avahi-daemon aus dem git repository geladen und in den make folder kopiert. Wie beschrieben habe ich folgende Änderungen vorgenommen:

    - make/Config.in: source make/avahi-daemon/Config.in
    - make/external.in: source make/avahi-daemon/external.in
    - make/libs/Config.in: Libs konnte ich keine im avahi-daemon finden, daher habe ich die avahi Einträge einfach auskommentiert.
    - make/libs/external.in: siehe oben
    - make/netatalk/Config.in: select FREETZ_PACKAGE_AVAHI_DAEMON
    - make/netatalk/netatalk.mk:
    ifeq ($(strip $(FREETZ_PACKAGE_NETATALK_ENABLE_ZEROCONF)),y)
    $(PKG)_DEPENDS_ON += avahi_daemon
    endif

    make lief durch und ich finde den avahi-deamon nun als Eintrag im Freetz-Menü. Kann nun bequem die Konfiguration über das Web-Frontend machen.

    Allerdings: beim Starten des Dienstes bekomme ich wiederum :
    Timeout reached while wating for return value
    Could not receive return value from daemon process.
    Starting Avahi-daemon ... failed.


    Habe ich noch etwas vergessen? Wie hast Du es gemacht, cyberlight?
     
  17. sf3978

    sf3978 IPPF-Promi

    Registriert seit:
    2 Dez. 2007
    Beiträge:
    7,711
    Zustimmungen:
    7
    Punkte für Erfolge:
    38
    Ist das Paket "avahi_daemon" oder "avahi-daemon"? Wenn "avahi-daemon", dann muss es so sein:
    Code:
    $(PKG)_DEPENDS_ON += avahi-daemon
    
    BTW: "AVAHI_DAEMON" ist richtig.
     
  18. cyberlight

    cyberlight Neuer User

    Registriert seit:
    4 Feb. 2006
    Beiträge:
    26
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Habe heute auch mal wieder etwas rumprobiert.

    Die Fehlermeldung
    ist etwas irreführend. Eigentlich fehlt ihm nur der User nobody.
    Beim direkten Aufruf von Avahi per Konsole z.B. so: avahi-daemon -f /mod/etc/avahi-daemon/avahi-daemon_conf verrät er das auch sofort.
    nach anlegen des Users: adduser nobody, mousers save und modsave flash startete avahi anstandslos.
     
  19. olistudent

    olistudent IPPF-Urgestein

    Registriert seit:
    19 Okt. 2004
    Beiträge:
    14,761
    Zustimmungen:
    5
    Punkte für Erfolge:
    38
    Beruf:
    Softwareentwickler
    Ort:
    Kaiserslautern
    Vermutlich fehlen folgende Zeilen im rc-Skript?
    Code:
    --- make/avahi/files/root/etc/init.d/rc.avahi	(revision 8870)
    +++ make/avahi/files/root/etc/init.d/rc.avahi	(working copy)
    @@ -20,6 +20,9 @@
     			cp -a /etc/default.avahi/* /tmp/flash/avahi/
     		fi
     		
    +		modlib_addgroup $DAEMON_GROUP
    +		modlib_adduser $DAEMON_USER -s /bin/false -D -S -H -G $DAEMON_GROUP -g $DAEMON_GROUP
    +				
     		modlib_start $AVAHI_ENABLED 
     		;;
     	start)
    
    Gruß
    Oliver
     
  20. cyberlight

    cyberlight Neuer User

    Registriert seit:
    4 Feb. 2006
    Beiträge:
    26
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    #20 cyberlight, 9 Apr. 2012
    Zuletzt bearbeitet: 10 Apr. 2012
    Hier mal mein Versuch, aus zweien eins zu machen: Dem Avahi im Trunk habe ich das Webinterface vom weiter oben genannten Avahi-daemon verpasst.
    So weit scheint das auch zu funktionieren bis auf ein paar Macken:
    • standardmäßig ist dbus-support aktiv. dbus startet aber momentan nur von hand.
    • mir ist etwas unklar was mit den Dateien aus /etc/default.avahi/services passieren soll

    hier das diff, welches im Ordner /make/Avahi erzeugt wurde.
    Den Anhang avahi-Webinterface.diff.tar.gz betrachten

    Hoffe, hiermit helfen zu können...

    (edit) und hier mal meine Avahi-konfigurationsdateien, mit denen ich eine einigermaßen perfekte Timecapsule hinbekommen habe. Allerdings: nur manuell. Ich habe es noch nicht geschafft, dass Netatalk oder andere programme ihre Dienste automatisch anmelden. Den Anhang avahi-config.zip betrachten