New Magazine Subscription

I always get a magazine subscription every year. But honestly haven’t been enjoying the magazine I would typically get in Australia. Linux Format recently got my interest, and they had some specials over the Christmas period which has help to sway me over. Tonight I noticed they had even further discounts – another 20% off. So I jumped on the bandwagon and signed up for a 12 month digital only subscription.

Ubuntu 16.04, tvheadend and SiliconDust HDHomeRun

Decided I would compile Tvheadend again and install it on a Ubuntu 16.04 host. Below is some of my notes that will help others with this installation and problems I hit along the way.

Required packages.

apt-get install unzip libcurl4-openssl-dev pkg-config git build-essential dvb-apps gettext libssl-dev cmake liburiparser-dev libavahi-client-dev
apt-get install hdhomerun-config

Installation/Compiling steps.

tar zxvf libiconv-1.15.tar.gz
cd libiconv/
make install

I created a user called “tvh” which will be used for the running of the software, this way it doesn’t run as root. Plenty of guides about that detail how to create your user and associated correct group assignments to it. So I won’t cover these steps/operations.

Noticed when I executed the product post being compiled i was getting an error.

tvh@oscar:/usr/local/bin$ ./tvheadend
./tvheadend: error while loading shared libraries: cannot open shared object file: No such file or directory

As you can see from the output below, it’s a library issue.

tvh@oscar:/usr/local/bin$ ldd tvheadend =>  (0x00007fff1d1e6000) => /usr/lib/ (0x00007f3545385000) => /usr/lib/ (0x00007f3545180000) => /usr/lib/ (0x00007f3544f69000) => /lib/x86_64-linux-gnu/ (0x00007f3544d00000) => /lib/x86_64-linux-gnu/ (0x00007f35448bc000) => /lib/x86_64-linux-gnu/ (0x00007f35446a1000) => /usr/lib/x86_64-linux-gnu/ (0x00007f3544486000) => /usr/lib/x86_64-linux-gnu/ (0x00007f354427a000) => /usr/lib/x86_64-linux-gnu/ (0x00007f3544068000) => /lib/x86_64-linux-gnu/ (0x00007f3543e1c000) => /lib/x86_64-linux-gnu/ (0x00007f3543c18000) => /lib/x86_64-linux-gnu/ (0x00007f35439fa000) => /lib/x86_64-linux-gnu/ (0x00007f35436f1000) => not found => /lib/x86_64-linux-gnu/ (0x00007f35434e8000) => /usr/lib/x86_64-linux-gnu/ (0x00007f3543166000) => /lib/x86_64-linux-gnu/ (0x00007f3542d9d000) => /lib/x86_64-linux-gnu/ (0x00007f3542d17000)
        /lib64/ (0x00005642bf9af000) => /lib/x86_64-linux-gnu/ (0x00007f3542b01000) => /lib/x86_64-linux-gnu/ (0x00007f35428de000) => /lib/x86_64-linux-gnu/ (0x00007f35426bc000) => /lib/x86_64-linux-gnu/ (0x00007f35423db000) => /lib/x86_64-linux-gnu/ (0x00007f354216a000) => /lib/x86_64-linux-gnu/ (0x00007f3541f56000)

Perform the following steps to address it.

cd /usr/lib/x86_64-linux-gnu
ln -s /usr/local/lib/
ln -s /usr/local/lib/
ln -s /usr/local/lib/

It would appear that Tvheadend has had some improvements since the last time I compiled and installed it.

As shown below we now see a new logo for the product, and now get a wizard which helps with the setup.

Tvheadend is such a great application.

Mikrotik – Total convert

As you will have seen in one of my previous posts (here), I have a Mikrotik RB450G which I purchased and have been playing around with.

I must say I am a complete convert, I really love the hardware. The amount of things it can do and how configurable it is really makes it a great bit of hardware.

It brings back the memories of when I would run a old PC as a linux router/internet gateway when I could run mrtg on it and constantly have a record of link utilisation etc. This is done on the Mikrotik too, and I love it.

I just purchased a TP-Link TD8817 in the last few days, to have this permanently hooked up to the Mikrotik RB450G and will run my ADSL via bridged modem. Mikrotik is handling everything. When I move and eventually get an FTTH service, I will just need to reconfigure the Mikrotik accordingly.

I still have lots to understand about RouterOS, but so far its working very nicely and doing everything I need of it.

