Jump to content
XPEnology Community

gebing

Member
  • Posts

    16
  • Joined

  • Last visited

Posts posted by gebing

  1. actually, i think the physical button should use "poweroff" or "shutdown -h now"

    normally we can shutdown in the web interface, which regard as the safest shutdown

    however when something happen and the web service and ssh/telnet service is closed, you 'll finded no way to shutdown properly (unless you plug a keyboard and blindtype your login password poweroff

     

    The shutdown script should be a follow:

     

    syno_poweroff_task -r

    poweroff

     

    If you directly call poweroff, after reboot it will a notification for improper shutdown.

  2. Today i looked into boot message of dmesg, and found there is some error output:

     

    [sat Mar 1 22:44:58 2014] fan: Unknown symbol thermal_cooling_device_register (err 0)

    [sat Mar 1 22:44:58 2014] fan: Unknown symbol thermal_cooling_device_unregister (err 0)

     

    It seems fan.ko is not load, and "lsmod |grep fan" output nothing. I studied module in /lib/modules and gnoboot's modules.conf in /.gnoboot/, and found maybe you missed load thermal_sys.ko depended by fan.ko, so may be you should change line in modules.conf to this:

     

    HD_ACPI="button container thermal_sys fan processor thermal video"

  3. i was not using insmod in shell to load button.ko, i was using insmod in gnoBoot's boot options, such as like:

     

    kernel /zImage ihd_num=0 netif_num=2 syno_hw_version=DS3612xs sn=xxxxx vga=0x318 insmod=button <- It's the same thing as loading from shell.

    and after DSM boot up, i used cmd 'lsmod | grep button' in SSH shell, and it returns nothing. and I looked in dmsg of /var/log/, it has the following error output:

     

    [Thu Feb 27 20:23:42 2014] button: exports duplicate symbol acpi_lid_notifier_register (owned by kernel) <- Again, it's built-in!

     

    So, it seems button.ko has tried to load on booting, but failed by duplicate symbol acpi_lid_notifier_register. <- Because you told it so...

     

    Ok, i see. But i try to install acpid v2.0 on DSM, it seems acpid does not get any event after press power button. I looked into source of acpid, it use two method to detect event.

     

    First method is watching the content of file /proc/acpi/event, but on your build of boot kernel, there is not such file in /proc/acpi. When i tried to make a empty file, it failed with "can't create /proc/acpi/event: nonexistent directory"

     

    Second method is using netlink and the input layer instead of deprecated /proc/acpi/event interface, but it also failed becuase acpid will lookup files of /dev/input//event*, they are also missing, and acpid will output:

    acpid: cannot open input layer

    acpid: inotify_add_watch() failed: No such file or directory (2)

     

    So, can you fixed it?

  4. I'm working on beta5, restart from scratch with config file from v1.0 and enable just the ACPI_PROC_EVENT. Boot, and insmod button.ko.

    I got nothing (tail -f /proc/acpi/event nor cat /proc/acpi/event) when pressing power button while DSM is started :sad:

     

    Until this is not working we don't need to take care about the usermode program acpid (or busybox-acpid).

    In DSM 4.3 v1.0 I've seen, that CONFIG_ACPI_PROCFS is not configured. So, could please enable the follwing parameters:

    CONFIG_ACPI_PROCFS=y

    CONFIG_ACPI_PROC_EVENT=y

    CONFIG_ACPI_PROCFS_POWER=y

     

    Respectively please set the CONFIG_ACPI_* parameters to the same values as in the working DSM 4.2 Kernel.

     

    Thank you very much.

     

    CONFIG_ACPI_PROCFS and CONFIG_ACPI_PROCFS_POWER are not enabled in 4.2.

    Just rebuild kernel with these options enabled but still nothing...

     

    What about the new implementation of acpi in /sys/ ? (CONFIG_ACPI_PROC_EVENT is deprecated)

     

    I build a acpid v2.0 from source for using new implementation of acpi, and it can start on DSM 4.3 but with logout as below:

    #acpid -l -d -f

    acpid: cannot open input layer

    inotify fd: 4

    acpid: inotify_add_watch() failed: No such file or directory (2)

    netlink opened successfully

    acpid: starting up with netlink and the input layer

    parsing conf file /etc/acpi/events/anything

    acpid: 1 rule loaded

    acpid: waiting for events: event logging is on

     

    It seems acpid can not open netlink input layer when using netlink and the input layer instead of deprecated /proc/acpi/event interface. I look into source code, acpid will try to open /dev/input/event*, and it seems missing from synology DSM. acpid also try to read event from /proc/acpi/event, but as mentioned previously, when press power button, there was no output in /proc/acpi/event. So power button can not work.

  5. i was not using insmod in shell to load button.ko, i was using insmod in gnoBoot's boot options, such as like:

     

    kernel /zImage ihd_num=0 netif_num=2 syno_hw_version=DS3612xs sn=xxxxx vga=0x318 insmod=button

     

    and after DSM boot up, i used cmd 'lsmod | grep button' in SSH shell, and it returns nothing. and I looked in dmsg of /var/log/, it has the following error output:

     

    [Thu Feb 27 20:23:42 2014] button: exports duplicate symbol acpi_lid_notifier_register (owned by kernel)

     

    So, it seems button.ko has tried to load on booting, but failed by duplicate symbol acpi_lid_notifier_register.

  6. I used gnoBoot to boot DSM 4.3-3810, and try to load button.ko by adding button to /etc/rc in KERNEL_MODULES, but after reboot, the button.ko seems not load. I checked by lsmod|grep button and return nothing. I checked boot log of /var/log/dmes, and there is some output like below:

     

    [Thu Feb 20 14:30:08 2014] thermal_sys: exports duplicate symbol generate_netlink_event (owned by kernel)

    [Thu Feb 20 14:30:08 2014] button: exports duplicate symbol acpi_lid_notifier_register (owned by kernel)

     

    It seems button.ko has duplicate export symbol (acpi_lid_notifier_register, which is exported by kernel) to prevent load button module. When i use Trantor's synoboot img and it works ok, what's problem and difference between gnoboot and Trantor's synoboot ?

     

    By the way, it seems thermal_sys.ko also did not load because of duplicate export symbol.

  7. Maybe should compile kernel with ACPI_PROC_EVENT flag according to https://github.com/andy928/xpenology/bl ... pi/Kconfig

     

    That is also my understanding: The kernel doesn't triggers the ACPI events. The busybox-acpid provided by me seems not to be the problem.

    So, we need to recompile the kernel with ACPI_PROC_EVENT enabled.

     

    I can confirm you that CONFIG_ACPI_PROC_EVENT=y is build in beta v3 et v4

     

    I seems wired. IS there any other method to test whether APCI is work properlu ?

  8. I download toolchain and source for acpid2, but it failed. Because acpid2 require glibc 2.5 and include some function in glibc 2.5, such as inotify_init in inotify.h.

     

    Can anyone give some advisement? Can I install new version glibc to DSM without replace old glibc 2.3.6?

  9. I tried in Xpenology DS3612xs DSM 4.3 build 3810 pre V1.1 V4, and it seems build with ACPI enabled, but when i pressed the power button, nothing happened.

     

    I checked whether button.ko is loaded by "lsmod | grep button", and it returns "button 4107 0" and it seems button.ko is loaded.

     

    I checked by "cat /proc/acpi/event", it is empty and has no content even after i press power button, so acpid can not be triggered when power button is pressed.

     

    So, what's the problem? Can anyone give some advise?

×
×
  • Create New...