STILL NOT SLEEPING! - and I GIVE UP!

Interesting article. Need to spend sometime looking over the changes. At first glance moving the smbpasswd file to tmp should fix the problem of smbpasswd being accessed and waking up the disk. Not sure about some of the scripts being removed. No need to do the static IP if the router will allow reservations. Another problem is that these changes most likely void the warranty. You could get around this by using the S98user-start script.

What you guys are up to at this point is beyond me (!) - but I just thought I’d relay the odd behavoir of mine lately:

The good news. It DOES sleep. This is odd because I recently did a System reset on it (after some erratic behavoir) but I never re-issued the two commands that had been absolutely necessary before for it to get to sleep (i.e. the stop rsdk process & unmount/mount commands)

What’s also odd is that my user.log is much bigger than it’s ever been (9,489,219 bytes to be precise), is frozen in time since 12/14 and hasn’t changed in size by even a byte over the last three days of downloading it. Entries stopped several days ago so I cannot see precisely when it comes and goes into Standby - although it does seem to be for long periods because the case cools down and the led does the slow blink…

I’ve also done 3 seperate sizeable backups to it (about 400 Gb each, mixed files) and havent notice any excessive churning etc. in the aftermath.

Something’s still obviously wrong with it and it’s still a mystery to me as to why it’s now sleeping, but at this point my approach is to leave it alone and “let sleeping dogs lie”!

FYI Here are the last few entries in the log (there are dozens if not hundreds more just like those preceeding):

2017-12-14T23:29:25.960640-05:00 di=wHxsG70otX notice restsdk[6019]: paths.go:49: Could not dial crawler socket at ‘/tmp/WDMCRequest.socket’, error: dial unix /tmp/WDMCRequest.socket: connect: connection refused
2017-12-14T23:29:35.928742-05:00 di=wHxsG70otX notice restsdk[6019]: watch.go:109: Stat(), error: stat /tmp/dynamicconfig.ini: no such file or directory
2017-12-14T23:29:35.964375-05:00 di=wHxsG70otX notice restsdk[6019]: paths.go:49: Could not [LOG STOPS HERE!]

Don’t know if any of this helps or not, but, there it is…

I found that moving the smbpasswd file to tmp as indicated in that link occasionally caused problems with accessing Private Shares. I’d get the following dialog box:

wd my cloud enter network credentials

No matter how I entered the password I’d still get an access denied. The solution was to access the My Cloud Dashboard and change the User password within the Dashboard. Then I could access the Private Share without getting that dialog message.

To deal with the missing dynamicconfig.ini in the log file(s) I found the following seems to work.

touch /tmp/dynamicconfig.ini
cp /var/www/rest-api/config/dynamicconfig.ini /tmp/dynamicconfig.ini

If one only uses the touch command they may have problems with remote access. I found that for remote access to work (when I enable it, normally have it off), I had to copy the dynamicconfig.ini file from the /var/www/rest-api/config/ location. For what ever reason I have to use the Touch command first then the copy command. If I used the copy command the file wasn’t copied.

Edit to add: More on moving the smbpasswd file to tmp. When the My Cloud is rebooted the smbpasswd file created in tmp is empty so that is what is causing the network credentials dialog box to pop up. And why it goes away once I go in an change the user password. Problem is if the My Cloud is rebooted or powered on this smbpasswd file is deleted due to the tmp folder being recreated upon each reboot or power on.

Not sure about the touch issue. On my system I was able to cp the file to /tmp without the touch. Okay I see the reason that you need the touch. change your copy statement to
cp /var/www/rest-api/config/dynamicconfig.ini /tmp
The reason it failed is that you used /tmp/dynamicconfig.ini
But in the S98user-start file you could copy the /etc/samba/smbpasswd file to /tmp. This should fix the access problem.

FYI:
Updated to latest firmware yesterday. These are my sleeptimes since then:

