iocellnetworks / ndas4linux

The Linux driver and device management program for NDAS devices such as the NetDISK.
GNU General Public License v2.0
13 stars 12 forks source link

anyone is using netdisk nowadays?porting to kernel 4.x 5.x? #5

Open youxiaojie opened 3 years ago

youxiaojie commented 3 years ago

anyone is using netdisk nowadays?porting to kernel 4.x 5.x?

rhermsen commented 3 years ago

Was using it on a Fritzbox (a German made xDSL-router/home-gateway) with Freetz until a few years ago.

The last kernel versions for which a patch is available is some of the early 3.x kernels. They are listed here: https://github.com/iocellnetworks/ndas4linux

One of the developers of Freetz made is work on also on big-endian devices (still only on early 3.x kernels): https://github.com/Freetz/freetz/tree/master/make/ndas

Sewie1 commented 3 years ago

Would there be a way to make it work on the newer kernels?

Sewie

On Sat, Jan 2, 2021 at 4:19 PM rhermsen notifications@github.com wrote:

Was using it on a Fritzbox (a German made xDSL-router/home-gateway) with Freetz until a few years ago.

The last kernel versions for which a patch is available is some of the early 3.x kernels. They are listed here:

https://github.com/iocellnetworks/ndas4linux

One of the developers of Freetz made is work on also on big-endian devices (still only on early 3.x kernels):

https://github.com/Freetz/freetz/tree/master/make/ndas

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/iocellnetworks/ndas4linux/issues/5#issuecomment-753524808, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABH4V24OCKD34LVWFTNJT5TSX55WRANCNFSM4VRIOHIQ .

-- Louis-Cesare Baiani, CET Cell/SMS: (902) 593-1189

http://ca.linkedin.com/pub/louis-cesare-baiani-cet/80/146/153/

youxiaojie commented 3 years ago

is there technical barrier in porting? such as linux kernel driver architecture changes?

Sewie1 commented 3 years ago

I would not think there would be. I would love to see this through.

Sewie

On Mon, Jan 4, 2021 at 7:00 AM 尤晓杰 notifications@github.com wrote:

is there technical barrier in porting? such as linux kernel driver architecture changes?

— You are receiving this because you commented.

Reply to this email directly, view it on GitHub https://github.com/iocellnetworks/ndas4linux/issues/5#issuecomment-753908821, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABH4V22QK7MKSFACTOCXVTLSYGNWTANCNFSM4VRIOHIQ .

-- Louis-Cesare Baiani, CET Cell/SMS: (902) 593-1189

http://ca.linkedin.com/pub/louis-cesare-baiani-cet/80/146/153/

youxiaojie commented 3 years ago

Is there technical barrier in porting?yes. first thing I met is Kbuild vs Makefile. 1.maybe linux kernel building changes. the makefile could not build .ko however the ndas-admin is ok. need I fix makefile? 2.what is different with ndas-cc-usermod(um) and ndas-cc?

youxiaojie commented 3 years ago

dear sewie, thanks for your replying, the iocellnetwork is dead, I thought nobody answer me, but you reply me anyway. thanks! are you in charge of this product?

Sewie1 commented 3 years ago

I am not, unfortunately. I am still using NDAS in Windows 10. I know many have issues with it, however I found that most startup issues were when lpx was bound with adapters like Bluetooth or others (non wifi or wired) and cause a crash.

I typically only mount when necessary, and once things are accessible it runs OK. I typically stick with read only too.

I would think there are others here that may be more familiar whether it is impossible to make for a current version of the kernel.

Sewie

On Mon, Jan 4, 2021 at 5:44 PM 尤晓杰 notifications@github.com wrote:

dear sewie, thanks for your replying, the iocellnetwork is dead, I thought nobody answer me, but you reply me anyway. thanks! are you in charge of this product?

— You are receiving this because you commented.

Reply to this email directly, view it on GitHub https://github.com/iocellnetworks/ndas4linux/issues/5#issuecomment-754238536, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABH4V24Q3PGHL6AZLWOJEIDSYIZE7ANCNFSM4VRIOHIQ .

-- Louis-Cesare Baiani, CET Cell/SMS: (902) 593-1189

