[Problem] FW 06.36, Freetz und WLAN (7390)

ausgaben gibt es keine aber das WLAN funktioniert jetzt
Code:
root@Switch:/var/mod/root# start_plugin.sh init
root@Switch:/var/mod/root# start_plugin.sh init_done
root@Switch:/var/mod/root# start_plugin.sh flash_mount
root@Switch:/var/mod/root# mount
rootfs on / type rootfs (rw)
/dev/root on / type squashfs (ro)
proc on /proc type proc (rw)
tmpfs on /var type tmpfs (rw)
dev on /dev type tmpfs (rw,nosuid)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,mode=600)
/var/dev/nand on /var/media/ftp type yaffs2 (rw,sync)
usbfs on /proc/bus/usb type usbfs (rw)
/dev/sda1 on /var/media/ftp/uStor01 type ext3 (rw,noatime,nodiratime,errors=continue,user_xattr,data=ordered)
/dev/sdb1 on /var/media/ftp/uStor11 type fuseblk (rw,user_id=0,group_id=0,allow_other,blksize=4096)
https://webdav.mediencenter.t-online.de on /var/media/ftp/Online-Speicher type fuse (rw,nosuid,nodev,user_id=0,group_id=0,allow_other,max_read=69632)

habe bei wlan z.Z. alles aktivier was da runter war beim bauen also auch die Kameratreiber
 
Zuletzt bearbeitet:
Beim zweiten Befehl muss es init_done (und nicht init) heißen (wird kein init_done ausgeführt, wird flash_mount erst gar nicht starten). Die Ausgabe von mount verwirrt mich, eigentlich sollte in der Konstellation kein WLAN funktionieren. Bitte checken, ob Dein Post richtig ist und ggf. den Test mit den richtigen Befehlen wiederholen.
 
sorry war tippfehler
habe die Box aber jetzt mal nur neu gestartet und WLAN war sofort da
 
@er13:
Das mit der leeren plugins.ini war m.E. auch bei der internationalen 06.20 mit den Language-Files so ... da die dort hinterlegten Namen praktisch auch keine Auswirkungen haben (ich finde nur eine Stelle, wo diese Liste bisher zur Anzeige verwendet wird) und ohnehin der Inhalt der signierten plugins.update-Datei entscheidend ist dafür, welche Plugins da gestartet werden, halte ich das für "unfertig".

Hat denn nun jemand von den Leuten mit den Problemen mal nachgesehen, daß tatsächlich die Abarbeitung der rc.tail.sh nicht durch falsches Vorgehen in einer reanimierten "debug.cfg" behindert wird?

Woher der Aufruf mit "init" kommt, ist mir auch noch nicht ganz klar (ich nehme mal an, aus dem ctlmgr selbst bei seinem Start (über die libcmapi.so), kann man ja leicht überprüfen, wenn man ein Freetz-Image auf der Box hat, die start_plugin.sh übermountet und dann einfach mal den ctlmgr stoppt und neu startet) - der "init-done" kommt wohl aus der rc.tail.sh und befindet sich an einer Stelle, wo eine "hängende" debug.cfg wg. falsch gestarteter Child-Prozesse schon Schaden anrichten würde. Das dürfte man am ehesten in einer Ausgabe von "ps w" sehen.

EDIT:
@blackstar:
Kannst Du noch mal die Ausgabe von "mount" zeigen? Ohne passendes SquashFS-Image unter /var/plugin-wlan sollte da gar nichts funktionieren ... außer das wird tatsächlich nur für das Erstellen einer WLAN-Konfiguration benötigt, was AVM da ins Plugin ausgelagert hat. Der wland ist ja noch direkt im Image ... auf der anderen Seite sind alle Treiber aus "net" ja ausgelagert ins Plugin.
 
Zuletzt bearbeitet:
@leere plugins.in: habe ich ja auch geschrieben, ein unbedeutender Fehler...

@init_done/init-done: man beachte den feinen Unterschied - in rc.tail.sh heißt es "init-done" (Bindestrich), in start_plugin.sh dagegen "init_done" (Unterstrich). Ob an irgendeiner Stelle der Bindestrich durch den Unterstrich ersetzt wird, habe ich noch nicht prüfen können. Sollte es aber daran liegen, dann dürfte es eigentlich auch mit der Original-Firmware nicht funktionieren.

@debug.cfg: und die Anmerkung von Peter bitte ernst nehmen. Alle Tests sollten mit einer leeren/ausgeschalteten debug.cfg stattfinden. Nur dann kann behauptet werden, dass es an Freetz liegt. Mit einer nicht leeren debug.cfg ist debug.cfg als Ursache nicht auszuschließen.

@Testen der Integration der Plugins: könnte bitte jemand testen, ob die seit r13582 (vom Lesen her) umgesetzte Integration der Plugins funktioniert? Und dann hier Feedback geben. Danke!

Edit: und noch ein Fehler, wo ich die Auswirkungen noch nicht abschätzen kann, ist mir aufgefallen. Die Datei hst_tx99.ko existiert in plugin-wlan.image nicht. Den Symlink gibt es, insmod in rc.wlan gibt es, die Datei selbst nicht.
 
Zuletzt bearbeitet:
Code:
root@Switch:/var/mod/root# mount
rootfs on / type rootfs (rw)
/dev/root on / type squashfs (ro)
proc on /proc type proc (rw)
tmpfs on /var type tmpfs (rw)
dev on /dev type tmpfs (rw,nosuid)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,mode=600)
/var/dev/nand on /var/media/ftp type yaffs2 (rw,sync)
usbfs on /proc/bus/usb type usbfs (rw)
/dev/sdb1 on /var/media/ftp/uStor11 type ext3 (rw,noatime,nodiratime,errors=continue,user_xattr,data=ordered)
/dev/sda1 on /var/media/ftp/uStor01 type fuseblk (rw,user_id=0,group_id=0,allow_other,blksize=4096)
root@Switch:/var/mod/root#
und was mich halt verwundert auch wenn ich jetzt die box neu starte ist das WLAN da
als hätte es nur einmal initialisiert werden müssen
 
So habe ein cleanes freetz gebaut.

nach start_plugin.sh init
start_plugin.sh init_done
start_plugin.sh Flash_mount

läuft wlan auch bei mit

Mount:
rootfs on / type rootfs (rw)
/dev/root on / type squashfs (ro)
proc on /proc type proc (rw)
tmpfs on /var type tmpfs (rw)
dev on /dev type tmpfs (rw,nosuid)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,mode=600)
/var/dev/nand on /var/media/ftp type yaffs2 (rw,sync)
usbfs on /proc/bus/usb type usbfs (rw)
/dev/sda1 on /var/media/ftp/uStor01 type vfat (rw,noatime,fmask=0000,dmask=0000,allow_utime=0022,codep
age=cp437,iocharset=iso8859-1,shortname=winnt)
/dev/loop0 on /var/plugin-webcm_interpreter type squashfs (ro)
/dev/loop1 on /var/plugin-wlan type squashfs (ro)

debug.cfg ist aktiv

werde jetzt mal ein modifiziertes freetz bauen

edit:

nach Neubau mit openvpn ohne debug.cfg selbes Ergebnis (musste nichtmal neu initialisiert werden)
 
Zuletzt bearbeitet:
@alle die das Problem immer noch nachstellen können (die Tatsache, dass es nach "einmal initialisieren", dann auf einmal nach jedem Starten weiter läuft, kann ich nämlich noch nicht nachvollziehen): bitte testen, ob r13583 etwas bewirkt (bitte keine start_plugin.sh-Befehle manuell ausführen, es soll automatisch starten).

