Jump to content
XPEnology Community

Recommended Posts

I'm getting the following error messages from dmesg everytime DSM puts the HDDs to hibernation. I'm running ds918+ Redpill Tinycore DSM 7.0.1-42218 Update 2. Tips?

kern  :warn  : [Mon Jun 27 13:02:38 2022] No such hdd enable pin. Index: 5
kern  :warn  : [Mon Jun 27 13:02:38 2022] ------------[ cut here ]------------
kern  :warn  : [Mon Jun 27 13:02:38 2022] WARNING: CPU: 1 PID: 4086 at drivers/ata/libata-core.c:453 SYNO_CTRL_HDD_POWERON+0x4f/0x60()
kern  :warn  : [Mon Jun 27 13:02:38 2022] Modules linked in: cmac cifs tun nf_conntrack_ipv6 nf_defrag_ipv6 ip6table_filter ip6_tables ipt_MASQUERADE xt_REDIRECT nf_nat_masquerade_ipv4 xt_nat iptable_nat nf_nat_ipv4 nf_nat_redirect nf_nat xt_recent xt_iprange xt_limit xt_state xt_tcpudp xt_multiport xt_LOG nf_conntrack_ipv4 nf_defrag_ipv4 nf_conntrack iptable_filter ip_tables x_tables fuse 8021q vfat fat udf isofs loop vhost_scsi(O) vhost(O) tcm_loop(O) iscsi_target_mod(O) target_core_user(O) target_core_ep(O) target_core_multi_file(O) target_core_file(O) target_core_iblock(O) target_core_mod(O) syno_extent_pool(PO) rodsp_ep(O) synoacl_vfs(PO) raid456 async_raid6_recov async_memcpy async_pq async_xor async_tx nfsd btrfs ecryptfs zstd_decompress zstd_compress xxhash xor raid6_pq lockd grace rpcsec_gss_krb5 auth_rpcgss sunrpc aesni_intel
kern  :warn  : [Mon Jun 27 13:02:38 2022]  glue_helper lrw gf128mul ablk_helper apollolake_synobios(PO) hid_generic usbhid hid usblp i915 drm_kms_helper syscopyarea sysfillrect sysimgblt fb_sys_fops cfbfillrect cfbcopyarea cfbimgblt drm drm_panel_orientation_quirks iosf_mbi fb fbdev video backlight button uhci_hcd ehci_pci ehci_hcd r8168(O) i2c_algo_bit zram igb(O) e1000e(O) sg dm_snapshot dm_bufio crc_itu_t crc_ccitt psnap p8022 llc hfsplus md4 hmac sit tunnel4 ipv6 flashcache_syno(O) flashcache(O) syno_flashcache_control(O) dm_mod arc4 crc32c_intel cryptd sha256_generic ecb aes_x86_64 authenc des_generic ansi_cprng cts md5 cbc cpufreq_powersave cpufreq_performance processor cpufreq_stats vxlan ip6_udp_tunnel udp_tunnel ip_tunnel etxhci_hcd virtio_scsi(OE) virtio_net(OE) virtio_blk(OE) virtio_pci(OE) virtio_mmio(OE) virtio_ring(OE)
kern  :warn  : [Mon Jun 27 13:02:38 2022]  virtio(OE) usb_storage xhci_pci xhci_hcd usbcore usb_common [last unloaded: apollolake_synobios]
kern  :warn  : [Mon Jun 27 13:02:38 2022] CPU: 1 PID: 4086 Comm: scsi_eh_10 Tainted: P        W  OE   4.4.180+ #42218
kern  :warn  : [Mon Jun 27 13:02:38 2022] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS rel-1.14.0-0-g155821a1990b-prebuilt.qemu.org 04/01/2014
kern  :warn  : [Mon Jun 27 13:02:38 2022]  0000000000000000 ffff88017830bcb0 ffffffff812ef89d 0000000000000009
kern  :warn  : [Mon Jun 27 13:02:38 2022]  0000000000000000 ffff88017830bce8 ffffffff8105255f 0000000000000bb8
kern  :warn  : [Mon Jun 27 13:02:38 2022]  0000000000000000 0000000000000001 ffff880178978000 0000000000000000
kern  :warn  : [Mon Jun 27 13:02:38 2022] Call Trace:
kern  :warn  : [Mon Jun 27 13:02:38 2022]  [<ffffffff812ef89d>] dump_stack+0x4d/0x70
kern  :warn  : [Mon Jun 27 13:02:38 2022]  [<ffffffff8105255f>] warn_slowpath_common+0x7f/0xb0
kern  :warn  : [Mon Jun 27 13:02:38 2022]  [<ffffffff81052646>] warn_slowpath_null+0x16/0x20
kern  :warn  : [Mon Jun 27 13:02:38 2022]  [<ffffffff8141dcdf>] SYNO_CTRL_HDD_POWERON+0x4f/0x60
kern  :warn  : [Mon Jun 27 13:02:38 2022]  [<ffffffff8142e825>] syno_libata_port_power_ctl+0xc5/0x1a0
kern  :warn  : [Mon Jun 27 13:02:38 2022]  [<ffffffff8142f7c7>] syno_libata_set_deep_sleep+0x2b7/0x9c0
kern  :warn  : [Mon Jun 27 13:02:38 2022]  [<ffffffff81436ee3>] ata_scsi_port_error_handler+0x133/0x1a30
kern  :warn  : [Mon Jun 27 13:02:38 2022]  [<ffffffff8106b0fe>] ? cancel_delayed_work_sync+0xe/0x10
kern  :warn  : [Mon Jun 27 13:02:38 2022]  [<ffffffff81432868>] ? ata_scsi_cmd_error_handler+0x118/0x190
kern  :warn  : [Mon Jun 27 13:02:38 2022]  [<ffffffff8143887b>] ata_scsi_error+0x9b/0xe0
kern  :warn  : [Mon Jun 27 13:02:38 2022]  [<ffffffff813f86f5>] scsi_error_handler+0xa5/0x530
kern  :warn  : [Mon Jun 27 13:02:38 2022]  [<ffffffff81575bcf>] ? __schedule+0x2ef/0x820
kern  :warn  : [Mon Jun 27 13:02:38 2022]  [<ffffffff813f8650>] ? scsi_eh_get_sense+0x170/0x170
kern  :warn  : [Mon Jun 27 13:02:38 2022]  [<ffffffff810700f5>] kthread+0xd5/0xf0
kern  :warn  : [Mon Jun 27 13:02:38 2022]  [<ffffffff81070020>] ? kthread_worker_fn+0x160/0x160
kern  :warn  : [Mon Jun 27 13:02:38 2022]  [<ffffffff81579fef>] ret_from_fork+0x3f/0x80
kern  :warn  : [Mon Jun 27 13:02:38 2022]  [<ffffffff81070020>] ? kthread_worker_fn+0x160/0x160
kern  :warn  : [Mon Jun 27 13:02:39 2022] ---[ end trace 4d3f8f657722e7be ]---
kern  :err   : [Mon Jun 27 13:02:42 2022] ata11: wake up successful, the reset fail can be ignored
kern  :err   : [Mon Jun 27 13:02:45 2022] ata10: wake up from deepsleep, reset link now
kern  :err   : [Mon Jun 27 13:02:48 2022] ata10: wake up successful, the reset fail can be ignore

 