http://ca.linkedin.com/pub/louis-cesare-baiani-cet/80/146/153/

youxiaojie commented 3 years ago

it works in win10? can you share me with the drivers?

Sewie1 commented 3 years ago

I think the latest version is 3.72.2080.1456. I can check my system once home and get back to you. I would like to get something working in Linux though.

Louis

On Tue, Jan 5, 2021 at 4:27 AM 尤晓杰 notifications@github.com wrote:

it works in win10? can you share me with the drivers?

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/iocellnetworks/ndas4linux/issues/5#issuecomment-754486375, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABH4V2ZQV5XGKQ545RF47WDSYLEO7ANCNFSM4VRIOHIQ .

-- Louis-Cesare Baiani, CET Cell/SMS: (902) 593-1189

http://ca.linkedin.com/pub/louis-cesare-baiani-cet/80/146/153/

Sewie1 commented 3 years ago

That is the version I had installed and is available on a few websites. Have you tried it?

On Wed, Jan 6, 2021 at 2:55 PM Louis Baiani neptilou@gmail.com wrote:

I think the latest version is 3.72.2080.1456. I can check my system once home and get back to you. I would like to get something working in Linux though.

Louis

On Tue, Jan 5, 2021 at 4:27 AM 尤晓杰 notifications@github.com wrote:

it works in win10? can you share me with the drivers?

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/iocellnetworks/ndas4linux/issues/5#issuecomment-754486375, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABH4V2ZQV5XGKQ545RF47WDSYLEO7ANCNFSM4VRIOHIQ .

-- Louis-Cesare Baiani, CET Cell/SMS: (902) 593-1189

http://ca.linkedin.com/pub/louis-cesare-baiani-cet/80/146/153/

-- Louis-Cesare Baiani, CET Cell/SMS: (902) 593-1189

http://ca.linkedin.com/pub/louis-cesare-baiani-cet/80/146/153/

youxiaojie commented 3 years ago

Thanks! the biggest challenge is block driver part of it or maybe scsi also. the other part just fixed easily, most of it is the definition of function is changing, so fixed easily. the block changed a lot since 5.3, and I am not confident to port it successfully. the other part I am sure. searching similar code and workaround in github, or analyses source code to find new function instead. it is not so complex . let me try but this part is most dangerous part in case of build failure.(maybe adding another source beyond me)

block/block26.c:55:23: error: initialization of ‘void (*)(struct gendisk *, fmode_t)’ {aka ‘void (*)(struct gendisk *, unsigned int)’} from incompatible pointer type ‘int (*)(struct gendisk *, fmode_t)’ {aka ‘int (*)(struct gendisk *, unsigned int)’} [-Werror=incompatible-pointer-types]
   55 |     .release =        ndop_release,
      |                       ^~~~~~~~~~~~
/media/allan/c6293bbf-6fa1-49ca-9b01-24855a810e0e/iocell/ndas4linux/3.9.0-rc2/build_x86_64_linux/ndas-3.9.0.x86_64.dbg/block/block26.c:55:23: note: (near initialization for ‘ndas_fops.release’)
/media/allan/c6293bbf-6fa1-49ca-9b01-24855a810e0e/iocell/ndas4linux/3.9.0-rc2/build_x86_64_linux/ndas-3.9.0.x86_64.dbg/block/block26.c:57:6: error: ‘struct block_device_operations’ has no member named ‘media_changed’
   57 |     .media_changed = ndop_media_changed,
      |      ^~~~~~~~~~~~~
/media/allan/c6293bbf-6fa1-49ca-9b01-24855a810e0e/iocell/ndas4linux/3.9.0-rc2/build_x86_64_linux/ndas-3.9.0.x86_64.dbg/block/block26.c:57:22: error: initialization of ‘int (*)(struct block_device *, fmode_t,  unsigned int,  long unsigned int)’ {aka ‘int (*)(struct block_device *, unsigned int,  unsigned int,  long unsigned int)’} from incompatible pointer type ‘int (*)(struct gendisk *)’ [-Werror=incompatible-pointer-types]
   57 |     .media_changed = ndop_media_changed,
      |                      ^~~~~~~~~~~~~~~~~~
