Gadgets Under Construction https://tomatosoft.hu/gadgets/ Tinkering away Sat, 24 Dec 2016 08:05:00 +0100 en-US hourly 1 https://wordpress.org/?v=5.3 Happy holidays and thanks for all the fish happy-holidays-thanks-fish/ happy-holidays-thanks-fish/#comments Sat, 24 Dec 2016 08:05:00 +0000 ?p=375 Let’s start with the (obvious) bad news: the Buffalo + Plex project officially ended. The new release was dragging for months, there were no updates on the website and I couldn’t even get the time to go through and approve the comments in the past 6 months. Although I promised an update in 2016, now that I put some time aside to finish it (there was only one web refresh bug lingering), I realized that so much time had passed that I’m working on a dead project. Here are the technical and personal reasons why this project had to close.

Lack of time

Everyone noticed the lack of updates. Partly it’s my family, partly my new job and partly that I wanted to get into other projects. If any other projects become mature enough I’ll share them.

Plex does not support ARMv5 any more

There is no binary to download from the site that would work with the Linkstation Pro Duo (this project’s target). The Synology package that I used to use is now only compatible with ARMv7.

I do not own a Linkstation 200 or 400 series NAS…

…and I’m not planning to buy one in the near future. The new series use ARMv7 so if anyone is up to the task, it should be possible to hack it.

Net7 offered to send me one. I am really grateful for the offer but with my limited time, it wouldn’t be fair toward the community. I respectfully have to decline that offer for the near future.

The Archive page on Plex.tv does not exist any more

