Install DD-WRT on Cisco E1200

The Cisco E1200 is a relatively inexpensive wireless access point. I bought one from Amazon for under $50 dollars. It’s a Wireless-N device with transmit speeds to up to 300mbps. It operates in the 2.4Mhz band, with two internal antennas, and four Fast Ethernet ports. It comes with Cisco Connect, and support for IPV6, as well as a guest access feature.

It gets even better. Starting in the spring of this year, DD-WRT open-source firmware is now supported on this device. DD-WRT will give the Cisco E1200 stability, and features that you normally see only on high-end wireless routers. With DD-WRT, you can create virtual networks or guest networks just like on the original Cisco firmware. Plus, you’ll get a ton of other features.

You can purchase the E1200 for under $50 dollars. There are two versions of the E1200. Depending on what you end up with, you can download the appropriate DD-WRT firnware for the E1200 version 1 or version 2.

Finally, here’s a screenshot of my Cisco E1200 running DD-WRT.

Mangler A Ventrilo Compatible Client for Linux

If you’re working with Ventrilo, you will learn quickly that there’s no Ventrilo client for Linux. It has been under development since 2005. Seven years later, it still hasn’t happened.

Good news, bad news. Bad news first. The bad news is I don’t think there will be a Ventrilo client for Linux ever. But, don’t fret. There’s good news. There’s a Ventrilo compatible client for Linux called Mangler. You can download the client from Mangler’s website.

Just download the appropriate version for your desktop. I’m using the 64-bit Debian-based package for Ubuntu 10.04. I downloaded it and ran the install via Gdebi Package Installer. The Mangler icon will be added under the Internet of the Gnome 2 menus, the default Ubuntu 10.04 desktop manager.

By the way, Mangler works great. I was able to transmit and receive signals from a Mangler client to a Ventrilo client and vice versa. Awesome app!

Install Ventrilo Server on Ubuntu 12.04

Ventrilo is a VoIP group communications software used by business users, gamers, or anyone needing group communication. A typical setup usually requires a Ventrilo server and some Ventrilo clients connected to it. The client software is available on Windows and the Mac.

Ventrilo server is available on many platforms such as Windows, Mac, Linux, Solaris, FreeBSD and NetBSD. Ventrilo server is available in two versions: (1) the public version which defaults to port 3784 with up to 8 users, (2) and the pro version that is configurable that can run on multiple servers and thousands of users.

This article will show how to install Ventrilo Server on the latest version of Ubuntu Linux, currently version 12.04. Credit goes to Ben Wagner for his article on installing Ventrilo server on Ubuntu 10.10.

Download

First, download the latest Linux version of Ventrilo Server from Ventrilo’s website.

Upload and Unzip

FTP the tar file to the home directory of your web server. Unpack the zipped file.

$ tar -xzf ventrilo_srv-3.0.3-Linux-i386.tar.gz
$ cd ventsrv

Create Ventrilo user

$ sudo useradd ventrilo

Move Binaries

Move the binaries to /usr/bin and make them executable.

$ sudo mv ventsrv/ventrilo_srv /usr/bin/ventrilo_srv
$ sudo mv ventsrv/ventrilo_status /usr/bin/ventrilo_status
$ sudo chmod +x /usr/bin/ventrilo_srv /usr/bin/ventrilo_status

Move config file

$ sudo mkdir /etc/ventrilo
$ sudo mv ventrilo_srv.ini /etc/ventrilo/ventrilo_srv.ini
$ sudo chown -R ventrilo:ventrilo /etc/ventrilo

Create the Start/Stop scripts

Insert the contents of this script into the ventrilo file. Make the file executable. Add the scripts to the boot sequence.

$ sudo nano /etc/init.d/ventrilo
$ sudo chmod 755 /etc/init.d/ventrilo
$ sudo update-rc.d ventrilo defaults

Start Ventrilo

$ sudo /etc/init.d/ventrilo start
* Starting VOIP server ventrilo
8931 (process ID) old priority 0, new priority -5   [ OK ]

Stop Ventrilo

$ sudo /etc/init.d/ventrilo stop
* Stopping VOIP server ventrilo   [ OK ]

Customize Config

Edit the Ventrilo config file.

$ sudo nano /etc/ventrilo/ventrilo_srv.ini

The contents will look similar to this.

[Server]
Name=ServerName
Phonetic=Servername
Auth=0
Duplicates=1
AdminPassword=password
Password=password
SendBuffer=0
RecvBuffer=0
Diag=0
LogonTimeout=5
CloseStd=1
TimeStamp=0
PingRate=10
ExtraBuffer=0
ChanWidth=0
ChanDepth=0
ChanClients=0
DisableQuit=0
VoiceCodec=3
VoiceFormat=18
SilentLobby=0

Pay attention to VoiceCodec and VoiceFormat. I’m using 3 and 18 respectively, so it’s compatible with the Mac OS clients.

Firewall Rules

The standard default port for Ventrilo server is port 3784. With the public version, you can connect up to 8 users concurrently. If you have a firewall installed such as iptables, you will need to open up port 3784 for both TCP and UDP. Here are the rules you will need to add to /etc/iptables.firewall.rules.

#  Allow Ventrilo
-A INPUT -p tcp --dport 3784 -j ACCEPT
-A INPUT -p udp --dport 3784 -j ACCEPT

Apply the new rules.

$ sudo iptables-restore < /etc/iptables.firewall.rules

Just connect the Ventrilo clients to the server.

That’s it.

Tricky WordPress Multisite Setup

I was converting a regular WordPress blog to a Multisite blog the other day. I got stuck in the part where I needed to edit the wp-config.php file. I applied the changes to wp-config.php as suggested in the installation instructions. The problem was I wasn’t seeing the Multisite menus you would normally find under ‘My Sites’ inside the WordPress Dashboard. The installation instructions tells you to add the following lines to your wp-config.php file.

/** Enable WordPress Multisite */
define('WP_ALLOW_MULTISITE', true);
define('MULTISITE', true);
define('SUBDOMAIN_INSTALL', false);
$base = '/';
define('DOMAIN_CURRENT_SITE', 'domain.com');
define('PATH_CURRENT_SITE', '/');
define('SITE_ID_CURRENT_SITE', 1);
define('BLOG_ID_CURRENT_SITE', 1);

It was a silly mistake on my part. I placed these entries at the end of the wp-config file. It is important that these lines remain above the absolute path statement and before the wp-settings are loaded. See below.

/* That's all, stop editing! Happy blogging. */
 
/** Absolute path to the WordPress directory. */
if ( !defined('ABSPATH') ) define('ABSPATH', dirname(__FILE__) . '/');
 
/** Sets up WordPress vars and included files. */
require_once(ABSPATH . 'wp-settings.php');

Keep these lines at the end of the wp-config.php file.