ipilcher / n5550

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

Centos 7.6 and n5550-0.6 #14

Open isketerol64 opened 5 years ago

isketerol64 commented 5 years ago

Hi:

I am having issues with gpio leds and version 0.3 so I wanted to try the 0.5 version. I am ending up with a compile error:

I tried installing the libatasmart src rpm with no luck.

I really appreciate your help in building this module. Centos is a far better OS on the Thecus NAS than what was being provided to use.

Thanks in advance.

IskiE

isketerol64 commented 5 years ago

Sorry, I meant version n5550-0.6

isketerol64 commented 5 years ago

Installed libatasmart-devel-0.19-6.el7.x86_64 to resolve the build errors.

On reboot, freecusd is dying and none of the leds light up.

[root@grandiose ~]# abrt-cli list --since 1561810195 id 38fa84816b18ce575bf21b70af01cf3bcf665cc4 reason: WARNING: CPU: 0 PID: 4068 at drivers/gpio/gpiolib.c:177 gpio_to_desc+0x94/0xe0 time: Fri 28 Jun 2019 06:45:44 AM EDT cmdline: BOOT_IMAGE=/vmlinuz-3.10.0-957.21.3.el7.centos.plus.x86_64 root=/dev/mapper/centos-root ro crashkernel=auto rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet LANG=en_CA.UTF-8 package: kernel uid: 0 (root) count: 8 Directory: /var/spool/abrt/oops-2019-06-28-06:45:44-4127-0 Reported: cannot be reported

The Autoreporting feature is disabled. Please consider enabling it by issuing 'abrt-auto-reporting enabled' as a user with root privileges

[root@grandiose ~]# dmesg | grep gpio [ 5.083894] lpc_ich: Resource conflict(s) found affecting gpio_ich [ 18.032950] WARNING: CPU: 2 PID: 4068 at drivers/gpio/gpiolib.c:177 gpio_to_desc+0x94/0xe0 [ 18.033222] [] gpio_to_desc+0x94/0xe0 [ 164.485160] WARNING: CPU: 3 PID: 15715 at drivers/gpio/gpiolib.c:177 gpio_to_desc+0x94/0xe0 [ 164.485437] [] gpio_to_desc+0x94/0xe0

I went back to version 3 in which freecusd works, but the LEDs don't work. The messages on the LCD report 3 drives in the NAS when there are 5, and the cpu temperature reports as unknown. The red error light also is illuminated. The messages that do appear are useful - indicating the overall health of the unit.

I'm happy to help debug this if there is any interest. This is a great utility for the N5550.

Thanks.

IskiE

ipilcher commented 5 years ago

Have you added acpi_enforce_resources=lax to the kernel parameters (section 12 of the quickstart)?

isketerol64 commented 5 years ago

Hi:

Here's my /etc/default/grub

GRUB_TIMEOUT=5 GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)" GRUB_DEFAULT=saved GRUB_DISABLE_SUBMENU=true GRUB_TERMINAL_OUTPUT="console" GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet acpi_enforce_resources=lax" GRUB_DISABLE_RECOVERY="true"

ipilcher commented 5 years ago

I don't see the acpi_enforce_resources in the abrt-cli output above. Have you done the necessary incantations to make your config change effective? (I still use GRUB 0.9, so I'm not 100% sure what the incantation is.)

isketerol64 commented 5 years ago

Hi:

The issue comes down to Centos 7.6 installing a UEFI kernel, thereby the commands to update grub need to change as shown following. I have the n5550-0.6 version working now. I did uninstall the sgpio package which may or may not have been causing conflicts as well. I did make the same change for the GPIO_BASE at 451 as another person has reported.

The grub2-mkconfig command is:

grub2-mkconfig -o /etc/grub2-efi.cfg

and should be run once the /etc/default/grub file has been updated.

The issue I thought I had with the display of "3" in RAID pertains to having 3 RAID volumes. The full set of 5 drives is correctly shown. I has simply replaced the Thecus DOM with a new 32 GB DOM and installed Centos without changing the RAID arrays. The original 3 volumes are still there.

The drive light on the first drive bay does not light up green by default for some reason, but it will show the red and the orange status lights when the /etc/freecusd file is updated. I had been a little concerned that there was a fault with the drive as I was used to seeing all of the lights active to show activity across the array.

So all being said and done, my sanity has been restored once I had realized that the UEFI config needed to be used.

Much thanks again for creating this software and maintaining it. It does make the Centos install much more compelling than other distros with LCD module working,

IskiE

Schwaus commented 5 years ago

Hi,

im new to Github and dont know if this is the right place for my issue. Sorry if not...

