tvheadend, Plex Media Server & Chromecast

By Jake Edwards | Tuesday, March 17th, 2015 | Permalink | 5 Comments

I use my Chromecast regularly for all my media streaming, however it never allowed me to watch Live TV.
Why not consolidate the two? As I was already running a Plex server, adding a Live TV server into the mix would be ideal rather than using another PC.

Plex handles all the transcoding, meaning Live TV can be shown on the Chromecast, as well as any other device that supports Plex channels.

Setup

DVB-T Free-to-Air -> Sony PlayTV -> tvheadend -> Plex Media Server -> Chromecast

tvheadend

The TV server package I decided to use was tvheadend. It seemed to have the best support across all of the options I was able to collate — and it’s regularly updated too.

The server is running Debian, and tvheadend is provided as a package on the following repository. You’ll want to add this to the end of your /etc/apt/sources.list. Note that it needs to be the unstable version as the stable version is quite out of date;

deb http://apt.tvheadend.org/unstable wheezy main

The configuration was straightforward, with documentation provided on their Redmine wiki.

Sony PlayTV

This works reasonable well with a Sony PlayTV (dib0700) dual-digital tv tuner which you usually pick up off Gumtree or eBay for a reasonable price and works well with Australian TV.

You’ll want to put the firmware file (dvb-usb-dib0700.1.20.fw) for this tuner into the relevant /lib/firmware directory on your server;

http://www.linuxtv.org/downloads/firmware/#dibcom

I needed to disable the “Idle Scan” on each tuner through tvheadend as it was causing kernel panics after a few days of running. Power Save and Initial Scan are okay to use.

DisableIdleScanTuner

Plex Channel

To get tvheadend into Plex, we need to use a channel. There have been a few, tvheadend-ng which is available on GitHub. You’ll want to clone this into your Plex channels directory;

https://github.com/realriot/tvheadend-ng.bundle

Configuration was simple, though one notable point is that if you’re using a reverse proxy with tvheadend, you’ll need to put the path after the port in the Web Port field.

TvHeadEndPlex

Channel Images & Icons

The icons for the Plex Channel don’t appear correctly with security enabled on TVHeadEnd.

It’s a permission error. The trick is to whitelist for all users connecting from 127.0.0.1/32 to have full access. This assumes your Plex is running on the same server as tvheadend. You’ll need to amend your IP filter accordinglly. More detail on Gav’s blog.

Permisison Setup TVHeadEnd Whitelist

Find a Dell Service Tag from the Command Line and Powershell

By Jake Edwards | Tuesday, March 10th, 2015 | Permalink | No Comments

No-one likes rearranging their desk to find the little white sticker. It can be run from regular command or PowerShell session. Administrator permissions aren’t required.

Here is how to find it via Windows:

Command Prompt

wmic bios get serialnumber

Powershell

(Get-WmiObject win32_bios).SerialNumber

Powershell (Remote Computer)

(Get-WmiObject win32_bios -computer COMPUTERNAME).SerialNumber

Duplicity with Google Docs & Google Drive

By Jake Edwards | Saturday, January 17th, 2015 | Permalink | No Comments

The man pages for Duplicity suggest the syntax for Google Drive is the following;

gdocs://user[:password]@other.host/some_dir

This is correct, but doesn’t clearly explain the purpose of @other.host and how it impacts usernames. I was getting errors about two-factor authentication & application-specific passwords- which I’d already followed.

Turns out I was pushing my full username (e.g. username@gmail.com) into the user field (which is something Google requires elsewhere), while using an application password for the password field. I had mixed results, sometimes message about two-factor authentication and others about a parsing error (it thought the randomly-generated password was a port).

The syntax should probably read;

gdocs://user[:password]@gmail.com/some_dir

Or at least add an example (with a password of xyz) for user bob@gmail.com, into the directory Backups/Duplicity;

gdocs://bob:xyz@gmail.com/Backups/Duplicity

Perhaps if a user had a Google Apps domain, the original syntax would make more sense. An example nonetheless would alleviate any ambiguity.

I’m running Duplicity 0.7.0. This may change when the gdocs interface is revamped.

 

Unblock-Us, Netflix, Hulu and OpenWRT

By Jake Edwards | Monday, September 22nd, 2014 | Permalink | 4 Comments

Netflix and other US-based streaming sites like Hulu aren’t currently available in several countries. As a semi-legit workaround, many blocked countries are resulting to using VPN services or DNS redirection services to get around geoblocks.

I personally prefer the DNS services over VPN due to the simplicity of the bypass. However, while the DNS settings can be applied at the router level (and automatically apply to all devices), it does mean that all traffic requests are resolved through the remote server. To avoid this, several rules can be put in place on an OpenWRT enabled router to redirect only requests for certain hosts — specifically the ones we are interested in bypassing the geoblock.

