Jump to content

My Passport Wireless Pro support.


theideaofit

Recommended Posts

theideaofit

Does anyone have any experience with the my WD my Passport Pro Wireless?  It comes with Plex and Twonky installed.  Is there a way to run Emby on it instead?  I have searched and searched and can't find anything.  As it typically goes I don't have the tech skills to be the first either.  Plex feels like cheating.  Even my kids said, "PLEX?????...Why not Emby?

 

 

Thanks

Link to post
Share on other sites
  • 4 weeks later...
  • 2 months later...
  • 3 weeks later...

I have a bit of programming background, especially with C progamming, and also some Linux admin knowledge.

Is it very hard to port Emby server to a new, Linux-based, server?

What is required?

Is this something that you think a person like myself would be able to do?

 

-- Hans-Göran

Link to post
Share on other sites

It's more of a challenge of build and packaging rather than development.

 

What is the CPU on these, is it 64-bit?

Link to post
Share on other sites

So this is Arm. The question is whether it's armel or armhf because that tell us if we can build the .net core runtime for it. I'll see what i can find. Thanks.

Link to post
Share on other sites

So this is what I have found out about the hardware:

 

 

​And about Cortex-A7:

 

 

The ARM Cortex-A7 MPCore is a 32-bit microprocessor core licensed by ARM Holdings implementing the ARMv7-A architecture announced in 2011.

 

Key features of the Cortex-A7 core are:

However, the Realtek component inside the WD Passport Wireless Pro seem to run at 1.1 GHz.

 

And:

 

The Cortex-A7 MPCore processor implements the ARMv7-A architecture profile

 

Hope this helps!

 

//Hans-Göran

Link to post
Share on other sites

I did some investigations on the software side of things.

WD My Passport Wireless Pro seem to run a version of Linaro Linux. Link here.

 

I have a second NAS used only for off-site backups. It's a Synology DS115j. It happens to have an ARM7-based SoC too, however this one is single core only, and the DS115j only has 256MB of RAM, so it should be a lot less powerful than the WD. 

So just to try if Emby would run on this very low-powered NAS (DS115j), I installed it and ran it.

It appears to be running well even with these very limited resources. Control-panel of the server seem snappy. Direct-play of 480p content works well.

However, it is not even trying to play 1080p content @13Mbps, not even after disabling transcoding. (It has no hardware support for transcoding of course). (I tried this both from my company LAN using Windows/Edge, and from my phone using Android 9, Emby 3.x).

 

So, my early conclusion would be that a WD My Passport Wireless Pro would indeed have enough hardware resources to run Emby server.

 

I also found a guy that had ported Squeezeboxserver to this environment by creating a chrooted environment and downloading parts of Debian.

 

I guess we wouldn't have to go that route though.

Link to post
Share on other sites

However, it is not even trying to play 1080p content @13Mbps, not even after disabling transcoding. (It has no hardware support for transcoding of course). (I tried this both from my company LAN using Windows/Edge, and from my phone using Android 9, Emby 3.x).

 

It does try, but the browser probably just cannot play it due to limited format support.

Link to post
Share on other sites

Yes, you are right, @@Luke, when I got home I tried playing that movie on my Mac, and then it worked (sort of).

I am saying sort of, because it pauses every few seconds.

Nevertheless, I think we could make it work on the WD My Passport Wireless Pro, don't you?

Link to post
Share on other sites

Well if it does actually support floating point then it might be possible to compile the .net core runtime for this. We'll add this to our list for research. It may take a little while though as our build developer is currently a little backed up. Thanks.

Link to post
Share on other sites

Well if it does actually support floating point then it might be possible to compile the .net core runtime for this. We'll add this to our list for research. It may take a little while though as our build developer is currently a little backed up. Thanks.

 

Just let me know if I can do some of that research for you. I will try to set up a Debian environment on the device today and see how far that would take me.

 

Edit: Stumbled upon some difficulties that I did not manage to overcome. My ambition was to install Debian in a chrooted environment on the hard-drive of the Passport Wireless Pro, but this turned out to be too difficult for me.

