Clean OS (Debian), OpenMediaVault and other "firmwares"

any solutions to this one @shirt.gov @nnorland ?
Same problem here :smiley:

Hi, it’s been a while since I’ve touched the My Cloud, but I was able to fix it if I recall correctly. I’m going to have to think about how I got this working.

Ok, so looking back I recall using the instructions here:

http://fox-exe.ru/WDMyCloud/WDMyCloud-Gen2/_Unbricking_en.txt

Thanks for that quick response @shirt.gov

But that does not work either - the device simply will not boot from the USB - it always loads up the bricked firmware :-/

The USB is plugged in into port 1 and MBR-formated with FAT32, the content of the folder is extracted into a boot/ dir at the root of the USB

also tried with a GPT-formatted USB, does not work, either

You may have to boot into a linux distro on your PC and physically connect the drive to your PC.

=====================================
# Alternative way:

# Use Debian/ubuntu or any other linux distro (USB/CD Live image)
# All "/dev/sda" change to your disk! (List disks in system: "parted -l")
# If this is new disk or damaged (formatted) old, recreate partitions first:
parted /dev/sda
mklabel gpt
mkpart primary 1049kB 2149MB
mkpart primary 8591MB -1MB
mkpart primary 7517MB 8591MB
mkpart primary 2149MB 3222MB
mkpart primary 3222MB 4296MB
mkpart primary 4296MB 6443MB
mkpart primary 6443MB 7517MB
q
mkswap /dev/sda1
mkfs.ext4 /dev/sda3

# Download and unpack files from WDMyCloud/WDMyCloud-Gen2/Developing: uImage-wdrecovery and uRamdisk-wdrecovery
# Write it disk:
mkdir /mnt/boot
mount /dev/sda3 /mnt/boot
mkdir /mnt/boot/boot
cp uImage-wdrecovery /mnt/boot/boot/uImage
cp uRamdisk-wdrecovery /mnt/boot/boot/uRamdisk

# Done. Connect disk back to WDMC and turn on.
# After few minutes WDMC boots to "WD Recovery". Go to webgui and upload official firmware.
# Done!
2 Likes

Tried that, does not work :frowning:

At first the Power LED flashes, then the two disk LEDs (first disk 1, then disk 2, all blue).
After a few seconds, all LED’s start blinking blue, and the disks LEDs are blinking red and blue.

After that, all LEDs are turned off and the Safe Mode is reachable via wifi. But I cannot upload the firmware, since I get the 404

Anyone?

Hello everyone!

Friends, please help. I installed Debian 10 buster on the device WD EX2 Ultra according to the Fox_exe manual (he has a many thanks), install Openmediavault 5.5.12-1, then Nextcloud filled in - everything good, nice, cool, rose, blooms and smells :slight_smile: . But!
It was necessary to raise ONLYOFFICE for collaboration with Microsoft documents (in addition, ONLYOFFICE does not load NAS because, unlike other solutions, the main work of the application is carried out on the client side, not on the server) and some other packages/applications - docker is needed. But here’s the problem - do not install docker. Rather, it is install, but not to the end and therefore does not start. It should work - it works on native firmware as well… Do I understand correctly that judging by the logs and errors (see below) I need to update the Debian kernel?

If so, which one? To take from a repositories or need to make it custom? Then how? Upgrading the kernel will not bricking the device? Has anyone tried updating the kernel?

root@WD:/home/xxx # uname -r

4.15.0-rc6