@blackstar: die mount-Ausgabe von Dir kann ich nicht nachvollziehen, bei Dir fehlen die beiden "/dev/loop bzw. /var/plugin"-Zeilen (s. die Ausgabe von mericon). Nur wenn es diese zwei Zeilen gibt, dürfte das WLAN (dem Lesen nach) funktionieren.
 
@init_done/init-done: man beachte den feinen Unterschied - in rc.tail.sh heißt es "init-done" (Bindestrich), in start_plugin.sh dagegen "init_done" (Unterstrich).
Das ist ja kein direkter Aufruf ... die msgsend-"Kommandos" für den ctlmgr heißen tatsächlich "init-done", "check-plugins" und "plugins-langdb_changed" (letzteres besonders schön :mrgreen:).

Das mit dem Einmal-Initialisieren kann ich auch nicht richtig glauben, denn an der Feststellung
Code:
# AVM/RSP 20150923 prevent wland from loading when plugin is pending
if [ $CONFIG_PLUGINV2_WLAN == "y" ]; then
   if mount | grep /dev/loop | grep -q plugin-wlan ; then
      echo "rc.wlan: WLAN plugin loaded"  > /dev/console
   else
      echo "rc.wlan: WLAN plugin not yet loaded, taking no action"  > /dev/console
[COLOR="#FF0000"]      exit[/COLOR]
   fi
fi
führt in meinen Augen kein Weg vorbei (es kommt ja nicht einmal zur Auswertung des Parameters für das Skript, wenn da kein Eintrag in /proc/mounts existiert, der "plugin-wlan" enthält).

Wie da das WLAN auch ohne gemountetes Image funktionieren soll (selbst wenn man die Symlinks für die Libraries und die Treiber ignoriert, die ohne Plugin ja auch ins Leere zeigen), erschließt sich mir nicht, auch in der Ausgabe von "mounts" bei der Busybox ist da (im Quelltext) nichts mit irgendeiner Filterung von Loop-Devices zu finden, genauso wenig wie ich etwas zu unterschiedlichen Namespaces finden kann.

Damit müßten auch bei blackstar - wenn das WLAN funktioniert - die Images gemountet sein. Auch findet sich der Aufruf des Skripts "/etc/rc.d/rc.wlan" (wo die Treiber erst geladen werden) nur in der "libwland_hal.so.1.0.0" und die steht nun mal nur im Plugin ... das ist alles sehr mysteriös, wenn das ohne gemountetes Image funktionieren sollte.

Die Zeile
Code:
mount -t squashfs /var/plugins/plugin-${ii}.image /var/plugin-${ii} -o loop[COLOR="#FF0000"]=/dev/loop${loop_count}[/COLOR],ro
paßt m.E. ohnehin nicht zum derzeitigen Code von "util-linux/mount.c" aus der BB 1.24.1, wobei ich erst einmal nachsehen müßte, was beim Mounten jetzt Original und was das Ergebnis Deiner Erweiterung um "loop,offset=" ist. M.E. ist das aber auch bei der originalen BB so, daß die "loop"-Option praktisch umsonst ist (wird bei einer Datei als "device" automatisch angenommen) und sich der Code das nächste freie Device sucht.

Der Teil mit dem Setup eines Loop-Devices hat sich wohl auch zur 1.24.1 hin geändert (zumindest die Maske für das sprintf für den Namen (jetzt "unsigned" für die Nummer des Loop-Devices), für den Rest muß man erst mal in Ruhe in die Quellen sehen) - dann kommt noch der 411-Patch dazu.

Braucht es den wirklich? Ich verstehe ja, daß Du die Arbeit, die Du Dir damit gemacht hast, nicht einfach wegwerfen willst, aber mit "losetup" + Offset-Option auf der einen und Deiner neuen Syntax auf der anderen Seite ist das praktisch doppelt und hier führt es zumindest in denselben Zweig und zu Mehraufwand bei der Analyse der Abläufe - da bei AVM CONFIG_DESKTOP schlicht nicht gesetzt ist, kann man da den if-Zweig leichter ausschließen, was mit der Auflösung der IF-Makros in die Variablen (auch wenn das alles wegoptimiert werden mag mit den "1"-Konstanten) m.E. deutlich unübersichtlicher wird.

Nimmt man mal die Zeichenkette "-o loop=/dev/loop0,ro" als Eingabe an, würde bei einer unveränderten Busybox die "loop"-Option über "unrecognized" delegiert werden, weil das Gleichheitszeichen hinter dem "loop" stört. Im Ergebnis würde die "loop"-Option in voller Schönheit als Zeichenkette (auf die der "data"-Parameter beim "mount" zeigt) an den Kernel weitergereicht ... und hier endet jetzt die Odyssee, da suche ich nicht weiter, ob sich der loop-Device-Treiber davon beeindrucken ließe, wenn da etwas Unbekanntes stünde - solange nicht einmal klar ist, ob da AVM nicht irgendetwas gepatcht hat.

Der reinen Hex-Ansicht der AVM-Busybox nach (ab Offset 0x637bc sollte die Tabelle der Mount-Optionen stehen), hat AVM da zumindest beim mount-Applet aber auch nichts gepatcht.

Wenn ich den restlichen Code in mount.c richtig sehe, wäre die AVM-Syntax mit der Angabe des Loop-Devices für das originale Applet nicht relevant für die Zuordnung eines bestimmten Loop-Devices, denn hier
Code:
                if (ENABLE_FEATURE_MOUNT_LOOP && S_ISREG(st.st_mode)) {
                        loopFile = bb_simplify_path(mp->mnt_fsname);
                        [COLOR="#FF0000"]mp->mnt_fsname = NULL;[/COLOR] // will receive malloced loop dev name
                        if (set_loop(&mp->mnt_fsname, loopFile, loopOffset, /*ro:*/ (vfsflags & MS_RDONLY)) < 0) {
                                if (errno == EPERM || errno == EACCES)
                                        bb_error_msg(bb_msg_perm_denied_are_you_root);
                                else
                                        bb_perror_msg("can't setup loop device");
                                return errno;
                        }

                // Autodetect bind mounts
                } else if (S_ISDIR(st.st_mode) && !mp->mnt_type)
                        vfsflags |= MS_BIND;
wird an "set_loop" kein Device-Name übergeben und damit sucht sich der Code in "libbb/loop.c" selbst das nächste freie Device und zwar eben immer, was für mich den Aufwand mit dem "get_next_free_loop_device" fraglich erscheinen läßt, außer der impliziten Begrenzung auf max. 8 Loop-Devices bzw. Plugins bringt das m.E. nichts.

Da das Plugin nur nach einem "$? -eq 0" vom "mount"-Kommando in die Liste der zu startenden Plugins aufgenommen wird (newplugin), könnte es auch dort noch scheitern, wenn irgendetwas dem mount()-Syscall an Optionen nicht paßt.

Ich habe letztens schon mal falsch gelegen, als ich die von AVM verwendeten Optionen für die Kompressionsstärke beim "gzip" der Busybox angezweifelt habe (beim Packen von TFFS-Dumps in /bin/supportdata.tffs, wo unnötige Zeitverschwendung mit "-1" vermieden werden soll, weil das eigentlich alles schon gepackt ist) ... AVM hat aber wohl einfach einen passenden Patch verwendet (Freetz jetzt wohl auch, wenn ich das richtig sehe oder es kam automatisch mit der 1.24.1 mit).

Wenn es jetzt für dieses Mounten auch irgendetwas geben sollte, was da geändert wurde, dann sucht man sich einen Wolf.

