Wireless MythTV on MSI Wind netbook

February 18, 2010

Last week I bought a MSI Wind netbook after finding a nice deal on the older U100 model.  I bought the netbook for the primary purpose of using it as a “frontend” for the Perseus software defined receiver (SDR), which only functions under the Windows OS, but this is another story.  When not serving as a Perseus frontend, the netbook will be used for general use when traveling, surfing on the couch, etc.  For this reason I couldn’t resist setting up Ubuntu on it.  Because there’s no optical drive on the netbook, I chose to boot Ubuntu 9.04 live from a USB flash drive using a utility called UNetbootin.  After about six attempts, I finally got a good image onto the flash drive from which I could boot from.  Ubuntu ran without a hitch, so I installed it without any issues.  The three important things: wireless, touchpad, and the internal webcam work flawlessly for me on the U100 under Ubuntu 9.04.  After loading it up with my favorite apps, I wondered how it would function as a MythTV frontend.  From Synaptic, I installed mythtv-frontend (0.21), then opened a terminal and did a sudo dpkg-reconfigure mythtv-common to change the database password to that which matches my backend database.  Success!  It works!  And without wires!  Through myth-frontend, live HD content stutters a bit but live SD television comes through perfectly fine via 802.11g  Below are some pictures of the U100 running as a wireless MythTV frontend, streaming live television from a Motorola 6200 cable box connected to the master backend:

Diskless frontend on a Dell Inspiron 8200

October 3, 2009

One reason that I chose MythTV early on was for its ability to interface with other “satellite” frontend machines that I could place around the house in various locations where I have already installed hardwired Ethernet jacks.  Unless I wish to stream demanding high definition content, the frontend machines do not need to be equipped with expensive or modern hardware.

Here’s a case in point example.  I’ve had an old Dell Inspiron 8200 kicking around for a while that has a bad IDE controller.  It refuses to boot from the hard disk or the optical drive.  By most consequences, this machine is pretty much useless as is.  Enter PXE booting.  A BIOS setting in the 8200 allows for network booting.

I have experimented with linux and network booting in the past and have had joy using Diskless Remote Boot in Linux (DRBL) to network boot a DSL iso file from my Linux server to other computers around the house.  NFSRoot is a popular alternative and requires a dedicated box running a DHCP & TFTP servers and PXELINUX to boot a root filesystem over NFS.  My experience with this method has been frustrating and I never did get it working correctly using Debian.

I thought I would give it another shot and attempt to create a diskless frontend using the Inspiron.  I skipped all the manual configuration and opted to use a script available with the Knoppmyth distro to create a diskless frontend.  Basically the script sets up and configures the DHCP and TFTP servers on the myth backend and does all the hard work.  The Knoppmyth wiki has a good entry on how to get this going:


One thing that must be considered is that your frontend hardware will most likely be different from the backend hardware where the script was executed.  In my situation, from the backend, I had to reconfigure /nfsroot/dell8200/etc/X11/xorg.conf to get it play nicely with the Inspiron.  After a lot of googling and trial and error, I came up with a working xorg.conf that was compatible with the Inspiron’s 1600×1200 display.  Once changed, I had a diskless frontend working on the Inspiron with recorded programs available and live TV from the Motorola 6200 cable box.

Below is my xorg.conf for the Dell Inspiron 8200.  Note that I haven’t been successful getting an updated Nvidia driver installed for the older Nvidia graphics in the 8200.  One other issue involves navigating menus on the frontend.  When cycling through the menu using the arrow keys on the keyboard, it seems that two button clicks are being registered causing the menu to skip ahead one extra level – an annoying issue.  More time needed but it’s a good start…

# File generated by xorgconfig.


# Copyright 2004 The X.Org Foundation


# Permission is hereby granted, free of charge, to any person obtaining a

# copy of this software and associated documentation files (the “Software”),

# to deal in the Software without restriction, including without limitation

# the rights to use, copy, modify, merge, publish, distribute, sublicense,

# and/or sell copies of the Software, and to permit persons to whom the

# Software is furnished to do so, subject to the following conditions:


# The above copyright notice and this permission notice shall be included in

