WD My Cloud

WdMyCloud is single HardDisk NaS that comes with BareBox + DebiaN GnU/LinuX based FirmWare and allows you to LogIn as RooT and with great CommunitY Thanks wd.

REFERENCE

WIP

I managed to displace my backuped files to spare disk (40GB) one (the backup fits on one CDR)

Now I plan to debbootstap debian into the data part or even better on usb stick the challenge would be make it compatible without touching the uboot conf or stoke FirmWare or at least minimal changes that can be reverted easily…

Next job would be to rebuild all sources provided by WD and upstream what need to be upstreamed, this is not a fast job so any support is welcome…

CommunitY :

I plan to provide Native DebiaN support to it and eventually try to help to UpStream this…

Note special attention to the reason I bought it (for 140EUR in 2015-01-17 ) is because of CommunitY and specially Fox_exe shared some many info about running DebiaN on this device… so respect to him and encourage him as much as you ca, he worth it ! most or content on this page was shared from this smart russian HackeR , national sport along chess :)

DebiaN :

HardWare :

images-na.ssl-images-amazon.com_images_i_91md4ersx6l._sl1500_.jpg

CASE

Open will (or could?) crack warranty ? I dont care I wanted to know how I could replace the disk … 1 of 4 clip was broken.

CPU

CPU: Mindpeed (Manufacturer) Comcerto (Family) C2000 (Generation), M86261G (Model). Dual-core 650MHz, 256kb L2 cache, ARMHF (VFP+NEON Instructions). Designed for Hi-band routers and NAS.

RAM

RAM: Samsung K4B2G1646E-BCKO (512MB (128Mx16), DDR3-1600, 11-11-1 timing)

dmesg  | grep 'Mem'
[    0.000000] Memory policy: ECC disabled, Data cache writealloc
[    0.000000] Memory: 44MB 192MB = 236MB total
[    0.000000] Memory: 232128k/232128k available, 30016k reserved, 0K highmem

NIC

LAN: Brickmon BCM-54612E (Ethernet Gigabit transceiver)

ROM

ROM: Winbond 25x40CLVIG, 4mbit (512KByte) SPI flash chip (Sometime used for store SMART info in HDDs)

BOARD / UART

BoarD has UarT pins, you can soldier wire directly to it, but I prefer to make my own adapter using a PcI SockeT since the width of pins seems to match.

Thanks I was looking for a way to avoid soildering the board

So designed my own socket by recycling a PCI socket :)

For serial you also an other board like RpI and just wire Tx to Rx etc …

Will report how if you want

 __(PS)___(eth)___(usb)__(rst)__
:       (o)                  (o)|______
:          ^\_____Screws___ /^    4p? |
S                               ______|                ___________
A                               |        < (big hole) |           |= <G>  o .
T   screw                       |______               |___        |= <T>   o .
A                                 ----+| -- GND -(blue)---:-+ B62 |= <R>  o .
:  chip                           ----+| ->-- Tx -(green)-:-+ B61 |=       . .
:   up                            ----+| -<--(red)- Rx ---:-+ B60 |=      . .
:                                ______|                  |       |=       . .
                  [ SW1 ]       |______   < (small hole)  |       |=      . .
                                  ----+|    ( unused )    +       |=       . .
    Board  : Component side up   ______|                  |       |       . .
                                |                         |  PCI  |        . .
             ___________________|       smaller row 22p > |       |       . .
    CPU     |                                           __| Side  |
J2?         |                                          |__ .......0
            :                                             | View  |       . .
    LED (o) :                         larger row 98 pin > :       :        . .


   __________________________________________________________________
  |  . . . . .   :   < 5p  (GND Tx  Rx )      < A side (unused here?)|
  | . . . . . .  :   < 6p    V   V  V                                |
  |  o . . . .   0   < 5p       B61              ( PCI rear side )   |
  | o o . . . .  :   < 6p : B62     B60  
  |______________:________ ... < 22 pin row ...  ... 88 pin row > ___|
    GTR <  GND=blue | TX=green | RX=yellow


1st just plug G and T on :

  __________________________
 | x x G (R) T  ...  
 | . . .  .  .  ...  < GPIO
 [sd]  raspberry pi
 |