WdMyCloud# ./sleeptime.sh
12 16 16:57:03 16:57:11 7 0:00:07
12 16 17:07:22 17:07:29 7 0:00:07
12 16 17:53:30 17:53:37 7 0:00:07
12 16 18:48:01 18:48:08 7 0:00:07
12 16 19:20:38 19:20:46 8 0:00:08
12 16 20:12:30 20:12:37 7 0:00:07
12 16 21:55:27 21:55:35 8 0:00:08 → logoff Ubuntu + umount WDMC
12 16 22:05:46 22:06:42 56 0:00:56
12 16 22:16:53 22:17:08 15 0:00:15
12 16 22:27:19 22:30:03 164 0:02:44
12 16 22:40:14 22:49:23 549 0:09:09
12 16 22:59:34 23:02:18 164 0:02:44
12 16 23:25:43 23:56:49 1866 0:31:06
12 17 00:07:00 00:07:08 8 0:00:08
12 17 00:17:19 00:30:10 771 0:12:51
12 17 00:40:21 00:40:29 7 0:00:07
12 17 00:50:40 00:57:09 389 0:06:29
12 17 01:07:21 01:13:59 398 0:06:38
12 17 01:24:10 02:23:29 3559 0:59:19
12 17 02:33:40 02:48:10 870 0:14:30
12 17 03:15:37 03:15:44 7 0:00:07
12 17 03:25:56 03:43:09 1033 0:17:13
12 17 03:53:20 04:14:42 1282 0:21:22
12 17 04:24:53 04:28:12 199 0:03:19
12 17 04:38:23 04:39:30 67 0:01:07
12 17 04:49:41 04:53:22 220 0:03:40
12 17 05:13:45 05:13:52 7 0:00:07
12 17 05:24:03 05:32:54 531 0:08:51
12 17 05:43:06 06:20:03 2217 0:36:57
12 17 06:30:14 06:30:22 8 0:00:08
12 17 06:40:33 07:24:52 2659 0:44:19
12 17 07:35:03 07:36:48 105 0:01:45
12 17 07:46:59 08:01:10 851 0:14:11
12 17 08:11:21 08:51:15 2394 0:39:54
12 17 09:01:26 09:01:34 8 0:00:08
12 17 09:11:45 09:13:49 124 0:02:04
12 17 09:24:00 10:09:11 2711 0:45:11
12 17 10:19:22 11:24:56 3934 1:05:34
12 17 11:35:08 11:35:15 7 0:00:07
12 17 11:45:26 11:49:35 249 0:04:09
12 17 11:59:46 12:42:36 2570 0:42:50
12 17 12:52:48 12:54:00 72 0:01:12
12 17 13:04:11 13:04:19 8 0:00:08
12 17 13:14:30 13:59:44 2714 0:45:14
12 17 14:09:55 14:10:03 8 0:00:08
12 17 14:20:14 14:30:15 601 0:10:01
12 17 14:40:26 15:18:12 2266 0:37:46
12 17 15:28:24 15:34:25 361 0:06:01
12 17 15:44:37 16:01:10 993 0:16:33
12 17 16:31:44 16:31:51 7 0:00:07 => logon ubuntu + mount WDMC
12 17 16:42:03 16:45:44 221 0:03:41
12 17 16:55:55 17:02:20 385 0:06:25
12 17 17:13:32 17:13:40 8 0:00:08
12 17 17:33:01 17:35:10 129 0:02:09
12 17 17:45:21 17:50:18 297 0:04:57
Total Sleep Time: 10:04:57
Start 1513191731
End 1513529418
Total Up Time: 93:48:07 11% Sleep 89% Wake

Cloudservice is off (dashboard) and I didn’t stop any processes. I do have created an empty /tmp/dynamicconfig.ini which causes the restsdk-serverd process to crash. So restsdk-serverd is not running.

{ “msgid”:“configuration”, “ftp_enabled”:0, “volume_encryption_enabled”:0, “dlna_enabled”:1, “cloud_access_config”:“disabled”, “drive_standby_enabled”:1, “language”:“nl_NL”, “RAID_mode”:“na”, “time_machine_enabled”:0, “network_config”:“dhcp”, “auto_update_enabled”:0, “iTunes_enabled”:0, “ssh_enabled”:1 }

Edit: invalid process name correted.

Thought I tried that yesterday and it didn’t work, but will try again. (Edit to add: made the change to using just /tmp, rebooted and it appears to be working. Thanks for the code correction.)

I think one problem with moving the smbpasswd file to /tmp is what happens to that file if the My Cloud looses power, is shut down, or rebooted. Any passwords changed or added through the Dashboard would be added to the /tmp/smbpasswd file and not the /etc/samba/smbpasswd file. Which means when a reboot is done any new passwords or changed passwords since the initial /etc/samba/smbpasswd was copied to /tmp is lost (if I understand what is happening correctly).

For someone who isn’t using Samba or doesn’t restart their My Cloud for what ever reason, or doesn’t add new users/or change passwords this isn’t much of a problem. Otherwise one would have to reenter the newer passwords/users each time the My Cloud is rebooted (or Samba is stopped/started I assume).

Obviously there are probably workarounds to this issue such as backing up the /tmp/smbpasswd file before reboot or shutdown, or modifying the firmware to update both smbpasswd files each time the password is created/changed.

Error was trying to message Bennor.

I gave up on the drive sleeping long ago.

The software does not make it easy to get the disk to sleep. With samba constantly accessing the disk. To access /etc/samba/smbpasswd file that does not change. Having the root disk not mounted with noatime and nodiratime. Which causes the Kjournal to write to the disk frequently.

