Linuxslate.com
The Ultimate Pre-Built MythTV Box?
Installing Linux for MythTV on the
HP z555
Digital Entertainment Center
Contents:

Initially Posted: 28 December 2005
Updated for Fedora Core 6 / MythTV 0.20 on 12 April 2007

NEW: Discuss this article on the
Linuslate.com Forums

The Old (FC4) Version is Here.
Please Read The DISCLAIMER


HP Z555
Photo: HP.  Used for educational purposes.

HP's z555 ships with Windows Media Center.  Will it run Linux/MythTV?
Background and Philosophy:
MythTV is cool.  Really cool.  But unlike many other Linux applications, you can't just stick an install disk in that old '486 t and have it fill a need.  MythTV takes hardware -- good hardware.  I decided that if I was ever going to build a MythTV box, it had to basically do it all.  I already had a TiVo, so simply reproducing TiVo's capability made no sense to me.  The system also had to look like home theater equipment.  With these thoughts in mind, I started spec'ing out hardware:  Dual Tuners,  Motherboard with surround sound, Silverstone case... I quickly passed $1300 for a cost estimate, and the project went on hold.  Then came a deal I couldn't -- Uhhh, well I guess I could have passed up, but I didn't.   CompUSA had the HP z555 Digital Entertainment Center on closeout.  Here was all the hardware I wanted, in a nice looking case -- for less than it would have cost me to build.  But would it run Linux?  Would Linux and MythTV support the z555's hardware?  I took the gamble.
Why MythTV?
Why not just leave Windows Media Center? The purpose of this page is not to discuss Windows vs. Linux.  I am a "Linux Person" and I wanted my PVR to have UNIX functionality.  For example, the ability to re-encode what I have recorded without restrictions. I also find the concept of having to run anti-virus software on my TV somewhat troubling.
Why Fedora?
The Fedora Project represents the cutting edge (but perhaps not bleeding edge) of Linux.  Due to the hardware on this box, you need pretty close to the newest drivers for many things.  Your Debian Woody disks aren't going to help you much.  Fedora Core (Soon to simply be called Fedora) is a good mix of quality, standardization, and recent drivers.  Yes, there are less commercial-like, more true to the GNU/Free software philosophy distributions.  Yes, there are distributions with more included drivers,  There may even be more stable, better tested distributions (emphasis on may), I feel that Fedora is the best combination. 
NOTE: What is detailed below does contain proprietary code. 

Back to Contents

About This Document:
First and foremost, this document is NOT A HOW-TO.  Instead, this document describes some of the z555's hardware, and what I had to do to get it to work under Linux (Fedora, specifically.) Various parts of this document are also applicable to other z55x - series boxes, such as the z540, z545, z552, z553, z555, z556, and z557.  Most of what is here is actually compiled from other sources on the web.  I relied heavily on Jarod Wilson's "Fedora Myth(TV)ology" site.  I am not going to reproduce Jarod's instructions.  Rather; I am going to assume that you follow his (excellent) instructions, and reference this page for the specifics of the HP z555.
A WORD OF WARNING: I don't mean to be condescending, but I must warn the reader that installing Linux and MythTV on this system is not for the impatient or the inexperienced. It is about as far from "Plug and Play" as imaginable. If you are new to Linux, I strongly suggest trying getting a few installs under your belt with more conventional PC hardware before your tackle this system.
NOTE: I am still getting things to work on this box.  This page will be updated as I learn more.  If you can provide input, or you have a (relevant) comment, please register and post on the Linuxslate.com Forums:


Back to Contents

A Few Notes about Overheating:
Recently, my z555 succumbed to Hard Drive and power supply failure, most probably due to the fact that these boxes run very hot. Prior to installing a new HD, I drilled out the holes in the HD mounting plate, and drilled many additional ones.  I also drilled out some of the inside of the case.  Felt furniture feet, which I added to the existing feet, raise the unit slightly.   All this is an attempt to improve airflow into the unit - i,e. around the hard drive.    Be careful adding more fans.  You can cause flow starvation in parts of the unit, or simply recirculate hot air inside the unit.   Mods should concentrate on allowing more air into the unit.

Back to Contents

