Resolve Port 1900 Conflict between Plex and Synology

I recently played around with a new Synology NAS and got the crazy idea to run Plex on the system, but from a Docker container (there may be a post about that soon). The setup process should have been simple. Most of the environment settings and port publishing were configured automatically. I just had to add a volume mapping to my media share. Except the Plex container would not start.

Docker can't start Plex.
Continue reading “Resolve Port 1900 Conflict between Plex and Synology”

The Compaq Support Software CD for Compaq Portable Products

While looking through spindles of software, I rediscovered an old CD called the Compaq Support Software CD for Compaq Portable Products. This disc was a fantastic CD to have in the 1990-2000s when my Internet connection was a 28K dial-up service. It contained drivers, utilities, firmware, and more for Compaq’s 90s laptops in an easy-to-use web browser interface. Several members of my family and I had LTE 5000 series laptops and used the CD to reload drivers and software after OS installs.

The Support Software CD is not as important as back in the 90s. But people in the retro PC community are always searching for computer restore or driver CDs. In addition, some hardware isn’t usable without the software contained on those discs. To do my part, I have created an ISO image of the CD and uploaded it to Archive.org. My hope is it will be preserved long after I’ve forgotten about the Compaq LTE laptops and associated CDs.

Have fun,
Tony

https://archive.org/details/compaq-support-software-cd-for-compaq-portable-products-v-98.07

Turn YouTube into a Podcast Feed

While watching some YouTube videos, I got the idea, “I wish I could listen to these as a podcast while driving.” Digital Foundry’s Direct Weekly was a perfect example of this until recently (they have a podcast version now). Another good example was Hardware Unboxed’s monthly Supporter Q&As. Of course, someone already had the same idea and wrote a program called Podsync to take YouTube channels or playlists and create RSS feeds for use with your preferred podcast player. What’s even better is the setup of Podsync is simple to set up and run on your own server or cloud provider.

Continue reading “Turn YouTube into a Podcast Feed”

Microsoft Endpoint Manager: A LouMug Presentation

This past November, I got the opportunity to present at the Louisville Microsoft Users Group. The topic this time was Microsoft Endpoint Manager, where I discussed the components of Endpoint Manager and how we are using the platform at work. The interaction from the audience was fantastic, with several people asking great questions and giving comments. A recording of the talk has been uploaded to YouTube for anyone who wants to watch. The slide deck is also available below, with embedded links to several resources.

Have fun,
Tony

Update Configuration Manager Application Content Locations

I had planned to write this excellent article about using PowerShell to update the content locations of all the applications in an SCCM environment. At work, we moved the source files to a new file server and needed to update 350+ deployment types. Of course, there were some challenges. The biggest is Configuration Manager’s PowerShell cmdlet to get deployment types doesn’t have an explicit property to list the content location. You can still get the information from the cmdlet, but it’s located in the XML data of the object. A PowerShell script to update the content location would have required parsing that XML to get the current location and using the Set-CMDemploymentType cmdlet to update the deployment with the new location.

As usual, someone already did a better job. Nickolaj Anderson from MSEndpointMgr.com wrote a great PowerShell tool with a GUI to help find and update applications. I recommend visiting his website to learn the details.

https://msendpointmgr.com/2017/02/23/configmgr-content-source-update-tool-version-1-0-2-released/

https://msendpointmgr.com/2015/08/26/configmgr-content-source-update-tool-1-0-0/

Have fun.
-Tony

Review of the Western Digital My Passport Wireless Pro

In 2019 purchased a Western Digital My Passport Wireless Pro external hard drive to take on trips so kids in the car could watch videos but not suck down all the data from the cell networks. It’s a cool device, sporting a regular 2.5″ laptop hard drive, 6400mAh battery that could be used to power the device while on the go or charge a USB device, and stream videos and music to devices using the built-in Plex Server. As you can guess, Plex was the main reason to get the device. I already ran a Plex Server in my home for video/music streaming and felt that would be a solution for carrying large amounts of videos without having to worry about filling up all the storage space of tablets or phones. I also happened to be going on a cruise that year where access to the Internet would cost up to $10 a day to get access to video streaming services.