The archive page (https://plex.tv/downloads/1/archive if I recall correctly) does not work any more because of the page redesign. This page contained details about each release and it was used by the upcoming firmware to check for any new releases. The firmware sent you a notification message on the admin interface if a new version of Plex was released (and also blinked the Linkstation’s lights). You were then able to go the the update page where you could read details about the update and push a button to apply it on the Linkstation. I could not fix a bug that refreshed the page automatically when you pushed the button. If you manually refreshed the page, it showed you the update process and at the end it started the new version.

Although we could’ve lived without the details of the latest Plex release, without the archive page I can’t even download the latest ARMv5 compatible Synology package to create a “final” firmware.

The original BuffaloTech firmware was not updated for over a year

Buffalo must have dropped this device from its support. This year we had more security-related incidents (including an all-out IoT attack on the Internet) that might affect the Buffalo Linkstation devices too. I can’t point out any specific CVEs right now, but I’m pretty sure, a firmware security update is due. (The OpenSSL version is getting old, for example.) I can’t with good conscience tell anyone to use the Linkstation Pro Duo on the Internet any more.

The libraries in the firmware are getting out of sync

This is also a sign of aging: the v1.69 firmware had a consistent library set that was fully compatible with the OpenWRT or Unslung repositories. Adding any features were a piece of cake. When Buffalo introduced the v1.70 and v1.71 updates, things got a bit more complicated. To fix the Bash and OpenSSL bugs they had to upgrade OpenSSL (and Bash) to a newer version. The newer versions required newer libraries and other components could depend on the old libraries. I’m pretty sure they had a few sleepless nights before they figured out how to add new versions of the libraries but keep the majority of the firmware intact.

I ran into the same problem with the newer versions of Plex. As you were able to see the firmware started getting bigger. With Plex included I had to add the Plex-specifc libraries separately into the firmware and separate the Plex binaries from the rest of the system so they can coexist. Transmission stopped working for similar reasons: I couldn’t find the correct versions of all the necessary libraries and package them with Transmission.

Right now the best method would be to completely recompile all libraries and executables within the firmware, so you get a huge update on everything. If you’re already messing it up, why not also port the web interface from a newer (Linkstation CS) device to the Linkstation Pro Duo so you get a nicer interface. I think it’s pretty clear that the firmware is just way too old at this point.

Now what?

If you own and operate a Linkstation Pro Duo or similar device, you do it at your own risk. It doesn’t matter if you are using one of the Buffalo+Plex firmwares or the BuffaloTech firmware, the device is not on sale any more and Buffalo support is dubious.

If you plan to buy a new device in the near future, try considering your use-cases.

  • If you just want to store stuff, you might want to consider cloud storage. I couldn’t fill my 15Gb OneDrive storage, although you get 1Tb with them if you pay for an Exchange account. Hubic.com gives you 25Gb storage for free. If you want to keep your files secure and you don’t trust the cloud, you could still look at crashplan.com, you encrypt your files before you upload them to their site and they provide unlimited disk space. I’m not going to give more ideas, everyone knows a ton of file-hosting services.
  • If you have PlexPass, you can also wait for their Cloud offering and buy some storage with a Plex-compatible vendor. (They just announced that they don’t support Amazon S3 for now.)
  • If you want to store files in your home, an old PC or laptop could do it too, you don’t necessarily need to buy new hardware for that. My cousin stores his media on an old laptop that’s running 24/7. He even attached a 1Tb USB drive for movies. I don’t even need to say that he runs Plex on it and the Plex client is built into his TV.
  • If you want speed or redundancy with your setup, an old PC could still do it. (Old laptops don’t usually have multiple hard-drives and the ones built-in are slow.) If you have Linux, it’s not hard to set up a software RAID solution (the Linkstation does that too). I think Windows is a bit trickier, but their dynamic volumes might be good for RAID0. If you need RAID1, you might need to trick Windows into syncing your files over or buy a cheap RAID controller.
  • If you also want small size and less noise, you could look into buying some of the small form-factor PCs: Intel NUC, MacMini, etc. I have a 2010 Mac Mini and I’m contemplating changing the 2x500Gb hard drive into SSDs. (Maybe one 128Gb SSD and one 1Tb hard drive so I have space too.) The Mac is also perfectly fine to run Plex.
  • Finally, if you are hell-bent on buying a new NAS, go to the Plex site and check out their compatibility page. Not many NAS will give you transcoding so it’s only worth it if you use Plex on your TVs only. iOS, Android or Roku is out of the question in this case.

No matter what you choose, I’m sure you’ll better be off than with the old Buffalo+Plex firmware. It wasn’t a bad solution while it lasted but it’s time to move on. I’m going to release the comments I’ve received but I’m not going to address Buffalo-related questions. Feel free to talk things over among each other on the Plex forums, I see that some people still help out there. The links to downloads will be removed and the site might be archived sometime in 2017.

Happy holidays to all of you and thank you for the support that I received over the years for the project.

Regards,

GaryT

“I ATE’NT IS PROBLY DEAD”

]]>
happy-holidays-thanks-fish/feed/ 8
YAP – Yet Another uPdate yap-yet-another-update/ yap-yet-another-update/#comments Wed, 27 Apr 2016 23:16:27 +0000 ?p=369 In the past few days the website was down. The reason was that I upgraded the engine of the site but a plugin that displays the front page was not updated. Eventually the graphic designer who originally created the site, helped me.

I had to choose if I develop the new firmware in my free time or if I fix the site and I chose to develop instead. (Who cares about websites anyhow. :))

On that note, I found a very interesting debug option in the firmware. (Maybe others knew it already, but I just came across it.) If you press CTRL-ALT-SHIFT-D on the firmware update page (CONTROL-OPTION-SHIFT-D on Macs), a window pops up where you can set a custom URL for a firmware update. This would’ve been very useful when I was developing the automated firmware updates. The link should point to a custom XML file that contains details of the new firmware so it’s not really useful for regular users. I might be able to repurpose this for PlexPass updates…

A second note is that most probably Plex Media Server downgrades will not be supported by the Linkstation. The reason is that during an upgrade the internal Plex Media Server database schema is also updated which makes it impossible for older versions to read it. You have to remove the Plex Media Server database after a downgrade and start from a fresh empty database – you lose all your metadata including your library setup. That’s not something a regular user would want.