Registered the deb repository Index of /debian buster-backports main non-free contrib. Below is the search result for available kernels. Of these something you can roll on this device and not bricking it?
root@WD:/home/xxx # apt search linux-headers

 *Sorting... Done*
    *Full Text Search... Done*
    *aufs-dkms/stable,stable,stable 4.19+20190211-1 all*
    *DKMS files to build and install aufs*

    *linux-headers-4.19.0-10-all/stable,stable,stable 4.19.132-1 armhf*
    *All header files for Linux 4.19 (meta-package)*

    *linux-headers-4.19.0-10-all-armhf/stable,stable,stable 4.19.132-1 armhf*
    *All header files for Linux 4.19 (meta-package)*

    *linux-headers-4.19.0-10-armmp/stable,stable,stable 4.19.132-1 armhf*
    *Header files for Linux 4.19.0-10-armmp*

    *linux-headers-4.19.0-10-armmp-lpae/stable,stable,stable 4.19.132-1 armhf*
    *Header files for Linux 4.19.0-10-armmp-lpae*

    *linux-headers-4.19.0-10-common/stable,stable,stable 4.19.132-1 all*
    *Common header files for Linux 4.19.0-10*

    *linux-headers-4.19.0-10-common-rt/stable,stable,stable 4.19.132-1 all*
    *Common header files for Linux 4.19.0-10-rt*

    *linux-headers-4.19.0-10-rt-armmp/stable,stable,stable 4.19.132-1 armhf*
    *Header files for Linux 4.19.0-10-rt-armmp*

    *linux-headers-4.19.0-11-all/stable,stable,stable 4.19.146-1 armhf*
    *All header files for Linux 4.19 (meta-package)*

    *linux-headers-4.19.0-11-all-armhf/stable,stable,stable 4.19.146-1 armhf*
    *All header files for Linux 4.19 (meta-package)*

    *linux-headers-4.19.0-11-armmp/stable,stable,stable 4.19.146-1 armhf*
    *Header files for Linux 4.19.0-11-armmp*

    *linux-headers-4.19.0-11-armmp-lpae/stable,stable,stable 4.19.146-1 armhf*
    *Header files for Linux 4.19.0-11-armmp-lpae*

    *linux-headers-4.19.0-11-common/stable,stable,stable 4.19.146-1 all*
    *Common header files for Linux 4.19.0-11*

    *linux-headers-4.19.0-11-common-rt/stable,stable,stable 4.19.146-1 all*
    *Common header files for Linux 4.19.0-11-rt*

    *linux-headers-4.19.0-11-rt-armmp/stable,stable,stable 4.19.146-1 armhf*
    *Header files for Linux 4.19.0-11-rt-armmp*

Soft:
root@WD:/home/xxx # cat /proc/version

Linux version 4.15.0-rc6 (root@build-server) (gcc version 5.4.0 20160609 (Ubuntu/Linaro 5.4.0-6ubuntu1~16.04.4)) #2 SMP Mon Jan 8 13:13:42 +05 2018

Hardware:
root@WD:/home/xxx # cat /proc/cpuinfo

processor : 0
model name : ARMv7 Processor rev 1 (v7l)
BogoMIPS : 1332.00
Features : half thumb fastmult vfp edsp neon vfpv3 tls vfpd32
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x4
CPU part : 0xc09
CPU revision : 1

same processor 1

Hardware : Marvell Armada 380/385 (Device Tree)
Revision : 0000
Serial : 0000000000000000

root@WD:/home/xxx # apt install docker-ce