These same rules can be used for other geo-DNS services other than Unblock-Us, simply substitute the required DNS addresses.

Host-Specific Rules for Unblock-Us on OpenWRT


/etc/config/ddns


(or through the GUI, Network > DHCP and DNS > Sever Settings > General Settings)

config dnsmasq
 list server '/netflix.com/111.118.175.56'
 list server '/netflix.com/118.127.33.48'
 list server '/hulu.com/118.127.33.48'
 list server '/hulu.com/111.118.175.56'
 list server '/s.hulu.com/118.127.33.48'
 list server '/s.hulu.com/111.118.175.56'
 list server '/unblock-us.com/111.118.175.56'
 list server '/unblock-us.com/118.127.33.48'

CustomDNS

Chromecast-specific rules


The Chromecast doesn’t currently allow users to specify custom DNS settings. They’re fixed to the Google DNS service, but we can utilise custom Firewall rules on OpenWRT to redirect the requests to specific DNS requests. This doesn’t achieve the per-host redirection, but at least limits it to the Chromecast’s traffic.

/etc/firewall.user


(or through the GUI, Network > Firewall > Custom Rules)

iptables -t nat -I PREROUTING 1 -d 8.8.8.8 -j DNAT --to-destination 111.118.175.56
iptables -t nat -I PREROUTING 2 -d 8.8.4.4 -j DNAT --to-destination 118.127.33.48

Arduino Mega 2560, Wireless Proto Shield and Roving Networks WiFly RN-XV

By Jake Edwards | Saturday, March 23rd, 2013 | Permalink | 2 Comments

Recently I’d been delving into some Arduino Wifi projects using the following shields/modules;

There seemed a lack of documentation for these three components so this is how I got them to work together;

Serial1


Bending pins 1 and 2 of the Proto shield inward so they don’t connect to the Arduino Board, and then connecting pins to the Serial1 bus;

  • Shield Pin 0 to Arduino Mega Pin 19
  • Shield Pin 1 to Arduino Pin 18

WiFlyHQ


Using the WiFlyHQ library, and then altering the initialization line within projects like the following;