Overall, I felt the Passport Wireless Pro was a useful device. It was easy and fast to load content onto the device using USB3. Setting up Plex was the same as any other platform, point the libraries to their respective folders, and allow the application to sync all the metadata. It wasn’t without issues, though.

  1. You need to be proactive and set up Plex to work without authentication. How-To Geek has a good article about this. Go into the Plex Server’s network settings and add “192.168.0.1/255.255.255.0” to the setting “List of IP addresses and networks that are allowed without auth.” Doing this allows apps and the web interface to work without going through Plex’s authentication servers.
  2. It can be unreliable sometimes. Changing the Passport’s optimization mode to “Battery Life” made Plex streaming stop working, so I recommend leaving it in “Performance” mode. Still, there are times when streaming to the Android apps doesn’t work. The web interface fairs better, but Chrome on Android has a stutter every few seconds. I am using an older tablet that’s causing the issue.

From a security perspective, the Passport Wireless Pro is not a well-maintained device. The drive was released in 2016 as a follow up to the original 2014 Passport Wireless. The information of the Linux distro has a build date of 2015. The kernel, 3.10.24, was released in 2013. Ezploit.cz has an article from August 2019 that lists some of the shortcomings. I’d recommend not connecting the Passport to networks you are not familiar with and configuring passwords for the local admin and root accounts.

I looked to see if it was possible to install the Emby media server onto the Passport and use it as an alternative to Plex. Sadly, I was stopped short by a lack of necessary dependencies in Linux. A few Emby community members tried alternate methods of getting Emby to run on the device, but that appears to have stalled out.

Anyway, I thought you would find this information useful if you’re thinking of grabbing a My Passport Pro.

Have fun.
-Tony

Super Simple Raspberry Pi Print Server

For a log time I’ve been network printing in my house to a small laser printer connected to my Linux Server.  This year I decided to move my server to the basement of the house, but didn’t want to relocate the printer from the office. The solution was to pickup a cheap Raspberry Pi 2 and set it up with the same settings as my primary server. Yes this is a waste of a perfectly functional Pi, but you have to make sacrifices sometime. Continue reading “Super Simple Raspberry Pi Print Server”

Syncthing for Linux PPC

I spend way too much time trying to get software not officially support on PowerPC computers running. My latest project is Syncthing. Started in 2013 by Jakob Borg, Syncthing is promoted as an “opensource alternative to proprietary decentralized file sharing services” [1]. The biggest competitor is BitTorrent’s Sync application. The premise for both applications is the same. You pick a folder on your computer or mobile device you want to share to device or user. The application generates cryptographic identifiers that are shared and used for securing traffic. With BitTorrent Sync the identifiers are shared when you start the process of sharing a folder. For Syncthing they are shared when connecting devices together. In the end the result of secure end-to-end communication is accomplished by both applications, jus the roads are a little different.

I’ve been using BTSync for the past year as a way to keep a copy of a KeePass file synced between my computers and my Nexus 5. My KeePass file is something I don’t want to keep up on a service like Google Drive since the cloud is outside of my control. LastPass is a great service, but again, passwords are stored in the cloud and I like control.

The developers of Syncthing are doing a great job of updating the product and releasing versions for the major desktop platforms. Third-party developers have also stepped up and adapted Syncthing to run on Android and support for iOS looks to be on the roadmap [2]. One missing platform, however, is Linux on PPC. I know the market share of for PPC systems is microscopic even if you factor in IBM’s Power line of servers, some of Synology’s NAS products, and the Air Force’s PS3 cluster [3]. That is why I’m still surprised that BitTorrent released a Sync client for Linux PPC until April 2015 [4].

Enough back-story, here is how I got Syncthing running.
Continue reading “Syncthing for Linux PPC”

Homemade NAS Box Redux

In 2012 I took my old PowerMac G4, slapped in a SATA card, some hard drives, and turned it into a server for storing media and computer backups. Then in 2013 I upgraded my MacBookPro to OS X 10.9 and lost the ability to do Time Machine backups to AFP shares from OS X 10.5. What to do, what to do? Solution: turn the PowerMac into a true server by running Linux. The results? Totally awesome.

Continue reading “Homemade NAS Box Redux”

Homemade NAS Box Part 3

Bittorrent Server

DISCLAIMER: Do not use file sharing to download copyrighted material.

Not much to say here. I installed μTorrent so that I would have a way to download media off bittorrent. Transmission was also a great choice for bittorrent client.

UPnP Server