Sewie1 commented 3 years ago

Thanks so much for looking into this!

Sewie

On Sat, Jan 9, 2021 at 1:54 AM 尤晓杰 notifications@github.com wrote:

Thanks! the biggest challenge is block driver part of it or maybe scsi also. the other part just fixed easily, most of it is the definition of function is changing, so fixed easily. the block changed a lot since 5.3, and I am not confident to port it successfully. the other part I am sure. searching similar code and workaround in github, or analyses source code to find new function instead. it is not so complex . let me try but this part is most dangerous part in case of build failure.(maybe adding another source beyond me)

block/block26.c:55:23: error: initialization of ‘void ()(struct gendisk , fmode_t)’ {aka ‘void ()(struct gendisk , unsigned int)’} from incompatible pointer type ‘int ()(struct gendisk , fmode_t)’ {aka ‘int ()(struct gendisk , unsigned int)’} [-Werror=incompatible-pointer-types]

55 | .release = ndop_release,

  |                       ^~~~~~~~~~~~

/media/allan/c6293bbf-6fa1-49ca-9b01-24855a810e0e/iocell/ndas4linux/3.9.0-rc2/build_x86_64_linux/ndas-3.9.0.x86_64.dbg/block/block26.c:55:23: note: (near initialization for ‘ndas_fops.release’)

/media/allan/c6293bbf-6fa1-49ca-9b01-24855a810e0e/iocell/ndas4linux/3.9.0-rc2/build_x86_64_linux/ndas-3.9.0.x86_64.dbg/block/block26.c:57:6: error: ‘struct block_device_operations’ has no member named ‘media_changed’

57 | .media_changed = ndop_media_changed,

  |      ^~~~~~~~~~~~~

/media/allan/c6293bbf-6fa1-49ca-9b01-24855a810e0e/iocell/ndas4linux/3.9.0-rc2/build_x86_64_linux/ndas-3.9.0.x86_64.dbg/block/block26.c:57:22: error: initialization of ‘int ()(struct block_device , fmode_t, unsigned int, long unsigned int)’ {aka ‘int ()(struct block_device , unsigned int, unsigned int, long unsigned int)’} from incompatible pointer type ‘int ()(struct gendisk )’ [-Werror=incompatible-pointer-types]

57 | .media_changed = ndop_media_changed,

  |                      ^~~~~~~~~~~~~~~~~~

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/iocellnetworks/ndas4linux/issues/5#issuecomment-757102134, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABH4V26PWTRLELKYLXPPLPTSY7VQFANCNFSM4VRIOHIQ .

-- Louis-Cesare Baiani, CET Cell/SMS: (902) 593-1189

http://ca.linkedin.com/pub/louis-cesare-baiani-cet/80/146/153/

youxiaojie commented 3 years ago

Due to block device's driver transferred from single queue to multi-queue,blk-mq, which is beyond myself, so the porting maybe failed, I want to delay it first. the other part I have ported. the main part is block and scsi controller.

youxiaojie commented 3 years ago

damn 5.0 kernel, remove single queue support, even if you keep it for compatible and set multiqueue as default! hopes other export will do it. thanks. https://prog.world/linux-kernel-5-0-we-write-simple-block-device-under-blk-mq/ https://olegkutkov.me/2020/02/10/linux-block-device-driver/ this maybe helpful for block part, but scsi and proc part, I have no ideal

Sewie1 commented 3 years ago

Okay thank you!

On Mon, Jan 18, 2021 at 4:16 PM 尤晓杰 notifications@github.com wrote:

Due to block device's driver transferred from single queue to multi-queue,blk-mq, which is beyond myself, so the porting maybe failed, I want to delay it first. the other part I have ported. the main part is block and scsi controller.

— You are receiving this because you commented.

Reply to this email directly, view it on GitHub https://github.com/iocellnetworks/ndas4linux/issues/5#issuecomment-762452227, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABH4V27UVBFXE5GYFK6YMC3S2SJJHANCNFSM4VRIOHIQ .

-- Louis-Cesare Baiani, CET Cell/SMS: (902) 593-1189

http://ca.linkedin.com/pub/louis-cesare-baiani-cet/80/146/153/