It was asked earlier what some of the processes/scripts are in the /etc/rc2.d/ folder that users are stopping or modifying in an effort to deal with the abysmal sleep issue on the single bay My Cloud units. To that end below is a compilation of files and brief descriptions (where possible) for scripts/files in the /etc/rc2.d/ folder (edit to add: from a v4.x first gen single bay My Cloud). Note some description information below is speculation and may not be correct. Where possible I used the description information from the file code text itself.

All scripts in the /etc/rc2.d/ folder are symbolic links to scripts in the /etc/init.d/ folder.

/etc/rc2.d/S01motd
Description: /etc/motd is user-editable and static. This script creates the initial dynamic part, by default the output of uname, and stores it in /var/run/motd.dynamic. Both parts are output by pam_motd.

/etc/rc2.d/S01wdAppEntry
Description: Run actions before starting WD NAS applications

/etc/rc2.d/S03atop
Description: atop init script. The program atop is an interactive monitor to view the load on a Linux system.

/etc/rc2.d/S04apache2
Description: This init.d script is used to start apache2. It basically just calls apache2ctl.

/etc/rc2.d/S16ntpdate
Description: Run ntpdate on startup. ntpdate sets the local date and time by polling the Network Time Protocol (NTP) server(s)

/etc/rc2.d/S16openvpn
Description: This script will start OpenVPN tunnels as specified in /etc/default/openvpn and /etc/openvpn/*.conf

/etc/rc2.d/S16ssh
Description: OpenBSD Secure Shell server

/etc/rc2.d/S17monitorTemperature
Description: Monitor Temperature daemon

/etc/rc2.d/S18monitorio
Description: Start standby daemon

/etc/rc2.d/S20nfs-common
Description: NFS is a popular protocol for file sharing across TCP/IP networks. This service provides various support functions for NFS mounts.

/etc/rc2.d/S20nfs-kernel-server
Description: NFS is a popular protocol for file sharing across TCP/IP networks. This service provides NFS server functionality, which is configured via the /etc/exports file.

/etc/rc2.d/S20restsdk-serverd
Description: Not sure what this is/does, may be related to cloud based functions.

/etc/rc2.d/S20samba
Description: Start Samba daemons (nmbd and smbd)

/etc/rc2.d/S20sysstat
Description: Sysstat contains system performance tools for Linux. The init file runs the sadc command in order to write the “LINUX RESTART” mark to the daily data file

/etc/rc2.d/S20vsftpd
Description: Very secure FTP server

/etc/rc2.d/S20winbind
Description: Start Winbind daemon. Winbind provides a unified login experience between UNIX or Linux and Windows systems by letting users log on to a UNIX or Linux host by using Windows domain credentials.

/etc/rc2.d/S50netatalk
Description: Netatalk 3.x init script. Netatalk is a freely-available Open Source AFP fileserver. Netatalk is capable of serving many Macintosh clients simultaneously as an AppleShare file server (AFP).

/etc/rc2.d/S60mDNSResponder
Description: Start itunes server daemon. mDNSResponder is a daemon invoked at boot time to implement Multicast DNS and DNS Service Discovery.

/etc/rc2.d/S61upnp_nas
Description: Start upnp_nas daemon.

/etc/rc2.d/S75sudo
Description: Provide limited super user privileges to specific users.

/etc/rc2.d/S84itunes
Description: Start iTunes server (forked-daapd) daemon.

/etc/rc2.d/S85twonky
Description: Start Twonky UPnP server.

/etc/rc2.d/S85wdmcserverd
Description: Start wdmcserver (media scanning?) daemon.

/etc/rc2.d/S86commgrd
Description: Communication Manager service.

/etc/rc2.d/S86wdphotodbmergerd
Description: Start wdphotodbmerger (media thumbnail?) daemon.

/etc/rc2.d/S89cron
Description: Cron is a standard UNIX program that runs user-specified programs at periodic scheduled times. vixie cron adds a number of features to the basic UNIX cron, including better security and more powerful configuration options.

/etc/rc2.d/S90lltd
Description: Starts the lld2d Daemon. The lld2d daemon allows Linux systems to display in Windows Network.

/etc/rc2.d/S91nspt
Description: Possibly for Safepoint backups.

/etc/rc2.d/S92wdnotifierd
Description: Start wdnotifier daemon.

/etc/rc2.d/S95wdAutoMount
Description: WD automount support. This script is used to start and stop the AutoMounter daemon. When the daemon is started, partitions of a USB devices with a supported filesystems will be automatically mounted and presented as shares. Also, USB/PTP devices will have their media mounted and presented as shares.

/etc/rc2.d/S96onbrdnetloccommd
Description: Control script for OnBoarding Network Location Communicator daemon.

/etc/rc2.d/S98user-start
Description: Script to allow users to add their own commands to start/stop/modify/copy/delete/remove services/daemons/settings/files.

/etc/rc2.d/S99wdAppFinalize
Description: Run actions after WD NAS applications have started

2 Likes