Fritzbox 7390 Freetz OS 6.85 Fehlermeldung "Das USB-Gerät enthält keinen Datenträger"

columbus72

Neuer User
Mitglied seit
6 Apr 2006
Beiträge
20
Punkte für Reaktionen
0
Punkte
1
Hallo zusammen
Ich habe ein Problem.
Unter der Originale Image von AVM erkennt die FritzBox den Speicher 100%. Nach dem Freetzen macht die FritzBox den Fehler.
Kann man den USB-Treiber aus dem Originale Image ins Freetz Image kopieren?
 
Gibt es eine Anleitung, wie man das macht ?
 
Da braucht man sich nicht selbst kümmern ... Freetz verwendet automatisch die AVM-Firmware als Vorlage und ergänzt sie nur. Deine "Idee", das würde am USB-Treiber liegen, ist halt Unsinn (oder zumindest extrem unwahrscheinlich, wenn Du es nicht wirklich selbst veranlaßt hast, daß der ausgetauscht wird und das macht man ja hoffentlich nur dann, wenn man es auch verstanden hat) ... für eine (halbwegs plausible) Theorie einer Antwort auf die Frage, warum es bei Dir unter Freetz mit dem USB-Gerät nicht funktioniert, braucht man halt im Minimum noch die verwendete Konfigurationsdatei.

Bei der Unterstützung von USB-Speichern gibt es jedenfalls noch genug Optionen, die man falsch einstellen könnte:
freetzmount options.PNG
... da würde ich als erstes mal nachsehen, bevor man Theorien aufstellt, es läge am USB-Treiber, den Freetz verwendet.

Zwar kann man mit "replace kernel" (wofür man schon einen halbwegs guten Grund haben sollte) und den Einstellungen unter "Kernel modules / drivers" irgendwie auch einen oder mehrerer USB-Treiber austauschen lassen (wobei es "den USB-Treiber" da ohnehin nicht gibt, das sind ja mehrere, aufeinander aufbauende LKM), aber das wären dann zumindest mal (aktivierte) Einstellungen, die man "mutwillig" vornehmen muß und die nicht irgendwie automatisch vorhanden sind.

Solange da keines der Symbole "FREETZ_MODULE.*usb.*" gesetzt ist:
Code:
freetz@zbox:~/vr9_speed> grep "FREETZ_MODULE.*usb.*" .config
# FREETZ_MODULE_usblp is not set
# FREETZ_MODULE_usb_storage is not set
# FREETZ_MODULE_usbmon is not set
# FREETZ_MODULE_usbip is not set
# FREETZ_MODULE_usbip_common_mod is not set
# FREETZ_MODULE_usbserial is not set
# FREETZ_MODULE_bfusb is not set
# FREETZ_MODULE_btusb is not set
freetz@zbox:~/vr9_speed>
, wird jedenfalls auch keines der LKM von AVM durch eines von Freetz ersetzt.
 
Der USB-Speicher läuft erst unter der FritzBox-Image 6.85.
Das ist meine Aktuelle .config
 

Anhänge

  • .config.txt
    63.2 KB · Aufrufe: 6
Solange es keinen besonderen Grund gibt, würde ich "FREETZ_PATCH_FREETZMOUNT" auslassen ... das ist dann die oben im meinem Screenshot schon gezeigte Einstellung, die zu deaktivieren wäre.

Allerdings ist es - angesichts der verwendeten Konfiguration, die nur eine Besonderheit aufweist, auf die ich gleich noch einmal zurückkomme - unklar, wo der Unterschied zwischen Freetz und der originalen Firmware liegen soll ... zumindest an der Stelle, wo diese Meldung erzeugt wird.