First of all, thank you very much for this piece of software! My n5550 with OS7 Beta died with a broken DOM after a WOL attempt this week and thanks to your software i have hope to get it full up and running again with CentOS. Last status is data is readable and the hardware runs pretty good with CentOS, now i hope to get the LCD and status LEDs running.

I installed the latest CentOS 7.7 with kernel-plus-3.10.0-1062.1.1.el7.centos.plus.x86_64, libatasmart-devel-0.19-6.el7.x86_64 to compile version 0.6, libcip-0.1.1.5 and hddtemp-0.3-0.31.beta15.el7.x86_64 packages without any problem on my NAS.

But i got the same issues with 0.6 like user isketerol64 in this thread. I set "acpi_enforce_resources=lax" (and in my case "video=LVDS-1:d" to get the external screen running) in /etc/default/grub and got it running with grub2-mkconfig -o /etc/grub2-efi.cfg. This seems to work cause my screen is running fine and i got no resource conflict in "dmesg | grep gpio" only the warning at drivers/gpio/gpiolib.c:177 gpio_to_desc+0x94/0xe0.

So the GPIO Error on startup seems to be gone but freecus is still dying and i get a message of a tainted kernel if i start freecusd.service after boot manually with systemctl start freecusd.service. Not even the GPIO_BASE setting to 451 in n5550_board.c or the removal of the sgpio package has been helpfully. I tried the alternate smart and hddtemp method from #13 also without luck.

The only thing which seems to work is the System FAN setting, cause it starts running at full speed at boot. and i found out if i start the install_n5550_board method from /usr/lib/modprobe.d/n5550.conf manually i get the second to fifth HDD LEDs on with static green, first one remains off, but no blink on disk activity. Also the LCD is starting to show HDD temperature till the next reboot.

Help would be much appreciated. I can provide Logs if needed and if i get it running i would document it here.

Schwaus

ipilcher commented 5 years ago

Hi Schwaus -

This probably should have been a new, separate issue, but no worries.

What is the output of cat /proc/cmdline on your system?

Schwaus commented 5 years ago

Hi,

thanks for your reply.

cat /proc/cmdline output is:

[root@nas administrator]# cat /proc/cmdline
BOOT_IMAGE=/vmlinuz-3.10.0-1062.1.1.el7.centos.plus.x86_64 root=/dev/mapper/cl-root ro rd.lvm.lv=cl/root rd.lvm.lv=cl/swap acpi_enforce_resources=lax video=LVDS-1:d rhgb quiet

If i run systemctl | grep freecusd to see if the service is running i get:

[root@nas administrator]# systemctl | grep freecusd
●freecusd.service                                                                                                       
 loaded failed failed    Thecus N5550 NAS monitoring daemon

When i try to restart the service, SE-Linux Bug-Reporting tool is popping up and gives me the message of a tainted kernel with GOE flags and module n5550_ahci_leds.

ipilcher commented 5 years ago

Your kernel command line looks OK.

So, can you describe exactly what issue you're seeing? Are you getting the error about gpio_ich resource conflicts or something else?

Also, what does journalctl -b -u freecusd say?

It's worth noting that I've never used UEFI on this thing. (I absolutely loathe grub2, so I switched the system to legacy boot mode before I even installed CentOS on it.) It's possible that the UEFI firmware sets up the hardware differently.

Schwaus commented 5 years ago

Ok so the issue is that my NAS is starting normaly, and i hear that the System-FAN start spinning at highest RPM, as it should in default-setting, but neither the green HDD LEDs, Warning LEDs on the left or the LCD Screen is functional.

When i run systemctl | grep freecusd right after login i dont get any output, but journalctl -b -u freecusd shows:

[root@nas administrator]# journalctl -b -u freecusd
-- Logs begin at Mo 2019-09-30 14:20:05 CEST, end at Mo 2019-09-30 14:41:32 CEST. --
Sep 30 14:20:20 nas.schinner.lan systemd[1]: Starting Thecus N5550 NAS monitoring daemon...
Sep 30 14:20:21 nas.schinner.lan systemd[1]: Started Thecus N5550 NAS monitoring daemon.

I dont have any gpio_ich resource conflict, only this warning:

[root@nas administrator]# dmesg | grep gpio
[    3.325652] gpio_ich: GPIO from 451 to 511 on gpio_ich
[   16.539390] WARNING: CPU: 3 PID: 925 at drivers/gpio/gpiolib.c:177 gpio_to_desc+0x94/0xe0
[   16.539400] Modules linked in: sunrpc vfat fat snd_hda_codec_realtek snd_hda_codec_generic snd_hda_codec_hdmi linear raid1 snd_hda_intel snd_hda_codec intel_powerclamp snd_hda_core joydev coretemp pcspkr snd_hwdep sg snd_seq snd_seq_device snd_pcm iTCO_wdt iTCO_vendor_support snd_timer snd soundcore ip_tables xfs libcrc32c sd_mod crc_t10dif crct10dif_generic crct10dif_common gma500_gfx gpio_ich i2c_algo_bit drm_kms_helper ahci n5550_ahci_leds(OE) syscopyarea sysfillrect libahci sysimgblt fb_sys_fops drm e1000e sata_sil24 i2c_i801 serio_raw lpc_ich libata ptp pps_core drm_panel_orientation_quirks video dm_mirror dm_region_hash dm_log dm_mod it87 hwmon_vid
[   16.539579]  [<ffffffffb21cd8f4>] gpio_to_desc+0x94/0xe0

Maybe i reinstall Centos in legacy boot mode and give it a try.

Schwaus commented 5 years ago

Hi,

got some new information on this. I removed version 0.6 and installed version 0.3 last night, didnt reboot and started the service withsystemctl start freecusd.service manually. After that all green HDD LEDs began lightning and the LCD Screen shows information.

Then i upgraded to version 0.4, 0.5 and 0.6 all without reboot but with service restart between the upgrades. Everything looked fine until i did a reboot of the NAS, then the service went to failed state again. So i think it has something to do with how the service is loaded.

Then i reinstalled CentOS in legacy boot mode without UEFI but i got the same behavior. Could there be something wrong with my installation routine or my bios settings?

I did a systemctl status freecusd.service and got this:

[root@nas ~]# systemctl status freecusd
● freecusd.service - Thecus N5550 NAS monitoring daemon
   Loaded: loaded (/usr/lib/systemd/system/freecusd.service; enabled; vendor preset: disabled)
   Active: failed (Result: exit-code) since Di 2019-10-01 16:42:01 CEST; 4s ago
  Process: 6174 ExecStart=/usr/bin/freecusd (code=exited, status=0/SUCCESS)
 Main PID: 6178 (code=exited, status=1/FAILURE)

Okt 01 16:42:01 nas.schinner.lan systemd[1]: Starting Thecus N5550 NAS monitoring daemon...
Okt 01 16:42:01 nas.schinner.lan systemd[1]: Started Thecus N5550 NAS monitoring daemon.
Okt 01 16:42:01 nas.schinner.lan systemd[1]: freecusd.service: main process exited, code=exited, status=1/FAILURE
Okt 01 16:42:01 nas.schinner.lan systemd[1]: Unit freecusd.service entered failed state.
Okt 01 16:42:01 nas.schinner.lan systemd[1]: freecusd.service failed.

Edit:

Did a restart of the service and a journalctl _PID=to see the errors of the MainPID today:

[root@nas ~]# journalctl _PID=1671
-- Logs begin at Mi 2019-10-02 10:09:55 CEST, end at Mi 2019-10-02 10:11:47 CEST. --
Okt 02 10:11:47 nas.schinner.lan freecusd[1671]: WARNING: conf.c:266: Failed to auto-detect RAID disks
Okt 02 10:11:47 nas.schinner.lan freecusd[1671]: WARNING: loadavg.c:120: Failed to parse contents of /proc/loadavg
Okt 02 10:11:47 nas.schinner.lan freecusd[1671]: WARNING: lib.c:255: Disabling load average monitor
Okt 02 10:11:47 nas.schinner.lan freecusd[1671]: ERROR: pic.c:52: write: Invalid argument
Okt 02 10:11:47 nas.schinner.lan freecusd[1671]: WARNING: pic.c:61: Failed to export LCD PIC GPIO
Okt 02 10:11:47 nas.schinner.lan freecusd[1671]: ERROR: pic.c:71: /sys/class/gpio/gpio31/direction: No such file or directory
Okt 02 10:11:47 nas.schinner.lan freecusd[1671]: WARNING: pic.c:85: Failed to set LCD PIC GPIO direction
Okt 02 10:11:47 nas.schinner.lan freecusd[1671]: ERROR: pic.c:103: /sys/class/gpio/gpio31/value: No such file or directory
Okt 02 10:11:47 nas.schinner.lan freecusd[1671]: WARNING: pic.c:148: Failed to reset LCD PIC
Okt 02 10:11:47 nas.schinner.lan freecusd[1671]: FATAL: alert.c:242: /sys/class/leds/n5550:orange:busy/brightness: No such file or directory

So it seems there are some Directories/GPIO missing under /sys/class/gpio/ and /sys/class/leds/ but i can not create them manually. Is there a script which creates them in your Software? I installed version 0.3.1 for testing purposes again and this seems to create the missing GPIO31 and gpiochip16 and deletes them when i install 0.6 and reboot.