NDAS an Fritzbox 7170 - Problem beim anbinden...

MrTweek1987

Neuer User
Mitglied seit
2 Mai 2011
Beiträge
116
Punkte für Reaktionen
0
Punkte
0
Benötigt wird:

Falls Ndas-Festplatten mit NTFS-Partitonen: ntfs-3g-Package!

Wer Freetz 1.1.4 benutzt benötigt den patch von sf3978 (Klick)

Vorgehensweise:



Tip1: leert bitte Ndas-relevante einträge aus eurer rc.custom bzw autorun.sh, falls ihr das schon etliche male gemacht habt...


Achtung: Sollten zwischen dem NDAS-Gerät und der Fritzbox... eventuel Firewalls oder Packetfilter sein.... so muss bei den Firewalls eine Regel erstellt werden:

Code:
Update: Symantec Endpoint-Protection blockiert per default LPX-Datenverkehr! Was somit das suchen der Platte im netzwerk verhindert!


Code:
Richtung: eingehend und ausgehend
Protokol: Ethernet (LPX-Protokol) Typ: "0x88ad" oder "088ad"
Name: "NDAS-Platte" oder "Learning Packet Exchange" .... naja name ist egal...
Interfaces: die betroffenden ;)

Fangen wir an...

1. Wir erstellen uns als erstes die sogenannten Devices (Files), das Ndas, das nda (Laufwerk) und die nda1 (partition1), dabei führen wir folgende befehle in einer Telnet-Sitzung auf der Fritz!Box aus


Code:
mknod -m 644 /dev/ndas c 60 0
mknod -m 644 /dev/nda b 60 0

mknod -m 644 /dev/nda1 b 60 1

Wer mehre Partitionen hat und diese mounten möchte, muss zusätzliche nda<partition-nr>-Dateien anlegen...

Code:
...
mknod -m 644 /dev/nda2 b 60 [COLOR="red"]2[/COLOR] // Für die [COLOR="red"]2te[/COLOR] Partition
mknod -m 644 /dev/nda2 b 60 [COLOR="red"]3[/COLOR] // Für die [COLOR="red"]3te[/COLOR] Partition
mknod -m 644 /dev/nda2 b 60 [COLOR="red"]4[/COLOR] // Für die [COLOR="red"]4te[/COLOR] Partition

Die Befehle geben nach der ausführung keine Rückmeldung zurück...
Nun haben wir die Geräte erstellt, jetz (Falls es die Fritzbox nicht schon getan hat), laden wir mittels "insmod" die 3 benötigten Module ndas_sal, ndas_core und ndas_block

Code:
insmod /lib/modules/2.6.13.1-ohio/kernel/fs/ndas/ndas_sal.ko
insmod /lib/modules/2.6.13.1-ohio/kernel/fs/ndas/ndas_core.ko ndas_dev=[B][COLOR="red"]lan[/COLOR][/B] 
insmod /lib/modules/2.6.13.1-ohio/kernel/fs/ndas/ndas_block.ko