Basic Hardware:
The basic hardware is a Dual Core Pentium 4 @3.0GHz  supported by an Intel Chipset.
There is a single 7200 RPM 250G HD connected via SATA, and a LightScribe CD-R/RW DVD±R Drive connected via PATA (IDE).  LightScribe is only supported in Windows, but who spends an hour designing a label for every TV show they burn to disk anyway?
The best way to learn about the rest of the hardware is to examine the output of the

lspci
command, and the results of
cat /proc/bus/usb/devices
The results of these are detailed below.  Each system, and how it is supported will be described latter.

Back to Contents

PCI Hardware:
Click here to see the output of (Link to Be fixed soon)
lspci -v
(Will open in a new Window)

Back to Contents

USB Hardware:
Many modern PC's contain gadgets connected to internal USB connectors. These boxes push the envelope.
Click here to see the output of   (Link to Be fixed soon)
cat /proc/bus/usb/devices
(Will open in a new Window)
Note that you will have yet one more device if you have a drive installed in the Media Bay.

Back to Contents

Fedora Core Installation:
Obviously, we start with an normal install of Fedora Core 6:

IMPORTANT:  Before beginning the install, go into the BIOS (F1) and Set the PATA/SATA setting from Enhanced to Combined.  This is only done for the install.  After the install, set this back to Enhanced, or the DVD/CD Drive will have no DMA.  This will result in DVD frame dropping, and the inability to burn DVD's.

The 'nofb' and 'text' options may be needed if you are connected to a TV (s-video or composite) for the install. If you are connected to a Monitor, go ahead and try a GUI install.  I recommend sticking pretty close to the suggestions on the "Fedora Myth(TV)ology" site for configuring your disks with one exception;  I used /var/video as the mount point for the MythTV video storage partition.  Why?  /var/ is the "proper" or "classical" location for things like buffers and spool files.  MythTV is basically a big TV buffer.

I split from Jarod Wilson's recommendations in another way too... I used Gnome.
Follow Wilson's package options, and make sure you install all relevant development stuff. (X, Gnome, Legacy).
After the install, reboot and catch the machine at the grub boot screen.  Hit 'a' to add options, and then append 'single' to the end of the kernel parameters.  This will prevent the system from trying to start X, and drop you to a single user shell.  From here, follow the directions below to install the nVidia drivers.
When this is done, reboot, and go through the RedHat Firstboot. Don't forget to create the mythtv user.
Now that the system is up, we need to let it go out and do an update. Obviously, this requires a network connection. See below to get either the WiFi or Ethernet connection working. Then, in a terminal do:
yum update
Since the update will affect the kernel, and X, we will have to repeat the installation of the nVidia drivers and possibly the networking drivers.
For the rest of the system setup, we will tackle things one subsystem at a time:

IMPORTANT:  There's a nasty bug in the FC6 installer that will result in an i586 kernel, instead of an i686 kernel, getting installed on 32-bit x86 systems, including this one.  Catch this early, and get the right kernel installed, or you will end up redoing the nVidia driver installation, and ndiswrapper over and over.  These 2 drivers have to be re-loaded every time you change the kernel.

Back to Contents

Wireless Keyboard:
Identified as:  BTC USB Multimedia Cordless Kit.
This is handled in hardware on the z555, and is recognized as a standard 105 key keyboard.  It can be used in the BIOS and in the install.  The "Multimedia" keys along the top also produce standard key codes.  xmodmap will allow you to map them as desired.

Back to Contents

nVidia GeForce6600 Video:
Go to: http://www.nvidia.com/object/unix.html and download the Latest Linux IA32 drivers.  I found it worked great to put them on a flash card to transfer to the z555.  Prior to the first actual boot, copy the NVIDIA-Linux-x86-1.0-xxxx-pkg1.run file to the HD, and run it.  If you are in Single User mode, you will get errors about an inability to detect the run level.  Acknowledge the error, and continue.  The 1st attempt to install a driver will fail, and it will ask you if you would like it to attempt to download a driver for your kernel.  If you are on a wired network, you can try this.  If you are on a wireless network, it will fail since we have not gotten the wireless card working.  I recommend you select No, (or let the download attempt fail), and it will inform your that it is attempting to build a module for your kernel.  As long as you installed the development packages, this should succeed.  When you reboot you should be greeted with the nVidia logo when X starts.  If you have difficulties, check the nVidia forums.  The nVidia personnel there are excellent, and I have always been able to solve my problem by scanning the forums. In some cases, the driver versions listed on the drivers page are not the latest or best versions for a particular card.  If you have difficulties check the forums to see what version is best for your card.