...
  wifiSerial.begin(9600);
  if (!wifly.begin(&wifiSerial, &Serial)) {
...

to

...
  Serial1.begin(9600);
  wifly.begin(&Serial1, NULL);
...

Tether Android Phone (HTC Desire) to Android Tablet (Acer Iconia A500) via USB Cable

By Jake Edwards | Monday, August 1st, 2011 | Permalink | 17 Comments

Cable Tether? Why?


I wanted a way to share my phone data plan and still preserve battery life among my devices. All without having to dish out any extra money for an additional battery or 3G connection/plan. With 4GB of data through my current phone plan, why not share that between my Android Tab as well?

Many people have suggested Wifi tethering, which ticks all the boxes, except when it comes to battery life. I found that my phone would be quickly drained having to maintain both a 3G and Wifi connection simultaneously; I ended up in most cases plugging the phone into my Tab’s USB Port to charge it while wifi tethering was active, however the charging power didn’t meet the power requirements and it would slowly, but surely, lose charge which I guessed probably wasn’t healthy for the life of the battery (it ended up getting quite warm).

Then the option of using a USB 3G dongle or dedicated 3G wifi device came to light; however it would’ve still required me to sign up for another data plan, and additionally carry around a dongle. I wasn’t prepared to spend more money on a redundant 3G plan.

As the Iconia Tab has a full-sized USB port, and my phone supports USB tethering, why not just combine the two? I could get the charge from the Iconia battery (which lasts eons longer than my phone, due to physical size, etc..), and still share my data plan between my devices. I can even put my tablet into Aeroplane mode to save even more power 🙂

Devices

  • Acer Iconia: A500
  • HTC Desire (I’m 99% sure that any phone with USB tethering will work; no custom ROM or kernel required)

Prerequisites

  • My Acer Iconia is using the Taboonay ROM with the richardtrip Kernel. I’m pretty sure only the Kernel is a prerequisite, and it can be flashed to the stock Acer Iconia ROM (the Taboonay ROM may be optional). I might do some testing with the stock ROM at a later date.
  • Your Iconia will need to be rooted (using IconiaRoot).
  • ADB or something like Terminal Emulator.

Method

  1. Flash the richardtrip Kernel, you can find more detailed instructions on the XDA forums for this particular step.
  2. Plug the phone into the USB port on the tablet and optionally put your tablet into Aeroplane mode.
  3. On the phone, put the device into USB tethering mode. This will differ between devices, however it’s probably in your settings menu near the Wifi tether option.
  4. On the tablet, using something like terminal emulator, type the following commands (thanks richardtrip);
su
dhcpcd usb1
setprop net.dns1 8.8.8.8

su will give you elevated permissions. This step won’t work without root.
dhcpcd usb1 will ask DHCP to get an IP address from the phone via the USB connection. This step won’t work without the right Kernel.
setprop net.dns1 will set the DNS to point to Google DNS (8.8.8.8 is an easy number to remember!).

Dell BIOS Utility Command-Line Arguments

By Jake Edwards | Monday, July 18th, 2011 | Permalink | 2 Comments

Dell BIOS updates have some undocumented command line switches that may be useful for system administrators. These are a few of the notable command-line arguments;

In order to bypass the Battery and AC adaptor check when attempting a BIOS update for a Dell laptop, simply run it with the /forceit command, for example;

  • DELL_BIOS_A10.exe /forceit

You can also extract the actual image using commands like writeromfile, for example;

  • DELL_BIOS_A10.exe -writeromfile

Dell use a variety of update programs depending on the age of the computer, so some commands may be deprecated or renamed. Let me know in teh comments if you find any other interesting Dell BIOS command line switches.

Android Market: Titanium Backup

By Jake Edwards | Friday, July 8th, 2011 | Permalink | No Comments

Where would I be without this gem! It’s worth the $5.50 AUD!

This app will essentially backup every piece of data on your phone onto the sdcard, ready to be restored as needed. It’s essential for anyone who wants to trial different ROMs on their phone and take their data with them. Alongside ClockworkMod, it’s unbeatable.  It has saved my ass quite a few times, thus why I felt it deserved the paid price, and the praise 🙂

https://market.android.com/details?id=com.keramidas.TitaniumBackup

Surviving the XP Working Environment – Part 2

By Jake Edwards | Tuesday, September 28th, 2010 | Permalink | No Comments

Continued from Part 1…

Windows XP Powertoys


Microsoft have a few utilities available for Windows XP, to assist productivity. The complete list can be accessed here, however I’ve noted a few particular utilities below:

Tweak UI


Tweak UI brings out some of the hidden options in Windows XP, that otherwise aren’t changeable through the stock XP control panel.

The installer requires administrative privileges to run. You can try the standalone executable, however I doubt it will work without administrative privileges also.

Virtual Desktop Manager


Do you use a lot of Windows? Virtual Desktops was something (and still isn’t something) that Windows has ever concentrated on. For Windows XP, you can install Virtual Desktop Manger which places four desktop areas at the tip of your mouse.

Virtual Desktop Manager

The installer requires administrative privileges to run, and no standalone executable is available, due to the nature of integration into the Windows GUI.

Alt-Tab Replacement


One of the best features in Windows Vista and Windows 7 is the thumbnail previews of Windows. The Alt-tab Replacement Powertoy attempts to mimic that where possible in XP. It’s nowhere near as clean and sleek as the Aero based thumbnails, however it’s a step forward.

The installer did require Administrative privileges, however the standalone executable doesn’t. Just copy and paste it into you Startup directory so it runs every system start and you’re good to go.

Power Calculator


If you really need a calculator that’s capable of graphic functions, then Power Calculator is for you. While it’s  not a direct replacement of the in-built Windows XP calculator (you can’t beat simplicity!), it will provide you extra functions such as unit conversions and graphing functions.

The installer may require Administrative privileges, however the standalone executable doesn’t.

Surviving the XP Working Environment – Part 1

By Jake Edwards | Monday, September 27th, 2010 | Permalink | No Comments

Currently in the workplace, Windows XP is the ‘norm’. Disappointingly, Windows 7 has not yet graced the SOE, and by the look of things, it may not for a while yet. In the meantime, I’ve found a few features made my Windows XP SOE a little lacking compared to a standard Windows XP.

ClearType


It still astounds me that this isn’t enabled by default, and our current Windows XP SOE isn’t any different. Below is a link to the ClearType control panel file, which assuming your account isn’t restricted too much (this still runs on a limited Windows XP account), you can adjust and fine tune your computer’s font to make it easier to read.

Adobe Gamma


Corporate-wide desktop distribution often means calibration for multiple monitors (e.g. laptops, desktops) are not taken into account. The Adobe Gamma tool (a similar tool now integrated into Windows 7), is a Windows XP alternative, that may also run without administrative permissions. It allows you to fine tune your displays contrast and brightness  settings, as well as colour information, to make colours appear true.

Distinctive XP Themes


This suggestion may be pushing the boundaries of an SOE, however if you find the default Windows XP blue theme slightly dull, you can install three other known, and Microsoft Certified themes (apart from ‘Silver’ and ‘Olive Green’).

The Royale, Royale Noir and Zune themes are all usable XP themes to make your work environment a little more interesting than Blue, Silver or Olive.

The files will need to be extracted into the C:\WINDOWS\Resources\Themes directory. You will need Administrative privileges to install these files.

Once installed, go to Display Properties, Appearance Tab, then change the Windows and buttons option to the two new options; Media Center Style and Zune Style. The Royale and Royale Noir can be selected under the color scheme field.

More in Part 2…

« Previous Page | Next Page »