This cable should do the trick too :

https://www.olimex.com/Products/Components/Cables/USB-Serial-Cable/USB-Serial-Cable-F/

GND=BLUE, RX(INPUT)=GREEN, TX(OUTPUT)=RED

Only green is needed to show output

sudo screen /dev/ttyAMA0 115200

barebox 2011.06.0-svn10510-dirty3 (Dec  9 2013 - 12:04:00)

Board: Mindspeed C2000
c2k_spi_probe
c2k_otp_probe.
cbus_baseaddr: 9c000000, ddr_baseaddr: 03800000, ddr_phys_baseaddr: 03800000

|:::::::::::::::::::::::::::::::::::::::::::::::|
|:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::|
|:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::|
|:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::|
|:::::::::::WWWWWWWWW::::WWWWWWW::::::::WWWWWWW::DDDDDDDDDDDDDDDDD::::::::::::|
|:::::::::::WWWWWWWW::::WWWWWWWW:::::::WWWWWWW::DDDDDDDDDDDDDDDDDDDD::::::::::|
|:::::::::::WWWWWWWW:::WWWWWWWWW::::::WWWWWWW::DDDDDDDDDDDDDDDDDDDDDD:::::::::|
|::::::::::::::::::::::::::::::::::::::::::::::::::::::::::DDDDDDDDDDD::::::::|
|:::::::::::WWWWWWW:::WWWWWWWWWW::::WWWWWWW::DDDDDDDDD:::::::DDDDDDDDD::::::::|
|:::::::::::WWWWWWW::WWWWWWWWWWW:::WWWWWWW::DDDDDDDDD::::::::DDDDDDDDD::::::::|
|:::::::::::WWWWWW::WWWWWW::WWWWW:WWWWWWW::DDDDDDDDDD:::::::DDDDDDDDDD::::::::|
|:::::::::::WWWWWWWWWWWWW:::WWWWWWWWWWWW::DDDDDDDDDD::::::DDDDDDDDDDD:::::::::|
|:::::::::::WWWWWWWWWWWW::::WWWWWWWWWWW::DDDDDDDDDDD:::DDDDDDDDDDDDD::::::::::|
|:::::::::::WWWWWWWWWWW:::::WWWWWWWWWW::DDDDDDDDDDDDDDDDDDDDDDDDDD::::::::::::|
|:::::::::::WWWWWWWWWW::::::WWWWWWWWW::DDDDDDDDDDDDDDDDDDDDDDDDD::::::::::::::|
|:::::::::::WWWWWWWWW:::::::WWWWWWWW::DDDDDDDDDDDDDDDDDDDDDDDD::::::::::::::::|
|:::::::::::WWWWWWWW::::::::WWWWWWW::DDDDDDDDDDDDDDDDDDDD:::::::::::::::::::::|
|:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::|
|:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::|
|:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::|
|:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::|
b=============================================================================d

 1
Malloc space: 0x8300d000 -> 0x83010000 (size 12 kB)
Stack space : 0x8300c000 -> 0x8300d000 (size  4 kB)
running /env/bin/init...
not found
uLoader >

BOARD / MISC

  • SW1 Button on board - I think is for Wireless QSS / Quick Connect / WPS button. (WiFi present in Kernel and PFE sources) ?
  • Not soldered connector on top - USB v2.0 (Present in CPU, work, but need solder few chips back)
  • J2 Connector - seems like PCI-E v2.0 interface for Wi-Fi module.

BOARD / LED

HARDISK

Model: ATA WDC WD20EFRX-68E (scsi)
Disk /dev/sda: 2000GB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt

Number  Start   End     Size    File system     Name     Flags
 3      15.7MB  528MB   513MB   linux-swap(v1)  primary
 1      528MB   2576MB  2048MB  ext3            primary  raid
 2      2576MB  4624MB  2048MB  ext3            primary  raid
 5      4624MB  4724MB  99.6MB                  primary
 6      4724MB  4824MB  101MB                   primary
 7      4824MB  4826MB  1049kB                  primary
 8      4826MB  4828MB  2097kB                  primary
 4      4828MB  2000GB  1996GB  ext4            primary