Edited by synoxpe
Link to comment
Share on other sites

there is no detail about the setup and disk arrangements

 any lsi sas controllers involved? how did you make the disks in the vm available for the use in dsm?

if its more then a "test system" (any backup of the data on disk?) you might want to disable disk sleep in dsm's gui to prevent raid problems and do some testing with another vm before re-enabling it

 

Link to comment
Share on other sites

Oh so this is SHR1, 5 disks. No LSI SAS controllers, but a JMB 585 5x SATA to PCIe (M.2) adapter used to connect the drives. The complete PCI controller hosting the JMicron card is passed through to the DSM VM from Proxmox.

It's a "production" system. And the HDD hibernation was always enabled. Of late (since last weekend) I started seeing these error messages. I've turned off the hibernation completely to avoid the errors, but that beats the purpose of hibernation in the first place.

Edited by synoxpe
Link to comment
Share on other sites

2 hours ago, synoxpe said:

I've turned off the hibernation completely to avoid the errors, but that beats the purpose of hibernation in the first place.

you could also do a raw mapping with the disks to the vm and let proxmox have the control over the controller (to handle power management)

 

not that i could do much about it but the kernel source related looks like this (given that the 7.0 source 4180 still matches to 7.0.1 42281

drivers/ata/libata-core.c:453 SYNO_CTRL_HDD_POWERON

 

edit2: the thing wanted to say is that it might be something that need to be emulated by the loader to work properly, but i can't say for sure as i don't know enough about the handling of the disks in the loader

 

...
int SYNO_CTRL_HDD_POWERON(int index, int value)
{
#ifdef MY_DEF_HERE
	if (0 < g_smbus_hdd_powerctl) {
		if (!SynoSmbusHddPowerCtl.bl_init){
			syno_smbus_hdd_powerctl_init();
		}
		if (syno_is_hw_version(HW_DS1621p)) {
			if (NULL != SynoSmbusHddPowerCtl.syno_smbus_hdd_enable_write_all_once) {
				SynoSmbusHddPowerCtl.syno_smbus_hdd_enable_write_all_once(gSynoSmbusHddAdapter, gSynoSmbusHddAddress);
			}
		} else {
			if (NULL != SynoSmbusHddPowerCtl.syno_smbus_hdd_enable_write) {
				SynoSmbusHddPowerCtl.syno_smbus_hdd_enable_write(gSynoSmbusHddAdapter, gSynoSmbusHddAddress, index, value);
			}
		}
		return 0;
	}
#endif /* MY_DEF_HERE */
	if (!HAVE_HDD_ENABLE(index)) { // index is 1-based
		printk("No such hdd enable pin. Index: %d\n", index);
		WARN_ON(1);
		return -EINVAL;
	}
#if defined(MY_DEF_HERE)
	rtk_hdd_pwren_reset(index, value);
#else /* MY_DEF_HERE */
	SYNO_GPIO_WRITE(HDD_ENABLE_PIN(index), value);
#endif /* MY_DEF_HERE */
...

 

edit:

 

in 6.2 source (I'm also using jmb585 but baremetal dsm 6.2.3) the code looks very different

...
int SYNO_CTRL_HDD_POWERON(int index, int value)
{
	if (!HAVE_HDD_ENABLE(index)) {  
		printk("No such hdd enable pin. Index: %d\n", index);
		WARN_ON(1);
		return -EINVAL;
	}
	SYNO_GPIO_WRITE(HDD_ENABLE_PIN(index), value);

	return 0;
}
EXPORT_SYMBOL(SYNO_CTRL_HDD_POWERON);
 
int SYNO_CHECK_HDD_DETECT(int index)
{
	int ret;
	if (!HAVE_HDD_DETECT(index)) {  
		 
		return 1;
	}
	ret = SYNO_GPIO_READ(HDD_DETECT_PIN(index));
	 
#ifdef MY_DEF_HERE
	if (ACTIVE_LOW == HDD_DETECT_POLARITY(index)) {
#else
	if (ACTIVE_LOW == HDD_DETECT_POLARITY()) {
#endif  
...

 

 

 

Edited by IG-88
Link to comment
Share on other sites

looking through some kernel setting i found something interesting in 7.1 kernel config file

# CONFIG_SYNO_JMICRON_585_GPIO_LED_CTRL is not set
# CONFIG_SYNO_JMICRON_585_FIX is not set
# CONFIG_SYNO_JMICRON_585_DUBIOUS_IFS_FIX is not set

beside some extra LED control there seems to some extra code for jmb585, can be syno specific or backported code from newer kernel

that would need some more investigation to see if its code we have in the source of 7.0 or if it is something we have no code fore (like in source of 7.1) and was this code is about

 

the jmb585 part seems to be active in gemini lake kernel config but not in apollo lake (the two fix entry's)

so i'd suggest trying/testing 920+ instead of 918+ for the mentioned problem above

 

there is also something about asm1166/1162 but no special fix for problems

# CONFIG_SYNO_ASM_116X_GPIO_LED_CTRL is not set

 

Edited by IG-88
  • Like 1
Link to comment
Share on other sites

  • 2 weeks later...
  • 2 weeks later...
On 7/11/2022 at 1:27 AM, phone guy said:

How do you know if your HDDs are hibernating? I have a 3622 build on proxmox with an LSI HBA. I dont know if they are going to sleep or not? Anyway to know?

finger for vibrations and ear for noise, even on a 2.5" hdd you will recognise if the spindle motor is running or starts to spin up

 

On 7/1/2022 at 5:57 PM, IG-88 said:

looking through some kernel setting i found something interesting in 7.1 kernel config file

 

config SYNO_SATA_JMB585_FIX
	bool "Fix JMicron issues"
	default n
	select SYNO_SATA_CONTROLLER_INFO
	help
	  <DSM> #120513
		Fix JMicron JMB585 interrupt issues

config SYNO_SATA_JMB585_DUBIOUS_IFS_FIX
	bool "Fix JMicron 585 raise IFS on device error"
	default n
	select SYNO_SATA_CONTROLLER_INFO
	help
	  <DSM> #127949
	    Fix JMicron 585 raises IFS on device error. Determine the actual error by reading disk ncq log.

config SYNO_SATA_JMB585_GPIO_LED_CTRL
	bool "Interfaces For Jmicron JMB585 GPIO Control"
	default n
	depends on SYNO_OF
	help
	  <DSM> #131900
	  Provides the infterfaces to operate the GPIO pins on JMB585.



config SYNO_SATA_ASM116X_CONTROL
	bool
	help
	  <DSM> No bug entry
		asmedia 116X register read / write function.

config SYNO_SATA_ASM116X_AMP_ADJUST
	bool "adjust amplitude and de-emphasis for asmedia 1061 sata signal"
	default n
	select SYNO_SATA_ASM116X_CONTROL
	help
	  <DSM> No bug entry
		adjust amplitude and de-emphasis for asmedia 116X sata signal

config SYNO_SATA_ASM116X_GPIO_LED_CTRL
	bool "Interfaces For Asmedia 116X GPIO Control"
	depends on SYNO_OF
	default n
	select SYNO_SATA_ASM116X_CONTROL
	help
	  <DSM> #
	  Provides the infterfaces to operate the GPIO pins on Asmedia 116X.

 

 

Link to comment
Share on other sites

On 7/1/2022 at 9:27 PM, IG-88 said:

looking through some kernel setting i found something interesting in 7.1 kernel config file

# CONFIG_SYNO_JMICRON_585_GPIO_LED_CTRL is not set
# CONFIG_SYNO_JMICRON_585_FIX is not set
# CONFIG_SYNO_JMICRON_585_DUBIOUS_IFS_FIX is not set

beside some extra LED control there seems to some extra code for jmb585, can be syno specific or backported code from newer kernel

that would need some more investigation to see if its code we have in the source of 7.0 or if it is something we have no code fore (like in source of 7.1) and was this code is about

 

the jmb585 part seems to be active in gemini lake kernel config but not in apollo lake (the two fix entry's)

so i'd suggest trying/testing 920+ instead of 918+ for the mentioned problem above

 

there is also something about asm1166/1162 but no special fix for problems

# CONFIG_SYNO_ASM_116X_GPIO_LED_CTRL is not set

 

 

@IG-88 Thanks much for checking out on my issue. Very insightful as always 😊
So that means to get the best results I need to test hibernation on a 920+ running DSM 7.1? As there they seem to have dealt with the JMB585 issues in particular?

 

Link to comment
Share on other sites

  • 1 year later...
On 7/2/2022 at 12:57 AM, IG-88 said:

looking through some kernel setting i found something interesting in 7.1 kernel config file

# CONFIG_SYNO_JMICRON_585_GPIO_LED_CTRL is not set
# CONFIG_SYNO_JMICRON_585_FIX is not set
# CONFIG_SYNO_JMICRON_585_DUBIOUS_IFS_FIX is not set

beside some extra LED control there seems to some extra code for jmb585, can be syno specific or backported code from newer kernel

that would need some more investigation to see if its code we have in the source of 7.0 or if it is something we have no code fore (like in source of 7.1) and was this code is about

 

the jmb585 part seems to be active in gemini lake kernel config but not in apollo lake (the two fix entry's)

so i'd suggest trying/testing 920+ instead of 918+ for the mentioned problem above

 

there is also something about asm1166/1162 but no special fix for problems

# CONFIG_SYNO_ASM_116X_GPIO_LED_CTRL is not set

 

 

I use Silverstone's SS-ECS07 using JMB585.

 

2023-09-103_47_14.thumb.png.ade05a880fe15ffbc5e67ba431d18579.png.06f60a20ae9cb70cfe693ad733cdaf3d.png

 

2023-09-103_47_39.thumb.png.128a70b38bf0892ec348d11c5904fee3.png.65c7735d4c5c134cf202ee45cfa2d634.png

 

https://www.silverstonetek.com/en/product/info/expansion-cards/ECS07/

 

The strange thing is that there is no problem during normal booting.
Upon reboot, the following log (dmesg) occurs and the storage is not recognized.

 

[ 2.819555] redpill: module verification failed: signature and/or required key missing - tainting kernel
[ 2.846488] PCI host bridge to bus 0001:01
[ 2.851421] pci_bus 0001:01: root bus resource [io 0x0000-0xffff]
[ 2.858882] pci_bus 0001:01: root bus resource [mem 0x00000000-0x7fffffffff]
[ 2.867376] pci_bus 0001:01: root bus resource [bus 00-ff]
[ 2.873980] pci 0001:01:00.0: [1b4b:9215] type 00 class 0x010601
[ 2.881226] pci 0001:01:00.0: Can't map mv9235 registers
[ 2.887654] PCI host bridge to bus 0001:02
[ 2.892604] pci_bus 0001:02: root bus resource [io 0x0000-0xffff]
[ 2.900063] pci_bus 0001:02: root bus resource [mem 0x00000000-0x7fffffffff]
[ 2.908547] pci_bus 0001:02: busn_res: can not insert [bus 02-ff] under domain [bus 00-ff] (conflicts with (null) [bus
01-ff])
[ 2.922288] pci_bus 0001:02: root bus resource [bus 00-ff]
[ 2.928892] pci 0001:02:00.0: [8086:1539] type 00 class 0x020000
[ 2.936168] PCI host bridge to bus 0001:03
[ 2.941108] pci_bus 0001:03: root bus resource [io 0x0000-0xffff]
[ 2.948566] pci_bus 0001:03: root bus resource [mem 0x00000000-0x7fffffffff]
[ 2.957068] pci_bus 0001:03: busn_res: can not insert [bus 03-ff] under domain [bus 00-ff] (conflicts with (null) [bus
01-ff])
[ 2.970798] pci_bus 0001:03: root bus resource [bus 00-ff]
[ 2.977414] pci 0001:03:00.0: [8086:1539] type 00 class 0x020000
[ 2.984693] PCI host bridge to bus 0001:00
[ 2.989638] pci_bus 0001:00: root bus resource [io 0x0000-0xffff]
[ 2.997106] pci_bus 0001:00: root bus resource [mem 0x00000000-0x7fffffffff]
[ 3.005609] pci_bus 0001:00: busn_res: can not insert [bus 00-ff] under domain [bus 00-ff] (conflicts with (null) [bus
01-ff])
[ 3.019349] pci_bus 0001:00: root bus resource [bus 00-ff]
...
[ 3.498046] pcieport 0000:00:1d.0: AER: Multiple Corrected error received: id=00e8
[ 3.498079] pcieport 0000:00:1d.0: PCIe Bus Error: severity=Corrected, type=Physical Layer, id=00e8(Receiver ID)
[ 3.498080] pcieport 0000:00:1d.0: device [8086:a29a] error status/mask=00000001/00002000
[ 3.498081] pcieport 0000:00:1d.0: [ 0] Receiver Error

 

I am using DS918+ Apollo Lake 7.2.1-69057 U1.
according to your advice
Let's switch to DS920+ Gemini Lake.

 

 

Edited by Peter Suh
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...