# all copies or substantial portions of the Software.










# Except as contained in this notice, the name of The X.Org Foundation shall

# not be used in advertising or otherwise to promote the sale, use or other

# dealings in this Software without prior written authorization from

# The X.Org Foundation.


# **********************************************************************

# Refer to the xorg.conf(5x) man page for details about the format of

# this file.

# **********************************************************************

# **********************************************************************

# Module section — this  section  is used to specify

# which dynamically loadable modules to load.

# **********************************************************************


Section “Module”

# Alps Touchpad

#    Load   “synaptics”

# This loads the DBE extension module.

Load        “dbe”  # Double buffer extension

# This loads the miscellaneous extensions module, and disables

# initialisation of the XFree86-DGA extension within that module.

SubSection  “extmod”

Option    “omit xfree86-dga”   # don’t initialise the DGA extension


# This loads the font modules

#    Load        “type1”

Load        “speedo”

Load        “freetype”

#    Load        “xtt”

# This loads the GLX module

Load       “glx”

# This loads the DRI module

#    Load       “dri”


# **********************************************************************

# Files section.  This allows default font and rgb paths to be set

# **********************************************************************

Section “Files”

# The location of the RGB database.  Note, this is the name of the

# file minus the extension (like “.txt” or “.db”).  There is normally

# no need to change the default.

RgbPath “/usr/X11R6/lib/X11/rgb”

# Multiple FontPath entries are allowed (which are concatenated together),

# as well as specifying multiple comma-separated entries in one FontPath

# command (or a combination of both methods)



FontPath   “/usr/share/fonts/misc/”

FontPath   “/usr/share/fonts/TTF/”

FontPath   “/usr/share/fonts/Type1/”

#    FontPath   “/usr/share/fonts/CID/”

FontPath   “/usr/share/fonts/75dpi/”

FontPath   “/usr/share/fonts/100dpi/”

FontPath   “/usr/share/fonts/local/”

#    FontPath   “/usr/share/fonts/Speedo/”

#    FontPath   “/usr/share/fonts/TrueType/”

#    FontPath   “/usr/share/fonts/freefont/”

# The module search path.  The default path is shown here.

#    ModulePath “/usr/X11R6/lib/modules”


# **********************************************************************

# Input devices

# **********************************************************************

# **********************************************************************

# Core keyboard’s InputDevice section

# **********************************************************************

Section “InputDevice”

Identifier    “Keyboard1”

Driver  “kbd”

Option “AutoRepeat” “500 30”

Option “XkbRules”   “xorg”

Option “XkbModel”   “pc101”

Option “XkbLayout”  “us”


# **********************************************************************

# Core Pointer’s InputDevice section

# **********************************************************************

Section “InputDevice”

Driver            “mouse”

Identifier  “USB-Mouse”

Option            “Device”    “/dev/input/mice”

Option            “Emulate3Buttons” “true”

Option            “ZAxisMapping”    “4 5”


#Section “InputDevice”

#  Driver  “synaptics”

#  Identifier     “Alps”

#  Option   “Device”          “/dev/psaux”

#  Option   “Protocol”        “auto-dev”

#  Option   “LeftEdge”        “120”

#  Option   “RightEdge”       “830”

#  Option   “TopEdge”         “120”

#  Option   “BottomEdge”            “650”

#  Option   “FingerLow”       “14”

#  Option   “FingerHigh”            “15”

#  Option   “MaxTapTime”            “180”

#  Option   “MaxTapMove”            “110”

#  Option   “EmulateMidButtonTime”  “75”

#  Option   “VertScrollDelta” “20”

#  Option   “HorizScrollDelta”      “20”

#  Option   “MinSpeed”        “0.4”

#  Option   “MaxSpeed”        “0.8”

#  Option   “AccelFactor”           “0.02”

#  Option   “EdgeMotionMinSpeed”    “15”

#  Option   “EdgeMotionMaxSpeed”    “15”

#  Option   “UpDownScrolling” “1”

#  Option   “CircularScrolling”     “1”

#  Option   “CircScrollDelta” “0.1”

#  Option   “CircScrollTrigger”     “2”


#######################This is old touchpad

#Section “InputDevice”

#    Identifier   “Mouse1”

#    Driver “mouse”

#    Option “Protocol”    “GlidePointPS/2”

#    Option “Device”      “/dev/input/mouse0”

#    Option “Emulate3Buttons”


# **********************************************************************

# Monitor section

# **********************************************************************

# Any number of monitor sections may be present

Section “Monitor”

Identifier  “Monitor0”

# HorizSync is in kHz unless units are specified.

# HorizSync may be a comma separated list of discrete values, or a

# comma separated list of ranges of values.



HorizSync   31.5 – 90.0

#    HorizSync    30-64         # multisync

#    HorizSync    31.5, 35.2    # multiple fixed sync frequencies

#    HorizSync    15-25, 30-50  # multiple ranges of sync frequencies

# VertRefresh is in Hz unless units are specified.

# VertRefresh may be a comma separated list of discrete values, or a

# comma separated list of ranges of values.



VertRefresh 59.0 – 85.0


# **********************************************************************

# Graphics device section

# **********************************************************************

# Device configured by xorgconfig:

Section “Device”

Identifier  “Card0”

Driver      “nv”

# unsupported card

#VideoRam    65536

# Insert Clocks lines here if appropriate


# **********************************************************************

# Screen sections

# **********************************************************************

# Any number of screen sections may be present.  Each describes

# the configuration of a single screen.  A single specific screen section

# may be specified from the X server command line with the “-screen”

# option.

Section “Screen”

Identifier  “Screen 1”

Device      “Card0”

Monitor     “Monitor0”

DefaultDepth 24

Subsection “Display”

Depth       8

Modes       “1600×1200” “1280×1024” “1024×768” “800×600”


ViewPort    0 0


Subsection “Display”

Depth       16

Modes       “1600×1200” “1280×1024” “1024×768” “800×600” “640×480”

ViewPort    0 0


Subsection “Display”

Depth       24

Modes       “1280×1024” “1024×768” “800×600” “640×480”

ViewPort    0 0



# **********************************************************************

# ServerLayout sections.

# **********************************************************************

# Any number of ServerLayout sections may be present.  Each describes

# the way multiple screens are organised.  A specific ServerLayout

# section may be specified from the X server command line with the

# “-layout” option.  In the absence of this, the first section is used.

# When now ServerLayout section is present, the first Screen section

# is used alone.

Section “ServerLayout”

# The Identifier line must be present

Identifier  “Simple Layout”

# Each Screen line specifies a Screen section name, and optionally

# the relative position of other screens.  The four names after

# primary screen name are the screens to the top, bottom, left and right

# of the primary screen.  In this example, screen 2 is located to the

# right of screen 1.

Screen “Screen 1”

# Each InputDevice line specifies an InputDevice section name and

# optionally some options to specify the way the device is to be

# used.  Those options include “CorePointer”, “CoreKeyboard” and

# “SendCoreEvents”.

#InputDevice “Mouse1” “CorePointer”

#InputDevice “Alps” “CorePointer”

InputDevice “USB-Mouse” “AlwaysCore”

InputDevice “Keyboard1” “CoreKeyboard”


# Section “DRI”

#    Mode 0666

# EndSection

Getting 1080p HD output

October 22, 2008

Prior to this build, getting 1080p output from my old Nvidia FX5200 card was a long process, but I eventually got it working fine.  I was prepared for the same experience this time around with the GeForce7050PV on the Abit board.  The process went much smoother, and I’m not sure why, but I’m not complaining either!  Here’s an excerpt taken from the relevant portions of my xorg.conf that I’m using to achieve 1080p video via HDMI with Nvidia’s driver (version 173.14.09) to a Sony KDS-55A2000:

Section “Monitor”
        Identifier      “Monitor0”
        Option  “DPMS”  “true”
        Option “UseEdidDpi” “FALSE”
        Option “DPI” “100 x 100”
        VendorName “SONY”
        ModelName “KDS-55A2000”
        HorizSync    30 – 110
        VertRefresh  60.0
        ModeLine “1920×1080” 148.5 1920 2008 2056 2200 1080 1084 1089 1125 +HSync +VSync