My plan is to play around with queues and what not further, so I can put the kids devices into a group that gets a percentage of bandwidth available, however for now I am marking packets and assigning them priorities to keep the link quick for stuff that needs it. Like web browsing and email.

MikroTik – RB450G

I recently came across an MikroTik RouterBoard 2011 appliance, and it’s not something I haven’t heard of, as I have a friend who loves the gear.

Unfortunately I never got to play much with it, as no one knows the Administrator details and/or associated password. So this made doing some troubleshooting in the environment a bit difficult.

Decided it might be a good reason/idea to purchase a RouterBoard, since I will probably need to reset the unit for a friend, and before doing this, would like a good understanding of the device and configuration. I was about to order a new RouterBoard RB450G when I noticed someone had a unit for sale on ebay. So I bought that one at a good discount over the new one.

Looking forward to it arriving so I can make good on my research and start the configuration.

I am also looking at purchasing some of the wireless gear from MikroTik as also have a need to replace some 2.4Ghz Wireless Access points for a hotel, so will be purchasing an MikroTik Groove and testing out HotSpot capabilities of the RouterBoard etc.

HTS Tvheadend 3.9.2332 screen capture

I reinstalled Ubuntu 14.04 Server on to my Intel NUC I have and hooked up my Realtek USB tuner.

I was surprised to see that HTS Tvheadend has changed a bit since I last had it installed. Was happy to see some really nice GUI enhancements. Great work done by the developers.

Screen capture below from my Finished Recordings tab.


Google Drive Direct Download of large files

If your in a situation like I just described on the subject, you will be thanking me and the person I am about to link too.

I was in a situation today where I needed to download some large files from Google Drive, but needed it to be done from the Linux command line with wget. I could see how it worked, but didn’t have the time to sit down and figure it out exactly. After a bit of searching I came across a blog post here by someone else. They already did the hard yards and wrote a perl script.

All I can say is a big thank you to the author on that blog who wrote the perl script. It worked great. Saved me a few hours in fact.

In addition I also worked out that if you take the id=value from the Google Drive File Share link, you can data mine a bit of information associated to the file in question.

Check out the page here, and use the Try it link. Insert in you File ID and it will tell you from which account its being shared etc.


Another Intel DN2820FYKH NUC

Yesterday I received another Intel DN2820FYKH NUC computer.

I had ordered another one with the intent of running a Mythtv Backend and Frontend using a Realtek USB tuner.

I’ve installed Mythbuntu and got everything working, however I really like using Debian itself, and will look at doing a more custom install with Debian. So the plan is work on a Debian 7.7.0 x64 install.

I’ve configured this new Intel NUC with the usual 8GB ram (max it can take) and Dual Band 802.11ac wireless (as it’s only a $24 upgrade to buy the card), and I had a spare 500GB laptop drive, which I installed too.

Will be sure to post more about my progress regarding the Debian installation and tweaking it all.

Linux bash vulnerable on most modern Linux distributions

Came across an interesting post today from VentraIP which outlines that Linux bash is vulnerable on most modern Linux distributions. You can read more about it directly from them here.

I ran the command on a Raspbian install I have on a Raspberry Pi that hasn’t been updated for a few weeks and surprise surprise. It was vulnerable.

Before upgrade:

root@zulu:~# env x='() { :;}; echo vulnerable' bash -c "echo this is a test"
this is a test

After upgrade:

root@zulu:~# env x='() { :;}; echo vulnerable' bash -c "echo this is a test"
bash: warning: x: ignoring function definition attempt
bash: error importing function definition for `x'
this is a test

Best we all go do a sweep of our systems and upgrade those all that would be impacted by this. Best to close the problem now before it gets exploited.

lxc on Ubuntu 14.04 LTS

I’ve done a quick install of lxc on Ubuntu 14.04 and the only difference I have found so far since I did this back on Ubuntu 12.04 per the post here, is that lxc-list is no longer applicable and been replaced by lxc-ls instead.

I find lxc-ls doesn’t give much information at all, if ran without any switches, as per the example below;

root@papa:/var/lib# lxc-ls

However, if you run it with the -f switch it outputs more information which clearly shows important details about the lxc containers.

root@papa:/var/lib# lxc-ls -f
web1 STOPPED - - NO

Will continue to test this out further, but so far so good. Pretty impressed with Ubuntu 14.04 LTS so far.

Ubuntu 14.04 Server and LXC

I am going to revive some older posts and attempt to perform similar work against Ubuntu 14.04 Server and LXC. Previously I had tinkered around with LXC on older Ubuntu release, now I want to do the same thing but on something newer.

So if things to go well, I should post some more content associated to Ubuntu 14.04 Server and LXC.

Ubuntu 14.04 Server with TvHeadend and Realtek RTL2832U USB tuner

If you seen my previous posts here and here. I can confirm that the instructions I provided on the post here are still applicable to the installation of TvHeadend on Ubuntu 14.04 Server.

I just installed Ubuntu 14.04 Server tonight and tested the installation process of TvHeadend per my other notes and it works fine.

Ironically enough so far I really like Ubuntu 14.04 Server, so I will leave it running for a bit and see how much I do like it after a few days and/or weeks.

rtorrent and rutorrent on Debian 7.5 Wheezy

I was hoping to install rtorrent and rutorrent on Debian 7.5 Wheezy, however it appears although I was referencing the page here, it appears to not work that simply.

i.e. Appears the installation of the two packages below causes some messed up packaging conflict and it seems to be in some sort of dead lock. I couldn’t get past it so I had to give up for now.

Problem packages causing packaging conflict is these;

  • libcurl4-openssl-dev
  • libssl-dev

Will give it another go in a few weeks time. I’ll also continue to do a bit of research to see if anyone has had success with this and how they did it.

Realtek RTL2838 DVB-T tuner failure

It would appear that my Realtek RTL2838 DVB-T tuner has failed. I can no longer get it to record any more using TvHeadEnd. I noticed I hadn’t got any recordings the past few days and I’ve just checked all the connections. At this stage I think it’s safe to conclude that it’s gone.

It certainly didn’t last very long. I might end up getting another one, however not in a big rush. I need to do some other work with the hardware, so I might move onto that project in the meantime.

I note that dmesg output is showing the following, which based on some of the word is related to the hardware failure of the device.

[ 5520.964222] kdvb-ad-0-fe-0  D ffff88011d96eb20     0  2406      2 0x00000000
[ 5520.964226]  ffff88011ce17d08 0000000000000046 ffff88011ce17cf8 ffff880127c54580
[ 5520.964230]  ffff88011ce17fd8 ffff88011ce17fd8 ffff88011ce17fd8 0000000000014580
[ 5520.964233]  ffff880121f29770 ffff88011cf05dc0 0000000000000286 ffff88011ce17d90
[ 5520.964237] Call Trace:
[ 5520.964242]  [] ? dvb_usb_data_complete_204+0x20/0x20 [dvb_usb_v2]
[ 5520.964246]  [] schedule+0x29/0x70
[ 5520.964250]  [] wait_schedule+0xe/0x20 [dvb_usb_v2]
[ 5520.964254]  [] __wait_on_bit+0x5f/0x90
[ 5520.964258]  [] ? dvb_usb_data_complete_204+0x20/0x20 [dvb_usb_v2]
[ 5520.964261]  [] out_of_line_wait_on_bit+0x7c/0x90
[ 5520.964265]  [] ? wake_atomic_t_function+0x40/0x40
[ 5520.964270]  [] dvb_usb_fe_sleep+0x114/0x1b0 [dvb_usb_v2]
[ 5520.964277]  [] dvb_frontend_thread+0x177/0x780 [dvb_core]
[ 5520.964281]  [] ? add_wait_queue+0x60/0x60
[ 5520.964288]  [] ? dvb_frontend_ioctl+0x160/0x160 [dvb_core]
[ 5520.964291]  [] kthread+0xc0/0xd0
[ 5520.964295]  [] ? flush_kthread_worker+0xb0/0xb0
[ 5520.964299]  [] ret_from_fork+0x7c/0xb0
[ 5520.964303]  [] ? flush_kthread_worker+0xb0/0xb0

Ubuntu 12.04.4, TvHeadend and Realtek RTL2832U USB tuner

This week I setup an old Dell Optiplex 755 tower with Ubuntu 12.04.4, TvHeadEnd and Realtek RTL2832U USB tuner to perform some DVB-T recordings. The installation I performed of TvHeadEnd is the exact same one I documented some months back when I used the same USB tuner on a Raspberry Pi. You can read about it here.

The installation was flawless and simple as you’d expect. The system has been running a few days now and capturing what I want. It also allows me to point VLC client on other machines at the system to network stream any of the DVB-T channels the tuner can tune against (also shown in the previous post linked above).

Thinking of buying another tuner to be honest, so I can record from 2 different channels that don’t share the same stream/multiplex id.