Die Nachricht (sie trägt die Nummer 137) kommt ohnehin aus dem AVM-Teil, der von Freetz eigentlich gar nicht ausgetauscht wird und tritt normalerweise dann auf, wenn auf einem USB-Volume keine Partition gefunden wird, die größer als 0 Byte ist:
Code:
poll_scsi_device() {
local COUNT=0
local DEVICE=""
local SCSI_DEVICE_PATH=$1
local UDEVICE=""
local USB_SYS_PATH=`echo ${SCSI_DEVICE_PATH} | grep -o "/.*usb[0-9]*/[^\:]*/"`
if [ $((USE_USB_PROCFS)) -gt 0 ]; then
eval `udevadm info -p ${USB_SYS_PATH} -q property | grep "DEVICE="`
UDEVICE=${DEVICE##/proc/bus/usb/}
else
local DEVNAME=""
eval `udevadm info -p ${USB_SYS_PATH} -q property | grep "DEVNAME="`
DEVICE="$DEVNAME"
UDEVICE=${DEVNAME##/dev/bus/usb/}
fi
test -z "$UDEVICE" && return
touch ${DEVMAP}
while [ $((COUNT)) -lt 5 ]; do
COUNT=$((COUNT+1))
sleep 7
test -d ${SYSFS}/${SCSI_DEVICE_PATH} || return
test -e ${DEVICE} || return
grep -q "^$UDEVICE=" ${DEVMAP} && return
done
local USBDEV=`echo ${UDEVICE##00}|tr -d '/'`
local NOT_EMPTY=0
for SD_SIZE in $(cat $SYSFS/$SCSI_DEVICE_PATH/../../../../../*/*/*/scsi_device/*/device/block/*/size); do
if [ $SD_SIZE -gt 0 ]; then
NOT_EMPTY=1
break
fi
done
test -e ${DEVICE} || return
grep -q "^$UDEVICE=" ${DEVMAP} && return
if [ $NOT_EMPTY -gt 0 ]; then
echo "${UDEVICE}=#failed" >> ${DEVMAP}
eventadd 142 $USBDEV
else
echo "${UDEVICE}=#empty" >> ${DEVMAP}
eventadd 137 $USBDEV
fi
msgsend upnpdevd update_usb_infos
}
Findet dieser Code innerhalb von 35 Sekunden nach seinem Start weder eine Partition mit einer Size größer 0, noch einen Eintrag für das erfolgreiche Mounten einer Partition von diesem Gerät in der Datei "/var/tmp/mediadevmap", kommt es zu dieser Meldung im Eventlog (das "eventadd 137" fast am Ende). Klappt nur das Mounten nicht und es "erscheint" wenigstens eine Partition mit einer Größe > 0, wird eine andere Nachricht (142) ausgegeben.

Das Mounten erfolgt normalerweise parallel zu dieser 35-Sekunden-Schleife ... das ist durch den "udevd" ja alles event-getrieben. Jetzt gibt es mehrere Möglichkeiten ... entweder das Mounten in Freetz dauert deutlich länger (konkret zu lange für die 5 x 7 Sekunden oben) und erfolgt erst später doch noch oder es gibt ein Problem innerhalb der ersetzten Routinen: https://github.com/Freetz/freetz/blob/master/patches/scripts/197-add_freetzmount.sh#L41 und es wird tatsächlich nichts gemountet (auch nicht später). Das erklärt dann allerdings noch nicht, warum gar kein Block-Device von diesem Gerät "eingerichtet" wird, das eine Size > 0 hat.

Jedenfalls ist die Konfigurationsdatei ja nur der "Grundstock" an Informationen, die man für eine Diagnose braucht. Der nächste Schritt ist es jetzt, die Ausgabe von "cat /proc/diskstats" unter beiden Systemen miteinander zu vergleichen (aus der AVM-Variante erkennt man dann auch gleich die Partitionierung) und am besten auch gleich die Ausgabe von "blkid" dazuzupacken. Dann gilt es unter Freetz noch einen Test zu machen, ob es einen Unterschied ergibt, wenn das Gerät bereits direkt beim Start angesteckt ist und erkannt werden soll oder wenn es erst später hinzugefügt wird. Klappt es später, deutet das darauf hin, daß beim Start das System doch länger als die 35 Sekunden benötigt. Anhand von "blkid" sollte man wenigstens eine Idee kriegen, welche Dateisysteme denn nun benötigt werden für dieses USB-Gerät.

---------------------------------------------------------------------------------------------------------------------------

Da komme ich dann auch wieder auf die "Merkwürdigkeit" in der Konfiguration zurück ... einerseits sollen hier die Plugins wieder integriert werden, andererseits ist keines von ihnen dafür ausgewählt :
Code:
166 FREETZ_AVMPLUGINS_INTEGRATE=y
169 # Plugin selection
173 # Select plugin(s) for integration
175 # FREETZ_AVMPLUGINS_TAM is not set
176 # FREETZ_AVMPLUGINS_WLAN is not set
2186 FREETZ_AVM_HAS_PLUGINS_UPDATE=y
2187 FREETZ_AVM_HAS_PLUGIN_TAM=y
2188 FREETZ_AVM_HAS_PLUGIN_WLAN=y
[ WEBCM_INTERPRETER - also die Sprachdatenbank(en) - ist bei der deutschen Version leer und wird in Freetz daher auch nicht angeboten. ]

Das verwirrte mich am Anfang einigermaßen (jedenfalls das INTEGRATE=y ohne weitere Remove-Patches) ... denn das würde natürlich nicht funktionieren, weil das erzeugte Image zu groß wäre bei dieser Konfiguration.

Solange man nicht wirklich eines der Plugins integrieren lassen will, sollte man die Einstellung auch nicht wählen, weil auch ohne Auswahl mind. eines Plugins die Verarbeitung innerhalb des Systems bereits geändert wird: https://github.com/Freetz/freetz/blob/master/fwmod#L898

Im Ergebnis dürftest Du in Deinem Image gar kein WLAN haben und auch keine AB-Texte (bzw. die Plugins würden nicht gestartet, weil ja "/sbin/start_plugin.sh" überschrieben wurde) ... war das tatsächlich so beabsichtigt?
 
Also, grundsätzlich läuft FREETZMOUNT auf einer 7390 schon. Dadurch, dass ich an dem Ding schon seit Jahren nichts mehr gemacht hatte, kann man natürlich nicht ausschließen, dass die heutigen AVM-HotPlug-Skripte da nicht 100% passen. Soweit ich es aber an all meinen 7390 und 7490 Boxen beobachten kann, funktioniert FREETZMOUNT im Großen und Ganzen dank Anpassungen von er13 und anderen schon. Es kann natürlich dazu kommen, dass die eine oder die andere Meldung im AVM-WebIF oder im AVM-Log nicht mehr passt, es führt aber nicht zur oben beschriebenen Fehlermeldung.
Wenn du noch das Image mit FREETZMOUNT drauf hast, wäre der Einblick in AVM-Logs und ins Syslog schon sehr hilfreich. Ich hatte eigentlich FREETZMOUNT damals ziemlich gesprächich gemacht, er logt da alles Mögliche, auch Fehler.
 
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.