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:
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:
- Don't forget to tell the MythTV that
you have a 16:9
monitor. This is done in the Settings for the Front End.
- HDTV's are TV's. While they generally support
some PC
resolutions,
for 16:9, they may want to be driven at a standard TV resolution - i.e.
720p, 1080p/i, etc.
- They want to process and
scale everything. While the panel does
have a physical (native) resolution, it may be difficult/impossible to
drive them at this resolution. Expect overscan.
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.
- make DISABLE_USB=1'
and install with 'make
DISABLE_USB=1 install'.
- Apparently, the card is the same as an
SMC Medalion
MD41300. Obtain the Windows drivers from here.
Select WinXP Home, and unzip the
resulting file someplace convenient.
- Go into Drivers/WinXP. You should see at least
the following
files:
2802W51.sys 2802W.cat 2802W.inf
- In the directory with these files, do:
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
- Check /etc/modprobe.conf It
should contain a line:
alias wlan0 ndiswrapper
- If it isn't there, add it.
- Prevent
the system from loading the prism54 modules by doing:
echo "blacklist prism54" >> /etc/modprobe.d/blacklist
- This will create a wlan0 interface for the
wireless card.
Either delete eth0, and use the GUI network settings program to find
and configure wlan0, or tell ndiswrapper.You can configure this
interface in the regular RedHat GUI Network utility (or from the
command line with iwconfig, and ifconfig, if you would like).
- Test the interface by pinging somebody.
- NOTE:
If you change to a different kernel, you will need to
re-do these steps starting with the rpmbuild.
- restart the interface or reboot.
- You should now have a wlan0. You can
configure this
interface in the regular RedHat GUI Network utility (or from the
command line with iwconfig, and ifconfig, if you would like).
- Test the interface by pinging somebody.
- NOTE:
If you change to a different kernel, you will need to
re-do these steps starting with the rpmbuild.
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:
- Reference the
entry for Intel HDA on the Alsa-project site for more
details.
- Add/Fix lines in
/etc/modprobe.conf. Here's the relevant
section of my /etc/modprobe.conf
# 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
- Start the sound server (if not already running),
and insure that
it always starts at this run level:
/etc/init.d/alsasound start
chkconfig alsasound on
- Run alsamixer, and unmute/set volumes as you
wish. If
you are using the digital (S/PDIF)output, don't forget to unmute it.
This option may not be shown by default in some mixer apps.
- OK - here's the part that caused me quite a bit of lost
time. The .asoundrc or asound.conf file. I have no
clue
about this file, so please don't ask. I now use the
asound.conf
file from . Note that I have only the /etc/asound.conf
file, and none in the mythtv user's directory.
- Now
test both the analog and S/PDIF outputs with aplay:
aplay -D analog /usr/share/sounds/startup3.wav
aplay -D spdif /usr/share/sounds/startup3.wav
- In the MythTV Front End settings, Under general,
set the audio
settings as follows:
- If you are using the digital
outputs, you probably want Music
Playback (Mythmusic) audio to go to the SPDIF outputs. Set this in
Music Settings.
- Troubleshooting
- Check the mixer settings.
- Check
your audio systems' settings.
- There seems to be
some sort of bug that requires me to turn off
S/PDIF, then try to play something using that port, and then turn it
back on before it will work, One reader that was experiencing the same
problem, had the idea to run a script during boot that turned off the
S/PDIF smixer setting, played a 5 channel .wav file, and then turned on
the S/PDIF mixer setting. I have not gotten this to work.
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.
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).
- Since the card has a slightly different ID, the
cx88xx module
needs some help identifying it. Basically we are saying no
matter
how the card Identifies itself, treat is as a ATI HDTV
Wonder. We
do this by adding:
options cx88xx card=34
to
/etc/modules.conf
yum install dvb-apps
- Run BVDscan with a command like:
/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.
- Add the following (if needed) to
/etc/modprobe.conf
alias char-major-61 lirc_mceusb2
- lircd.conf files for various remotes are included
in the
documentation direcories. Just copy over the correct one:
cp /usr/share/doc/lirc-0.8.x/remotes/mceusb/lircd.conf.mceusb
/etc/lircd.conf
- Load the module (if needed)
service lircd start
chkconfig lircd on
- We can now check our remote by running irw.
Run irw and press
some keys on
the remote; the pressed key function should be listed out.
Use <control-c> to get out of irw.
If this
works as root, but not as the mythtv user, just fix the permissions on /dev/lircd
- Download my
mceusb MythTV lircrc file
and install it in /home/mythtv/.mythtv
Make sure it is just called lircrc
Check the permissions. It needs to be
accesible by
the MythTV user.
The
original lircrc file
for the mceusb2 remote is here.
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":
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.
|
All
trademarks/tradenames are
the property of the companies
that own them.