Section “Device”

        Driver      “nvidia”
        Option “XvmcUsesTextures” “false”
        Option “UseEvents” “true”
        VendorName  “All”
        BoardName   “All”
Section “Screen”
        Identifier “Screen0”
        Device     “Card0”
        Monitor    “Monitor0”
        DefaultColorDepth 24
        SubSection “Display”
                Depth     1
                Modes “1920×1080”
        SubSection “Display”
                Depth     4
                Modes “1920×1080”
        SubSection “Display”
                Depth     8
                Modes “1920×1080”
        SubSection “Display”
                Depth     15
                Modes “1920×1080”
        SubSection “Display”
                Depth     16
                Modes “1920×1080”
        SubSection “Display”
                Depth     24
                Modes “1920×1080”
        SubSection “Display”
                Depth     32
                Modes “1920×1080”

There was some overscan which was easily corrected using Myth’s appearance wizard setting.

1080p goodness on the big Sony:

Sony confirming 1080p input

Miro player scaled to full screen running within MythTV. HD video from Nasa's Jet Propulsion Laboratory

HD content looks stunning!

Installing MythTV

October 19, 2008

I chose to install Knoppmyth (R5.5) since it’s Debian based and it’s somewhat familiar to me from having messed around with it three years ago.  There’s also a good community forum built around Knoppmyth for support.  Mythbuntu also looks nice and I will probably try it out later when I have more time to see how each distro compares with one another.

Installation on the new system was a breeze but I did run into some minor snags.  The installation was done with the HTPC connected to my Westinghouse 22″ LCD, and subsequent tweaks are being done via VNC on my Window’s box.  Once I feel comfortable with the install, I will reconfigure xorg.conf to play nice with my Sony KDS-55A2000 HDTV @1080p.

A nice feature of the Knoppmyth installer is the remote control script.  During installation, I was prompted to select a remote control to use with Myth, and I choose the Imon-Pad option to match the Moneual’s Imon pad remote.  Without any issues, I was able to use my remote immediately without hassling with recompiling LIRC or config files – nice!

Soundgraph Imon VFD
The VFD wasn’t working out of the box.  A few minutes on the Knoppmyth forum yielded a quick solution.  As root, running this script brought the VFD to life:


When prompted to configure, hit “y”.  A reboot was then required before the VFD would activate.  Note: the large clock mode isn’t compatible with my VFD’s two line display so I had to disable this option under the Appearance > LCD settings within MythTV.

EDIT: The VFD install script has broken the pad function on the Imon remote.  All other buttons function normally, however the pad is no longer responsive.  The “pad” on this remote provides up, down, left and right navigation and is essential for myth menu navigation.  After spending several hours trying to resolve this, I gave up and mapped some other buttons to perform the same function by editing:


DVD Playback
DVD’s aren’t working out of the box with my system either.  Xine throws this error at me when trying to play a DVD (both unencrypted and encrypted):

Per Myth’s general settings, the DVD device is set to /dev/dvd which didn’t exist on my system:

Creating a symbolic link fixed the problem allowing me to view a DVD when inserted in the drive:

ln -s /dev/scd0 /dev/dvd

with “scd0” being my optical drive and “/dev/dvd” the location of the DVD device as defined in Myth’s general settings.  However, when rebooting the machine, the symbolic link is lost every time.  I fixed this by modifying (as root):


The lines that contained the string “SYMLINK+=”cdrom1”  were changed to “SYMLINK+=”cdrom”, and similiarly for SYMLINK+=”cdrw1″SYMLINK+=”dvd1″, and SYMLINK+=”dvdrw1″ – the “1” had to be dropped from each instance.

EDIT: After writing the above, and after a fresh “re-install” (long story), the DVD issue did not manifest itself and the DVD functionality works as expected the second time around.  I have no explanation for the DVD problem on the initial install…

Fix Myth Gallery mount failure messages

When myth starts, I was greeted with the following each time:

“Failed to mount device /dev/sde, showing default myth gallery directory”