Back to Contents

Setup for an HDTV or HD Monitor via HDMI/DVI: Getting the nVidia driver settings correct for your HDTV can be tricky, but the newer nVidia drivers have helped greatly. While some monitors work fine at standard PC resolutions, you will need to dive your 16:9 monitor at a proper 16:9 resolution for things to look right. Here's a few hints: This is the modeline that I am using for a 16:9 HDTV:
 ModeLine "1280x720@60p" 74.25 1280 1320 1376 1650 720 722 728 750
I also have:
 Option "NoDFPNativeResolutionCheck"
Option "TVStandard" "HD720p"
You will probably need a correct modeline that your monitor likes. Make a copy of your /etc/Xorg.conf file, and then try modelines until you get one that your monitor likes. Several resources are listed below:
Back to Contents

Network -- Wired Ethernet:
The Ethernet port is identified as:  Marvell Technology Group Ltd. 88E8053 Gigabit Ethernet Controller (rev 19).
Due to the location of my system, I am not using the Wired Ethernet port.  Drivers are loaded with the install, and it should be easy to do a normal network configuration using the normal GUI.

Back to Contents

Network -- Wireless:
The z555 contains a PCI 802.11b/g WLAN card identified as:  Intersil ISL3890 [Prism GT/Prism Duette].   This is NOT supported by the prism54 driver in Fedora Core 6, Work is progressing on the SoftMAC driver for this card, but it is not there yet.   We still need to use ndiswrapper.
(You can also try http://www.smc.com/files/AV%5CDR_2802wV.2_WHQL.zip)
    2802W51.sys    2802W.cat      2802W.inf
ndiswrapper -i 2802W.inf
Check it with
ndiswrapper -l
This should indicate:
2802W : driver installed
device (1260:3890) present
modprobe -r prism54
depmod -a
ndiswrapper -m
modprobe ndiswrapper
alias wlan0 ndiswrapper
echo "blacklist prism54" >> /etc/modprobe.d/blacklist
Back to Contents

Audio:
The Sound Sub-system is identified as:  Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) High Definition Audio Controller (rev 03)
Intel High Definition Audio (HDA) is a standard that replaces the AC97 codecs for digital audio. This card is supported in FC6 - including, with the configuration detailed here, Surround Sound through the S/PDIF connectors.  Ready?  Let's hit it:
# ALSA portion
alias char-major-116 snd
alias snd-card-0 snd-hda-intel model=6stack-digout
alias sound-slot-0 snd-hda-intel

# OSS/Free portion
alias char-major-14 soundcore
   
# card #1
alias sound-service-0-0 snd-mixer-oss
alias sound-service-0-1 snd-seq-oss
alias sound-service-0-3 snd-pcm-oss
alias sound-service-0-8 snd-seq-oss
alias sound-service-0-12 snd-pcm-oss
/etc/init.d/alsasound start
chkconfig alsasound on
aplay -D analog /usr/share/sounds/startup3.wav
aplay -D spdif /usr/share/sounds/startup3.wav
Back to Contents

Dual NTSC Tuner Card:
The 2 tuner NTSC card is a Hauppauge WinTV-PVR-500 MCE with the backplate (and IR port??) removed.  The card has MPEG encoding hardware for each tuner. This is supported by the ivtv project.  The drivers are included with current kernels, we just need to grab the firmware.
-r--r--r--   1 root root 376836 Jan  7 23:25 HcwFalcn.rom
-r--r--r--   1 root root  14264 Jan  7 23:25 HcwMakoA.ROM
lrwxrwxrwx   1 root root     12 Jan  7 23:28 v4l-cx2341x-enc.fw -> HcwFalcn.rom
lrwxrwxrwx   1 root root     12 Jan  7 23:28 v4l-cx25840.fw -> HcwMakoA.ROM
Back to Contents

ATSC Tuner Card:
The ATSC tuner card is a modified ATI HDTV Wonder card.  It is modified in the sense that (as with the NTSC card) the backplate is removed and all of the connectors other than the ATSC RF connector are absent.   Additionally, the card has a subsystem PCI ID of 1002:a103 instead of 1002:a101 as the "out of the box" cards do.   The ATI HDTV Wonder is listed supported by the Linux DVB Project. With the release of the 2.6.15 kernel, this HDTV capture card is supported.  Details can be found at the MythTV Wiki.  The card cannot currently be used as a 3rd NTSC tuner.  Only the digital portion is currently supported.   The card is reported to support unencrypted Digital Cable channels (QAM). 
	options cx88xx card=34
               to
	/etc/modules.conf
	yum install dvb-apps
	/usr/bin/scan /usr/share/dvb-apps/atsc/us-ATSC-center-frequencies-8VSB
        For over-the-air ATSC or
	/usr/bin/scan /usr/share/dvb-apps/atsc/us-Cable-Standard-center-frequencies-QAM256
        for digital cable.
Back to Contents

The Remote, and IR control:
The IR Subsystem is identified as: Tatung eHome Infrared Transceiver.  USB Vendor code 1460  ProdID 9150
Note: I am not currently using this to control a cable box.  That should work, but is untested.
The IR subsystem is supported by recent versions of lirc.  This should be correctly detected, but we still need to setup the configurations files.
alias char-major-61  lirc_mceusb2
      cp /usr/share/doc/lirc-0.8.x/remotes/mceusb/lircd.conf.mceusb /etc/lircd.conf
modprobe lirc_mceusb2

service lircd start
chkconfig lircd on

Back to Contents

VFD (Vaccum Flourescent Display), Front Panel LED's and Front Panel Keys:
The VFD is connected to one of the internal USBhubs.  The VFD identifies itself as:  Manufacturer=HP  Product=HP VFD Front Panel Board   Vendor=1460 ProdID=0024.   The front panel is a USB HID Device.  It can be found on /dev/input/event0   As a HID device, the keys produce normal keystrokes.  I haven't actually done it yet, but you can use xmodmap to map them as you desire.  I am still figuring out how to talk to the VFD and LED's.  A reader reported that he was able to get something on the display using the imon drivers, but without modification I doubt that this will work.  Others are working on it too, so perhaps there is hope.

Back to Contents

Multi-Card reader and Removable Drive Bay:
The Multi-Card reader is a standard USB 2.0 Mulit-Card Reader.  Fedora Supports it without doing anything special.
For reference it is identified on the USB bus as: Vendor=058f ProdID=9360.

The "Personal Media Bay" is really just another USB 2.0 connector.

In MythTV Front End, under Photos >> Settings, you may want to add:
:/media
to the locations where it looks for photos.  This will allow pictures on cards that are inserted into the Card Reader to be viewed in the photo viewer.

Back to Contents

ACPI  (Sleep/Suspend):
This box uses a lot of power.  It would be really nice to get (at least) suspend to RAM working.  Unfortunately,  I do not have this working.  Any help from someone experienced with ACPI would be much appreciated.

I did however, find one simple thing I had to do to get the machine to power off properly after doing a shutdown.  It would go through a shutdown, and report "Acpi_power_off called", but never actually turn the power off.   It seems that the Intel HDA module interferes with ACPI.  Prior to powering the box off, the snd_hda_intel module must be removed.  Open /etc/rc0.d/S01halt, and add the following line just after the section that referes to "Save Mixer Settings":
rmmod -f snd_hda_intel
Where you add it is not critical, but that seemed as logical a place to do it as any.  Now the box will actually power off when it is supposed to.


Back to Contents

Other Notes and Issues:
None at this time -- Really.


Links:
Discuss this article on the Linuxslate.com Forums
HP z555 Specs and Motherboard info
MythTV Home Page
Fedora Myth(TV)ology
Previous Version of this artice (Fedora Core 4)


Disclaimer:
THIS DOCUMENT IS PROVIDED BY THE AUTHOR "AS IS".  IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES ARISING IN ANY WAY OUT OF THE USE OF THIS DOCUMENT, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.


Linuxslate.com
All trademarks/tradenames are the property of the companies that own them.