Anmerkung: Lan gegebenfalls mit dem entsprechenden LAN-PORT ersetzen (da die box bei mir als "ethmode_router" läuft und die ndas-Platte an einem switch hinter der Box, der wiederum an Port 1 der Fritzbox hängt, habe ich statt "lan" -> "eth0" gesetzt.

Damit wäre der Treiber geladen... Jetzt führen wir folgende Befehle aus (REIHENFOLGE BEACHTEN)

Code:
ndasadmin start
ndasadmin register "rrrrr-rrrrr-rrrrr-rrrrr-wwwww" -n ndas-01
wwwww = Schreib-Key
rrrrr = Lese-Key

Tip: wurde alles richtig befolgt, kann es sein, dass durch das registrieren, das anlaufen des NDAS-Gerätes zuhören ist, das muss nicht der fall sein, weist aber somit hin, dass die Festplatte schonmal erkannt wurde... darauf folgen die nächsten Befehle

Code:
cat /proc/ndas/devs # Wer den status sehen will, ob die platte da ist... sollte diesen Befehl ausführen....
ndasadmin enable -s 1 -o r
mkdir /var/media/ftp/ndas

Die Rückmeldung bei einer erfolgreichen "Aktivierung" des NDAS-Gerätes lautet "/dev/ndas-xxxxxxxx-0 ..... ist ready to use"..., mit "mkdir /var/media/ftp/ndas" erstellen wir den Mount-Point
Als letztes mounten wir das gerät... beachtet beim mounten, dass Ihr "/dev/nda1" verwendet und nicht ""/dev/ndas-xxxxxxxx-0p1"

ich habe meine Partition mit NTFS formatiert... daher nutzt man für ntfs:

Code:
ntfs-3g -o ro [COLOR="red"]/dev/nda1[/COLOR] /var/media/ftp/ndas

bzw bei Fat32 reicht glaube:

Code:
mount -t fat [COLOR="red"]/dev/nda1[/COLOR] /var/media/ftp/ndas

Beide Mount-Varianten geben bei erfolg, keine Rückmeldung... Danach schauen wir mit folgendem Befehl ob das "Anbinden" erfolgreich war...

Code:
ls  /var/media/ftp/ndas

Nachtrag:

Bei NTFS wurde das Laufwerk Schreibgeschützt gemountet, das Ndas auch selbst als Read-only gestartet... da die Box in meinem Fall nicht darauf schreiben muss (darf), wer jedoch schreibrechte braucht.... muss oben die jeweiligen Modes ändern... bedenkt jedoch auch, dass die Übertragung im durchschnitt bei der FB7170... 2MB/s beträgt... (über USB-Port bei der FB7170... nur 470 KB/s) daher habe ich sie auch nur im "read-only"-Mode. Da die Client selber per Gigabit auf die Platte direkt zugreifen...

Auch möchte ich anmerken, dass Ihr überlegen solltet, dass wenn Mehre Clients gleichzeitig zugriff haben, die Übertragungsrate langsamer ist und hohe Zugriffzeiten entstehen... Wer denn zudem noch nen film von der Platte streamt, der sieht es dann in form von Ruckeln".


Und wie machen wir das jetzt bei jedem start der Box automatisch?

Da wir das nicht jedesmal per hand mittels eingeben wollen, nur weil die box rebootet oder vom sterom ging... etc tragen wir folgenden Block im Freetz-Webinterface unter "Freetz -> rc.custom" ein

Code:
mknod -m 644 /dev/ndas c 60 0
mknod -m 644 /dev/nda b 60 0
mknod -m 644 /dev/nda1 b 60 1

insmod /lib/modules/2.6.13.1-ohio/kernel/fs/ndas/ndas_sal.ko > /dev/null
insmod /lib/modules/2.6.13.1-ohio/kernel/fs/ndas/ndas_core.ko ndas_dev=eth0 > /dev/null 
insmod /lib/modules/2.6.13.1-ohio/kernel/fs/ndas/ndas_block.ko > /dev/null

ndasadmin start
ndasadmin register "rrrrr-rrrrr-rrrrr-rrrrr-wwwww" -n ndas-01
sleep 4
cat /proc/ndas/devs 
ndasadmin enable -s 1 -o r
mkdir /var/media/ftp/ndas

Für NTFS-Partitionen nutzen wir zum schluss diesen Befehl
Code:
ntfs-3g -o ro /dev/nda1 /var/media/ftp/ndas

oder bei Fat32:

Code:
mount -t fat /dev/nda1 /var/media/ftp/ndas

(Oder beide, wenn man beide Dateisysteme auf der Festplatte hat!)

in der rc.custom am ende anhängen....

zum schluss "Übernehmen" klicken und die FritzBox per telnet mittels "reboot" neustarten.. oder per Webinterface :D

da es doch recht viele geben wird, die damit probleme haben.... Ndas-Platten an die Box anzubinden...

Danke an Giffi und sf3978 für das auswirtschaften, unter Freetz 1.1.4 ;)
 

Anhänge

  • config.txt
    7 KB · Aufrufe: 13