…
Get:1 https://download.docker.com/linux/debian buster/stable armhf containerd.io armhf 1.3.7-1 [17.3 MB]
Get:2 https://download.docker.com/linux/debian buster/stable armhf docker-ce-cli armhf 5:19.03.13~3-0~debian-buster [33.1 MB]
Fetched 50.4 MB in 10s (5131 kB/s)                                                                                                                                                                          
Selecting previously unselected package containerd.io.
(Reading database ... 68723 files and directories currently installed.)
Preparing to unpack .../containerd.io_1.3.7-1_armhf.deb ...
Unpacking containerd.io (1.3.7-1) ...
Selecting previously unselected package docker-ce-cli.
Preparing to unpack .../docker-ce-cli_5%3a19.03.13~3-0~debian-buster_armhf.deb ...
Unpacking docker-ce-cli (5:19.03.13~3-0~debian-buster) ...
Selecting previously unselected package docker-ce.
Preparing to unpack .../docker-ce_5%3a19.03.13~3-0~debian-buster_armhf.deb ...
Unpacking docker-ce (5:19.03.13~3-0~debian-buster) ...
Setting up containerd.io (1.3.7-1) ...
Setting up docker-ce-cli (5:19.03.13~3-0~debian-buster) ...
Setting up docker-ce (5:19.03.13~3-0~debian-buster) ...
Job for docker.service failed because the control process exited with error code.
See "systemctl status docker.service" and "journalctl -xe" for details.
invoke-rc.d: initscript docker, action "start" failed.
● docker.service - Docker Application Container Engine
   Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
  Drop-In: /etc/systemd/system/docker.service.d
           └─waitAllMounts.conf
   Active: activating (auto-restart) (Result: exit-code) since Thu 2020-10-15 20:42:54 MSK; 45ms ago
  Process: 25760 ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock (code=exited, status=1/FAILURE)
 Main PID: 25760 (code=exited, status=1/FAILURE)

Oct 15 20:42:54 WD systemd[1]: docker.service: Main process exited, code=exited, status=1/FAILURE
Oct 15 20:42:54 WD systemd[1]: docker.service: Failed with result 'exit-code'.
Oct 15 20:42:54 WD systemd[1]: Failed to start Docker Application Container Engine.
dpkg: error processing package docker-ce (--configure):
 installed docker-ce package post-installation script subprocess returned error exit status 1
Processing triggers for man-db (2.8.5-2) ...
Processing triggers for systemd (241-7~deb10u4) ...
Errors were encountered while processing:
 docker-ce
E: Sub-process /usr/bin/dpkg returned an error code (1)

root@WD:/home/ххх # service docker start

Failed to get properties: Unit name cockpit-wsinstance-https@.socket is neither a valid invocation ID nor unit name.
Job for docker.service failed because the control process exited with error code.
See "systemctl status docker.service" and "journalctl -xe" for details.

root@WD:/home/ххх # dockerd

INFO[2020-10-15T20:44:29.173214415+03:00] Starting up                                  
INFO[2020-10-15T20:44:29.200777138+03:00] parsed scheme: "unix"                         module=grpc
INFO[2020-10-15T20:44:29.200953561+03:00] scheme "unix" not registered, fallback to default scheme  module=grpc
INFO[2020-10-15T20:44:29.201121801+03:00] ccResolverWrapper: sending update to cc: {[{unix:///run/containerd/containerd.sock 0  <nil>}] <nil>}  module=grpc
INFO[2020-10-15T20:44:29.201202174+03:00] ClientConn switching balancer to "pick_first"  module=grpc
INFO[2020-10-15T20:44:29.208286193+03:00] parsed scheme: "unix"                         module=grpc
INFO[2020-10-15T20:44:29.208412959+03:00] scheme "unix" not registered, fallback to default scheme  module=grpc
INFO[2020-10-15T20:44:29.208515301+03:00] ccResolverWrapper: sending update to cc: {[{unix:///run/containerd/containerd.sock 0  <nil>}] <nil>}  module=grpc
INFO[2020-10-15T20:44:29.208604632+03:00] ClientConn switching balancer to "pick_first"  module=grpc
INFO[2020-10-15T20:44:29.446088154+03:00] [graphdriver] using prior storage driver: overlay2 
WARN[2020-10-15T20:44:29.579349149+03:00] Your kernel does not support cgroup blkio weight 
WARN[2020-10-15T20:44:29.579420690+03:00] Your kernel does not support cgroup blkio weight_device 
WARN[2020-10-15T20:44:29.579463687+03:00] Your kernel does not support cgroup blkio throttle.read_bps_device 
WARN[2020-10-15T20:44:29.579501004+03:00] Your kernel does not support cgroup blkio throttle.write_bps_device 
WARN[2020-10-15T20:44:29.579539798+03:00] Your kernel does not support cgroup blkio throttle.read_iops_device 
WARN[2020-10-15T20:44:29.579575315+03:00] Your kernel does not support cgroup blkio throttle.write_iops_device 
WARN[2020-10-15T20:44:29.579611842+03:00] mountpoint for pids not found                
INFO[2020-10-15T20:44:29.580131941+03:00] Loading containers: start.                   
WARN[2020-10-15T20:44:29.600677999+03:00] Running iptables --wait -t nat -L -n failed with message: `iptables v1.8.2 (legacy): can't initialize iptables table `nat': Table does not exist (do you need to insmod?)
Perhaps iptables or your kernel needs to be upgraded.`, error: exit status 3 
INFO[2020-10-15T20:44:29.863604888+03:00] stopping event stream following graceful shutdown  error="<nil>" module=libcontainerd namespace=moby
failed to start daemon: Error initializing network controller: error obtaining controller instance: failed to create NAT chain DOCKER: iptables failed: iptables --wait -t nat -N DOCKER: iptables v1.8.2 (legacy): can't initialize iptables table `nat': Table does not exist (do you need to insmod?)
Perhaps iptables or your kernel needs to be upgraded.
 (exit status 3)

root@WD:/home/ххх # journalctl -xe

-- Defined-By: systemd
-- Support: https://www.debian.org/support
-- 
-- The unit docker.socket has successfully entered the 'dead' state.
Oct 15 20:45:10 WD systemd[1]: Closed Docker Socket for the API.
-- Subject: A stop job for unit docker.socket has finished
-- Defined-By: systemd
-- Support: https://www.debian.org/support
-- 
-- A stop job for unit docker.socket has finished.
-- 
-- The job identifier is 43580 and the job result is done.
Oct 15 20:45:10 WD systemd[1]: Stopping Docker Socket for the API.
-- Subject: A stop job for unit docker.socket has begun execution
-- Defined-By: systemd
-- Support: https://www.debian.org/support
-- 
-- A stop job for unit docker.socket has begun execution.
-- 
-- The job identifier is 43580.
Oct 15 20:45:10 WD systemd[1]: Starting Docker Socket for the API.
-- Subject: A start job for unit docker.socket has begun execution
-- Defined-By: systemd
-- Support: https://www.debian.org/support
-- 
-- A start job for unit docker.socket has begun execution.
-- 
-- The job identifier is 43580.
Oct 15 20:45:10 WD systemd[1]: Listening on Docker Socket for the API.
-- Subject: A start job for unit docker.socket has finished successfully
-- Defined-By: systemd
-- Support: https://www.debian.org/support
-- 
-- A start job for unit docker.socket has finished successfully.
-- 
-- The job identifier is 43580.
Oct 15 20:45:10 WD systemd[1]: docker.service: Start request repeated too quickly.
Oct 15 20:45:10 WD systemd[1]: docker.service: Failed with result 'exit-code'.
-- Subject: Unit failed
-- Defined-By: systemd
-- Support: https://www.debian.org/support
-- 
-- The unit docker.service has entered the 'failed' state with result 'exit-code'.
Oct 15 20:45:10 WD systemd[1]: Failed to start Docker Application Container Engine.
-- Subject: A start job for unit docker.service has failed
-- Defined-By: systemd
-- Support: https://www.debian.org/support
-- 
-- A start job for unit docker.service has finished with a failure.
-- 
-- The job identifier is 43506 and the job result is failed.
Oct 15 20:45:10 WD systemd[1]: docker.socket: Failed with result 'service-start-limit-hit'.
-- Subject: Unit failed
-- Defined-By: systemd
-- Support: https://www.debian.org/support

I do not know if the procedure itself was the fault, but look at my posts above, I just managed to brick my device while upgrading my kernel.

4.15 is the most recent kernel from fox_exe, other than that, there is this GitHub - vzhilov/WDMC-Ex2-Ultra: Enhanced Ram Disk and Linux Kernel for WD My Cloud Ex2 Ultra, compiling the kernel yourself is also doable. All that stuff is of course at your own peril

You installed the [Debian-linux_4.14.4] (from fox-exe). Then, upgraded to this kernel [Linux-4.15.0-rc6].
I did same. I have Linux-4.15.0-rc6:

Linux version 4.15.0-rc6 (root@build-server) (gcc version 5.4.0 20160609 (Ubuntu/Linaro 5.4.0-6ubuntu1~16.04.4)) #2 SMP Mon Jan 8 13:13:42 +05 2018

I think can I upgrade my device up to 4.19.0-10 without brick… :thinking:

About your problem:
Try remove the HDDs, plug into first USB flash (you know how it’s made), then power on with push reset button while 3 sec, then push out the button and push it again for 7-9 sec.

I have tried different ways many times. Sometimes it loads and assigns an IP address, but very rarely. I couldn’t identify the system in his behavior.

My device boots successfully from USB once or twice out of twenty.

But there has never been a time when I haven’t boot it from the USB. Once I had to spend 1.5 days, but on the second day everything was fine.

1 Like

Important - plug our your hard drives.
When device boot and take an IP address you can move out the USB, plug in the HDDs - they’re will detected by system as /dev/sda1 and /dev/sda2

1 Like

First of all, I want to say thanks to everyone who tries to help me here - I really do appreciate it.

I now discovered the following:

  • I formated the USB using GPT (not MBR)
  • I can press the reset button however I want, there seems to be only one method that actually does something: plug in the USB in the right slot (numbered 2), and press the reset button for 40 sec. But again, not much changed, it does not load up the corrupted “safe mode”, instead it just starts blinking blue, and it seems to be unable to get an IP adress, as it is not showing up anywhere?

Any pointers on what might be going on? I am also looking forward to buy an UART connector to hook up to the serial port (I think that that is the one on the top when you open the device to take out the disks) but I have never done that, how difficult is is (I do know quite some stuff about commands, etc, just not the hardware part)?

Thanks, and please keep up coming with more ideas :wink:
jack

PS: Both HDD’s are removed

Of course, the IP address must be viewed on the router (or on the device that is the DHCP server in your network). And this IP address will differ from the IP address that the NAS receives in normal mode (MAC addresses differ).

Nah, the device does not show up - i tried to connect it directly to my PC, but no IP there, either.

Maybe I just used the wrong usbrecovery files, can you send me yours?
I tried: the usbrecovery.tar.gz from fox-exe’s website
the kernel files located under the various kernel folders from ex2 ultra

Have you formatted your USB in GUID-mode or MBR?

thanks again for your help, I really appreciate that!

The computer does not lease IP addresses unless a special program is running. Is your computer connected to a router? How do you access the Internet? Here on this device (router, modem or firewall) you need to see what IP address the NAS receives.

I used MBR USB flash with FAT 32 and usbrecovery files from fox-exe’s website…
In “boot” folder.

Ok, thanks again!

I think the device boots from USB (but only if I plug in into port 2) - the lamp at the USB-Flash blinks and the network lights go mad, so it seems to be doing “something”.

But that’s about it - no IP, no nothing.

Whatever, I just keep on trying.

Do you see any new IP address in the router interface that wasn’t there before the NAS was turned on?

nah :frowning:

Tried with a different router now, does not work either.

With MBR-formatted disk: the front rows go crazy (blue and red alternating), LAN blinks, USB blinks
with GUID-formatted disk: front light just blinks blue, LAN blinks, USB blinks

in both cases no new IP and no network

Whats more, it only does something in slot 2, nothing in slot 1

For some reason, the native recovery algorithm does not start on your device. :thinking: I think, you don’t have other way than use the UART cable.

You can write the letter to official WD service centre with describe the situation. May be they will answer you something good…