The coolest thing I’ve did with this project was setup a UPnP media server. The concept was simple: music, pictures, and videos are stored on the server and shared over the UPnP network protocol. Devices, such as a PS3, can see the content on the server and play it without having to download and save locally. There are several commercial products available that allows you create a UPnP server including MediaLink, EyeConnect, and Twonky. Being the person who liked to take the hard route sometimes I decided to skip all of those and go straight to MediaTomb, the open source alternative.

  1. Install the XCode Development tools from Apple
  2. Download and install MacPorts
  3. Open a Terminal window and run all of the following commands as either “su” or “sudo”
  4. port selfupdate
  5. port install mediatomb
  6. Wait for MediaTomb and all of its dependencies to finish compiling
  7. Once compiling is complete you can start MediaTomb by running the command “mediatomb” (no su/sudo required)
  8. The output from the command will give you the web address to MediaTomb’s web interface. Using Safari or your browser of choice you can select what content you share with your media devices

For my setup I wanted to stream content to my PS3. To do that there was a change I had to make to MediaTomb’s config file that was located in ~/.mediatomb. All I had to do was uncomment the line that said <protocolInfo extend="yes"/>. I also decided to disable the ability of my PS3 to see every folder on the server. That required changing <pc-directory upnp-hide="no"/> to <pc-directory upnp-hide="yes"/>.

With MediaTomb I could also enable the use of on-the-fly media transcoding. In the event I had a file the PS3 could not play, a rule could be setup in the config file that would automatically convert the media to a more compatible format. Using this feature required a lot of testing to work out settings the PowerMac could handle. Also, because the media files are being transcoded in real time I lost the ability to pause, fast forward, and rewind on the PS3. In the end I decided to take a different approach and setup folder actions to convert only files I wanted.

MediaTomb Transcoding

I mentioned earlier that I had developed an alternative to MediaTomb’s built in transcoding feature for media files that didn’t play on the PS3. I stole the idea from Vuze, another bittorent client, which added its own UPnP server. In the event Vuze downloaded a file that wasn’t compatible with the PS3 it would re-encode the file completely and then share the new version instead of the non-compatible version.

I was able to accomplish almost the same functionality using FFMPEG, folder actions, and MediaTomb’s built-in directory scan feature. If I had a file that did not work then I moved it to a folder called “convert”. Attached to that folder was an Applescript action that would tell FFMPEG to covert the file to a new format and save it in another folder called “compatible”. I then configured MediaTomb to scan the “compatible” folder every hour for new files and make them available to the PS3. For everything to work I had to rebuild FFMPEG to include codecs for aac, mp3, x264, and xvid. Below is the commands for MacPortsid

port deactivate ffmpeg
port install -f ffmpeg +nonfree

Below are the applescripts I wrote for the folder actions. When a file dropped into a folder the action would initiate the script and start processing the file through FFMPEG. Based on testing I had done some video files only needed the audio re-encoded for the PS3. Others required a complete re-encode. I’ll admit the PowerMac didn’t have the power to re-encode at realtime speeds, but I normally let it take care of files during the night or while I was at work.

Re-encoding only audio of a video file example:

on adding folder items to this_folder after receiving these_items
repeat with i in these_items
set {name:Nm} to (info for i)
set Nm to quoted form of Nm as string
set vFolder to quoted form of POSIX path of this_folder as string
set vSource to quoted form of POSIX path of i as string
try
do shell script "/opt/local/bin/ffmpeg -y -i " & vSource & " -vn -f mp3 -ab 192k -ac 2 -ar 44100 " & vFolder & "converted/" & Nm & ".mp3"
on error
display dialog "There was an error when re-encoding " & Nm
end try
end repeat
end adding folder items to

Re-encoding Audio and video example:

on adding folder items to this_folder after receiving these_items
repeat with i in these_items
set {name:Nm} to (info for i)
set Nm to quoted form of Nm as string
set vFolder to quoted form of POSIX path of this_folder as string
set vSource to quoted form of POSIX path of i as string
try
do shell script "/opt/local/bin/ffmpeg -y -i " & vSource & " -vcodec libxvid -vb 1000k -acodec libmp3lame -ar 44100 -ab 128k -ac 2 " & vFolder & "converted/" & Nm & ".avi"
on error
display dialog "There was an error when re-encoding " & Nm
end try
end repeat
end adding folder items to

Starting Meidatomb during startup:

  1. Created a plain text file with the command /opt/local/bin/mediatomb -d
  2. Save the file as mediatomb.command
  3. Open a terminal window
  4. Run the command chmod +x _folder_location_/mediatomb.command
  5. Open System Preferences and go to Accounts
  6. Select the account that auto logs in and select Login Items
  7. Add mediatomb.command

With enough time and patience I could create a start lauch daemon to take care of starting MediaTomb up as a service, but I took the lazy man’s approach.

Next time: Other odds and things