Skip to content

ipilcher/n5550

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Thecus N5550 Hardware Support
Copyright 2013-2020 Ian Pilcher <arequipeno@gmail.com>
======================================================

For RHEL/CentOS/Scientific Linux 7, see the QuickStart in the wiki:

  https://github.com/ipilcher/n5550/wiki/QuickStart-for-CentOS-7

For RHEL/CentOS/Scientific Linux 6, use kernel-lt from ELRepo.  The n5550 RPM
will probably need to be modified slightly to work on EL6.


Kernel Modules
--------------

n5550_ahci_leds - "Hooks" into libahci module to provide LED triggers for disk
	activity.  Must be loaded *before* any other modules (such as ahci) that
	use libahci.

	Can only be unloaded after being disabled with:

		echo 0 > /sys/class/n5550_ahci_leds/enabled

	Disabling will only work if no other libahci users are loaded.

n5550_board - Sets up chipset, LEDs, GPIOs, etc.  Disk activity LEDs have
	default triggers, so they should "just work" once both modules are
	loaded.


Monitoring Daemon
-----------------

freecusd - Monitors the health of the NAS and displays state on front-panel
	LCD and LEDs.  Configured via /etc/freecusd.conf.


Operating System Integration
----------------------------

/usr/src/n5550/modules - Kernel module source code and makefile

/usr/lib/dracut/modules.d/99n5550 - dracut module to automatically build kernel
	modules (if needed) when building initial RAM-disk.  (Doing this with a
	dracut module, rather than DKMS, avoids building every initial RAM-disk
	twice, which takes a long time on an Atom.)

/usr/lib/dracut/dracut.conf.d/n5550.conf - dracut configuration file to ensure
	required kernel modules are included in initial RAM-disk

/usr/lib/modprobe.d/n5550.conf - Ensures that n5550_ahci_leds is loaded as soon
	as libahci (before any other module that uses libahci).  Also configures
	system fan PWM.

/usr/lib/modules-load.d/n5550.conf - Ensures it87 kernel module is loaded

/usr/lib/udev/rules.d/99-n5550.rules - Triggers load of n5550_board module once
	gpio_ich module has finished loading


LCD
---

test2.c - Can be used to reset and send messages to the ATmega168 micro-
	controller which manages the front-panel LCD.


Buttons
-------

I have not been able to read button presses/status from the ATmega168.  However,
it is possible to read them via jumper block next to the LCD connection.  These
jumpers are used by the Thecus firmware to identify the NAS model on which it is
running, and they are readable via GPIO pins on one of the PCA9532 LED dimmers
(currently GPIOs 16-19).

To do this, remove the 3 jumpers from the block and shift the button module
ribbon cable from its normal connector onto the jumper block.  (After doing
this, the Thecus firmware will not be able to identify your NAS module, so the
jumpers should be replaced before booting the Thecus firmware.)

About

Thecus N5550 hardware support

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages