NDAS Treiber für FritzBox

Kannst du mal die Ausgabe posten? Steht danach was im "dmesg"?

MfG Oliver
 
Ein strace wäre sonst noch ne Alternative. (Beim menuconfig auswählen, damit es mit auf die Box kommt)
 
Dann aber bitte gleich mit "replace kernel", falls möglich. Ansonsten können keine forks getraced werden.

MfG Oliver
 
Habe eben meinen Post oben aktualisiert...hatt nicht gesehen, daß es schon neue Posts gibt. Bezieht sich das dmesg auf den versuch mit 1.1-20?

Also, ich habe es nochmal versucht. Schon modprobe ndas_block erzeugt folgenden dmesg Fehlerlog:

Code:
ndas: Initializing NDAS driver version 1.1.20
ndas: Setting max request size to 64kbytes
ndas: registering network interface cpmac0
ndas: registering network interface tiwlan0
ndas: registering network interface tiwlan1
ndas: registering network interface tiwlan2
ndas: registering network interface tiwlan3
ndas: registering network interface wdsup0
ndas: registering network interface wdsdw0
ndas: registering network interface wdsdw1
ndas: registering network interface wdsdw2
ndas: registering network interface wdsdw3
ndas: registering network interface eth0
ndas: registering network interface lan
ndas: registering network interface dsl
ndas: fail to register network interface dsl (-12): ignored
ndas: registering network interface adsl
ndas: fail to register network interface adsl (-12): ignored
CPU 0 Unable to handle kernel paging request at virtual address 00000000, epc ==
 940ae840, ra == 940e0878
