ipilcher / n5550

Thecus N5550 hardware support
GNU General Public License v2.0
8 stars 8 forks source link

N7510 7 bay nas #21

Open ipilcher opened 2 years ago

ipilcher commented 2 years ago

I'm interested in getting this running on my N7510 7 bay nas. I have installed ubuntu 20.04.04 server, have my other apps etc installed and I upgraded the ram to 8GB. Everything works really well and much faster than the old ThecusOS. If only I could figure out how to compile these modules on Ubuntu so I can use the LCD.

Can you give me any pointers? I'm no genius, but I can manage simple compiling etc

Here's the output from my uname -a Linux thecusnas 5.4.0-109-generic #123-Ubuntu SMP Fri Apr 8 09:10:54 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux

Originally posted by @SpaceBallz2k8 in https://github.com/ipilcher/n5550/issues/20#issuecomment-1106782868

ipilcher commented 2 years ago

Sorry for the delay. There are several different components in this repository, and the difficulty of applying them to a different model is going to vary widely.

  1. The ledtrig_blkdev module. You'll need to use this, since you're on a recent kernel. The good news is that it's entirely generic, so it's just a matter of building it, ensuring that it gets loaded at boot, and configuring it via sysfs.

  2. The freecusd daemon. This is mostly hardware independent, but it does have a few assumptions built into it.

    • It uses a GPIO line to reset the LCD display at startup. I have no idea if the N7510 works the same way as the N5550 or not.
    • There a couple of points that assume that it's only displaying information about 5 disks. You'd need to modify it to somehow display information about 7 disks in the limited space offered by the LCD (assuming that the N7510 has the same size LCD display.
  3. Finally, there's the "board" module — n5550_board in this case. This module is responsible for "wiring up" the various LEDs, GPIO lines, etc. This is something that is usually done with Devicetree files in the embedded space, but AFAICT enterprise Linux kernels aren't build with Devicetree support, so I use a module instead. Of course, to create a board module (or Devicetree file) for the N7510, you'll need to know the details of the hardware; it may be very similar to the N5550, or it may be completely different. Back in the day, I was able to figure out the N5550 setup by looking at the ThecusOS kernel sources. It was quite a bit of work, and I don't know if Thecus still make their kernel source code available. (They should, according to the GPL.)

Hopefully that makes some sense. It would be great to have this work on additional models, but it will (at best) be a fair bit of work.

HTH