Difference between revisions of "Getting Started"

From LinuxMCE
Jump to: navigation, search
(A Dealer Core)
Line 45: Line 45:
 
There are many ways to install LinuxMCE, and lots of options for equipment. However, the key components in a LinuxMCE system are the Core (the PC acting as the master server), Media Directors (media PC's connected to your TV's), and Orbiters (remote controls-web pads, pda's, mobile phones, etc.).
 
There are many ways to install LinuxMCE, and lots of options for equipment. However, the key components in a LinuxMCE system are the Core (the PC acting as the master server), Media Directors (media PC's connected to your TV's), and Orbiters (remote controls-web pads, pda's, mobile phones, etc.).
  
===A Dealer Core===
 
  
<p>If you buy from a Pro dealer, they will come to your home, analyze your situation, and make the decision with you.  They will offer a complete, custom-installed solution.</p>
 
<p>If you buy from regular dealer, the first thing you will need to get is 1 Core.  This is the brains behind the whole system, and it must run 24/7 since it will be providing all the services in your home, like the DHCP, security system, media server, phones, etc.  Also, all the media in the home (movies, music, etc.) will be stored on the Core.  Most dealers sell Cores that are commercial servers with massive storage and full redundancy so they will run non-stop without incident.  Since these Cores are often bulky, they are normally tucked away in a wiring closet or equipment rack.  However, you can also hook the Core up to your TV and use it as your first media director--we call this a hybrid.  Prices for Cores vary from under $1,000 for a basic Pentium PC, up to $7,000+ for a dual Xeon model with 4TB of storage.  See our [[***Core comparison***]] guide for help deciding.</p>
 
<p>Then for each TV area where you want media you will need a media director.  It's easy to add or remove media directors at any time.  See our [[***media director comparison guide***]].</p>
 
<p>For Orbiters you can either buy touch-screen tablets from a LinuxMCE dealer [[***comparison guide***]].  Be sure to get a Bluetooth-enabled Symbian http://www.series60.com phone from your local mobile phone carrier--they make great remote controls.</p>
 
 
<p>Also view our http://www.linuxmce.org/wiki/index.php/LinuxMCE:Compability to see what 3rd party devices will work with LinuxMCE, like lighting control systems, cameras, alarm panels, etc.</p>
 
  
 
=== I will use my own PC's ===
 
=== I will use my own PC's ===

Revision as of 14:13, 12 October 2007

It has been suggested that this article or section be merged with QuickStart Guide


Equipment: Picking The Right Components

See also: Tested good hardware and Tested bad hardware

The Core

Most important, is the "core". This is the main LinuxMCE server that runs all the applications. The commercial version uses a high-end server with RAID-5 storage. You'll probably be able to get by with a good Pentium 4, at least 80 GB of storage and two network cards (Gigabit ideally).

It would be best to use a dedicated core, which means you'll end up putting this computer somewhere out of the way and not connecting a monitor to it. If you are using only one computer for your system, then you've chosen the "hybrid" system, which means that your core will also be your media player. You'll definitely need a monitor or TV for this system!

Media Directors

Note that each media director will need a Bluetooth dongle if you want to use a Bluetooth mobile phone as the remote in that area. To control your a/v equipment using infrared, you will need an interface module (global cache gc100). This interface module also gives you extra serial ports. So, in this example, the TV is controlled by infrared, and the receiver by RS232.

See also: Sound Cards and Network_Boot_for_Media_Directors

Orbiters

Network Attached Storage

An alternative to having a lot of storage space in the core is to have a small hard drive for the core and store all your files on a network attached storage (or NAS) server. The Buffalo TeraStation is 1.0 TeraByte RAID-5 and under $1K(US). Having a NAS will allow you to not lose your precious media files. You'll likely want the larger storage for your collection of music and videos. Keep in mind that your LinuxMCE system can also record TV shows (using MythTV) and video from your security cameras (using Motion).

Additional Devices

See also Recommended Accessories

Optionally, you may want the aforementioned home automation devices for controlling your lights. Also, optionally, you may want security cameras, plasma screen TV, a streaming media music player such as the Squeezebox, an alarm system with a serial interface, etc. Some of these devices need another device called a gc100. This allows devices that communicate using a serial port (good alarm panels) or infrared (like your TV) to connect to the network and talk with your LinuxMCE core.

Location Considerations

This section has been moved to Choosing Locations.

Wiring Considerations

Main article: Wiring Considerations

Once LinuxMCE is installed, just treat it like an appliance--plug it in, turn it on, and leave it alone. The great news is that don't need to install any software on the media PCs that will be used as media directors. You can leave whatever operating system is on there, such as Windows, untouched-they will do a Network Boot for Media Directors when you want to use them as a Media Director.

The only special requirement is that the LinuxMCE Core needs to be your DHCP server so that it can offer the plug-and-play and network boot services. You cannot have 2 DHCP servers on the same network (not easily at least). In our Core, we provide dual network cards one for the "external" network, where your internet is connected, and one for the "internal" network within the house, and into which all your devices are connected. This makes LinuxMCE act as a firewall, and allows it to co-exist with another DHCP server. If you have a DSL or cable modem that needs to be the DHCP server it won't be a problem--just plug it into the "external" port. LinuxMCE's DHCP server only operates on the "internal" one. However, if you have only 1 network card in the Core, you will need to be able to give it a static IP and disable the DHCP server in your DSL/Cable modem. Otherwise you will have to disable LinuxMCE's DHCP server and lose a lot of functionality.

Setting Up The Hardware

There are many ways to install LinuxMCE, and lots of options for equipment. However, the key components in a LinuxMCE system are the Core (the PC acting as the master server), Media Directors (media PC's connected to your TV's), and Orbiters (remote controls-web pads, pda's, mobile phones, etc.).


I will use my own PC's

First a warning LinuxMCE is Linux-based, but don't worry. Sometimes drivers are not available for Linux as soon as they are for Windows. Particularly, if you bought some new, exotic hardware there may not be drivers. If you're looking to get some new hardware to run LinuxMCE you may want to check sites like http://www.linuxcompatible.org to be sure it's supported under Linux before you buy. Or maybe post a "will this work?" message in our forum. If you already have the hardware it can't hurt to try.

You will need one PC to run the Core software. Although you could install the Core on top of your existing Windows/Linux o/s, or build from source, it will be tricky and you will miss out on a lot of features. You really needs to use our own distribution because, in addition to our own software, LinuxMCE also includes lots of other open source projects, like Asterisk, Firefox, Xine, VideoLan, etc. We built "wrappers" for all of them which is how we get them all to work together seamlessly. For example, if you start watching a movie in 1 room, LinuxMCE will use Xine on that local media director. Use the orbiter to move that movie to 2 rooms, and LinuxMCE seamlessly detects the network capabilities (multi-cast switch, etc.), moves the video source to the Core using VideoLan, broadcasts to both rooms, uses VLC to do the rendering and changes the UI on the remote controls. If you use the vanilla packages from, say Fedora, none of that will work. Plus, a lot of LinuxMCE's more advanced, kernel-level modules, like plug-and-play, bandwidth shaping to ensure your phone calls are clear, network boot, and so on may not work on other Linux distributions and definitely cannot be done under Windows.

Note this PC should always be left on since it becomes the 'brains' for the whole house and all the other pieces won't function unless they can find the Core. In our commercial product, the Core is a fail-safe, redundant server.

There is only one special requirement. The Core needs to be your DHCP server so that it can offer the plug-and-play and network boot services. You cannot have 2 DHCP servers on the same network (not easily at least). If you have another DHCP server (like a cable/dsl modem), we recommend your Core have dual network cards: one for the "external" network, where your internet is connected, and one for the "internal" network within the house, and into which all your devices are connected. This makes LinuxMCE act as a firewall, and allows it to co-exist with another DHCP server. If you have a DSL or cable modem that needs to be the DHCP server it won't be a problem--just plug it into the "external" port. LinuxMCE's DHCP server only operates on the "internal" one. However, if you have only 1 network card in the Core, you will need to be able to give it a static IP and disable the DHCP server in your DSL/Cable modem. Otherwise you will have to disable LinuxMCE's DHCP server and lose a lot of functionality.

You can also put other cards in the Core, such as analog phone line interfaces from www.digium.com for the phone system or analog video capture cards for surveillance cameras. You can put the PVR/satellite capture cards in the individual media PC's, or you can put several in the Core, which will share the video throughout the house.

Wherever you have a TV/Stereo you can use a PC or thin-client as the Media Director--it doesn't need to be on all the time and there's no software to install since they will network boot off the Core. Just be sure it has a good Linux-compatible sound card, a Linux-compatible video card, supports PXE network boot (nearly all recent motherboards do), and--optionally--a PVR card. To use the Bluetooth mobile phones as remote controls, add a USB Bluetooth Dongle for each media director (around $25). All the media directors will report the signal strengths of all the mobile phones--this is how the Core figures out what room you're in. Since all resources in the whole house are shared, you will be able to control any device in any room from anywhere--as long as you're within Bluetooth range of any media director (about 10m or 30feet), you will have control over everything in the house. You can also use low-cost network audio players, like the Squeeze Box, wherever you want to add music.

To control the system, you can use the PC's mouse and keyboard, or an infrared remote, or run the Orbiter software on your mobile phones, webpads and PDA's.

Also view our tested good hardware to see what 3rd party devices will work with LinuxMCE, like lighting control systems, cameras, alarm panels, etc.

A Dedicated Core

The Core is the central point of the Linux MCE system and runs applications and daemons needed for the other devices to exchange messages. A dedicated core will run only the backed applications and will not provide any fronted except the web interface, this means you won't act as a media center. You'll need to use Media Directors to be able to play movies, listen to music and watch TV. This kind of setup is recommended when you have lot of extra devices, this way the back end applications will have full access to Core's resources.


Diagram1.jpg

A Dedicated Hybrid

A "hybrid" just means the computer that is running is the "Core" software is also running the "Media Director" software-you use the Core as a Media Director. The only reason we don't recommend this in our high-end installations is because a computer suitable for a Core is usually a pretty massive box with major hard drive capacity and rather noisy, so it's shoved away in the wiring closet, rather than sitting next to a TV like a Media Director would. However, you can use a regular PC as the Core + Media Director (Hybrid) also. Just remember that it will need to always be on since the Core software is what controls everything in the house.

Diagram2.jpg

Be sure you complete the installation of your Core/Hybrid before trying to boot the media directors.

Installation

Pre-installation Setup

Note: During the installation, you may have some difficulties that can be avoided by following the advice below:

  1. Make sure you have an Internet connection prior to starting! After LinuxMCE installs, it will need to access the Internet and download the latest patches. (More often than not, you want this!)
  2. Confused about which internet adapter should be your "main" when that option is given to you during the install? Just click on one. You have a 50/50 chance of getting it right. You can easily change it later in the LinuxMCE-Website Admin pages by selecting "Advanced -> Network -> Network Settings" from the drop-down and clicking "Swap Interfaces".
  3. Use the core's DHCP server to give machines on your network a dynamic IP address. Turn off the DHCP server on any other devices you may have on your network! This is very important! You probably already have your home router giving out addresses. Check the configuration and turn that feature off. LinuxMCE uses the DHCP requests from machines that come online to figure out what they are and what to do with them.
  4. A map of your home. This is actually a very important step because LinuxMCE seems to need the map to properly finish the installation of some devices. It is easy to create a map using any drawing software or just draw one by hand and scan it. You don't need anything fancy, just some squares representing your different rooms. If the file is too big, LinuxMCE will scale it to fit. You can always upload a new map later on when you feel like being more creative. You can also make multiple maps, say, one for each floor or section of your house. This will all make more sense later when you get into configuring the devices.

Download

Download the Kubuntu installer and optional packages ISO from here.

Software Installation

You can find Steps for installing Linux MCE on a Kubuntu 7.04 system here.

Finalize The Install

After you have set everything up, you should do a full reboot of the "LinuxMCE universe", meaning rebooting the Core/Hybrid plus any media directors. You can do this by choosing "Restart" from the LinuxMCE Admin site wizard (the last option), or from any orbiter or media director by clicking the LinuxMCE logo on the main menu and choosing "Reboot Core".

If your media directors support both software power off and wake on lan, the core will turn them off before it reboots itself, and will turn them back on when it has finished booting up. If not, you may need to reboot the media directors manually by cycling power on them. Note that you should not turn the media directors on until the Core/Hybrid has finished booting up.

Configuration

Tell LinuxMCE About Your Home

Tell LinuxMCE about your home shows you how to use our LinuxMCE Admin wizard. In about 2 hours you can have everything setup--the whole-house media server, full control all your lights, climate, and tv/hi-fi gear, the phone system, follow-me, everything. It's quick, painless, and non-technical.

Adding Other Devices

If you chose a "Core", not being used as a Media Director, then it will boot up and you will see a simple menu like this:
Console.jpg LinuxMCE Core; After boot-up menu

You don't need to do anything. Your Core is up and running. Just make note of the IP address - you will need it to configure the system.

If you chose a "Hybrid", that is you are using your Core as a Media Director, it will boot up to the same welcome menu as any media director. Note that the welcome menu will appear on the first boot. After that, it will boot to the normal main menu, however, you can click the LinuxMCE logo in the lower left corner of the main menu to see the advanced options, including all the buttons on the welcome menu.


Welcome.jpg

You need a web browser to configure your LinuxMCE system using the built-in LinuxMCE Admin Website Since the Hybrid + Media Directors have one built in, you can just click the "LinuxMCE Admin" website to bring it up directly on the Hybrid. Or, from any web browser in your home, go to the URL: http://myip/linuxmce_admin where myip is the IP address of the Core/Hybrid. Login then click Wizard. You will see the following screen.

Wizard.jpg

Follow each of the links in the left panel to choose your basic settings, add the devices, scenarios, and event handlers. Here's an example for setting up an ultra low-cost smart home setup based on X10. The equipment we mention will cost under $1,000, although the procedure is exactly the same with a $100,000 high-end based on Lutron, Vantage, EIB, etc. So, please read the example regardless of your system type, so you understand the techniques.

EXAMPLE: Adding other devices

Example:

You have 2 gc100's which give you Infrared control of you're a/v equipment, extra serial ports to plug other stuff into, ttl inputs and relays. You have some tv's and stereo's to control, and also a CM11A module to control X10 devices, plus some X10 lights and thermostats.

You will plug the CM11A into one of the rs232 serial ports on the gc100. You also have an alarm panel with a serial interface, some squeeze box audio players, and some network cameras.

After specifying Basic Info on the first couple wizard pages, like family members and rooms, you get to Interfaces. Here you add all the devices that are used to interface with, or control other devices. So, the gc100 is an interface device, but the tv's and stereo's it controls are on the a/v page. The CM11A, Vantage, Lutron, etc. are also interfaces, the lights, blinds, drapes, etc. they control are on the lighting page. The alarm panel is an interface, the motion, glass break, smoke alarms, etc., are on the Security. Some home automation devices do not require an interface, some do. An IP-based camera does not require an interface device-add it directly to Surveillance Cameras. Analog cameras do need some sort of interface device, like a camera capture board, which you must first add to the interfaces page. Add the interface devices first on the interface page, and then the devices they control on the respective page. If you want to add EIB lights (on the lights page), you won't be allowed to do that until you first add the EIB interface on the interfaces page, because an EIB light cannot be used with an interface. If you add interfaces for both an EIB Lighting system, and an X10 lighting system, then on the lighting page you will be able to add both types of lights, and the 'Controlled Via' field will show you what interface is being used.

Back to our example: Plug one of your gc100's into the network, and click the 'add gc100' button on the interface page. gc100's are treated special because they are IP-based, but their network configuration is a bit different and does not allow them to be plug-and-play. Once you got the message that it was found and configured, click on the Interfaces page again--now you'll see it there. Maybe give it a descriptive name so you can remember which is which. Now plug in the 2nd gc100, and repeat. Next choose 'Add Devices' and add the CM11A. Like all RS232 devices, it is not plug and play, you must add it manually. Repeat for the alarm panel. In both cases, the Controlled Via devices is the Core, since that's where the software drivers will be run. But, when you go to choose the port, it only shows the Core's internal serial ports, and you want to plug it into one of the ports on the gc100. So, click 'Wizard', 'Restart' and 'quick reload router'. That causes the DCE Router to reload the list of devices in the house so it sees the new gc100's you added, and adds the ports. Refresh the Interfaces page, and now you can choose the gc100 ports for the CM11A and alarm panel.

Next, add your tv's and stereo's on the AV Devices and indicate how they are connected (which AV inputs). If your model is not in the database you will need to add it. If the I/R codes for your device aren't listed or don't work, you will click the A/V properties button and either learn them using the gc100's learner (plug it into serial port 1 and click 'learn'), or copy+paste the I/R codes in pronto format from a source like www.remotecentral.com. Your devices and I/R codes will automatically be sent to LinuxMCE and added to the master database for other users unless you uncheck the box. In the 'controlled via' chose whichever one of the gc100's has the infrared emitter attached for that device. Turn your Squeeze Boxes on, set the network to DHCP, and plug them in. LinuxMCE will automatically recognize them and configure them. You will see a confirmation message and be asked to pick the room they're in. Refresh the A/V page to see the Squeeze Boxes and indicate how you connect them to your stereo system.

On the Media Directors and Orbiters page, be sure your settings are correct. Then on the Lights and Climate pages, add all your X10 lights/thermostats. The 'Controlled Via' is the cm11A device. On the security page, add all your motion detectors, smoke alarms, etc. The 'Controlled Via' is the alarm panel. On the Floorplans, drag and drop your devices on the maps you upload. You'll need to do a 'regen orbiter' followed by a 'quick reload router' before you can use the floorplans.

Now let's test the devices. Do another 'quick reload router' so DCERouter sees these new devices. Go back to a device, like a light, click 'ADV' to go to the advanced page, or go there manually by choosing Devices from the menu. Click 'Send command to device', and choose a command. If it doesn't respond, go to 'Advanced', 'Logs' and check the logs for the interface, the CM11A in this case.

Scenarios, Events & Security

In the Scenarios page, add the scenarios, or buttons, you want for each room. Like a Lighting scenario in the Bedroom called 'Go to sleep' which dims the lights, or a security scenario in the living to view a camera. When you do a 'quick reload router', DCERouter will automatically add Media Scenarios for each room for whatever media devices are in there. But your new scenarios are not visible on the Orbiter until you regenerate--see the note below in 'Using LinuxMCE with an Orbiter'. Next add Events, in other words, when something happens (a motion detector is tripped, the sun sets, etc.) you want LinuxMCE to do this (turn on a light). Also set security options, like how you want to be notified when something happens in the house. Each page has context sensitive help to explain everything. They will take effect next time you reboot or 'quick reload router'.

Configuring Myth TV

This section has been moved to Setting up MythTV.

Upload Your Media

There will also be Microsoft Windows compatible network shares on the Core or Hybrid (uses Samba) . There is a "public" share for putting all files that the whole family can share--movies, music, etc. And there is a private share for each family member. To access these network shares in Windows, choose Start, Run, and type \\ plus the IP address of the Core or hybrid. For example: \\192.168.80.1 Note that if you add new family members, their network share will not be available until after you reboot the Core/Hybrid. Once you copy your media into the appropriate folder, you can go into the LinuxMCE Admin site, choose "Files & Media" and "Media Files Sync" to be sure your media is in the database, add attributes (artist, actor, etc.), and choose cover art.

Using LinuxMCE

This section has been moved to Using LinuxMCE. In 10 minutes you'll be up to speed and using all of LinuxMCE's features.

Using LinuxMCE with an Orbiter

Orbiter is just our way of saying remote control. All the Media Directors run an on-screen Orbiter, like the one below. Choose options on the on-screen orbiter with a keyboard/mouse attached to the media director, or with an infrared remote control. The Orbiter software runs on Linux, Windows and Windows CE, and can also be run on webpads and PDA's. Either way, it works exactly the same.

Below is the main menu. In the lower right are the 'who' and 'where' buttons. This indicates what room you are in, or want to control, and which family member is using the Orbiter. Touch either button if this isn't correct. Even if you are using an on-screen orbiter on the media director in the Living Room, for example, you can still change the location to the Bedroom. That means you would be using the Media Director in the Living Room as a remote control for the devices in the bedroom. Normally you don't change the location for an on-screen orbiter, since that device stays in a fixed place, but you do when you have a wireless web pad or pda you carry around.

The icons on the left all lead to a maps, or floorplan, of your house showing your lighting, media, climate, telecom and security devices. Next to each of the floorplan icons are the scenarios for that category and the given room. In the scenarios section of the LinuxMCE Admin web site you create the scenarios for each room. You can have a lighting scenario called 'entertaining guests' that sets some lights, plays some background music, unlocks the door, and so on.
Main-menu.jpg Litscen.jpg
<p>NOTE: Many orbiters have relatively slow processors (like PDA's and phones) and may be running on slow wi-fi connections. So, the orbiters do not retrieve the large, full-size graphics, scaling them, drawing the text, and rendering everything on the fly. Rather all the graphics on your Orbiter are pre-scaled and pre-rendered by OrbiterGen. This means that if you add new scenarios or devices, or change floorplans or skins, you won't see them immediately on the Orbiter. You must go to the 'Advanced Options' page by clicking the LinuxMCE logo on the main menu, and choose 'Regenerate this Orbiter'. You'll be asked to wait about 60 seconds or so while the renderer creates new graphics, and then the Orbiter will reload.

Using your system with a Mobile Orbiter

Unless you turned off the "Auto Detect new Bluetooth Phones" option for the Media Director, compatible Bluetooth Mobile phones will automatically be detected when they are within range of any Media Director if they have Bluetooth turned on. A message will appear on all the Orbiters asking if it's a phone, and if so, to whom it belongs. Be sure you add your family members to the LinuxMCE Admin web site before doing this. Also, you may need to turn on the TV to see the message on the on-screen orbiter.

If you choose to install the software, the phone will beep. Just hit 'yes' to accept the software, and accept the default prompts.

The mobile orbiter works pretty much like a regular orbiter. The difference is that you don't usually need to worry about the "who" and "where" button. The "who" is determined when you chose to install the software. That family member is assumed to always be the user. And the "where" is automatic-whenever you come within range of a media director it will automatically switch to the correct location. You can press the button under the location if you want to control a location other than the one you are in.

Since the display is smaller, rather than showing all the scenarios on the main menu, you must first choose the category, like lighting, and then choose the scenario from the sub menu that appears. You can also hold the category to toggle 'follow-me' mode, indicated with a red F. So, if you hold down the 2 button, a red F appears for media. Now as you move around the house your media will follow you. All 5 categories have follow-me. <a href="http://linuxmce.org/index.php?section=how_LinuxMCE_works">Screen shots of the Mobile Orbiter</a> / User's manual

Troubleshooting

Testing_and_troubleshooting_devices

What works and what doesn't?

If you don't know Linux at all, you can go into the LinuxMCE Admin website and choose Outside Access, and check the box to get outside assistance from LinuxMCE. You will pick a password you will give one of our tech support staff. When you do, your system will make a secure, encrypted connection back to our support staff giving us temporary access to your system. The connection is closed as soon as you uncheck the box. Without checking that box, nobody at LinuxMCE will have any access to your system.

This troubleshooting guide assumes some basic knowledge of Linux. In LinuxMCE, everything is a device. In the LinuxMCE Admin web site, you can choose Devices, to see a list of all the devices in your installation. We recommend you don't make changes here - you can break things! The top level device is usually a computer, either the core or a hybrid or an orbiter. All the logs for the devices on that computer are stored in /var/log/pluto. You can ssh in to the core using the root password you chose, and from there, you can ssh to all the media directors-shared keys were automatically setup.

All current activity is logged in the file that ends in ".newlog". After a device crashes, its logs are moved into the ".log" directory. At bootup, all logs are archived into /var/log/pluto/archives.

All DCE devices are running in separate screen sessions. Type "screen -ls" to see all active screen sessions, and "screen -r PID" where PID is the id you saw in the -ls list to attach to the screen session. There is not much for you to do or see though since all the output on stderr and stdout is going into the logs. DCERouter is running the same way on your core or hybrid.

At bootup, all the scripts listed in the LinuxMCE Admin website under Boot Sequence are run. If any programs crash, a core dump file is put in /usr/pluto/coredump. At each reboot, any core dumps are archived with the log files in /var/log/pluto/archives. A database dump/configuration snapshot are also put in each archive. Archives are deleted after 5 days.

If you're a programmer, you can also check out our Programmer's Guide. If you want to learn about writing DCE Devices, see the DCE.


Note:

We had to leave some basic features out of the free version due to licensing issues. See here for a list. If you purchase a pre-built LinuxMCE system, some or all of these technologies may be licensed and the license fee built into the purchase price. Before contacting LinuxMCE support to ask why something doesn't work, please refer to that site so you know what features were left out intentionally. Note that LinuxMCE does not encourage, endorse or support users adding 3rd party modules, nor did LinuxMCE develop those modules. If you choose to add 3rd party modules we suggest you first confirm they are legal in your area.