Oops in arch/mips/mm/fault.c::do_page_fault, line 167[#1]:
Cpu 0
$ 0   : 00000000 1000ce00 00000000 95a74460
$ 4   : 95a744b0 00000014 00000000 9515fed0
$ 8   : 00000024 940b04cc 94298270 94220000
$12   : 941c67d4 22b9760c 4c604c93 15842e84
$16   : 95a744b0 9515fed0 95ec7320 00000000
$20   : 03c00000 95a744c3 95a744b0 00000014
$24   : 00000000 2e747cc3
$28   : 9515c000 9515fe48 7fe83bf8 940e0878
Hi    : 0000001e
Lo    : 1e1e1e3c
epc   : 940ae840 vsnprintf+0x6c/0x96c     Tainted: P
ra    : 940e0878 class_device_create+0x98/0xdc
Status: 1000ce03    KERNEL EXL IE
Cause : 10800008
BadVA : 00000000
PrId  : 00018448
Modules linked in: ndas_block ndas_core ndas_sal sch_sfq sch_llq sch_tbf rfcntl
avm_audio ext2 mbcache vfat fat nls_cp437 nls_iso8859_1 usb_storage sd_mod scsi_
mod tiap kdsldmod usbahcicore usbcore capi_codec isdn_fbox_fon4 ubik2 tiatm jffs
2 Piglet
Process busybox (pid: 970, threadinfo=9515c000, task=95071020)
Stack : 00000000 940dfda8 95ec7320 c01b9c00 80000000 941c5558 940dfef4 940dfe4c
        95a74460 fffffff4 95ec7320 00000000 03c00000 00000000 00480224 0040a4e0
        940e0878 940e083c 940e0018 940dffd0 00000000 00000006 00000000 c01b0000
        c01c0000 941c5564 80000000 941c5558 c01b43e0 00000000 941c0000 c01b9c00
        941c0000 941c5564 c01b7370 941c5558 941c0000 c01b9c00 941c0000 c01b6da8
        ...
Call Trace:
 [<940dfda8>] class_get+0x24/0x40
 [<940dfef4>] class_register+0x128/0x150
 [<940dfe4c>] class_register+0x80/0x150
 [<940e0878>] class_device_create+0x98/0xdc
 [<940e083c>] class_device_create+0x5c/0xdc
 [<940e0018>] class_create+0x78/0xac
 [<940dffd0>] class_create+0x30/0xac
 [<c01b43e0>] ndas_ctrldev_init+0xd0/0xec [ndas_block]
 [<c01b6da8>] init_module+0x28/0x88 [ndas_block]
 [<c01b2000>] _is_not_recoverable+0x0/0x44 [ndas_block]
 [<940419cc>] sys_init_module+0x214/0x3a4
 [<9406237c>] filp_close+0xc4/0xe0
 [<9400dce0>] stack_done+0x20/0x3c
 [<9400dce0>] stack_done+0x20/0x3c


Code: 00808021  2415ffff  0004b823 <80c20000> 00c01821  10400228  24020025  9066
0000  00061e00

Mich wundert dabei an welche Interfaces sich NDAS alles anhängen will....? Wenn ich ndasadmin register .... mache, dann kriege ich folgendes:

Code:
 ndas-13405909-0:<1>CPU 0 Unable to handle kernel paging request at virtual addr
ess 00000000, epc == 9404db20, ra == c01b225c
Oops in arch/mips/mm/fault.c::do_page_fault, line 167[#2]:
Cpu 0
$ 0   : 00000000 1000ce00 9404daf8 00000001
$ 4   : 00000000 00000020 943419cc 00000010
$ 8   : 94eef0a0 940b04dc 942efa30 942ee6e0
$12   : 00014b9f 942e2b74 00000001 9425d3e0
$16   : 1000ce01 c01c0000 00000001 943419cc
$20   : 94b51e00 940447c0 9406b8ac c01b0000
$24   : 00000001 00000000
$28   : 94758000 9475bb30 c01b0000 c01b225c
Hi    : 29325904
Lo    : 5945d3e0
epc   : 9404db20 kmem_cache_alloc+0x28/0x98     Tainted: P
ra    : c01b225c nblk_handle_io+0x70/0x644 [ndas_block]
Status: 1000ce02    KERNEL EXL
Cause : 30800008
BadVA : 00000000
PrId  : 00018448
Modules linked in: ndas_block ndas_core ndas_sal sch_sfq sch_llq sch_tbf rfcntl
avm_audio ext2 mbcache vfat fat nls_cp437 nls_iso8859_1 usb_storage sd_mod scsi_
mod tiap kdsldmod usbahcicore usbcore capi_codec isdn_fbox_fon4 ubik2 tiatm jffs
2 Piglet
Process nd/dpcd1 (pid: 969, threadinfo=94758000, task=95553800)
Stack : 95dd0000 00000000 c02a0930 c0260000 00000004 c01b225c 94243fc0 00011200
        941c6100 00000001 00000000 95553800 1000ce00 9475bb64 943419cc 94340c0c
        9475bc38 942865b0 00000002 940447c0 c01b29d8 c01b2a1c 940e60f4 942ee6e0
        00000000 00000000 9475bc30 00000000 940e614c 940e614c 942ee6e0 00000001
        941c6100 94243f80 940666e8 00000000 9425d3e0 c01b0000 00000000 94066f38
        ...
Call Trace:
 [<c01b225c>] nblk_handle_io+0x70/0x644 [ndas_block]
 [<940447c0>] sync_page+0x0/0x74
 [<c01b29d8>] nblk_request_proc+0x1a8/0x208 [ndas_block]
 [<c01b2a1c>] nblk_request_proc+0x1ec/0x208 [ndas_block]
 [<940e60f4>] __generic_unplug_device+0x28/0x54
 [<940e614c>] generic_unplug_device+0x2c/0x48
 [<940e614c>] generic_unplug_device+0x2c/0x48
 [<940666e8>] block_sync_page+0x60/0x70
 [<94066f38>] alloc_page_buffers+0x44/0xd4
 [<9404481c>] sync_page+0x5c/0x74
 [<9418b1e0>] __wait_on_bit_lock+0x7c/0xf4
 [<94066010>] submit_bh+0x128/0x160
 [<94066fe8>] create_empty_buffers+0x20/0x110
 [<940ac738>] radix_tree_insert+0x1b8/0x274
 [<9404529c>] __lock_page+0x90/0xa0
 [<9403c13c>] wake_bit_function+0x0/0x54
 [<9403c13c>] wake_bit_function+0x0/0x54
 [<94046e64>] read_cache_page+0x218/0x324
 [<940af154>] vscnprintf+0x14/0x30
 [<9406b704>] blkdev_get_block+0x0/0x80
 [<94099e64>] read_dev_sector+0x38/0x11c
 [<9409a0d8>] msdos_partition+0x78/0x6b0
 [<940af184>] snprintf+0x14/0x20
 [<9407fb04>] __invalidate_device+0x54/0x70
 [<94099d30>] rescan_partitions+0x158/0x254
 [<9406c500>] do_open+0x30c/0x494
 [<9418a278>] wait_for_completion+0xb0/0x130
 [<c01ab598>] sal_event_reset+0x0/0xc [ndas_sal]
 [<9406c6f8>] blkdev_get+0x70/0x90
 [<94099ba0>] register_disk+0xec/0x124
 [<940e9f70>] exact_match+0x0/0x8
 [<940ea01c>] exact_lock+0x0/0x28
 [<940ea09c>] add_disk+0x58/0x6c
 [<940af184>] snprintf+0x14/0x20
 [<c035f4d8>] ndas_query_slot+0x1c/0x168 [ndas_core]
 [<940ea01c>] exact_lock+0x0/0x28
 [<c01b2f80>] slot_enable+0x2ac/0x36c [ndas_block]
 [<c01a94f4>] sal_malloc_ex+0x74/0xb8 [ndas_sal]
 [<c01ab190>] sal_spinlock_give_softirq+0x0/0x10 [ndas_sal]
 [<c01ab180>] sal_spinlock_take_softirq+0x0/0x10 [ndas_sal]
 [<c01ab42c>] sal_event_wait+0x0/0x148 [ndas_sal]
 [<c01b338c>] ndcmd_enabled_handler+0x34/0xb4 [ndas_block]
 [<c0360f20>] 208x+0x2f8/0x708 [ndas_core]
 [<c03638c0>] 212x+0x24/0x48 [ndas_core]
 [<c01ab190>] sal_spinlock_give_softirq+0x0/0x10 [ndas_sal]
 [<c036ba68>] 48x+0x328/0x3e8 [ndas_core]
 [<94007f6c>] kernel_thread_helper+0x10/0x18
 [<94007f5c>] kernel_thread_helper+0x0/0x18


Code: 00020040  00020040  00020040 <8c860000> 8cc30000  2467ffff  00071080  1060
0006  00c24021

Kannst du damit was anfangen Olistudent?

Gruß

Zwergnase
 
Zuletzt bearbeitet:
So richtig schlau werde ich daraus nicht. Ich hab in Ticket #465 mal noch ndas-1.1-24 angehängt, falls du mal probieren magst.
Dazu lädst du den Patch runter und machst dann:
Code:
freetz$ patch -R ndas-1.1-10.patch
freetz$ patch -p0 < ndas-1.1-24.patch
MfG Oliver
 
Probier ich gleich mal aus! BTW: im patch für kernel/Config.in ist fehlt unten im "config" ein "g".

Edit: läuft nicht durch :-(
Code:
 mipsel-unknown-linux-gnu-gcc -Wp,-MD,/home/slightly/trunk/source/ndas-1.1-24/scsi/.ndas_scsi.o.d  -nostdinc -isystem /home/slightly/trunk/toolchain/build/gcc-3.4.6/mipsel-unknown-linux-gnu/bin-ccache/../lib/gcc/mipsel-unknown-linux-gnu/3.4.6/include -D__KERNEL__ -Iinclude  -Wall -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -ffreestanding -Os  -falign-functions=4  -falign-labels=4  -falign-loops=4  -falign-jumps=4 -fomit-frame-pointer  -I /home/slightly/trunk/source/ref-8mb_26-04.70/kernel/kernel_8mb_26_build/kernel/linux-2.6.13.1/include/asm/gcc -G 0 -mno-abicalls -fno-pic -pipe  -finline-limit=100000 -mabi=32 -march=mips32 -Wa,-32 -Wa,-march=mips32 -Wa,-mips32 -Wa,--trap -Iinclude/asm-mips/mach-ohio -Iinclude/asm-mips/mach-mips -Iinclude/asm-mips/mach-generic -funit-at-a-time -Wdeclaration-after-statement  -DMODULE -DLINUX -I/home/slightly/trunk/source/ndas-1.1-24/inc  -D_MIPSEL -mlong-calls  -DMODULE -mlong-calls -DKBUILD_BASENAME=ndas_scsi -DKBUILD_MODNAME=ndas_scsi -c -o /home/slightly/trunk/source/ndas-1.1-24/scsi/ndas_scsi.o /home/slightly/trunk/source/ndas-1.1-24/scsi/ndas_scsi.c
In file included from /home/slightly/trunk/source/ndas-1.1-24/scsi/ndas_scsi.c:44:
include/linux/scatterlist.h:5: warning: "struct scatterlist" declared inside parameter list
include/linux/scatterlist.h:5: warning: its scope is only this definition or declaration, which is probably not what you want
include/linux/scatterlist.h: In function `sg_init_one':
include/linux/scatterlist.h:7: error: dereferencing pointer to incomplete type
include/linux/scatterlist.h:9: error: dereferencing pointer to incomplete type
include/linux/scatterlist.h:9: error: `mem_map' undeclared (first use in this function)
include/linux/scatterlist.h:9: error: (Each undeclared identifier is reported only once
include/linux/scatterlist.h:9: error: for each function it appears in.)
include/linux/scatterlist.h:10: error: dereferencing pointer to incomplete type
include/linux/scatterlist.h:10: warning: implicit declaration of function `offset_in_page'
include/linux/scatterlist.h:11: error: dereferencing pointer to incomplete type
/home/slightly/trunk/source/ndas-1.1-24/scsi/ndas_scsi.c: In function `ndas_scsi_release_adapter':
/home/slightly/trunk/source/ndas-1.1-24/scsi/ndas_scsi.c:850: warning: unused variable `ndas_dev'
make[3]: *** [/home/slightly/trunk/source/ndas-1.1-24/scsi/ndas_scsi.o] Fehler 1make[2]: *** [_module_/home/slightly/trunk/source/ndas-1.1-24] Fehler 2
make[2]: Leaving directory `/home/slightly/trunk/source/ref-8mb_26-04.70/kernel/kernel_8mb_26_build/kernel/linux-2.6.13.1'
make[1]: *** [/home/slightly/trunk/source/ndas-1.1-24/ndas_sal.ko] Fehler 2
make[1]: Leaving directory `/home/slightly/trunk/source/ndas-1.1-24'
make: *** [source/ndas-1.1-24/ndas_block.ko] Fehler 2

Gruß
Zwergnase
 
Zuletzt bearbeitet:
Okay. Neuer Patch, aber ich habe gesehen, dass es mit 1.1-24 wohl nix wird, weil da ein Symbol fehlt. Wahrscheinlich müssen wir zurück auf 1.1-20.

MfG Oliver
 
Meinst du das Symbol ndas_packetcmd? Ich war zwischenzeitlich so "frech" und habe den include scatterlist auskommentiert (nicht daß ich wüßte ob das zulässig ist ;-) ). Dann hat es durchkompiliert. Aber ich kann das modul ndas_core nicht per insmod laden. Da sagt er unknown symbol ndas_packetcmd. Laut dem [link]http://code.ximeta.com/trac-ndas/changeset/468[/link] hier ist das mit changeset 468 reingekommen für linux-2.6.25 kernel support & linux scsi interface support.

Gruß zwergnase

EDIT: Ah sehe gerade du hast es im patch auch auskommentiert.
 
Zuletzt bearbeitet:
Probier bitte mal mit 1.1-22. Da ist noch kein scsi interface support drin.

MfG Oliver
 
Also compiliert hat es ohne probleme. Gerade wird das image erstellt. Sag mal, wo kriegst du die mipsel archive her? Bei Ximeta ist das letzte, das ich finden konnte das von der 1.20?!?

EDIT:

insmod ndas_sal.ko ist erfolgreich mit dmesg:
Code:
NET: Registered protocol family 29

insmod ndas_core.ko ist erfolgreich mit dmesg:
Code:
ndas: Initializing NDAS driver version 1.1.20
ndas: Setting max request size to 64kbytes
ndas: registering network interface cpmac0
ndas: registering network interface tiwlan0
ndas: registering network interface tiwlan1
ndas: registering network interface tiwlan2
ndas: registering network interface tiwlan3
ndas: registering network interface wdsup0
ndas: registering network interface wdsdw0
ndas: registering network interface wdsdw1
ndas: registering network interface wdsdw2
ndas: registering network interface wdsdw3
ndas: registering network interface eth0
ndas: registering network interface lan
ndas: registering network interface dsl
ndas: fail to register network interface dsl (-12): ignored
ndas: registering network interface adsl
ndas: fail to register network interface adsl (-12): ignored

insmod ndas_block.ko ist NICHT erfolgreich mit dmesg:
Code:
CPU 0 Unable to handle kernel paging request at virtual address 00000000, epc ==
 940ae840, ra == 940e0878
Oops in arch/mips/mm/fault.c::do_page_fault, line 167[#1]:
Cpu 0
$ 0   : 00000000 1000ce00 00000000 94d92ce0
$ 4   : 94d92d30 00000014 00000000 95b43ed0
$ 8   : 00000024 940b04cc 94298270 94220000
$12   : 941c67d4 713af354 389e54d8 c6d1faf1
$16   : 94d92d30 95b43ed0 95e543e0 00000000
$20   : 03c00000 94d92d43 94d92d30 00000014
$24   : 00000000 fc4dc8ec
$28   : 95b40000 95b43e48 7ff28bf8 940e0878
Hi    : 0000001e
Lo    : 1e1e1e3c
epc   : 940ae840 vsnprintf+0x6c/0x96c     Tainted: P
ra    : 940e0878 class_device_create+0x98/0xdc
Status: 1000ce03    KERNEL EXL IE
Cause : 10800008
BadVA : 00000000
PrId  : 00018448
Modules linked in: ndas_block ndas_core ndas_sal sch_sfq sch_llq sch_tbf rfcntl
avm_audio ext2 mbcache vfat fat nls_cp437 nls_iso8859_1 usb_storage sd_mod scsi_
mod tiap kdsldmod usbahcicore usbcore capi_codec isdn_fbox_fon4 ubik2 tiatm jffs
2 Piglet
Process busybox (pid: 854, threadinfo=95b40000, task=959b4020)
Stack : 00000000 940dfda8 95e543e0 c01b9c20 80000000 941c5558 940dfef4 940dfe4c
        94d92ce0 fffffff4 95e543e0 00000000 03c00000 00000000 00480224 0040a4e0
        940e0878 940e083c 940e0018 940dffd0 00000000 00000007 00000000 c01b0000
        c01c0000 941c5564 80000000 941c5558 c01b4400 00000000 941c0000 c01b9c20
        941c0000 941c5564 c01b7390 941c5558 941c0000 c01b9c20 941c0000 c01b6dc8
        ...
Call Trace:
 [<940dfda8>] class_get+0x24/0x40
 [<940dfef4>] class_register+0x128/0x150
 [<940dfe4c>] class_register+0x80/0x150
 [<940e0878>] class_device_create+0x98/0xdc
 [<940e083c>] class_device_create+0x5c/0xdc
 [<940e0018>] class_create+0x78/0xac
 [<940dffd0>] class_create+0x30/0xac
 [<c01b4400>] ndas_ctrldev_init+0xd0/0xec [ndas_block]
 [<c01b6dc8>] init_module+0x28/0x88 [ndas_block]
 [<c01b2000>] _is_not_recoverable+0x0/0x44 [ndas_block]
 [<940419cc>] sys_init_module+0x214/0x3a4
 [<9400dce0>] stack_done+0x20/0x3c
 [<9400678c>] work_resched+0x8/0x40


Code: 00808021  2415ffff  0004b823 <80c20000> 00c01821  10400228  24020025  9066
0000  00061e00

Hast du noch ne idee?

Ich habe übrigens noch ne Frage: kann man in /etc/modprobe.conf

options ndas-core ndas_dev=eth0

speichern, damit das Modul nur an eth0 bindet?

Gruß

Zwergnase

EDIT2:
- natürlich ist der Fehler bei ndas_block
 
Zuletzt bearbeitet:
Sag mal, wo kriegst du die mipsel archive her? Bei Ximeta ist das letzte, das ich finden konnte das von der 1.20?!?

Ich habe übrigens noch ne Frage: kann man in /etc/modprobe.conf

options ndas-core ndas_dev=eth0

speichern, damit das Modul nur an eth0 bindet?
Das mipsel archive ist aus 20. Deshalb geht die 24 auch nicht mehr, weil das Archive nicht passt.

Die modprobe müsstest du vor dem Flashen unter root/etc/modprobe.conf editieren.

MfG Oliver
 
Ahso....und das reine linux archive kann man vermutlich nicht benutzen, oder?

Die option habe ich im modprobe.con vor dem image build eingetragen, bringt aber nix. Wenn mans aber beim insmod als symbol angibt, dann bindet ndas_core zB nur an eth0. Ändert am fehlerhaften Verhalten von ndas_block aber trotzdem nix.

Jetzt probier ich nochmal 1.24 wo ich das unbekannte Symbol auskommentiert habe. Aber ich habe irgendwie wenig Hoffnung. Vor allem ist das bei mir meist nur trial und error ;-)

Wenn du noch nen Tipp hast....

Gruß

Zwergnase
 
Ich hab im Moment keine Idee. Man müsste in den Bereichen um dieses block/ctrldev.c in der Funktion ndas_ctrldev_init() einige printks einbauen. Dann kann man den Bereich vielleicht etwas eingrenzen.

MfG Oliver
 
Neuer Patch im Ticket. Damit sollte der Fehler gelöst sein.

MfG Oliver
 
Super! Probiere ich direkt heute nachmittag aus, wenn ich zuhause bin. Ich hatte wegen der dmesg outputs un deinem Hinweis mir ndas_ctrldev_init() mal näher angeschaut und gelernt, daß dort faktisch das device /dev/ndas für das man ja mit mknod die node angelegt hat, registriert wird. Dort ist mir dann aufgefallen, daß es praktisch zwei Konfigurationsoptionen gibt: LINUX_VERSION_HAS_CLASS_CREATE und NDAS_DEVFS.

Sehe ich das richtig, daß freetz bzw. der Kernel 2.6.13.1 kein devfs hat aber class_create kennt? Und woher weißt du, daß class_device_create im kernel 2.6.13.1 andere parameter braucht? Das hätte ich nämlich wohl erst in zwei Wochen ruasgefunden ;-)

Gruß Zwergnase
 
Weil ich mir im Kernel 2.6.13 die class_device_create Funktionen angeschaut hab und dabei ist mir aufgefallen, dass die einen Parameter weniger hatten als die vom ndas...
Ist ja nicht so, dass mir das auf Anhieb aufgefallen wäre...

Mfg Oliver
 
Super! Die Module laden ohne Fehlermeldungen, die Platte registriert erfolgreich und auch der enable Befehl läuft ohne Fehler durch. Jetzt steht das mounten an, was momentan vermutlich daran scheitert, daß die Platte NTFS formatiert ist und ich bisher mit einer Minimalkonfiguration laufe in der nix aus NDAS aktiviert ist. Jetzt mach ich mal einen etwas umfangreicheren Build.

Ein paar Sachen verstehe ich allerdings noch nicht so ganz:

1) ndasadmin enable meldet "Block device /dev/ndas-13405909-0 is ready to use.". Nur gibt es /dev/ndas-.... nicht. Scheint als würde der /dev-Eintrag nicht erstellt? Mit fstyp /dev/nda1 kriege allerdings die richtige Antwort NTFS.

2) Wieso kennt fstyp NTFS wenn ich NTFS3G gar nicht ausgewählt habe (ok..hat nix mit NDAS zu tun...)

3) Ich möchte die interfaces an die ndas_core bindet begrenzen. wenn man die blöcke mit modprobe lädt, dann wird der Eintrag in /etc/modprobe.conf ausgewertet. Die Frage ist nur: Was muß ich da alles eintragen? Reicht eth0 (Platte ist logischerweise per Kabel angeschlossen)?

EDIT: Noch eine Frage: Anscheinend versucht ndasadmin /etc/ndas.conf zu erzeugen. das Filesystem ist aber ja RO. Wohin sollte man das im source ändern? Zb /var/tmp ?

Gruß

Zwergnase
 
Zuletzt bearbeitet:
2) Wieso kennt fstyp NTFS wenn ich NTFS3G gar nicht ausgewählt habe (ok..hat nix mit NDAS zu tun...)
Weil fstyp nicht das Filesystem mountet, sondern anhand anderer Kriterien erkennt, um welches es sich handelt.

EDIT: Noch eine Frage: Anscheinend versucht ndasadmin /etc/ndas.conf zu erzeugen. das Filesystem ist aber ja RO. Wohin sollte man das im source ändern? Zb /var/tmp ?

Sollte funktionieren. Ist aber bei jedem Reboot dann weg.
 
Man sollte /etc/ndas.conf als Symlink machen und ein Webinterface für Freetz schreiben... ;-)
Da ich mich mit ndas nicht auskenne kann ich die anderen Fragen nicht beantworten.

MfG Oliver
 
Aaalso....nachdem ich gestern noch bis tief in die Nacht getestet habe, hier der aktuelle Status für ndas-1.1.22 im aktuellen freetz Trunk 3406 mit Kernel 2.6.13.1:

- Vor Laden der Module müssen die device-nodes /dev/ndas und /dev/nd** angelegt werden. Das mache ich momentan über ein Script.
- Die Module laden vollständig und ohne Probleme (egal ob über insmod oder modprobe).
- ein "options ndas_core ndas_dev=lan" in /etc/modprobe.conf bindet ndas_core erfolgreich nur an lan (meines Wissens ist lan=eth+wlan). Verwendet man insmod wird /etc/modprobe.conf natürlich nicht ausgewertet, aber dann kann man "ndas_dev=lan" dort als Option angeben.
- Nach Laden der Module startet "ndasadmin start" den Service erfolgreich
- Ein darauffolgendes "ndasadmin register ....." registriert die Platte erfolgreich und die Informationen wie Slotnummer und anderes werden unter /proc/ndas bereitgestellt
- Mit "ndasadmin enable -s ....." wird die Platte erfolgreich an den o.g. Device-Nodes zum Mounten bereitgestellt. Das funktioniert sowohl RO als auch RW. Den "Shared"-Zugriff habe ich noch nicht richtig ausprobiert. Von einer Verwendung zusammen mit typischen Windows Filesystemen wie Fat oder Ntfs wird in der Dokumentation allerdings ohnehin abgeraten.
- ein Mounten (bei mir NTFS z.B. mit "ntfs-3g -o ro /dev/nda1 /var/temp/NetDisk") ist erfolgreich.

Was ist mir noch unklar, bzw. was sind noch offene Punkte (willkürliche Reihenfolge):
- Laut source legt ndasadmin /etc/ndas.conf an und speichert darin /proc/ndas/regdata. Zu einem späteren Zeitpunkt liest ndasadmin das auch wieder ein. Weil /etc aber readonly ist, muß das fehlschlagen. Ich habe es im source mal auf /var/tmp statt /etc geändert. Allerdings wurde ndas.conf dort nicht angelegt. Ich weiß aber nicht warum.
- ndasadmin hat auch eine Funktion "request" mit der Schreibzugriff angefordert werden kann. Ich vermute, wenn man zuvor RO enabled hat. Ein erster Versuch hat allerdings kein Ergebnis gebracht. Allerdings erscheint mir Funktion nicht so wahnsinnig sinnvoll, da man dann ja von RO auf RW ummounten muß.
- Wenn man die "shared" Option des Zugriffes verwenden möchte, dann muß man auf dem NDAS geeignetes ein Filesystem wie GFS oder OCFS2 verwenden. Vielleicht kann man das ja in Freetz integrieren. Allerdings scheint es zumindest für die beiden genannten FS keine Windows Unterstützung zu geben.
- Wie Olistudent schon schreibt, fehlt noch eine bedienfreundlichere Integration von NDAS in Freetz. Sinnvoll wäre ein Web-Interface in dem man die Platten-ID, bei Bedarf den Write-Key, die Art des "register" (RO, RW oder shared) und den Mount-Point angibt. Die Platte(n) sollten dann so früh wie möglich beim Start der Box gemounted werden, damit sie für andere Dienste (Samba, etc). bereitstehen.
- Was auch noch mal auszuprobieren wäre ist die Raid 0/1 Funktionalität von NDAS. Das scheitert bei mir momentan aber an der zweiten Platte.
- Möglicherweise ist es sinnvoll, noch die in code.ximeta.com bekannten Patches (Changeset 468, 470, 471, 472, 474, 475, 476, 477, 478, 482, 483) nach 1.1.22 einzupflegen. Die müßte man aber auseinanderpflücken und die Änderungen für die SCSI Integration (BTW: wofür braucht man das eigentlich?) der 1.1.24 abgrenzen, da für die 1.1.24 kein mipsel libndas verfügbar ist.

Vielleicht noch als Motivation, was ich mit Ndas an der Fitzbox machen will:
- Bereitstellen der NDAS Platte über Samba und FTP (also quasi ein NAS draus machen) für Rechner ohne NDAS Treiber.
- Bereitstellen von Media-Daten auf der Platte über einen Mediaserver wie MediaTomb für Musikanlage und Fernseher
- Schnelles Befüllen der NDAS Platte mit Mediadaten über einen (Windows-) Rechner mit NDAS Treibern an der Fritzbox vorbei.

Den wesentlichen Vorteil der NDAS Platte ggü. einer USB Platte sehe ich in der höheren Datenübertragung ggü. USB1.0 an der 7170 bzw. dem immer noch langsamen USB2.0 der 7270.

Grüße

Zwergnase
 

Zurzeit aktive Besucher

Statistik des Forums

Themen
245,745
Beiträge
2,239,022
Mitglieder
372,918
Neuestes Mitglied
Bladekilt
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.