Zuletzt bearbeitet:
Hallo,

ich würde an meine Box auch gerne eine NDAS platte betreiben, leider kenne ich mit Linux so gut wie gar nicht aus.

Bei der Eingabe des Befehls "insmod /lib/modules/2.6.13.1-ohio/kernel/fs/ndas/ndas_sal.ko > /dev/null" über Telnet kommt die FM "can´t open /lib/modules/2.6.13.1-ohio/kernel/fs/ndas/ndas_sal.ko > /dev/null".

Ich denke, das der Treiber einfach nicht in der FB Firmware installiert ist.

Meine Box ist ein Speedport 701V der zu einer FB gefreetzt ist.

Kernel Version: Linux version 2.6.13.1-ohio (2176) (gcc-Version 3.4.6) #1 Mon Feb 16 13:02:19 CE T 2009
Speed!Box Version: FRITZ!Box Fon WLAN 7170 Speedport W701V Firmware-Version 29.04.70

Ein Ubuntu_10.04_32-Bit Image über VMware habe ich schon mal zum laufen gebracht, mit enthalten sind die Tools "freetz-Trunk", "freetz 1.1.4" und "speed-to-fritz".

Was mir nun fehlt (anderen bestimmt auch), ist eine Step by Step Anleitung, oder evtl. ein fertiges Firmware Image, welches ich verwenden kann. DSL und Telefoni Funktion ist bei mir nebensächlich, da ich die Box nur als Router nutze...

Hoffe, das mir jemand helfen kann und schon mal vielen Dank im voraus.

Gurß
 
Fertige Firmware gibts hier nicht...

Hast du denn das ndas-Paket im Freetz-menuconfig ausgewählt?

Gruß
Oliver
 
hab jetzt freetz 1.1.4 über make menueconfig gestartet. Ich bin nun alle Punkte im Menü durchgegangen und konnte leider nichts mit ndas finden, auch nicht unter package selection....

Falsche freetz Version???
 
Bei der Eingabe des Befehls "insmod /lib/modules/2.6.13.1-ohio/kernel/fs/ndas/ndas_sal.ko > /dev/null" über Telnet kommt die FM "can´t open /lib/modules/2.6.13.1-ohio/kernel/fs/ndas/ndas_sal.ko > /dev/null".
Das passt nicht zusammen. Was genau hast Du eingegeben, damit diese Meldung kommt? Vermutlich irgendwo Anführungszeichen zuviel.
Der Teil "> /dev/null" ist sowieso unnötig/bedenklich. Wenn es Probleme gibt, ist es besser, wenn man das weiß als wenn die Meldung unterdrückt wird.
 
Ich habe auf der freetz Seite das NDAS Paket gefunden: http://freetz.org/ticket/465

Nur was mache ich damit? Wie binde ich das in die Firmware mit ein ???? Fragen über Fragen:)

Meine Eingabe im Telnet, ohne " Zeichen..... Fehler bleibt.

BusyBox v1.8.2 (2008-11-26 13:15:43 CET) built-in shell (ash)
Enter 'help' for a list of built-in commands.

ermittle die aktuelle TTY
tty is "/dev/pts/1"
weitere telnet Verbindung aufgebaut
# insmod /lib/modules/2.6.13.1-ohio/kernel/fs/ndas/ndas_sal.ko
insmod: can't open '/lib/modules/2.6.13.1-ohio/kernel/fs/ndas/ndas_sal.ko': No s uch file or directory
# insmod /lib/modules/2.6.13.1-ohio/kernel/fs/ndas/ndas_sal.ko > /dev/null
insmod: can't open '/lib/modules/2.6.13.1-ohio/kernel/fs/ndas/ndas_sal.ko': No such file or directory
#
 
Das kannst Du auch mit
Code:
find / -iname '*ndas_sal*'
auf deinem Speedport überprüfen.

Schade, funzt leider nicht. In der Telnet Konsole erscheint dann folgendes:


# find / -iname '*ndas_sal*'
find: unrecognized: -iname
BusyBox v1.8.2 (2008-11-26 13:15:43 CET) multi-call binary

Usage: find [PATH...] [EXPRESSION]

Search for files in a directory hierarchy. The default PATH is
the current directory, default EXPRESSION is '-print'

EXPRESSION may consist of:
-follow Dereference symlinks
-maxdepth N Descend at most N levels. -maxdepth 0 applies
tests/actions to command line arguments only
-name PATTERN File name (w/o directory name) matches PATTERN
-path PATTERN Path matches PATTERN
-regex PATTERN Path matches regex PATTERN
-type X File type is X (X is one of: f,d,l,b,c,...)
-print Print (default and assumed)
-print0 Delimit output with null characters rather than
newlines
-exec CMD ARG ; Execute CMD with all instances of {} replaced by the
matching files
(EXPR) Group an expression

#
 
Nur was mache ich damit? Wie binde ich das in die Firmware mit ein ?
Versuch mal den Patch aus dem Anhang. Den Eintrag in die "kernel/Config.in" musst Du manuell machen.

EDIT:
Code:
[COLOR=red]-name[/COLOR] PATTERN   File name (w/o directory name) matches PATTERN
Beim nächsten mal, dann -name statt -iname benutzen.;)
 

Anhänge

  • ndas-1.1-22.2.patch.txt
    3.8 KB · Aufrufe: 10
Zuletzt bearbeitet:
Versuch mal den Patch aus dem Anhang. Den Eintrag in die "kernel/Config.in" musst Du manuell machen.

EDIT:
Code:
[COLOR=red]-name[/COLOR] PATTERN   File name (w/o directory name) matches PATTERN
Beim nächsten mal, dann -name statt -iname benutzen.;)

Wie rufe ich den die Kernel/config.in auf? über Telnet und kann sie dann bearbeiten?
 
Zuletzt bearbeitet:
Just FYI: Falls dein Patch für trunk sein sollte:
Nein. Warum denn für den trunk? Dort gibt es ndas doch schon. Er wollte doch für freetz 1.1.4.
BTW: Es ist nicht mein Patch, es ist der Patch von Oliver.

EDIT:
Code:
Wie rufe ich den die Kernel/config.in auf? [COLOR=red]über Telnet[/COLOR] und kann sie dann bearbeiten?
Nein, im Build-System, bevor Du "make" machst.
 
Zuletzt bearbeitet:
OK, verstanden die Config habe ich nun gefunden, wie binde ich den Patch ein? Einfach den Code am Ende rein koppieren?
 

Anhänge

  • Config.txt
    80.3 KB · Aufrufe: 2
..., wie binde ich den Patch ein? Einfach den Code am Ende rein koppieren?
Was meinst Du mit "am Ende"? In deinem Build-System, in den Ordner in dem Du auch "make" machst, den Patch downloaden und anwenden:
Code:
patch -p0 < ndas-1.1-22.2.patch.txt
EDIT:
Den manuellen Eintrag in die "make/Config.in" (... im menu "Testing") nicht vergessen, sonst wird ndas mit "make menuconfig" nicht gefunden.
 
Zuletzt bearbeitet:
So, schon mal ein stück weiter. Patchen hat funktioniert, aber was passe ich in der Config.in an bzw. wo? Wie gesagt, ich kenne mich nicht wirklich mit Linux aus. Vielen Dank für die turbo Hilfe:)
 
..., aber was passe ich in der Config.in an bzw. wo?
In der Datei "make/Config.in", im menu "Testing" folgende Zeile einfügen und speichern:
Code:
source make/ndas/Config.in
 
meinst du diesen Abchnitt in der Config.in : #-->only for testing ? Dahinter einfach bzw. dazunter einfach source make/ndas/Config.in eintragen?

Was wird dadurch bewirkt?
 
Bist Du im menu "Testing" der "make/Config.in"? Am besten in alphabetischer Reihenfolge eintragen.

Äh ich hoffe, habe die config.in per Editor geöffnet und nach testing gesucht, dabei bin ich dann auch die Zeile #-->only for testing gestoßen. bin ich auf den richtigen Weg?
 
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.