That’s it for today, stay tuned.

]]>
yap-yet-another-update/feed/ 25
Status update status-update/ status-update/#comments Thu, 21 Apr 2016 03:15:11 +0000 ?p=366 Hi everyone,

A quick status update on a few things:

Firmware:

I’ve been working on a new firmware version. I’ve only wrecked my Linkstation twice so far, but it’s not the end of the development yet. (LOL)

It’s nothing serious, just the new script that’s supposed to tell you when a new Plex version is available had a bug and moved my /lib folder into the Plex root, which left the poor Linkstation in a broken state. It’s fixed now. All hail QA testing. 🙂

New features:

  • There will be a new version of Plex. (obviously)
  • SSH will be enabled for the LS-CHL NAS. (Huge apology for the owners out there, this is my bad.)
  • There will be a special maintenance option to upgrade Plex only. – The Linkstation should tell you that there’s a new release but I’ll write details when it’s ready.
  • I haven’t decided what to do with the transmission issue on 1.71 yet. It needs more troubleshooting and I’m not sure if I want to delay a firmware for that. Maybe another 1.69/1.71 release…

ETA is “sometime soon”. Based on the amount of time I have and the features listed, I’d say it needs another week or two at least.

The blog

For some reason I wasn’t receiving e-mails when someone wrote a comment to the blog, so I just approved them now. Thanks everyone for the encouragement, I really appreciate every feedback.

I want to share Chris’s story. He said his comment doesn’t need to be published but the take-away is worth mentioning. He was troubleshooting NFS connectivity on the Linkstation for 3 hours before he noticed that he put the Linkstation’s IP address into the “Network address” field on the NFS page. So, be aware: if your NAS has the IP 192.168.1.1, make sure to put 192.168.1.0 at the “Network address” field so the NFS server allows connections from all machines on the 192.168.1.x subnet. (Provided that you left the subnet mask as 255.255.255.0.)

 The firmware downloads

I noticed that some of the firmware is not available directly from pCloud any more – they ask you to create an account and login. The reason stated is that they have high download traffic – I guess this is their way of getting more users.

pCloud is a decent cloud file-sharing solution, feel free to create an account on their site, it’s free with 10GB of disk space. If you worry about your identity too much (or you don’t want to remember yet another password), I’ll try to look into alternatives to host the firmwares but I want to keep it somewhere ad-free and easily accessible. (I guess you are also tired of download sites with a trillion “download” buttons…) Ideas are welcome in the comments.

That’s it for now, I’ll get back to ExtJS country so there’s another button on the admin page of the next firmware.

Regards,

GaryT

]]>
status-update/feed/ 6
Life sign life-sign/ life-sign/#comments Thu, 17 Mar 2016 04:42:23 +0000 ?p=362 I aten't dead

Today I unpacked a box in my new home and my Buffalo Linkstation was looking at me like a long lost friend. This is about the 20th box out of 50 so I’m still not done, but the Linkstation is happily humming next to my router.

So, the good news is that I’m done traveling, I found a job and my family is making themselves comfortable in our new home. I owe a lot of answers to a great amount of people and I owe everyone a new and improved version of the Buffalo Linkstation custom firmware. I’ll get to it now, check back in a couple of days.

Apologies for the Christmas season last year, I know I made a lot of people unhappy by not updating on time. Apple just released their new Apple TV and Plex updated their server to make it compatible but I was all around the place and it was just impossible to do anything about it. The big lesson for me is that I need to create a version of the firmware that can update parts of itself without me introducing anything. That’s what I’m going to work on now.

On a different note, I visited multiple countries in Europe, I’ve been to the west coast of the US for a few days and I made about 2000kms (~1200miles) in Canada with different trucks. I enjoyed every moment of it and now it’s great to be settled again.

Esmeralda‘s cardboard sign is from Jo Eberhardt‘s blog.

All the best!