Model: ATA WDC WD20EFRX-68E (scsi)
Disk /dev/sda: 2000398934016B
Sector size (logical/physical): 512B/4096B
Partition Table: gpt

Number  Start        End             Size            File system     Name     Flags
 3      15728640B    528482303B      512753664B      linux-swap(v1)  primary
 1      528482304B   2576351231B     2047868928B     ext3            primary  raid
 2      2576351232B  4624220159B     2047868928B     ext3            primary  raid
 5      4624220160B  4723834879B     99614720B                       primary
 6      4723834880B  4824498175B     100663296B                      primary
 7      4824498176B  4825546751B     1048576B                        primary
 8      4825546752B  4827643903B     2097152B                        primary
 4      4827643904B  2000398843903B  1995571200000B  ext4            primary


Model: ATA WDC WD20EFRX-68E (scsi)
Disk /dev/sda: 243201,80,62
Sector size (logical/physical): 512B/4096B
BIOS cylinder,head,sector geometry: 243201,255,63.  Each cylinder is 8225kB.
Partition Table: gpt

Number  Start       End           File system     Name     Flags
 3      1,232,39    64,63,62      linux-swap(v1)  primary
 1      64,64,0     313,56,62     ext3            primary  raid
 2      313,57,0    562,49,62     ext3            primary  raid
 5      562,50,0    574,78,15                     primary
 6      574,78,16   586,139,0                     primary
 7      586,139,1   586,171,32                    primary
 8      586,171,33  586,236,33                    primary
 4      586,236,34  243201,78,12  ext4            primary



 cat /proc/partitions 
major minor  #blocks  name

   8        0 1953514584 sda
   8        1    1999872 sda1
   8        2    1999872 sda2
   8        3     500736 sda3
   8        4 1948800000 sda4
   8        5      97280 sda5
   8        6      98304 sda6
   8        7       1024 sda7
   8        8       2048 sda8
   9        1    1999808 md1

SoftWare :

Moders

Official position about any of changes in software an firmware:

Modification of or tampering with the product, including but not limited to any Open Source Software, is solely at Your own risk. Western Digital is not responsible for any such modification or tampering. Western Digital will not support any product in which You have or have attempted to modify the software or hardware supplied by Western Digital.

Random notes, as suggested you can use cron to test stuff (ie do the job after a timeout or revert to original after an other timeout )

OpenSource

That's very nice from WD , thanks for doing it after all that's the FlosS way to do it

Check the version you use ie :

WDMyCloud:~# cat /etc/version
04.01.02-417
WDMyCloud:~# cat /proc/version 
Linux version 3.2.26 (buildmeister@ubuntu) (gcc version 4.7.3 20130102 (prerelease) (crosstool-NG linaro-1.13.1+bzr - Linaro GCC 2013.01) ) #1 SMP Tue Jun 17 15:53:22 PDT 2014 wd-2.2-rel
WDMyCloud:~# cat /etc/os-release 
PRETTY_NAME="Debian GNU/Linux 7 (wheezy)"

