I’ve found out that the gen2 has a backdoor. The file system_init looks for a file called mfg_WDMyCloud on the mounted USB drives. If the file is executable. It then looks for a file called fun_plug. If that file is executable it then does a touch /tmp/mfg_mode. Near the end of
system_init it checks to see if mfg_mode exists and is executable. If it is executable a program called mfg_start is started. mfg_start checks the mfg_WDMyCloud file for the strings WDMyCloud and sn00py if they do it executes the fun_plug script.
The problem is that when it does a touch of the mfg_mode file it is not created executable. I can’t find the where the mfg_mode is made executable. This would be the perfect way to run a script on reboot. No need to modify image.cfs Less chance of bricking the device.
PS you can test this by creating these two files. Make then executable. My files
File mfg_WDMyCloud contains two lines
File fun_plug contains one line
echo fun_plug works
Below is the output of running mfg_start
mfg_start version 1.01
Tue Sep 27 17:54:15 2016
root@WDMyCloud Public #
count of USB volume= 1
mfg_start check [ 1 ]
mnt pnt [/mnt/USB/USB1_b1]
check /mnt/USB/USB1_b1/mfg_WDMyCloud file
sh /mnt/USB/USB1_b1/fun_plug /mnt/USB/USB1_b1/
I’m done. I’m returning the gen2 My Cloud. Too much trouble. Can’t get any thing to work. The gen2 is working as it is designed. I just have too much trouble trying to get any programs to work.
The gen2 is missing fdisk,strace, gparted, unsquashfs, squashfs and most other programs. Tried to bring missing programs from a standard Debian system. But the programs won’t run. Different types of errors. Suspect the problem is missing libraries. I tried multiple methods to mount the image.cfs file wiht no luck. I also tried to rebuild the image.cfs but squashfs would get different errors depending on which OS I tried to run the program. I guess I’m just not smart enough to get things working. With the gen1 I have been able to build those programs that I needed to debug things on the system. Even though the gen1 uses 64k pages. You can compile a program and move it over to the gen1 and it runs. I’ll stick to my gen1 My Clouds.
Actually I have a 30 day return policy. Which leaves me with 14 more days. As for the young not having patience. I’m most likely old enough to be your father. But it does appear that you are on your own.
then that just makes you a cranky old man with no patience
so if I do find something, like a fix for that incessant ticking, you are not allowed to contradict my findings nor are you allowed to point out what you are surmising since in fact you will be surmising.
I was hoping you might convert the gen2 drive to full debian, after all they did it with gen1
but since you and I don’t have any more cloud commonalities, it is goodbye for now…
I’ve found a similar program in the latest (1.08) firmware on the DLINK DNS 320L. It appears to check for a file mfg_DNS_320L and I can see sn00py in the code so I’ll have a play next week and see if I can find anything.
UPDATE - I’ve not had a lot of time over the last year on this, I got chance to play again over christmas and so far had tried various places for the mfg_DNS_320L file but nothign yet.