GaryT

 

]]>
life-sign/feed/ 7
Heiwa / Peace update how-to-be-an-early-adopter/ how-to-be-an-early-adopter/#comments Sun, 06 Dec 2015 23:36:56 +0000 ?p=359 Thomas left a message and it seems that the Heiwa/Peace firmware works on his LS-XL, although since the device is too slow for Plex, he could only confirm the integrity of the firmware.

It’s a good start but I’m still waiting for more feedback to confirm that everything is fine with this firmware. So far no issues were reported which is also a good sign.

If you have a spare hard drive, please try installing this firmware by removing your hard drives (to make sure your data is safe) and inserting the spare hard drive, then flashing the firmware. A lot of people would like to use Plex for Christmas and the latest Plex is compatible with the new Apple TV too.

If you decide to upgrade the firmware with a spare hard drive, you have to make sure it doesn’t contain partitions and that you can change the IP address of your PC. You can find the details to install a Linkstation with a blank hard drive here.

Regards,

GaryT

]]>
how-to-be-an-early-adopter/feed/ 27
Testing Buffalo+Plex firmware 1.71-3.67 Heiwa / Early adopters needed buffaloplex-firmware-1-71-3-67-heiwa-testing/ buffaloplex-firmware-1-71-3-67-heiwa-testing/#comments Wed, 02 Dec 2015 00:37:10 +0000 ?p=352 It’s not easy to create a firmware without an actual Linkstation device. In the past year I documented (and automated) firmware creation for my Linkstation so it’s worth a shot. Especially because so many people want the newest version of Plex. Download the latest “testing” version of the custom firmware at the bottom of this post.

BE ADVISED: there was no testing done with this firmware on an actual Linkstation device. Update to this firmware ONLY if you really-really want the newest Plex version (for example you bought an Apple TV 4) and you know what you’re doing. (Ask yourself: do I know how to unbrick my NAS?)

If I get positive feedback, I’ll make a production release. Also there’s no Mac release for this one until it’s production ready. Auto-update will stay on the “Halloween” release for now.

Changes in this version:

  • Plex Media Server was upgraded to 0.9.12.19
  • update-plex script integrated for testing purposes (just run it from the SSH command-line, it’s in the path. No GUI for now.)

One more caveat: I don’t have access to my regular Linux virtual machine so I built one in the cloud. My original virtual machine is a CentOS machine but the cloud one is Ubuntu. I had to fix some of my scripts to be compatible with Ubuntu. It seems to work fine, but please, PLEASE do proper testing on this release, not just a Plex version check.

There’s a v1.69 based version for the people with troubled Transmission and a v1.71 version for everyone else:

Download v1.71-Heiwa for Windows   Download v1.69-Peace for Windows

“Heiwa” means “Peace” in Japanese. For me, all celebrations in December are about peace, love and family, regardless of the holiday. I wish everyone peaceful holidays.

 

 

]]>
buffaloplex-firmware-1-71-3-67-heiwa-testing/feed/ 19
Plex updater / Hackers needed plex-updater-hackers-needed/ plex-updater-hackers-needed/#comments Tue, 24 Nov 2015 01:08:22 +0000 ?p=344 IMPORTANT UPDATE: the script had a bug, that was just fixed. If you already downloaded it (on the day when this post was originally released), please download it again.

Hi Hackers,

In the comment section a few people voiced the idea that the Plex Media Server should be updateable without re-flashing the whole firmware. That’s an excellent idea.

Since I’m still travelling I can’t build a full-blown firmware for this (I can’t do any testing without my loyal Linkstation LS-WVL) but I can share the “engine” that’s going to do the heavy-lifting.

If you know how to use SSH on your Linkstation, please try to run this script and report back with the result. If it works, I can try to implement it on the web interface and we could ship it to all users. (As soon as I can get to my device.)

Still no news on LS400/420 support. I know people would like it very much but I just can’t match my time, location and the location of an LS400 yet.

Here’s how you can run the script:

  • Log in to your Linkstation through SSH
  • Run the following commmand (as one line) to download the script:
    • wget --no-check-certificate https://raw.githubusercontent.com/GaryTomato/buffaloplex/master/resources/additions/test/usr/local/sbin/update-plex
  • Run the script:
    • sh update-plex