WD Provides GPL sourcecodes for:

  • Barebox v2011.06.0 (Bootloader. Something like “BIOS” in PC's)
  • Kernel 3.2.26 + Pfe module + Comcerto modifications
  • Samba v4.0.0
  • Forked-daapd v0.19
  • Jquery timezone plugin v1.0 (Only for web UI)
  • Libav v0.8.13 (For twonky and, maybe, WD's thumbnail generator)
  • Libupnp v1.6.6
  • Netatalk v3.0.8(Apple Talk protocol support)
  • Taglib v1.9.1 (File metainfo and id3 tags support for Twonky)

BootLoader

BareBox is the installed BootLoader, it's also OpenSource : http://www.barebox.org/

Login

To log in you need to setup an UarT ConsolE.

TFtp BooT

#define WD_ICMP_ENCODE_MSG "WD-ICMP-BEACON" 

echo "WD-ICMP-BEACON" | xxd
0000000: 5744 2d49 434d 502d 4245 4143 4f4e 0a    WD-ICMP-BEACON.

Misc

FIRMWARE

versions

[    0.000000] Booting Linux on physical CPU 0
[    0.000000] Linux version 3.2.26 (root@steveh-ubuntu) (gcc version 4.7.3 20130102 (prerelease) (crosstool-NG linaro-1.13.1+bzr - 
Linaro GCC 2013.01) ) #1 SMP Thu Jul 9 11:14:15 PDT 2015 wd-2.4-rel
[    0.000000] CPU: ARMv7 Processor [412fc091] revision 1 (ARMv7), cr=10c53c7d
[    0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT nonaliasing instruction cache
[    0.000000] Machine: Comcerto 2000 EVM

Enable SsH :

http://$host/api/2.1/rest/local_login?username=YOURUSERNAME&password=CRIPTEDPASSWORD
http://xxx.xxx.xxx.xxx/api/2.1/rest/ssh_configuration?enablessh=true

pkg

  • wdnotifier-sq64k - file-system event notifiers designed for the dynamic drive architecture
  • wdmpserver-sq64k-release - This is the MediaCrawler component for cataloging and indexing all metadata for content
  • wd-lib - WD library functions
  • itunes - WD Itunes server wrapper component
  • wd-nas - Core WD NAS functions
dpkg-query  -W  -f '${binary:Package} -  ${Description} | ${Maintainer}\n' | grep wdc.com | cut -d'|' -f1
afp -  Afp service configuration - netatalk 
alerts -  WD alert definition and scripts 
apache-php-webdav -  Apache, php, webdav, with WD configuration 
bonjour -  Bonjour (mDNSResponder) service 
data-volume-config -  This add RAID support to user data 
date-time -  date-time handling 
drive-lib -  Drive mounting, locking (encryption), standby timer, eject, PTP/MTP drive support 
ftp -  Holds the ftp 
itunes -  WD Itunes server wrapper component 
kernel-mindspeed-sequoia -  Kernel binaries 
nas-safepoint -  This is safepoint 
networking-general -  WD networking component (bali) 
nfs -  Nfs file sharing 
paragon-ufsd -  Paragon ufsd (NTFS/HFS+/J file system driver) 
smb-file -  SMB implementation. currently using Samba 
strings -  localization strings 
upnp-nas -  Universal Plug and Play, with Microsoft Rally support (lld2d) 
wd-lib -  WD library functions 
wd-nas -  Core WD NAS functions 



dpkg-query  -W  -f '${binary:Package}  | ${Maintainer}\n'  | grep -v '@'
admin-rest-api
comm-manager-armhf-release-64k-pagesize
dlna-server-twonky
map-drive
ramlog
ui
wdmpserver-sq64k-release
wdnotifier-sq64k


WDMyCloud:/tmp# #dpkg  -L ui  # /var/www/htdocs/index.html

Linux

Linux

Debian

MISC

OMV

grab AutoInstall.zip

https://drive.google.com/folderview?id=0B_6OlQ_H0PxVUENWT2UwQTIyb2s&usp=drive_web&tid=0B_6OlQ_H0PxVRXF4aFpYS2dzMEE

http://homenas.ru/forum/viewtopic.php?f=5&t=351

WDMyCloud:/DataVolume# bash -x install.sh # TODO time ?

will reboot

ssh again root:mycloud

root@MyCloud:~# uname -a
Linux MyCloud 3.2.68 #7 SMP Wed Apr 1 18:37:42 UTC 2015 armv7l GNU/Linux

TODO: apt-get install etckeeper 

root@MyCloud:~# bash -x /run_me_after_reboot.sh 

reboot

dpkg-reconfigure tzdata
sudo apt-get install localepurge


http://$host/index.php


omv-firstaid # change admin password


http://$host/index.php

mount /dev/sda4  from gui

ie:

/dev/sda4       33827620  180560  32959712   1% /media/57d6cf45-8bb6-4fb3-8421-a06fdeedce48

ERRORS

Reading Configuration Information

MISC

MORE

@TaG: wd NaS BooT

<iframe width="560" height="315" src="https://www.youtube.com/embed/vizVO6eS5Ks" frameborder="0" allowfullscreen></iframe>

barebox.txt · Last modified: 2022/10/25 04:58 by rzr
 
Except where otherwise noted, content on this wiki is licensed under the following license: CC Attribution-Share Alike 3.0 Unported
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki