Frequently Asked Questions

From LinuxMCE
Revision as of 20:08, 30 July 2008 by Jimbodude (Talk | contribs) (Ok, I'm sold - what do I need to run LinuxMCE?: formatting update for readability)

Jump to: navigation, search

This frequently asked questions (FAQ) section outlines solutions to the most common queries for initial/potential users. See also troubleshooting for solutions to problems experienced with the system.

Before Installing LinuxMCE

What Does LinuxMCE Do For Me?

LinuxMCE is a whole home automation suite. It includes full featured solutions for:

  • Media
    • Organize media with special metadata tags
    • View/Listen to media in any room
    • Media automatically follows you through your home
    • New media is automatically detected - even if it's on other devices like another computer on your network or Network Attached Storage (NAS)
    • Control all your A/V gear through LinuxMCE (using IR, USB, Ethernet, or RS-232) including automatically powering everything on and setting the proper inputs on each device
  • Security
  • Telecomunication
    • Use VoIP phones anywhere in your home with minimal setup
    • Voicemail, call forwarding, advanced caller ID
  • Network Management
    • Take the place of a standard home router
    • Advanced firewall
    • Advanced Quality of Service (QoS) to make sure your bandwidth is used effectively (especially important for VoIP)
    • Manage networked storage (such as NAS devices
  • Home Control and Automation
    • Control climate and lighting throughout your entire home

LinuxMCE provides all this functionality by controlling all kinds of devices throughout the home including:

For more, see What can I do with LinuxMCE?

Is LinuxMCE an appliance or software solution?

Until now there have been two options for a smarthome+media system:

  1. Low cost software based PC solutions, including home automation software like HomeSeer, Premise and Mr. House, also media software like Microsoft Windows XP Media Center.
  2. Appliance solutions, like Crestron, AMX, Kaleidescape and Escient.

High-end systems are always appliance based, preferred for their simplicity, reliability and lack of hassle; no worry about missing the football game because your PC-based PVR got a virus. But appliance systems cost a lot — for one that includes automation, media, telephony, etc., like LinuxMCE. Even though those "appliances" are normally PC's inside special cases, often running Linux plus some proprietary software, you can never get the software separately to build your own — until now.

LinuxMCE is an appliance solution. The Core becomes a self-configuring, self-maintaining black box appliance. Since the Core automatically offers a network boot image to any PC's you want to use as media directors, they too become appliances. You can still use them as a PC, of course, but you can crash the hard drive, install a virus, delete system files, and it doesn't matter. When you hit 'LinuxMCE' on the remote control, the Core sends it a network boot, the hard drive turns off, it doesn't use your operating system, and you'll never see a PC prompt. And when you hit the PC button, it goes back to being a PC like normal. LinuxMCE is a 'family friendly' solution--you can use the PC for kernel-level coding, knowing the kids can always hit 1 button and still use it to watch cartoons.

LinuxMCE offers the best of both worlds: an appliance solution at the price of a software solution, and the the power and versatility of a software solution with the ease of use of an appliance. We offer the software for free as open source because our business is licensing LinuxMCE to hardgoods manufacturers who embed it in their products.

What do commercial appliance solutions similar to LinuxMCE cost?

Appliance solutions are normally quite expensive. The most popular combinations are:

  1. Crestron system to do all the home automation. The cost varies depending on what you want to do with it, but a whole-house solution including touch-screen panels will set you back at least $25,000 for an entry-level system, and can easily hit 6 figures.
  2. Kaleidescape for the DVD movie server, costing $27,000 for the main server, and $4,000 for each TV where you want to watch movies.
  3. Escient Fireball for the music server, costing $5,000 for the central music server.
  4. A PBX phone system with voicemail, like Panasonic will cost another 5 grand or so.

All of those products require professional installation and setup, particularly the home automation devices. LinuxMCE was designed with simple web-based wizard so even non-techies can get a whole solution up within a few hours. But our competitors' products are different. Smart home dealers will require a trained programmer to set them up. For example, it can take weeks of programming to set up a Crestron system in a good-sized house. Programming fees can be over $10,000, plus re-programing fees every time you make a change. Bottom line: around $100,000 for an appliance solution that does what LinuxMCE does.

Appliance solutions are typically PCs, running an Linux OS with custom, proprietary software, placed inside custom cases. The software is not available separately, so there's no way to economize or build your own.

LinuxMCE has taken a different approach. LinuxMCE is also an appliance solution, but we have made the software available separately. In fact, it is free, so techies and software programmers can build their own high-end appliance systems. Competing PC hardware manufacturers can license the LinuxMCE platform to use in standard, low-cost PCs. LinuxMCE brings down the cost by offering all the functionality of several systems in 1 system: whole house media & entertainment, home automation, telecom, security, and personal computer.

I've heard LinuxMCE is just a bunch of projects merged together. Is that true? What is special about LinuxMCE?

LinuxMCE includes a lot of other open source projects, like Xine, Asterisk, MythTV, VideoLan, etc. So we are often asked, "Why do I need LinuxMCE, can't I just use those other projects by themselves?"

LinuxMCE has a lot of it's own software--it's not just a collection of other projects. In fact, LinuxMCE's own software is bigger than most of the key outside projects combined. LinuxMCE includes it's own messaging platform. Most of the logic and functionality, such as how to handle home security, media, etc., is in LinuxMCE's plug-in's--not the other projects. Plus LinuxMCE includes a GUI that runs on Linux, Windows, Windows CE and Symbian. There are already thousands of DCE Devices for various smart home components. And LinuxMCE includes lots of development tools, like the GUI Designer, code generators like DCEGen and sql2cpp. There are also some fairly substantial stand-alone projects with LinuxMCE, like sqlCVS. sqlCVS has essentially all the same features as CVS or SVN, but it works with databases--not source code. It is what ensures that when one user translates a screen on the GUI, or learns an infrared code, or creates a new GSD device, that this is committed to a central repository, reviewed by our staff, then propagated to all other users.

Additionally LinuxMCE has it's own "wrappers" for all the outside open source projects we integrate. This is what allows them to work together seamlessly.

Example #1: LinuxMCE's wrappers allow open source projects to be interchangeable modules. For example, on one media director un-check the box for the 'Xine' media player, but leave 'VideoLan' checked. Do the opposite for another media director. And for the rest, leave both checked (the default). Now start watching a movie in 1 room. As you move from room to room the movie will seamlessly move from Xine to VideoLan and back. If you leave both checked, Xine will be used when the movie is playing in 1 room only, and VideoLan when it is playing in multiple rooms. This interoperability is not possible outside of LinuxMCE.

Example #2: LinuxMCE allows a bunch of disparate projects to work together as a seamless whole For example, if there's a security breach in your house, the lights and TV's in the house come on automatically using our home automation DCE device interfaces, and the security pin pad appears on all the Windows webpads and PDA's. After 30 seconds a menacing video plays for the burglar using Xine, while the surveillance cameras monitored by Motion feed a live video to your mobile phone over GPRS. Hit 'Talk' on the phone and Xine suspends, passing control to Linphone which makes a call using Asterisk to your mobile phone with the audio piped through the stereo so you can shout at the intruder and let him know you're watching him from a remote location and calling. To the end-user, it works seamlessly, like 1 cohesive whole, but in reality, what LinuxMCE did is enable a bunch of existing applications to work together.

Which hardware is known to work?

See the Hardware category.

Is LinuxMCE a distribution or a package?

Strictly speaking LinuxMCE is a package. A very big package. The distribution it runs on is standard Kubuntu Linux.

Only the PC running as the Core is required to run Kubuntu and use the LinuxMCE package.

Any PC used as a Media Director can netboot from the Core, without the requirement for an OS at all. Of course, you can always boot whatever OS is already stored on the hard drive of each Media Director PC and use that PC separately from the LinuxMCE system. Play the games (or whatever) that are stored on the hard drive (using whichever OS is already installed there) there, and when you're ready to use that PC as a Media Director again, you just go back to netbooting from the Core.

For the Core, you should use Kubuntu and our packages.

LinuxMCE is based on the standard Kubuntu Linux distribution. While you could try to run LinuxMCE on another distribution, it's not recommended. LinuxMCE has lots of scripts and utilities to facilitate various tasks. Plus, LinuxMCE embeds many other open source projects, like Xine, Asterisk, etc., with our own "wrappers" that allows them to work together seamlessly. These wrappers are only tested against the versions we maintain in our Ubuntu mirror.

Before we upgrade anything on our mirror, we thoroughly test the new packages in our system to be sure it still works.

We didn't take any modules away from the Kubuntu distribution, we only added some. You can still use your Core as a normal Kubuntu Linux PC. In fact, our additions can be bypassed if they get in your way, as is explained below. But in general, DCERouter and other devices, like the home automation modules, all run in the background and won't interfere in screen sessions.

Here's what we changed:

Configuration scripts

LinuxMCE includes a lot of scripts that automate all aspects of maintaining a Linux system. For example, when you add a new user from the LinuxMCE Admin site, it automatically creates a new media directory, exports a samba share, creates an email and voicemail accounts, and so on. There's also scripts to do lots of low-level things like setup ip network prioritizing, so your VOIP calls are always clear. By default, LinuxMCE overwrites and re-creates many Linux config files at each boot. In this regard LinuxMCE acts like a black box appliance. However, once you install LinuxMCE you can go to the LinuxMCE Admin Website-->Advanced-->Boot Scripts and disable any or all of these scripts. Then you can still maintain your LinuxMCE Core like any other Linux PC and it won't overwrite your config files.

Our Ubuntu mirror

We maintain our own mirror based on Ubuntu. The reason is that we have "wrappers" for many open source projects like Xine, Asterisk, etc., allowing them to work together seamlessly. Whenever updates are posted to Ubuntu's repository, we test the new versions to be sure the changes did not break anything in our wrappers and that the auto-configuration scripts still work. In very rare cases, we need to make our own version of a package that replaces the one in Ubuntu. We avoid that whenever possible, and instead re-work our wrappers so that we can stay current with the "stock" version. Such changes are generally trivial, and you should see no difference between LinuxMCE's Ubuntu mirror and the official one.

Window manager

The Media Directors use our own modified version of the Ratpoison window manager. All applications appear as full-screen, with no borders. Our Orbiter GUI becomes the XWindows desktop. This is the desired behavior in an appliance-like set-top box; we completely isolate the user from anything computer-like. However, you will likely not want this as your main desktop. It is possible to run 2 versions of X on separate terminals: one with LinuxMCE's window manager, and the other with your own preferred choice of desktop.

Software Module Overview

Overview of the software modules

Ok, I'm sold - what do I need to run LinuxMCE?

LinuxMCE components include:

  • The Core - The computer that acts as the "server" for LinuxMCE. It is responsible for coordinating all the other components and managing your network. This system REQUIRES TWO NETWORK CARDS. Read the next question for an explanation.
  • Media Directors - The computers that are connected to your TV's and allow you to view your media. The Core can also act as a Media Director; thid configuration is called a Hybrid. Any system that is to be used as a Media Director should have an nVidia graphics card, 6200 or better. Read the question after the next for an explanation.
  • Orbiters - Small devices used as advanced remote controls. Some possible devices include:
    • Bluetooth mobile phones (with OBEX capabilities)
    • Nokia Internet tablets (N770/800/810)
    • Windows PCs
    • Any device with a web browser

You must have exactly one Core. You may have as many Media Directors and Orbiters as you please. For a more detailed explanation, including hardware recommendations, see this section of the User Manual.

You will also need additional hardware for certain functionality. Here are some examples:

  • Recording/Watching TV - PCI or Ethernet based TV tuner
  • Security - Sensors, device to connect sensors to the system, IP-cameras
  • Home control and automation - Home automation computer adapter, control system compatible devices (switches, thermostats, etc)
  • A/V equipment control - IR Transceiver, RS-232 cabling
  • Telecommunication - VoIP provider, VoIP phones (or at least some microphones attached to Media Directors)

You don't have to buy everything at once - you can expand your system as you please.

Why does LinuxMCE require that it replace my router? Why do I need 2 network cards in my Core?

LinuxMCE is built to automate as many tasks as possible. In order to do this, it monitors new connections to your network. This allows LinuxMCE to immediately react and automatically configure new networked hardware. This includes setting up VoIP phones and adding media from other systems or Network Attached Storage (NAS) devices. LinuxMCE also requires a direct connection to the Internet to ensure the quality of VoIP traffic.

As a side effect, LinuxMCE also gives you greater control over your network by allowing for advanced firewall and routing configuration. This ensures that your network is safer, while at the same time being more useful.

The easiest way to make all this work properly is to simply replace the router with LinuxMCE. Your old router is still useful - it can be configured as a switch and wireless access point (assuming it's a wireless router) to allow the rest of your network to function normally. In order for LinuxMCE to connect to the Internet and local network simultaneously, it is necessary to have 2 physical network cards.

In order to support all the capabilities of a normal router, LinuxMCE runs a DHCP server, which will conflict with your router. Therefore it is very important that you do not attempt to run LinuxMCE behind your router.

We understand this may be a bit intrusive on your current network setup, and we apologize for the inconvenience.

Workaround

There is currently one workaround to replacing your router. You can set up a segmented network where LinuxMCE is isolated from your current network. This setup still requires 2 network cards, and also requires an additional network switch. Follow these steps:

  1. Leave your current network alone - do not change a single thing
  2. Connect the Core's "external" network interface to a LAN port on your router
  3. Connect the Core's "internal" network interface to the extra switch
  4. Install LinuxMCE normally

With this setup, LinuxMCE will not be able to see anything connected directly to your router. This means you will not be able to import media from devices connected directly to your router, and you will not be able to have Media Directors or Orbiters connected directly to your router.

Why does LinuxMCE Require nVidia graphics cards? Why can't I use my ATI card?

Any system that is going to be used as a Media Director (including a hybrid Core) should have an nVidia graphics card, 6200 or better. This is technically not a requirement, but it is a very strong suggestion. Here's why:

  • ATI's Linux drivers do not properly support all the features LinuxMCE needs to run the graphical overlay
  • Because the drivers don't support LinuxMCE's feature set, we haven't done enough refinement of the ATI device templates to make it work without lots of manual intervention
  • Even with proper setup - which takes an extreme amount of effort - the results are not all that good.

The bottom line, nVidia has better support in Linux than ATI, allowing LinuxMCE to do a lot more stuff. Using an nVidia card will save a lot of manual configuration and give a better user experience. For these reasons, LinuxMCE only recommends nVidia cards.

LinuxMCE developers will NOT help you configure graphics cards that do not meet this requirement. You are more than welcome to use other hardware, but do so at your own risk.

How do I install LinuxMCE?

There are two ways to install LinuxMCE. Both are detailed in the Installation Guide, here's a short summary of each. Be sure to read the Installation Guide in its entirety before installing LinuxMCE - it contains very important information.

No matter which you choose, it's important to realize that LinuxMCE is not a Linux distribution - it's actually built upon Kubuntu. The most recent version of LinuxMCE is 7.10, which installs on top of Kubuntu 7.10. Do not attempt to install LinuxMCE 7.10 on Kubuntu 8.04 - it will not work.

DVD Method

This method will use the entire hard drive and will setup LinuxMCE with default settings. If you want more control over the installation, use the CD method. Booting from the DVD will start the install process.

Default settings include:

  • Automatically install Kubuntu 7.10
  • Use the whole hard drive - wiping anything on it
  • Start a DHCP server on boot

CD Method

This is a two step process. First, you must install Kubuntu 7.10. Do not apply any Kubuntu updates. Doing so may cause issues with the LinuxMCE install. Then, start the CD installation from within Kubuntu (not as a boot disc). Details about this process are in the Installation Guide.

Additional configuration options include:

  • Custom partition setup
  • Run installation from ISO images (instead of actual discs)

First Boot

How do I configure LinuxMCE?

Much of the initial configuration is handled in the installation. The remaining system setup is handled by the A/V Wizard, which automatically launches on the first boot.

For additional configuration options, see the LinuxMCE Admin Website (http://dcerouter/ or http://192.168.80.1/) or re-run the A/V Wizard.

Nothing came up on my TV! What's wrong?

Probably nothing serious. See this page.

How do I login to a LinuxMCE system?

In order to do certain things - like system configuration, or general computing - you will need to provide login information. See Logging_In for details.

General Information

How are media files organized?

General use

For windows users, you can access the files on the core in Windows explorer's network neighborhood, or by choosing 'Start' 'Run' and typing \\ plus the ip of your core. You will need to login with your user-name and password; it's the same one you use with LinuxMCE Admin. You will see 2 folders: 'public' and 'john', assuming your name is 'John'. Any files that you want everyone in the House to have access to go into the public folder. The folder with your name, John in this case, is your private folder where you can put files that only that only you will have access to. Often times when you choose to save media using the orbiter it will ask you if you want the media to be public or private. If you choose public the media will be saved under the public folder, and if you choose private it will be saved under the private folder with your name. Within those folders you will find some folders called: 'music' (where all ripped cd's go), 'movies' (where all ripped DVD's go), 'videos' (where videos recorded from tv or camcorders go), pictures (where your pictures go), and 'documents' (where your documents go). When you go to play some media in the orbiter by choosing the buttons music, movies, videos, pictures or documents, you will see combined together all the media from the family's public folder as well as the media from your own personal private folder.

So, for example, if you rip a CD 'Madonna' and make it public, and rip a CD 'Rolling Stones' and make it private, and your spouse rips a CD 'Fleetwood Mac' and makes it private, then when you touch music on the orbiter you will see 'Madonna' and 'Rolling Stones', and when your spouse touches music your spouse will see 'Fleetwood Mac' and 'Madonna'. Assuming your name is john and your spouse is susan, then if you browse the network share, you will find 'Madonna' in the folder public\music and you will find 'Rolling Stones' in the folder john\music. If, in LinuxMCE admin your user has 'can modify configuration' checked, then that means you are also able to browse everybody else's private folders too. So in addition to 'public' and 'john', you will also see a folder 'susan', which contains 'music' which contains 'Fleetwood Mac'. If that option is not checked for Susan, then she will only see the folder 'public' and 'susan' and will not see your private folder 'john'.

Note that even if you check that option giving yourself access to everyone's private folders, when you go to browse media on the orbiter you will still only see public files plus your own private files, just so you're not bothered with everyone else's.

To maintain the media files, including copying deleting and renaming, you can either use another PC and a network share, such as a Windows PC with Windows Explorer, or in the LinuxMCE admin web site you can choose Media & Files, Browse.

Note that LinuxMCE maintains an internal database of all your media, including various attributes such as the actors in a movie or the composer of a song. This makes searching very comfortable. For example if you touch the music button, then start typing, you will see all attributes. For example after you touch 'G', you may see 'Geffen Studios (studio)', 'Get You Back (song)', 'GNR Live (album)', and 'Guns N Roses (performer)'. You can continue typing to narrow your entries down further, and touch any entry then 'view' to see all the music that matches. The resulting screen even does cross matching and shows pictures for each attribute.

When you rip media within LinuxMCE the attributes are created automatically. You can view attributes or change them in the LinuxMCE admin site. LinuxMCE also monitors any media that you may add or change outside of LinuxMCE, such as using Windows Explorer. For example if you copy files over in Windows Explorer, LinuxMCE will automatically scan the files and add the attributes to its internal database so you can still search. Also if you rename or delete files, LinuxMCE will automatically update your database accordingly.

If you add a plug-and-play network attached storage device, within each media folder you will see a subfolder for that device and you will be able to move files to and from it.

Technical explanation

The public directory maps to /home/public/data, and each user's private directory maps to /home/user_xxxx/data, where xxxx is the internal user ID. The name 'john' is a symlinc to user_xxxx for convenience. The program /usr/pluto/bin/UpdateMedia uses INotify to monitor all /home/public/data and /home/user_xxxx/data folders, so it can rescan whenever the directory is changed. All attributes are stored in the MySql database pluto_media. Each file is a record in the 'File' table. UpdateMedia creates an extended attribute called 'ID' for each file with the primary key of each file. That way if you move or rename a file UpdateMedia will see the extended attribute and your attributes will not be lost--it just updates the database. If you want to add more storage you can map drives under those directories. For example, if you have another 2TB drive array that you want to use for both public music and your private movies, create 2 directories on that array, let's say: public_music and john_movies. Using a network mount, or a symlinc to a network mount, create a folder such as /home/public/data/music/my_2TB_nas that maps to public_music and /home/user_xxxx/data/movies/my_2TB_nas that maps to john_movies. Then when you browse music or movies in the orbiter you will see a folder 'my_2TB_nas' to access the files on that new drive. When you add a plug-and-play network attached storage, LinuxMCE automatically adds a folder within every single directory, such as /home/public/data/music/new_nas, /home/public/data/movies/new_nas, /home/user_xxxx/data/videos/new_nas, and these are automatically mapped to corresponding folders on the NAS. This makes it very easy for a novice to just plug in a NAS and immediately use it without any technical knowledge. However if you want to change this behavior, just remove the symlincs our plug and play script created.

What are scenarios?

Scenarios (aka activities) are the buttons that appear on the main menu of every controller, such as Web pads, PDAs, mobile phones, and Media Director PCs. They trigger any number of actions which can include anything from changing lighting to starting media playback to changing climate settings. Scenarios are specific to rooms. A scenario can affect any device anywhere in the house, but certain scenarios will only be displayed in certain rooms. This is so that when you are in a particular room, you will only see the scenarios that you are likely to use from that room. See this page to learn about what scenarios are created automatically.

Does LinuxMCE support encrypted DVD's?

The short answer: yes - if it is legal in your area. You will have to add optional software to enable the features. See this page for more information.

How can I use additional mouse buttons for LinuxMCE?

See this page

How should I format additional hard drives?

From "blog gelusi: Linux Tuning Guide" (http://gelusi.blogspot.com/2008/02/linux-tuning-guide.html)

 1. Filesystem
 Block sizes
 
 For filesystems dedicated to serving fairly large files, adopting a larger than default 1024 byte block size may yield significant
 performance gains.
 
 Recent transactions on the linux kernel list suggest that setting the block sizein an ext2 file system to 4096 instead of the 
 default 1024 will result in less file fragmentation, faster fsck's, faster deletes and faster raw read speed, due to the reduced 
 number of seeks.
 
 Unfortunately this cannot be changed on the fly. Only a reformat will make this so. The command to format a file system with 4096 
 byte blocks is:
 
 mke2fs -b 4096 /dev/whatever
 
 Additionally, on any filesystems except those used for logfiles, the default of 5% reserved for root use is excessive for large 
 file systems, so the command to make the filesystem can be augmented to
 
 mke2fs -b 4096 -m 1 /dev/whatever
 
 to set the reserved fraction to 1 percent.

Then if you want a journaling (ext3) filesystem:

 mke2fs -b 4096 -m 1 -j /dev/whatever

Note, no further configuration should be necessary as new drives will be auto-discovered.

Fixing Problems

What if I forget my web admin password?

See this article

What if I forget my linuxmce/upgrade account password?

See this article

I can't access my media files over the network!

See this article.

What if you don't have a driver for my home automation device?

See this article.

What if my problem isn't listed here?

It may be listed on the Troubleshooting page.

If not, it's time to do some research on your own. The LinuxMCE wiki is full of information - try using the search feature or browsing categories. See if anyone else has had the same issue by searching on the forum.

When all else fails, maybe someone else has the answer for you. Try posting on the forum or our IRC channel (irc.freenode.net #linuxmce).

Remember, LinuxMCE doesn't have any paid employees, so don't get annoyed if no one gets back to you right away. We're all very busy people who have lives outside of LinuxMCE.