Check the output. It should download and install the latest public Plex Media Server version onto the Linkstation, using the Synology package. It will ask you to restart the Plex Media Server service. You can do that from the command-line or from the web interface.

If it doesn’t seem to work, please do the following:

  • Copy all output to a text file and send it to me. (In the comment section or e-mail. You can guess my address from “my name at my domain”.)
  • Try to run the last command with a specific version of the Plex Media Server, like this: (as one line)
    • sh update-plex https://downloads.plex.tv/plex-media-server/0.9.12.19.1537-f38ac80/PlexMediaServer-0.9.12.19.1537-f38ac80-arm.spk
  • If that didn’t work either, copy that output too and send it to me.

If it works on first try and you have a PlexPass, now you can upgrade your server to PlexPass versions too. You just need to go to the Plex archive (after logging in) and get the link for the Synology ARM package for the specific version you want to install.

Please send feedback regardless, for everyone’s benefit.

GaryT

]]>
plex-updater-hackers-needed/feed/ 26
Buffalo+Plex firmware 1.71-3.66 Halloween released buffaloplex-firmware-1-71-3-66-halloween-released/ buffaloplex-firmware-1-71-3-66-halloween-released/#comments Mon, 19 Oct 2015 18:02:24 +0000 ?p=338 A minor update for the North American celebration of Halloween. The European version of this holiday is much more serious but not without its charm: on the 1st of November (all saints’ day), people visit their passed ones’ graves and leave flowers and light candles. Graveyards look the most amazing on that night and there’s nothing spooky about it. It makes you wonder about past events and people and the shortness of life. I think it’s a beautiful celebration of the past.

I have nothing against kids in costumes either, I’m a huge Amazing Spider-Man fan myself. (The original comics.) Here’s what’s been updated:

  • Minor Plex update: v0.9.12.13
  • Recompiled transmission with OpenSSL 0.9.8ze
  • Deployed through the Buffalo auto-update channel (will be available for separate download by the end of the day)

This version will show up on your admin screen when you log in to the web interface. (For the 732 users who downloaded Andimaginary before. The rest of you will need to download it from the project page.) The recompiled transmission is “more” compatible with the Buffalo 1.71 firmware, but there were still issues reported. If transmission worked for you in the Andimaginary (previous) version of the firmware, this will work too. If it didn’t work, look below for a workaround.

What if transmission doesn’t work for me?

If transmission quits unexpectedly, there’s one workaround for now. I’ve recompiled the v1.69 firmware from Buffalo with the additions (Plex, transmission, etc) and I’m releasing it here under the name “Mapuo”. Mapuo helped me troubleshoot the issue the most.

So, Mapuo version differences compared to Halloween:

  • Buffalo Linkstation firmware v1.69 instead of v1.71
  • no other differences

Please note that v1.69 has security issues so make sure you only install this firmware if you are using your Buffalo Linkstation in a secure environment, like an internal network with firewall. Do not open up your web interface or your SSH to the Internet.

Download v1.69-Mapuo for Windows   Download v1.69-Mapuo for Mac

The Halloween release is on the project page as usual.

Shameless plug

I’m going to be travelling for a while and I’m looking for a job in Toronto, Canada. If anyone needs a versatile IT guy (ASP.Net, scripting in PowerShell and BASH, Windows Engineering, Linux engineering), leave a note and I’ll contact you. (I’m still a bit shy about my identity.)

On a different note I’m planning to reach out to BuffaloTech to give them a bit of feedback on their product. I hope they take it to heart, it would be great to see a Media Center NAS in the future. I want to come clean with the licensing of their firmware too, although my current experience tells me that we’re not breaking any laws by creating this custom firmware, I’d like a nod from them so we are all on the same page.

]]>
buffaloplex-firmware-1-71-3-66-halloween-released/feed/ 57
Break-fix test / Hackers needed break-fix-test-hackers-needed/ break-fix-test-hackers-needed/#comments Fri, 02 Oct 2015 14:36:52 +0000 ?p=326 Hello Hackers,