I may try to install it on a USB drive instead, if I can only work out how to boot the PWP from USB...

Edited by hgpuke
Link to post
Share on other sites
theideaofit

It is great to see some others with more tech skills than me asking questions about it. I really appreciate y’alls time and knowledge. It’s a cool little device our family loves when we travel.

 

Luke, we all understand with 4.0 rolled out everyone is busy. Thanks for keeping this little niche of Emby in mind.

Link to post
Share on other sites

So here is a status-update of my endeavours with the WD My Passport Wireless Pro (from now on referred to as WDMPWP), in case someone wants to pick up from where I left, or if someone, e g @@Luke has a suggestion on how to procede.

 

First attempt: Install Debian on the device in a folder to chroot to. Use debootstrap.

Results: The utility debootstrap can be used to bootstrap a Debian system into a foreign system. However, it assumes to many things about the underlying system, e g that there is a perl interpreter in place, that tar is a fully-fledged version that knows how to handle various forms of compression etc (whereas in the WDMPWP, tar is only the limited Busybox version). So after finding and installing some of the required dependencies, I gave up, since debootstrap had too many dependencies that where unfulfilled.

 

Second attempt: Install Debian on the device in a folder to chroot to. Use cdebootstrap.

In an attempt to overcome the dependencies of debootstrap, I tried a compiled version of it called cdebootstrap. But this version also had dependencies of some libraries (.so files) that where not available on the WDMPWP. So I had to give up on that one too.

 

Third attempt: Install Debian on the device in a folder to chroot to. Use cdebootstrap-static.

Now this version of cdebootstrap is statically linked and should have no dependencies on libraries being available. That sounded reassuring! And it started out quite well, downloading, configuring and installing, but at one point, it tries to link a binary from the installation directory (which is on the hard-drive) to /usr/bin (which is on the flash-memory) and that fails, because it tries to do a ​hard link​ between two different drives, and that does of course not work. Instead they should have made a symbolic link! So, the person(s) making this utility made a mistake assuming that the installation directory is on the same volume/hard drive as /usr/bin which in our case is not true. How sad! I even tried to move the installation directory to /tmp (which is also on the flash drive), but then I ran out of space (the flash drive is only 8MB in size). So still no luck!

 

Forth attempt: Try to install existing emby-server package for armhf architecture.

Result: I don't know why I didn't try this first, but here it goes. The Linux on WDMPWP includes the Debian package manager dpkg. So I tried to just dpkg -i name-of-emby-server-package.deb. First attempt failed due to the utility ldconfig missing. Normally installed in /sbin. So I found an ldconfig compiled for armhf from Debians reposotories and installed it. Seems to work. Second attempt with dpkg -i failed with the following error message: 

 

[root@MyPassport chroot]# cp ldconfig /sbin

[root@MyPassport chroot]# dpkg -i emby-server-deb_4.0.1.0_armhf.deb
Selecting previously unselected package emby-server.
(Reading database ... 0 files and directories currently installed.)
Unpacking emby-server (from emby-server-deb_4.0.1.0_armhf.deb) ...
dpkg: dependency problems prevent configuration of emby-server:
 emby-server depends on libc6 (>= 2.22); however:
  Package libc6 is not installed.
 emby-server depends on zlib1g (>= 1:1.1.4); however:
  Package zlib1g is not installed.
 
dpkg: error processing emby-server (--install):
 dependency problems - leaving unconfigured
Errors were encountered while processing:
 emby-server
 

 

 

So it seems that the libc library is too old to be used with emby-server. I don't know to which extent libc is generic or tied to a certain hardware board, so I don't know if it would be possible to just download a newer version of it from Debians repos or not. Also, emby-server seem to depend on zlib1g, which I don't know where to find.

 

Lessons learned along the way:

 

​1. The WDMPWP indeed runs binaries compiled for the armhf​ architecture.

2. It lacks some important utilities for a person trying to put new software in place.

​3. It runs a fairly old version of the Linux kernel (3.10.24).