So rein aus dem Trockentest ist mir nicht klar, was das Ergebnis bei den ersten Aufrufen aus Freetz heraus ist ... wenn da kein rc=0 beim Mounten kommt (warum dann aber bei späteren Versuchen, das ist ja auch wieder unklar), würde das Plugin ja nicht in die Liste aufgenommen.

Vielleicht hilft es ja, da mal im Skript eine permanente Protokollierung irgendwo nach /var/tmp zu hinterlegen und es generell im SheBang mit "-x" aufrufen zu lassen. Ich würde annehmen wollen, daß es keinen expliziten Aufruf mit "/bin/sh" gibt, damit sollte das SheBang wirken und stderr kann man mit "exec" ja entsprechend verbiegen. Das klärt dann nebenbei gleich noch die Reihenfolge der Aufrufe mit entsprechenden Parametern.

Ansonsten sollte auch der Aufruf mit "start_plugin.sh test_lock" anhand des Errorlevels Auskunft darüber geben, ob die Sperre nach der Initialisierung des Systems noch gesetzt ist oder nicht.

Die letzte Theorie, warum es im ersten Anlauf nicht klappen will, wäre das Fehlen der "plugins.update" nach der Installation (aus Freetz heraus) und der spätere Download über start_plugin.sh ... das sollte sich aber bei einer Box, die das Internet erreichen kann, auch relativ schnell von alleine legen, außer daß es (wenn das Kopieren beim Update nicht klappt) die Einrichtung über WLAN natürlich unmöglich macht - sicherlich daher auch der Aufwand beim Vermeiden des Löschens eines einmal installierten Plugin-Images beim Werksreset auf der AVM-Seite. Wenn allerdings das "flash_mount" gar nicht rechtzeitig oder in der falschen Reihenfolge aufgerufen wird (weil z.B. noch verriegelt ist), dann kann das ja auch grandios scheitern. Da bei jedem weiteren Aufruf ja auf einen Mountpoint mit "plugin-" getestet wird, würde wohl auch ein Fehler bei der Installation des ersten Plugins (was wohl wegen der alphabetischen Sortierung beim "ls" wohl immer das "wecm-interpreter" wäre) dazu führen, daß nach dem ersten erfolgreichen Mounten alle weiteren Aufrufe von "start_plugin.sh" am Ergebnis von "test_plugins_installed" scheitern.
 
Zuletzt bearbeitet:
Ich hab gestern nochmal einen Anlauf genommen, auf die 06.36 Firmware-Version mit Freetz zu wechseln. Ergebnis leider wie in meinem ursprünglichen Post: kein WLAN. Musste dann relativ schnell wieder auf eine funktionierende Variante zurück. Ich hatte leider nur Zeit, einmal durch das Syslog-Protokoll zu gehen (nichts auffälliges gesehen) und die gemounteten Filesysteme zu überprüfen (kein loop devices gemountet). Ich muss aber dazu sagen, dass ich meine aktuelle .config als Grundlage genommen habe, also remove-Patches, external etc.

Ich kann heute abend wohl nochmal einen Versuch starten und dann den Output aus #18 nachliefern.
 
Hallo, Leute!

Ich habe die 84.06.36 nun mit Wlan zum Laufen bekommen. Bin wie in #27 vorgegangen. Vielen Dank an alle, die sich hier so viele gute Gedanken gemacht haben.
 
@alle die das Problem immer noch nachstellen können (die Tatsache, dass es nach "einmal initialisieren", dann auf einmal nach jedem Starten weiter läuft, kann ich nämlich noch nicht nachvollziehen): bitte testen, ob r13583 etwas bewirkt (bitte keine start_plugin.sh-Befehle manuell ausführen, es soll automatisch starten).

Gismotro hat das neueste Freetz gebaut, kein WLAN.
 
Kann künftig bitte jeder mit so einer Meldung (egal ob "geht" oder "geht nicht") auch seine .config anhängen?

Ich werde nämlich den Verdacht nicht los, daß es sich bei den Leuten, wo es auch ohne gemountete SquashFS-Images gehen soll, um diejenigen handelt, die das Plugin wieder integrieren lassen.

Daß dann keine Mounts zu sehen sind, ist vollkommen logisch ... da solche Meldungen dann aber eher Verwirrung stiften als Licht in die Sache bringen, wäre es hilfreich, wenn man die Einstellungen in Freetz sehen könnte, ohne jedesmal erst darum betteln zu müssen.

Auch wenn das ohne Reintegration der Plugins laufen sollte (irgendjemand wird schon verstehen, wie das gehen kann, ich bin's definitiv nicht), wäre so eine Konfiguration zum Nachbau irgendwie hilfreich.
 
Du hast ja recht, da ich aber das Image nicht gebaut und getestet habe, kann ich die Infos nicht liefern. Gismotro liest m.E. mit und kann die Infos zur VErfügung stellen.
 
@schwallobert:
Ging gar nicht an die Deine Adresse oder an gismotro ... auch wenn der zeitliche Zusammenhang das nahelegen mag.

Mir macht es viel mehr Kopfschmerzen, wenn es auf einmal bei jemandem (blackstar) ohne die Loop-Devices funktioniert - der Rest ist ohnehin Testsache und da ich selbst kein Freetz verwende (bzw. dafür erst eine weitere 7390 raussuchen müßte und dafür bin ich nicht "betroffen" genug), kann ich nur mit (mehr oder weniger) klugen Ratschlägen versuchen, bei der Suche zu helfen.

Vielleicht schafft es ja tatsächlich mal jemand, nach einem Freetz-Start den Systemzustand zu protokollieren, das geht beim Inhalt von /var los (weil dort ggf. die Semaphore /var/plugin_startLOCK zu finden wäre) über die Prozessliste bis zu den geladenen Modulen und ggf. noch dem Inhalt von /dev/debug - Rätselraten bringt nur mögliche Erklärungen, keine definitiven.

Meine eigenen Änderungen erfolgen ohne Freetz und dabei wird das WLAN dann auch gestartet, wenn ich nichts anderes verpfusche. Wenn es die Leute mit dem Problem nicht genug interessiert für "straffe Tests", warum sollte es dann jemand anderen in seiner Freizeitgestaltung beeinflussen. Wenn es neue Erkenntnisse/Tests gibt, wird man das sicherlich hier lesen können ... bis dahin kann ich so etwas auch ganz gut verdrängen. Und wenn man die Bitte um Test von Gene richtig liest, stand da auch nicht, daß er wirklich glaubt, daß es damit gefixt wäre ... das war ein Test und nichts weiter.

Es kann ja nicht so schwer sein, z.B. mal folgenden Patch auf die /sbin/start_plugin.sh loszulassen - notfalls im Rahmen der fwmod_custom:
Code:
--- sbin/start_plugin.sh
+++ sbin/start_plugin.sh
@@ -1,4 +1,8 @@
-#! /bin/sh
+#! /bin/sh -x
+exec 2>>/var/tmp/start_plugin.log
+echo "start_plugin.sh called with \"$*\"" 1>&2
+ls -l /var 1>&2
+cat /proc/mounts 1>&2
 loop_count=0
 plugin_list_of_storage_mountpoints_read=""
 plugin_list_of_storage_mountpoints_write=""
Damit sollte bei jedem Aufruf der "start_plugin.sh" die Debug-Ausgabe der Shell in der Datei /var/tmp/plugin_start.logstart_plugin.log landen und dabei auch noch den Inhalt von /var sowie die Aufruf-Parameter und die zu diesem Zeitpunkt gemounteten Dateisysteme dokumentieren. Mit dieser Ausgabe kann man dann besser einschätzen, ob irgendwelche Aufrufe gar nicht erst erfolgen oder ob dabei etwas schiefgeht.
 
Zuletzt bearbeitet:
Ja, ich lese mit und ja, ich hab die Änderungen auch in ein Image gebaut und das Image geflascht. Leider komme ich derzeit nicht zu weiteren Testen und das was aktuell auf meiner 7390 läuft kann ich so nicht posten...... Auf jeden Fall geht Wlan bei mir noch nicht, aber ich will dir Box erst recovern und mit einem puren Image bedamfen. Nicht das da was von meinen Änderungen der Grund ist.
 
Peter, ich bin deinem Vorschlag gefolgt und habe deinen Patch in start_plugin.sh übernommen.
Nach dem Booten der Box kein WLAN, wie gehabt.

Nach meiner Interpretation fehlen die initialen Aufrufe von "start_plugin.sh init" und "start_plugin.sh init_done", warum auch immer.
Da das loop-Modul nicht geladen ist, klappt das Mounten der Images als loop-Device dann natürlich auch nicht. Mit "modprobe loop" und "start_plugin.sh flash_mount" startet das WLAN, allerdings nicht dauerhaft. Nach dem nächsten Booten der Box muss das WLAN (bei mir) auf gleiche Weise wiederbelebt werden.
Apropos Booten: "reboot" hängt auf meiner Box reproduzierbar.

Jetzt mal so ins Blaue hinein geraten: Kann es sein, dass "loop" mit der neuen FW (nur) indirekt geladen wird, zB von einem per Remove entfernten Filesystem (NTFS), UMTS, USB-Printer etc.?

Output aus dem Logfile wie folgt:

Inhalt von /var/tmp/start_plugin.log nach dem Booten:
start_plugin.sh called with "flash_mount"
/var:
-rw-r--r-- 1 root root 6151 Jan 1 01:00 config.def
-rw-r--r-- 1 root root 32 Jan 1 01:00 CRWWLANMAP-crwlock
lrwxrwxrwx 1 root root 27 Jan 1 01:00 default -> /etc/default.Fritz_Box_7390
drwxr-xr-x 2 root root 100 Jan 1 01:00 dev
lrwxrwxrwx 1 root root 19 Jan 1 01:00 devices -> /var/tmp/usbdevices
drwxr-xr-x 7 root root 160 Jan 1 01:00 dsl
-rw-r--r-- 1 root root 32 Jan 1 01:00 dsld_statsimple-crwlock
-rw-r--r-- 1 root root 1015 Jan 1 01:00 env
-rw-r--r-- 1 root root 8194 Jan 1 01:00 env.cache
drwxr-xr-x 2 root root 960 Jan 1 01:00 flash
lrwxrwxrwx 1 root root 31 Jan 1 01:00 flash.html -> /var/html/html/tools/flash.html
lrwxrwxrwx 1 root root 31 Jan 1 01:00 fx_moh -> /etc/default.049/fx_moh.default
drwxr-xr-x 2 root root 40 Jan 1 01:00 gcov
lrwxrwxrwx 1 root root 12 Jan 1 01:00 html -> /usr/www/avm
lrwxrwxrwx 1 root root 20 Jan 1 01:00 html.myfritz -> /usr/www.myfritz/avm
lrwxrwxrwx 1 root root 16 Jan 1 01:00 html.nas -> /usr/www.nas/avm
lrwxrwxrwx 1 root root 19 Jan 1 01:00 htmltext.db -> /etc/htmltext_de.db
-rw-r--r-- 1 root root 32 Jan 1 01:00 igdd-del-portmap-crwlock
-rw-r--r-- 1 root root 32 Jan 1 01:00 inetstat-crwlock
lrwxrwxrwx 1 root root 14 Jan 1 01:00 InternerSpeicher -> /var/media/ftp
-rw-r--r-- 1 root root 370 Jan 1 01:00 jason_boxinfo.xml
-rw-r--r-- 1 root root 9 Jan 1 01:00 lanifaces
drwxr-xr-x 2 root root 40 Jan 20 2016 lock
drwxr-xr-x 2 root root 240 Jan 1 01:00 log
drwxr-xr-x 3 root root 100 Jan 1 01:00 media
lrwxrwxrwx 1 root root 15 Jan 1 01:00 mediapath -> /var/media/ftp/
drwxr-xr-x 11 root root 220 Jan 1 01:00 mod
-rwxrwxrwx 1 root root 9076 Jan 20 2016 post_install
drwxr-xr-x 2 root root 80 Jan 1 01:00 rpc
drwxr-xr-x 3 root root 440 Jan 1 01:00 run
-rw-rw-r-- 1 root root 16 Jan 1 01:00 sem..ar7events
-rw-r--r-- 1 root root 16 Jan 1 01:00 sem..dsld_statsimple
-rw-r--r-- 1 root root 16 Jan 1 01:00 sem.fc_config
-rw-r--r-- 1 root root 16 Jan 1 01:00 sem..igdd-del-portmap
-rw-r--r-- 1 root root 16 Jan 1 01:00 sem..inetstat
-rw-r--r-- 1 root root 16 Jan 1 01:00 sem.notifyd
-rw-r--r-- 1 root root 16 Jan 1 01:00 sem.ontel
-rw-r--r-- 1 root root 16 Jan 1 01:00 sem.pbd
-rw-r--r-- 1 root root 16 Jan 1 01:00 sem..SHMUSBDEVICES
-rw-r--r-- 1 root root 16 Jan 1 01:00 sem..srb_dnsd
-rw-r--r-- 1 root root 16 Jan 1 01:00 sem..srb_invite
-rw-r--r-- 1 root root 16 Jan 1 01:00 sem..srb_l2tpv3
-rw-r--r-- 1 root root 16 Jan 1 01:00 sem..srb_pcpd
-rw-r--r-- 1 root root 16 Jan 1 01:00 sem..srb_sip
-rw-r--r-- 1 root root 16 Jan 1 01:00 sem..tr069stat
-rw-r--r-- 1 root root 16 Jan 1 01:00 sem..voipd_statsimple
-rw-r--r-- 1 root root 32 Jan 1 01:00 SHMUSBDEVICES-crwlock
drwxr-xr-x 3 root root 60 Jan 1 01:00 spool
lrwxrwxrwx 1 root root 6 Jan 1 01:00 sysfs -> ../sys
drwxr-xr-x 2 root root 80 Jan 1 01:00 tam
drwxrwxrwt 7 root root 1700 Jan 1 01:00 tmp
-rw-r--r-- 1 root root 32 Jan 1 01:00 tr069stat-crwlock
lrwxrwxrwx 1 root root 19 Jan 1 01:00 TZ -> /etc/default.049/TZ
-rw-r--r-- 1 root root 1 Jan 1 01:00 USB-proc-bus-usb-001-001-hub
-rw-r--r-- 1 root root 1 Jan 1 01:00 USB-proc-bus-usb-001-003-storage
-rw-r--r-- 1 root root 1 Jan 1 01:00 USB-proc-bus-usb-002-001-hub
-rw-r--r-- 1 root root 32 Jan 1 01:00 voipd_statsimple-crwlock
-rw-r--r-- 1 root root 978 Jan 1 01:00 wan-adsl.tc
drwxr-xr-x 2 root root 40 Jan 13 2016 wpa2
[... Unterverzeichnisse weggelassen ...]
rootfs / rootfs rw 0 0
/dev/root / squashfs ro 0 0
proc /proc proc rw 0 0
tmpfs /var tmpfs rw 0 0
dev /dev tmpfs rw,nosuid 0 0
sysfs /sys sysfs rw 0 0
devpts /dev/pts devpts rw,mode=600 0 0
/var/dev/nand /var/media/ftp yaffs2 rw,sync 0 0
usbfs /proc/bus/usb usbfs rw 0 0
/dev/sda4 /var/media/ftp/XXX-YYY-04 vfat rw,noatime,fmask=0000,dmask=0000,allow_utime=0022,codepage=cp437,iocharset=iso8859-1,shortname=winnt,utf8 0 0 /dev/sda3 /var/media/ftp/XXX-YYY-03 vfat rw,noatime,fmask=0000,dmask=0000,allow_utime=0022,codepage=cp437,iocharset=iso8859-1,shortname=winnt,utf8 0 0 /dev/sda1 /var/media/ftp/XXX-YYY-01 ext2 rw,noatime,nodiratime,errors=continue 0 0
mount: can't setup loop device: No such device or address
mount: can't setup loop device: No such device or address

Wenn ich start_plugin.sh nachträglich aus der Bash aufrufe, ist das Logfile aussagekräftiger:
root@fb:~# /sbin/start_plugin.sh flash_mount
+ exec
/sbin/start_plugin.sh[7831]: Plugins awaited:
/sbin/start_plugin.sh[7831]: Extract SOFTWARE-PLUGIN file:///var/InternerSpeicher/FRITZ/plugins/plugins.update
/sbin/start_plugin.sh[7831]: Prepare SOFTWARE-PLUGIN webcm_interpreter ...
/sbin/start_plugin.sh[7831]: Mount SOFTWARE-PLUGIN webcm_interpreter ...
next free loop devive: /dev/loop0
/sbin/start_plugin.sh[7831]: Prepare SOFTWARE-PLUGIN wlan ...
/sbin/start_plugin.sh[7831]: Mount SOFTWARE-PLUGIN wlan ...
next free loop devive: /dev/loop0
und
[ls Ausgabe entfernt]
+ cat /proc/mounts
rootfs / rootfs rw 0 0
/dev/root / squashfs ro 0 0
proc /proc proc rw 0 0
tmpfs /var tmpfs rw 0 0
dev /dev tmpfs rw,nosuid 0 0
sysfs /sys sysfs rw 0 0
devpts /dev/pts devpts rw,mode=600 0 0
/var/dev/nand /var/media/ftp yaffs2 rw,sync 0 0
usbfs /proc/bus/usb usbfs rw 0 0
/dev/sda4 /var/media/ftp/SanDisk-CruzerContour-04 vfat rw,noatime,fmask=0000,dmask=0000,allow_utime=0022,codepage=cp437,iocharset=iso8859-1,shortname=winnt,utf8 0 0
/dev/sda3 /var/media/ftp/SanDisk-CruzerContour-03 vfat rw,noatime,fmask=0000,dmask=0000,allow_utime=0022,codepage=cp437,iocharset=iso8859-1,shortname=winnt,utf8 0 0
/dev/sda1 /var/media/ftp/SanDisk-CruzerContour-01 ext2 rw,noatime,nodiratime,errors=continue 0 0
+ loop_count=0
+ plugin_list_of_storage_mountpoints_read=
+ plugin_list_of_storage_mountpoints_write=
+ plugin_startLOCK_sema_path=/var
+ plugin_startLOCK_sema=/var/plugin_startLOCK
+ internal_storage=/var/InternerSpeicher
+ local_massstorage_pluginbasepath=/FRITZ/plugins
+ plugin_updatefile=plugins.update
+ test_plugins_installed
+ mount
+ grep /dev/loop
+ grep -q plugin-
+ return 1
+ env
+ grep CONFIG_PLUGIN_LIST
+ sed -e s/^CONFIG_PLUGIN_LIST=//g
+ tr ,
+ echo /sbin/start_plugin.sh[7831]: Plugins awaited:
+ test_plugins_DONTSTART
+ test -d /var
+ test -f /var/plugin_startLOCK
+ test_plugins_installed
+ mount
+ grep /dev/loop
+ grep -q plugin-
+ return 1
+ [ -e /var/InternerSpeicher ]
+ install_plugins file:///var/InternerSpeicher/FRITZ/plugins
+ local imountdir=file:///var/InternerSpeicher/FRITZ/plugins
+ [ -z ]
+ echo
+ local isavefile=
+ echo /sbin/start_plugin.sh[7831]: Extract SOFTWARE-PLUGIN file:///var/InternerSpeicher/FRITZ/plugins/plugins.update
+ [ -n ]
+ tr069fwupdate packet file:///var/InternerSpeicher/FRITZ/plugins/plugins.update
+ fw_error_text 0
+ error=0
+ return 0
+ [ -n ]
+ ls -1 /var/plugins/plugin-webcm_interpreter.image /var/plugins/plugin-wlan.image
+ sed -e s/.*\/plugin-\(.*\)\.image/\1/g
+ tr \n
+ local PLUGINS=webcm_interpreter wlan
+ local ii=
+ local jj=
+ local newplugin=
+ echo /sbin/start_plugin.sh[7831]: Prepare SOFTWARE-PLUGIN webcm_interpreter ...
+ mkdir -p /var/plugin-webcm_interpreter
+ echo /sbin/start_plugin.sh[7831]: Mount SOFTWARE-PLUGIN webcm_interpreter ...
+ get_next_free_loop_device
+ local_loop_count=0
+ [ 0 -le 7 ]
+ mount
+ grep /dev/loop0
+ loop_count=0
+ echo next free loop devive: /dev/loop0
+ return 0
+ mount -t squashfs /var/plugins/plugin-webcm_interpreter.image /var/plugin-webcm_interpreter -o loop=/dev/loop0,ro
mount: can't setup loop device: No such device or address
+ [ 6 -eq 0 ]
+ echo /sbin/start_plugin.sh[7831]: Prepare SOFTWARE-PLUGIN wlan ...
+ mkdir -p /var/plugin-wlan
+ echo /sbin/start_plugin.sh[7831]: Mount SOFTWARE-PLUGIN wlan ...
+ get_next_free_loop_device
+ local_loop_count=0
+ [ 0 -le 7 ]
+ mount
+ grep /dev/loop0
+ loop_count=0
+ echo next free loop devive: /dev/loop0
+ return 0
+ mount -t squashfs /var/plugins/plugin-wlan.image /var/plugin-wlan -o loop=/dev/loop0,ro
mount: can't setup loop device: No such device or address
+ [ 6 -eq 0 ]
+ return

Fehlermeldung wird wohl durch fehlendes Loop-Modul verursacht:

root@fb:~# lsmod
Module Size Used by Tainted: P
cdc_acm 13104 2
userman_mod 72608 2
vdsldriver_lkm 23200 0
sch_sfq 6080 4
sch_llq 8704 1
sch_tbf 4960 1
krtp 150496 0
avm_pa_fusiv 20832 0
nls_iso8859_1 3328 2
nls_cp437 4832 2
kdsldmod 1457632 7 userman_mod
usb_storage 34688 4
sd_mod 24896 5
scsi_mod 87504 2 usb_storage,sd_mod
ohci_hcd 17712 0
ehci_hcd 30896 0
usbcore 119552 5 cdc_acm,usb_storage,ohci_hcd,ehci_hcd
nls_utf8 1344 0
vfat 10336 2
fat 49776 1 vfat
dect_io 12608 2
avm_dect 256272 1 dect_io
capi_codec 358080 0
isdn_fbox_fon5 696656 7 krtp
pcmlink 316848 4 avm_dect,capi_codec,isdn_fbox_fon5
Piglet_noemif 31088 0
bmedrv 7376 0
opensrc_lkm 1632 1 bmedrv
aclap_driver_lkm 19536 2 vdsldriver_lkm,avm_pa_fusiv
sysKCode_lkm 23248 0
ethdriver_lkm 43856 1 aclap_driver_lkm
periap_driver_lkm 15456 1 ethdriver_lkm
timers_lkm 5200 1 ethdriver_lkm
bmdriver_lkm 12880 1 vdsldriver_lkm
ap2ap_lkm 23808 6 vdsldriver_lkm,kdsldmod,aclap_driver_lkm,sysKCode_lkm,ethdriver_lkm,bmdriver_lkm
fusivlib_lkm 59152 10 vdsldriver_lkm,avm_pa_fusiv,kdsldmod,bmedrv,aclap_driver_lkm,sysKCode_lkm,ethdriver_lkm,periap_driver_lkm,bmdriver_lkm,ap2ap_lkm
rtc_avm 5264 1 pcmlink
rtc_core 13520 1 rtc_avm
led_modul_Fritz_Box_7390 83056 10
 
Zuletzt bearbeitet:
Ich habe das jetzt mal mit einem etwas erweiterten Skript unter "normalem" AVM-System mitgeschnitten (EDIT: und mit einem expliziten "set -x", weil wohl doch kein SheBang ausgewertet wird beim Aufruf):
Code:
+ echo start_plugin.sh called with "flash_mount"
start_plugin.sh called with "flash_mount"
+ ls -l /var
-rw-r--r--    1 root     root            32 Jan  1 01:00 CRWWLANMAP-crwlock
-rw-r--r--    1 root     root            32 Jan  1 01:00 IKEAPI-CSTAT-crwlock
-rw-r--r--    1 root     root            32 Jan  1 01:00 IKEAPI-NSTAT-crwlock
-rw-r--r--    1 root     root            32 Jan  1 01:00 IKEAPI-SSTAT-crwlock
lrwxrwxrwx    1 root     root            14 Jan  1 01:00 InternerSpeicher -> /var/media/ftp
-rw-r--r--    1 root     root            32 Jan  1 01:00 SHMUSBDEVICES-crwlock
lrwxrwxrwx    1 root     root            19 Jan  1 01:00 TZ -> /etc/default.049/TZ
-rw-r--r--    1 root     root             1 Jan  1 01:00 USB-proc-bus-usb-001-001-hub
-rw-r--r--    1 root     root             1 Jan  1 01:00 USB-proc-bus-usb-002-001-hub
-rw-r--r--    1 root     root          6151 Jan  1 01:00 config.def
lrwxrwxrwx    1 root     root            27 Jan  1 01:00 default -> /etc/default.Fritz_Box_7390
drwxr-xr-x    2 root     root           100 Jan  1 01:00 dev
lrwxrwxrwx    1 root     root            19 Jan  1 01:00 devices -> /var/tmp/usbdevices
drwxr-xr-x    7 root     root           160 Jan  1 01:00 dsl
-rw-r--r--    1 root     root            32 Jan  1 01:00 dsld_statsimple-crwlock
-rw-r--r--    1 root     root           966 Jan  1 01:00 env
-rw-r--r--    1 root     root          9430 Jan  1 01:00 env.cache
drwxr-xr-x    2 root     root           960 Jan  1 01:00 flash
lrwxrwxrwx    1 root     root            31 Jan  1 01:00 flash.html -> /var/html/html/tools/flash.html
lrwxrwxrwx    1 root     root            31 Jan  1 01:00 fx_moh -> /etc/default.049/fx_moh.default
drwxr-xr-x    2 root     root            40 Jan  1 01:00 gcov
lrwxrwxrwx    1 root     root            12 Jan  1 01:00 html -> /usr/www/avm
lrwxrwxrwx    1 root     root            20 Jan  1 01:00 html.myfritz -> /usr/www.myfritz/avm
lrwxrwxrwx    1 root     root            16 Jan  1 01:00 html.nas -> /usr/www.nas/avm
lrwxrwxrwx    1 root     root            19 Jan  1 01:00 htmltext.db -> /etc/htmltext_de.db
-rw-r--r--    1 root     root            32 Jan  1 01:00 igdd-del-portmap-crwlock
-rw-r--r--    1 root     root            32 Jan  1 01:00 inetstat-crwlock
-rw-r--r--    1 root     root           399 Jan  1 01:00 jason_boxinfo.xml
-rw-r--r--    1 root     root             9 Jan  1 01:00 lanifaces
drwxr-xr-x    2 root     root            60 Jan  1 01:00 lock
drwxr-xr-x    2 root     root           120 Jan  1 01:00 log
drwxr-xr-x    3 root     root            80 Jan  1 01:00 media
-rwxr-xr-x    1 root     root          9070 Jan 20  2016 post_install
drwxr-xr-x    2 root     root           100 Jan  1 01:00 rpc
drwxr-xr-x    2 root     root           340 Jan  1 01:00 run
-rw-r--r--    1 root     root            16 Jan  1 01:00 sem..IKEAPI-CSTAT
-rw-r--r--    1 root     root            16 Jan  1 01:00 sem..IKEAPI-NSTAT
-rw-r--r--    1 root     root            16 Jan  1 01:00 sem..IKEAPI-SSTAT
-rw-r--r--    1 root     root            16 Jan  1 01:00 sem..SHMUSBDEVICES
-rw-rw-r--    1 root     root            16 Jan  1 01:00 sem..ar7events
-rw-r--r--    1 root     root            16 Jan  1 01:00 sem..dsld_statsimple
-rw-r--r--    1 root     root            16 Jan  1 01:00 sem..igdd-del-portmap
-rw-r--r--    1 root     root            16 Jan  1 01:00 sem..inetstat
-rw-r--r--    1 root     root            16 Jan  1 01:00 sem..srb_dnsd
-rw-r--r--    1 root     root            16 Jan  1 01:00 sem..srb_invite
-rw-r--r--    1 root     root            16 Jan  1 01:00 sem..srb_l2tpv3
-rw-r--r--    1 root     root            16 Jan  1 01:00 sem..srb_pcpd
-rw-r--r--    1 root     root            16 Jan  1 01:00 sem..srb_sip
-rw-r--r--    1 root     root            16 Jan  1 01:00 sem..umtscfg
-rw-r--r--    1 root     root            16 Jan  1 01:00 sem..umtsstat
-rw-r--r--    1 root     root            16 Jan  1 01:00 sem..voipd_statsimple
-rw-r--r--    1 root     root            16 Jan  1 01:00 sem.fc_config
-rw-r--r--    1 root     root            16 Jan  1 01:00 sem.notifyd
-rw-r--r--    1 root     root            16 Jan  1 01:00 sem.ontel
-rw-r--r--    1 root     root            16 Jan  1 01:00 sem.pbd
drwxr-xr-x    2 root     root            80 Jan  1 01:00 tam
drwxrwxrwx    6 root     root          1420 Jan  1 01:00 tmp
-rw-r--r--    1 root     root            32 Jan  1 01:00 umtscfg-crwlock
-rw-r--r--    1 root     root            32 Jan  1 01:00 umtsstat-crwlock
-rw-r--r--    1 root     root            32 Jan  1 01:00 voipd_statsimple-crwlock
-rw-r--r--    1 root     root           930 Jan  1 01:00 wan-wan.tc
drwxr-xr-x    2 root     root            40 Jan 20  2016 wpa2
+ ps l
S   UID   PID  PPID   VSZ   RSS TTY   STIME TIME     CMD
S     0     1     0  1308   380 0:0   00:59 00:00:00 init
S     0     2     0     0     0 0:0   00:59 00:00:00 [kthreadd]
S     0     3     2     0     0 0:0   00:59 00:00:00 [ksoftirqd/0]
S     0     4     2     0     0 0:0   00:59 00:00:00 [watchdog/0]
S     0     5     2     0     0 0:0   00:59 00:00:00 [events/0]
S     0     6     2     0     0 0:0   00:59 00:00:00 [khelper]
S     0     7     2     0     0 0:0   00:59 00:00:00 [async/mgr]
S     0     8     2     0     0 0:0   01:00 00:00:00 [CPMAC workqueue]
S     0     9     2     0     0 0:0   01:00 00:00:00 [kblockd/0]
S     0    11     2     0     0 0:0   01:00 00:00:00 [pdflush]
S     0    12     2     0     0 0:0   01:00 00:00:00 [kswapd0]
S     0    13     2     0     0 0:0   01:00 00:00:00 [aio/0]
S     0    14     2     0     0 0:0   01:00 00:00:00 [nfsiod]
S     0    22     2     0     0 0:0   01:00 00:00:00 [avm_debugd]
S     0    23     2     0     0 0:0   01:00 00:00:00 [pm_info]
S     0    24     2     0     0 0:0   01:00 00:00:00 [mtdblockd]
S     0    27     2     0     0 0:0   01:00 00:00:00 [rpciod/0]
S     0    28     2     0     0 0:0   01:00 00:00:00 [l2tp]
S     0    29     2     0     0 0:0   01:00 00:00:00 [tffsd_mtd_0]
S     0    30     1  1524   732 ttyS0 01:00 00:00:00 {rc.S} /bin/sh /etc/init.
S     0   103     2     0     0 0:0   01:00 00:00:00 [cleanup_timer_f]
S     0   236     2     0     0 0:0   01:00 00:00:00 [yaffs-bg-1]
S     0   250     2     0     0 0:0   01:00 00:00:00 [pdflush]
S     0   252     2     0     0 0:0   01:00 00:00:00 [capi_pipew/0]
S     0   253     2     0     0 0:0   01:00 00:00:00 [pcmlink_ctrl]
S     0   254     2     0     0 0:0   01:00 00:00:00 [capitransp]
S     0   257     2     0     0 0:0   01:00 00:00:00 [avm_dect_thread]
S     0   329     1  1276   464 0:0   01:00 00:00:00 /sbin/udevd --daemon
S     0   343    30  1304   304 ttyS0 01:00 00:00:00 tail -f /nohup.out
S     0   358     2     0     0 0:0   01:00 00:00:00 [khubd]
S     0   425   329  1280   476 0:0   01:00 00:00:00 /sbin/udevd --daemon
S     0   428   329  1276   404 0:0   01:00 00:00:00 /sbin/udevd --daemon
S     0   458     1  2400   728 ttyS0 01:00 00:00:00 /bin/configd
S     0   622     1  9180  3108 ttyS0 01:00 00:00:00 /usr/bin/vdsld ats
S     0   625     1  4284   932 0:0   01:00 00:00:00 /usr/sbin/dsl_monitor -d
S     0   763     1  3112   780 0:0   01:00 00:00:00 avmipcd
S     0   767     1  3720  1168 0:0   01:00 00:00:00 l2tpv3d
S     0   774     1 17004  7740 0:0   01:00 00:00:03 ctlmgr
S     0   780     1  4140  1420 0:0   01:00 00:00:00 upnpd
S     0   786     1  4956  2116 0:0   01:00 00:00:00 multid
S     0   860     1  3368  1164 0:0   01:00 00:00:00 pcpd
S     0   867     1  3840  1132 0:0   01:00 00:00:00 upnpdevd
S     0   938     1  5060  2040 0:0   01:00 00:00:00 dsld -i -n
S     0   972     1  3756   804 ttyS0 01:00 00:00:00 pbd
S     0   979     1  1300   228 0:0   01:00 00:00:00 telnetd -l /sbin/ar7login
S     0   980     1  6596  2016 0:0   01:00 00:00:00 telefon a127.0.0.1
S     0   987   980  6024  1928 0:0   01:00 00:00:00 dect_manager
S     0   989     1  6544  4664 0:0   01:00 00:00:00 voipd
S     0  1021     1  1304   320 0:0   01:00 00:00:00 /usr/sbin/inetd
S     0  1042     1  2700  1220 0:0   01:00 00:00:00 /sbin/nmbd
S     0  1049   980  1308   384 0:0   01:00 00:00:00 sh -c trap '' SIGHUP;slee
S     0  1050  1049  1296   276 0:0   01:00 00:00:00 sleep 20
S     0  1062     1  8352  2176 0:0   01:00 00:00:00 /usr/bin/aha
S     0  1070     1  3940  1124 0:0   01:00 00:00:00 usermand
S     0  1073     1  3792  1388 0:0   01:00 00:00:00 contfiltd
S     0  1075     1  2212   536 0:0   01:00 00:00:00 /usr/bin/boxnotifyd
S     0  1083     1  1176   180 0:0   01:00 00:00:00 /bin/run_clock -c /dev/tf
S     0  1088   774  1308   384 0:0   01:00 00:00:00 sh -c test -x /sbin/start
S     0  1089  1088  1312   408 0:0   01:00 00:00:00 {fritznasdb_cont} /bin/sh
S     0  1094   774  1308   404 0:0   01:00 00:00:00 /bin/sh /sbin/start_plugi
Z     0  1096     1     0     0 0:0   01:00 00:00:00 [sh]
R     0  1102  1094  1300   388 0:0   01:00 00:00:00 ps l
S     0  1105  1089  1312   172 0:0   01:00 00:00:00 {fritznasdb_cont} /bin/sh
R     0  1107  1105  2164   124 0:0   01:00 00:00:00 usbcfgctl -s
S     0  1110     1  1308   180 ttyS0 01:00 00:00:00 init
+ lsmod
Module                  Size  Used by    Tainted: P
userman_mod            72608  4
sch_sfq                 6080  0
sch_llq                 8704  0
sch_tbf                 4960  0
krtp                  150496  0
avm_pa_fusiv           20832  0
kdsldmod             1457632  9 userman_mod
ohci_hcd               17712  0
ehci_hcd               30896  0
usbcore               119552  3 ohci_hcd,ehci_hcd
ramzswap               16288  1
lzo_decompress          2272  1 ramzswap
lzo_compress            2016  1 ramzswap
dect_io                12608  2
avm_dect              256272  1 dect_io
capi_codec            358080  0
isdn_fbox_fon5        696656  6 krtp
pcmlink               316848  4 avm_dect,capi_codec,isdn_fbox_fon5
Piglet_noemif          31088  0
bmedrv                  7376  0
opensrc_lkm             1632  1 bmedrv
aclap_driver_lkm       19536  1 avm_pa_fusiv
sysKCode_lkm           23248  0
ethdriver_lkm          43856  1 aclap_driver_lkm
periap_driver_lkm      15456  1 ethdriver_lkm
timers_lkm              5200  1 ethdriver_lkm
bmdriver_lkm           12880  0
ap2ap_lkm              23808  5 kdsldmod,aclap_driver_lkm,sysKCode_lkm,ethdriver_lkm,bmdriver_lkm
fusivlib_lkm           59152  9 avm_pa_fusiv,kdsldmod,bmedrv,aclap_driver_lkm,sysKCode_lkm,ethdriver_lkm,periap_driver_lkm,bmdriver_lkm,ap2ap_lkm
rtc_avm                 5264  1 pcmlink
rtc_core               13520  1 rtc_avm
led_modul_Fritz_Box_7390    83056  8
+ cat /proc/mounts
rootfs / rootfs rw 0 0
/dev/root / squashfs ro 0 0
proc /proc proc rw 0 0
tmpfs /var tmpfs rw 0 0
tmpfs /dev tmpfs rw 0 0
sysfs /sys sysfs rw 0 0
devpts /dev/pts devpts rw,mode=600 0 0
/var/dev/nand /var/media/ftp yaffs2 rw,sync 0 0
usbfs /proc/bus/usb usbfs rw 0 0
+ loop_count=0
+ plugin_list_of_storage_mountpoints_read=
+ plugin_list_of_storage_mountpoints_write=
+ plugin_startLOCK_sema_path=/var
+ plugin_startLOCK_sema=/var/plugin_startLOCK
+ internal_storage=/var/InternerSpeicher
+ local_massstorage_pluginbasepath=/FRITZ/plugins
+ plugin_updatefile=plugins.update
+ test_plugins_installed
+ mount
+ grep /dev/loop
+ grep -q plugin-
+ return 1
+ env
+ grep CONFIG_PLUGIN_LIST
+ sed -e s/^CONFIG_PLUGIN_LIST=//g
+ tr ,
+ echo /sbin/start_plugin.sh[1094]: Plugins awaited:
+ test_plugins_DONTSTART
+ test -d /var
+ test -f /var/plugin_startLOCK
+ test_plugins_installed
+ mount
+ grep /dev/loop
+ grep -q plugin-
+ return 1
+ [ -e /var/InternerSpeicher ]
+ install_plugins file:///var/InternerSpeicher/FRITZ/plugins
+ local imountdir=file:///var/InternerSpeicher/FRITZ/plugins
+ [ -z  ]
+ echo
+ local isavefile=
+ echo /sbin/start_plugin.sh[1094]: Extract SOFTWARE-PLUGIN file:///var/InternerSpeicher/FRITZ/plugins/plugins.update
+ [ -n  ]
+ tr069fwupdate packet file:///var/InternerSpeicher/FRITZ/plugins/plugins.update
+ fw_error_text 0
+ error=0
+ return 0
+ [ -n  ]
+ ls -1 /var/plugins/plugin-webcm_interpreter.image /var/plugins/plugin-wlan.image
+ sed -e s/.*\/plugin-\(.*\)\.image/\1/g
+ tr \n
+ local PLUGINS=webcm_interpreter wlan
+ local ii=
+ local jj=
+ local newplugin=
+ echo /sbin/start_plugin.sh[1094]: Prepare SOFTWARE-PLUGIN webcm_interpreter ...
+ mkdir -p /var/plugin-webcm_interpreter
+ echo /sbin/start_plugin.sh[1094]: Mount SOFTWARE-PLUGIN webcm_interpreter ...
+ get_next_free_loop_device
+ local_loop_count=0
+ [ 0 -le 7 ]
+ mount
+ grep /dev/loop0
+ loop_count=0
+ echo next free loop devive: /dev/loop0
+ return 0
+ mount -t squashfs /var/plugins/plugin-webcm_interpreter.image /var/plugin-webcm_interpreter -o loop=/dev/loop0,ro
+ [ 0 -eq 0 ]
+ newplugin= webcm_interpreter
+ echo /sbin/start_plugin.sh[1094]: Prepare SOFTWARE-PLUGIN wlan ...
+ mkdir -p /var/plugin-wlan
+ echo /sbin/start_plugin.sh[1094]: Mount SOFTWARE-PLUGIN wlan ...
+ get_next_free_loop_device
+ local_loop_count=0
+ [ 0 -le 7 ]
+ grep /dev/loop0
+ mount
+ local_loop_count=1
+ [ 1 -le 7 ]
+ mount
+ grep /dev/loop1
+ loop_count=1
+ echo next free loop devive: /dev/loop1
+ return 0
+ mount -t squashfs /var/plugins/plugin-wlan.image /var/plugin-wlan -o loop=/dev/loop1,ro
+ [ 0 -eq 0 ]
+ newplugin= webcm_interpreter wlan
+ echo /sbin/start_plugin.sh[1094]: Start SOFTWARE-PLUGIN webcm_interpreter ...
+ /var/plugin-webcm_interpreter/control start
+ echo /sbin/start_plugin.sh[1094]: Start SOFTWARE-PLUGIN wlan ...
+ /var/plugin-wlan/control start
+ return
Es gibt tatsächlich auch dort keinen Aufruf mit "init" oder "init_done". Ich habe die Log-Dateinamen um einen Zeitstempel ergänzt, es gibt nur einen Aufruf nach 40 Sekunden Uptime. Ich hatte aber auch keine USB-Speicher angeschlossen.

In der Ausgabe von "ps" sieht man, daß das Skript direkt aus dem "ctlmgr" aufgerufen wird (PPID 774) und am "lsmod" erkennt man, daß auch bei AVM beim Aufruf noch kein "loop"-Module geladen ist.

Offenbar gelingt es dem AVM-Code, den "loop.ko" bei Bedarf automatisch zu laden, was bei der Freetz-Implementierung nicht erfolgt. Man müßte mal im Kernel nachsehen, ob das dort eventuell doch so verdrahtet ist, daß bei der Angabe eines Devices im letzten Parameter beim mount()-Syscall der "loop"-Treiber automatisch nachgeladen wird (da wollte ich ja in #29 noch nicht ran). Jedenfalls ist am Ende "loop" das nächste geladene Module nach "userman_mod", wie ein späteres "lsmod" offenbart.

Was ich dann aber nicht verstehen würde (deshalb wollte ich ja auch eigentlich nicht in die Kernel-Quellen eintauchen) ... warum sollte das dann bei Freetz nicht auch funktionieren, solange der Kernel nicht ausgetauscht wurde? Daher vermute ich das Problem doch eher in der Busybox - mir fällt gerade nicht ein, was dort ansonsten noch involviert sein sollte.

Bleibt also wieder die Frage, was passiert bei der Verwendung der AVM-Busybox? Das ist in einem Freetz-Image meines Wissens nicht ohne manuelle Eingriffe machbar.

EDIT:
Mir ist noch etwas anderes aufgefallen ... bei Freetz werden die gehashten Versionen der "modules.{alias,dep,symbols}"-Dateien (also die mit "bin" am Ende) explizit gelöscht, bei AVM bleiben sie drin. Ohne zu wissen oder nachzusehen, was "modprobe"/"insmod" béi der Busybox jetzt wirklich machen, wenn diese Dateien nicht existieren ... ich würde trotzdem mal hingehen und das Löschen unterlassen (http://freetz.org/browser/trunk/fwmod#L1191) und dann schauen, was passiert. Der Kernel greift jedenfalls für das automatische Laden auch auf "modprobe" aus dem "user land" zurück, da wäre das Fehlen der "bin"-Files noch ein potentieller Unterschied zwischen AVM- und Freetz-Images. Ob er wirklich eine Rolle spielt (normalerweise dient das "bin"-File nur als "Abkürzung"), weiß ich aber auch nicht ...
 
Zuletzt bearbeitet:
Busybox-Version von modutils kennt/unterstützt keine .bin-Dateien (s. hier - der entsprechende Code existiert einfach nicht, man suche nach DEFAULT_DEPMOD_FILE). Busybox-Version mit der eingeschalteten MODPROBE_SMALL-Option kennt sowas wie modules.dep.bb, das ist aber was anderes als .bin und sowieso nicht relevant, weil MODPROBE_SMALL weder in der AVM- noch in der FREETZ-Version von busybox eingeschaltet ist.
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.