I’ve recompiled both versions of transmission for the Buffalo v1.71 libraries. This means it’s not supposed to SEGFAULT on the firmware anymore. I haven’t packaged it yet because I need testers to confirm that the issue is resolved. (I still can’t reproduce it.)

This is some advanced testing so if you are not sure of your linux skills please stay tuned for the packaged version soon.

Prerequisites:

  • You need to be able to use wget or scp or WinSCP to copy the files to your Buffalo. You will need basic Linux knowledge to understand what’s happening.
  • Have the “Andimaginary” version of the firmware installed.
  • Open SSH on port 2222 on your Buffalo Linkstation.

Setup steps:

  • Log on to your Buffalo Linkstation with SSH on port 2222 (stay in the /root folder)
  • Download the recompiled transmission binaries using wget:


/usr/bin/wget --no-check-certificate https://raw.githubusercontent.com/GaryTomato/buffaloplex/master/firmwares/transmission-2.77.tgz
/usr/bin/wget --no-check-certificate https://raw.githubusercontent.com/GaryTomato/buffaloplex/master/firmwares/transmission-2.84.tgz

  • (As an alternative you can download the links with your favorite browser and copy it onto the Linkstation using scp in Linux or WinSCP in Windows. Put them in /root. )
  • Remove the old transmission binaries


rm -r /usr/local/transmission/latest/bin
rm -r /usr/local/transmission/latest/share
rm -r /usr/local/transmission/stable/bin
rm -r /usr/local/transmission/stable/share

  • Unzip the new versions


tar -xvzf transmission-2.77.tgz -C /usr/local/transmission/stable
tar -xvzf transmission-2.84.tgz -C /usr/local/transmission/latest

  • Restart transmission from the web interface or using


/etc/init.d/transmission.sh stop
/etc/init.d/transmission.sh start

There you have it. Check your web interface and please send me feedback if the new transmission binaries fixed the issue. If not, we’ll have to revert back to older versions of the Buffalo firmware which I’d rather not do for security reasons.

 

So, what’s new?

These binaries were rebuilt with the exact same dependent libraries that are installed on the v1.71 version of the Buffalo firmware. Namely it is now built with OpenSSL 0.9.8ze. The older firmwares (v1.69) were built with OpenSSL 0.9.8v and I suspect that the issue is that I built transmission with that in the previous release. Zlib is also reverted to v1.2.3 and libcurl to v7.19.6 which are quite old versions but I wanted to make sure transmission uses the exact same libraries that the firmware has.

I hope this helps, please send feedback as soon as possible so I can get a new release together.

– GaryT

]]>
break-fix-test-hackers-needed/feed/ 4
Transmission problems / hackers needed transmission-problems-hackers-needed/ transmission-problems-hackers-needed/#comments Fri, 18 Sep 2015 02:56:28 +0000 ?p=323 A few users reported that Transmission stops working for no apparent reason on the latest firmware. (Andimaginary) The possible cause is that Buffalo changed around some of its libraries in the latest firmware and I had to complie the transmission client from scratch for this. It’s possible that the libraries I built it with are not exactly the same version that Buffalo uses and this causes issues.

I’ll try to recompile transmission with the same libraries Buffalo use but I need some time to do it. Until then the workaround is to reset your transmission config files and downloads to default state (remove/rename your settings.json, remove some of your torrent files) and generally play around with the transmission settings and files. For example check if you have any trackers with HTTPS or any SSL encrypted connections, see if a specific torrent crashes it or maybe the number of torrent files. You can also revert to the built-in torrent client. (with limited functionality)

I need the feedback on your tinkering because I was not able to recreate the issue (transmission didn’t quit on me) and so far none of the remote debugging yielded any results.

]]>
transmission-problems-hackers-needed/feed/ 2