This is probably caused by myth trying to mount the empty slots of the USB card reader.  For the meantime, I disabled them by adding the following to the “Ignore Devices” list:


Make Samba autostart on reboot so I can copy files to the HTPC at anytime from a Window’s box.  From a terminal as root:

update-rc.d samba defaults

Connecting from Window’s, the default username and password are both mythtv 

X11VNC  – get it working correctly with Nvidia and install TightVNC on my Window’s box.  I’m using VNC on my Window’s box to control the Myth frontend while I setup and tweak things.  Remember, I don’t have xorg.conf configured yet to communicate with my HDTV, and I don’t have a spare monitor sitting around to use to connect to the HTPC.  The HTPC at this point is a headless box – meaning it does not have a monitor, keyboard, or other peripherals connected to it at this point.  VNC is not practical for video streaming but well suited to navigate the myth frontend menus. There are issues with nvidia, so first edit:


uncomment and alter the following line (change is in red):

[startup] {/usr/bin/x11vnc -nap -wait 50 -noxdamage -passwd fubar -display :0 -forever -o /var/log/x11vnc.log -bg}

Next, turn off OpenGL flipping by right clicking on the Fluxbox desktop & Apps > Tools > nvidia-settings to bring up the settings panel.  Uncheck “Allow Flipping”:

Results: Remote access to the new headless HTPC from Windows:

Shopping nearly complete

September 29, 2008

Well, I couldn’t wait any longer.  I grew impatient waiting for the OrigenAE cases to become available again.  I found another HTPC case that caught my eye, and cheaper.  The Monauel 301 is a low profile case that supports a full size PSU and micro ATX motherboard.  It has a vacuum fluorescent display and a sleek attractive design.  It should work out nice for my needs.  I’ve ordered all parts for the build now with the exception of the CPU cooler.  This will be determined after the components are assembled in the case when I can see how much (or little) clearance there is.  Here’s the final parts list, minus the cooler:


Motherboard: Abit AN-M2HD

CPU:              AMD Athlon 64 X2 5400 2.8Ghz Black Edition

RAM:             Corsair, 2GB (two sticks of CM2X1024-6400C4)

PSU:              Seasonic SS-330GB 330w        

Hard Drive:   Samsung HD103UJ 1TB

Optical:         LG GH20NS15 black DVD burner

Case:             Moneual Moncaso 301B



Moneual 301 B HTPC Case

Moneual 301 B HTPC Case

HTPC Cases: the good, bad & ugly

September 5, 2008

I guess I’m too picky.  After spending countless online hours trying to locate an attractive case I have found only a few that satisfy my taste.  Don’t get me wrong, there are hundreds of HTPC cases to choose from, ranging from the cheap and downright ugly to those that incorporate nifty touch screens and a lot of other features that I really don’t need.  My requirements are a smallish low profile case with a nice clean look with good build quality.  Here are some cases that caught my eye:


Omaura TF8

Omaura TF8

The Omaura TF8 has a nice clean simply look but further research shows quality problems with this case and distribution problems.  Dell was selling Omaura cases for a short time but apparently they no longer handle them, presumably because of all the problems users have reported.  I couldn’t find the case available from any other US distributors, but I think I’ll pass anyway based on what I’ve read so far.  Too bad…



Here’s an interesting case made by A-Tech Fabrication.  It’s a passively cooled Mini ITX case made from CNC machined aluminum and features a proprietary CPU/GPU cooling solution which directs heat to the finned case.  I love the clean minimalistic look and high build quality, but high quality comes with a high price tag.  Nice case, but expensive…



OrigenAE S10V

I keep gravitating towards the OrigenAE S10V slimline case.  I think it’s the best looking Micro ATX case in this group and is highly regarded among enthusiasts for it’s exceptional build quality.  While I don’t need a VFD, the display on this case is larger than normal and should actually be readable from a distance.  I also understand that the display is compatible with Linux.  Things that concern me are cooling and the high price – around $390.00 US




MCubed HFX-519

MCubed HFX-519

The MCubed HFX-519 is another passively cooled case with a similar minimalistic look as the A-Tech Fab case.  Though cheaper than the A-Tech case, it’s still expensive at around $340.00 US and I was unable to locate a US distributor for the case.  More info here.