4. It runs version 2.19 of libc.

4. Performance-wise it should be more than OK to run emby-server

​5. Emby-server is closed source. That does not help!

 

​I have also started to investigate how to install a cross-build environment on my other computers.

So far, I have had success on my Mac (and I will replicate this on my Windows machine) by installing VirtualBox and then Ubuntu 18.04 LTS in a guest vm. In that guest vm I have used "mk-sbuild" to create "a chroot" that can build and execute armhf binaries. I tried to run the emby-server for Linux with ARM in this environment, but it failed without providing me with a clue to why. (In this environment the ARM CPU is emulated on the host CPU (AMD64) by using qemu.)

 

​Questions to @@Luke:

1. Would it be possible to just "un-pack" the .deb armhf-package on a host-machine and install the resulting files in the appropriate directories on the WDMPWP and see if it runs? Or would you forsee any stumbling blocks in doing so?

​2. If #1 is not a viable path, would it be possible to get the source-tree and compile it in my "armhf-chroot environment under Ubuntu"? Can it be built using the standard GNU tool-chain?

​3. If #2 is not a viable path, how else can I help out to make this happen any time soon?

 

Thanks!

Edited by hgpuke
  • Like 1
Link to post
Share on other sites

That's interesting, thanks. Regarding your last questions, I don't know the answer to all of those, but once we start looking at this we will want to just do a dedicated wd package rather than using our general .Deb.

Link to post
Share on other sites
  • 6 months later...

I have the 4TB version of this drive and getting Emby on to it would be simply amazing! Since I stopped using Plex I've been been wondering if its worth using it anymore as its bulkier than a pure 4TB external drive could be for travel. Getting Emby on this would make me really happy! So, +1 I guess.

Edited by silkz
Link to post
Share on other sites
theideaofit

I tried using Plex on it. It works. I would just prefer consistency across all devices. We use the WD iOS app and just stream the files/movies directly. As our middle son learns to read better he can find movies easier in the app. If Emby was supported though all the meta data folders would work and be like watching at home with poster art. My 3 year old can find his shows with minimal

help in Emby. Not so on the WD app.

 

Side note that streaming directly from the app I have had 5 iPads and one phone, so 6 iOS devices, all streaming 6 separate movies with out any problems while testing. You could ff or rwd any of them and they would fairly quickly find there place and not effect the other streams.

 

My wife am I recently watched a movie on an airplane seated both in aisle seats across from each other streaming the same movie to our separate devices. We’d press play or pause at the same time to ”sync” relatively close to each other.

 

Super cool little device.

Link to post
Share on other sites

Yeah its a neat device. It has its limitations, I mean it cannot transcode anything so, with Plex, anything with subtitles or non-standard audio would not stream. It took WD almost a year to patch for the KRACK exploit and there has not been a single update since then (and it still has many bugs like it will not auto-connect to an SSID with any symbols).

 

Since I left Plex all I do is plug it into an AndrodTV box when I travel and use Kodi. The TWONKY DNLA server on the WD Passport works, but it chokes on remuxes (and I have updated most of my movie library to 4k remuxes now) so its for TV only and that is not very useful. Getting Emby on it would instantly make it worth having again though so I have high hopes for Luke to get on this :D.

Link to post
Share on other sites

This community package might work:

https://emby.media/community/index.php?/topic/70731-mono-version-of-emby-server/

 

But I haven't tested myself.

 

 

Thanks Luke! When I first looked through that I saw that it needs access to the WD "apps" tab which the WD Passport Wireless Pro cannot have (even with hacks I found on WD's forum when I first got it). I will take a look again.

Edited by silkz
Link to post
Share on other sites
  • 2 weeks later...
tafelpoowt

The Wireless Pro does not run the OS3 firmware stack.

You'll need to find a way to run the Emby C# based binaries/libs.

You need either mono or microsoft dotnet for that.

 

You might be able to tweak the binaries and launch scripts in my package to achieve this.

Be prepared to spend a several hours/days here...

 

Start with trying to show the mono --help.

  • Like 1
Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...