Thermaltake VC7001SNS

Thermaltake VC7001SNS

Here’s another interesting slimline case that caught my eye made by Thermaltake.  The Mozart Sx VC7001SNS features an attractive front with VFD display and numerous control buttons.  The VC7000SNS is also available and excludes the buttons, which I probably wouldn’t use anyway.  See Thermaltake’s site for more details on these cases.  Newegg is currently selling the case for about $200.00 US, unfortunately reviews concerning this case are not encouraging.  Users are reporting problems getting the 2nd generation VFDs to work under Linux and there are some problems using PCI tuner cards in this case.  While I don’t plan on using a tuner card, I like to leave my options open.  I’ll probably stay away from this case, but I do like the look and the price isn’t bad compared to some of the others here.




Lian Li PC-C37B

Lian Li PC-C37B

I recently came across photos of this case by Lian Li.  I am not familiar with Lian Li but the case gets fairly decent reviews at newegg.  This case currently retails for around $155 and looks decent, but I’m not getting the warm fuzzies over it.  I haven’t had a chance to pull up any reviews on the case yet.  Perhaps I could be persuaded by some glorifying reviews.



Silverston LC19B

Silverstone LC19B

The Silverstone LC19B is yet another slimline Micro ATX case that looks stylish and simplistic.  It retails for around $200.00 US.  I haven’t had a chance to research this case but intend on finding out more about it.  It might be a strong contender.

Pre Build 3: Looking at Micro ATX mobos

September 2, 2008

After spending some time researching Micro ATX motherboards and narrowing them down to the features that I require (most notably IEEE 1394 support with an Nvidia chipset & Gigabit LAN), I’m leaning towards an Abit AN-M2HD, available for under $100 at most online retailers.  Here are the specs:

Brand ABIT
Model AN-M2HD (LE)
Supported CPU
CPU Socket Type AM2+/AM2
CPU Type Athlon 64 X2 / Athlon 64 FX / Athlon 64
FSB 1000MHz Hyper Transport (2000 MT/s)
North Bridge GeForce7050PV/ nForce630a
Number of Memory Slots 4×240pin
Memory Standard DDR2 800
Maximum Memory Supported 8GB
Dual Channel Supported Yes
Expansion Slots
PCI Express x16 1
PCI Express x1 1
PCI Slots 2
Storage Devices
PATA 1 x ATA100 2 Dev. Max
SATA 3Gb/s 4
SATA RAID 0/1/0+1/5/JBOD
Onboard Video
Onboard Video Chipset NVIDIA GeForce 7050PV
Onboard Audio
Audio Channels 8 Channels
Onboard LAN
Max LAN Speed 10/100/1000Mbps
Rear Panel Ports
PS/2 2
Video Ports D-Sub
USB 4 x USB 2.0
IEEE 1394 1 x IEEE 1394a
S/PDIF Out 1x Optical
Audio Ports 6 Ports
Onboard USB
Onboard USB 8 x USB 2.0
Onboard 1394
Onboard 1394 1x 1394a
Physical Spec
Form Factor Micro ATX
Dimensions 9.6″ x 9.6″
Power Pin 24 Pin

Some other candidates in the same price range include the MSI K9N2GM-FIH (AMD) and the MSI P6NGM-FIH (Intel).  An attractive feature of all of these boards is the onboard video.  I should not need a discrete video card with the use of these motherboards and this will be one less aspect to deal with during the build.

Before buying any board, it’s a good idea to check linux compatibility and see if the board is being used by any other MythTV users.  Aside from Google, some other good sources of information is the MythTV mailing list archive and the Knoppmyth forum.  There are probably other good sources, but I seem to gravitate towards these two.

Abit AN-M2HD

Abit AN-M2HD

Some searching reveals MythTV users successfully using the AN-M2HD and getting 1080p out of the GeForce 7050PV.  The latest Nvidia driver supports XvMC with the 7050PV which might prove nice depending upon the chosen CPU.  Whether or not the board and chosen CPU can actually decode 1080p without dropped frames is another story.  More research to do…