The Temple of Fu

code, systems and games

Archive for January 2010

Exchange 2003 RPC Over Http Setup – Outlook 2007 Outlook Anywhere Client Setup

with 5 comments

Wow, so this has been around 4 hours since I started this configuration but I finally got it! These notes are here for you in hopes that some piece of this will help you out.

So what is RPC over Http?

“RPC over HTTP/S is a cool method for connecting your Outlook 2003 client to the corporate Exchange Server 2003 from the Internet or WAN, without the need to establish a VPN session to the corporate LAN and/or needing to open many ports on your corporate firewall. The only ports you’ll need to open on your firewall are TCP 80 and, if using SSL, TCP 443.”

Note: This procedure is not required on SBS and that SBS fully configures Exchange for RPC over HTTPS and also provides instructions to connect an Outlook client on the ‘Configure Outlook over the internet’ link on RWW https://sbs/remote.

Another Note: The example provided here is for a Single server setup – In this scenario, you have only one server that is configured to function as a Domain Controller, a Global Catalog, an Exchange computer, and an RPC proxy server. This article discusses the single-server configuration in detail.

Install the RPC component on the Exchange server

   1. On the Exchange Server 2003 computer that is running Windows Server 2003, click Start, point to Control Panel, and then click Add or Remove Programs.
   2. Click Add Remove Windows Components, click Networking Services, and then click Details.
   3. Click to select the RPC over HTTP Proxy check box, click OK, and then click Next. Note that you must have either the Windows Server 2003 installation CD ready, or the i386 folder from that CD accessible while installing this component.
When Windows Component Wizard has completed configuring components, click Finish.

Configure the RPC virtual directory in Internet Information Services

After you configure the Exchange computer to use RPC over HTTP/S, you must configure the RPC virtual directory in Internet Information Services (IIS).

To do this, follow these steps:
   1. Click Start, point to Administrative Tools, and then click Internet Information Services (IIS) Manager.
   2. Expand servername (local computer), expand Web Sites, expand Default Web Site, right-click Rpc, and then click Properties.

Note: Windows Server 2003 Service Pack 1 (SP1) adds a new virtual directory called RpcWithCert. This virtual directory points to the same location as the Rpc virtual directory. You do NOT need to modify this virtual directory.

   1. Click the Directory Security tab, and then click Edit under Authentication and access control.
   2. Click to clear the Enable anonymous access check box.
   3. Click to select the Basic authentication (password is sent in clear text) check box.You will receive the following message:

“The authentication option you have selected results in passwords being transmitted over the network without data encryption. Someone attempting to compromise your system security could use a protocol analyzer to examine user passwords during the authentication process. For more detail on user authentication, consult the online help. This warning does not apply to HTTPS(orSSL) connections. Are you sure you want to continue?” Click Yes

   4. Enter the domain name in the Default Domain box (you can press Select to browse to the domain name).
   5. Click OK.
   6. Click Apply, and then click OK.
   7. Click the Directory Security tab, and then click Edit under Secure communications.
   8. Click to select the Require secure channel (SSL) check box and the Require 128-bit encryption check box.

Configure the RPC proxy server to use specific ports

After you configure the RPC over HTTP networking component for Internet Information Services, configure the RPC proxy server. Configure the RPC proxy server to use specific ports to communicate with the directory service and with the information store on the Exchange computer.

Download this tool RpcNoFrontEnd

Run the tool on your Exchange server, the defaults were fine for my situation.

Configure all your global catalogs to use specific ports for RPC over HTTP for directory services

Exchange Server 2003 Service Pack 1 note: Exchange Server 2003 Service Pack 1 has a new built-in RPC over HTTP/S GUI setting on the Exchange Server properties page in Exchange System Manager. If you configure the RPC over HTTP/S option from the GUI, there is NOT need to make any manual changes in the Registry.

To make the changes via the GUI follow these steps:

   1. Click Start, point to Microsoft Exchange, and then click System Manager.
   2. Expand your organization, expand Administrative Groups > First Administrative Group > Servers.
   3. Right-click on your server name and select Properties.
   4. Verify that a tab called RPC-HTTP is present.
   5. On the RPC-HTTP tab, click on RPC-HTTP Back-End Server.
You get an error:
Exchange System Manager There is no RPC-HTTP front-end in your Exchange organization. There must be at least one RPC-HTTP front-end server in the organization before the RPC-HTTP back-end server can be accessed.
Acknowledge the error.
   1. Click Ok all the way out.
   2. You need to reboot your server for the settings to take place.

Note: You can also use the Rpccfg tool to set and to troubleshoot port assignments. The Rpccfg tool is included in the Windows Server 2003 Resource Kit tools
To use the tool open a command prompt and enter
rpccfg /hd

Note: If you do not see output from the above ‘rpccfg /hd’ comman when you run it then you have a configuration issue, repeat the above steps untill you get output. Once you get the desired output then take note of it, you will use it when setting up the Outlook Anywhere client.

Congrats!!!, the Exchange server is now set up to use RPC-HTTP! 🙂

Outlook Anywhere Client Setup

After configuring RPC over HTTP/S you’ll need to configure your Outlook 2003 client to use the RPC over HTTP/S connection method instead of the regular TCP/IP method.

To set up a new Outlook profile that uses RPC over HTTP/S:

  1. Open Control Panel and run the Mail applet.
  2. In the Mail applet click on Show Profiles.
  3. In the Mail window click on Add.
  4. In the New Profile window type a descriptive name and click Ok.
  5. In the E-Mail Accounts window select Add a new e-mail account and click Next.
  6. In the E-Mail Accounts window, select Microsoft Exchange Server and click Next.
  7. In the E-Mail Accounts window, under the Microsoft Exchange Server box, type the Internal NetBIOS name of the Exchange server. Next, in the User Name box type the logon name of the test user account, the one you’ll be connecting with.
  8. In the Microsoft Exchange Server window, go to the Connection tab. Notice that you should have a section called “Exchange over the Internet” at the bottom of the tab. If this section does not appear, it means that you might not have met the requirements for setting up an RPC over HTTP/S connection. In the Exchange over the Internet section click to select the Connect to my Exchange mailbox using HTTP, and then click on the Exchange Proxy Settings button.
  9. In the Exchange Proxy Settings tab in the Connection Settings box, type the FQDN (Fully Qualified Domain Name) of the Exchange server.

Note: For LAN testing you CAN type the Internal FQDN i.e.(servername.domain.local)of the server. For WAN connections you MUST type the External FQDN of the server i.e.( See Testing RPC over HTTP/S Connection for more on this issue. The external FQDN of the server is the fully qualified domain name that is used by the Outlook clients to connect to the server from outside the LAN, and must be resolved to the IP address of the server, or in most cases, resolved to the IP address of your Firewall (or NAT device) that is configured to transfer the requests to the internal IP address of the Exchange 2003 server.When done, click Ok.
  10. Back in the Microsoft Exchange Server window click Ok.
  11. Back in the E-Mail Accounts window click Next.
  12.Back in the Mail window, click to select Prompt for a profile to be used (unless you only have one profile, duh…), then click Ok.

Now, open Outlook and try to connect to the server. If you have problems connecting it usually is a FQDN issue or user credentials issue.


Written by lordfu

January 24, 2010 at 4:26 pm

Posted in Exchange, Outlook, Windows

Slackware – Nvidia Twin Display Xorg.conf

leave a comment »

Nvidia Twin Display Xorg.conf

Below is a xorg.conf I had from a Slackware 11 install where I had a twin display setup, I still reference it from time to time so I am gonna keep it here for easy viewing.

# File generated by xf86config.

# Copyright (c) 1999 by The XFree86 Project, Inc.
# Permission is hereby granted, free of charge, to any person obtaining a
# copy of this software and associated documentation files (the "Software"),
# to deal in the Software without restriction, including without limitation
# the rights to use, copy, modify, merge, publish, distribute, sublicense,
# and/or sell copies of the Software, and to permit persons to whom the
# Software is furnished to do so, subject to the following conditions:
# The above copyright notice and this permission notice shall be included in
# all copies or substantial portions of the Software.
# Except as contained in this notice, the name of the XFree86 Project shall
# not be used in advertising or otherwise to promote the sale, use or other
# dealings in this Software without prior written authorization from the
# XFree86 Project.

# **********************************************************************
# Refer to the XF86Config(4/5) man page for details about the format of
# this file.
# **********************************************************************

# NOTE: This is a NEW IMPROVED version of XF86Config-fbdev that uses the vesa
# driver instead of the fbdev driver. Thanks to Kenneth Fanyo who pointed
# this out to me. :)

# This XF86Config file is designed for use with the VESA framebuffer.
# This generic interface should work with nearly all video cards
# (although not every card will support every resolution).

# With the new driver, it should no longer be required to have frame buffer
# support in the kernel, or to run it on the console.
# Enjoy! :)
# --

# **********************************************************************
# Module section -- this section is used to specify
# which dynamically loadable modules to load.
# **********************************************************************
Section "Module"

# This loads the DBE extension module.

Load "dbe" # Double buffer extension

# This loads the miscellaneous extensions module, and disables
# initialisation of the XFree86-DGA extension within that module.
SubSection "extmod"
Option "omit xfree86-dga" # don't initialise the DGA extension

# This loads the font modules
Load "type1"
Load "freetype"
#Load "speedo"

# This loads the GLX module
Load "glx"


# **********************************************************************
# Files section. This allows default font and rgb paths to be set
# **********************************************************************

Section "Files"

# The location of the RGB database. Note, this is the name of the
# file minus the extension (like ".txt" or ".db"). There is normally
# no need to change the default.

RgbPath "/usr/X11R6/lib/X11/rgb"

# Multiple FontPath entries are allowed (which are concatenated together),
# as well as specifying multiple comma-separated entries in one FontPath
# command (or a combination of both methods)
# If you don't have a floating point coprocessor and emacs, Mosaic or other
# programs take long to start up, try moving the Type1 and Speedo directory
# to the end of this list (or comment them out).

FontPath "/usr/X11R6/lib/X11/fonts/local/"
FontPath "/usr/X11R6/lib/X11/fonts/misc/"
FontPath "/usr/X11R6/lib/X11/fonts/75dpi/:unscaled"
FontPath "/usr/X11R6/lib/X11/fonts/100dpi/:unscaled"
FontPath "/usr/X11R6/lib/X11/fonts/Type1/"
FontPath "/usr/X11R6/lib/X11/fonts/CID/"
FontPath "/usr/X11R6/lib/X11/fonts/Speedo/"
FontPath "/usr/X11R6/lib/X11/fonts/75dpi/"
FontPath "/usr/X11R6/lib/X11/fonts/100dpi/"
FontPath "/usr/X11R6/lib/X11/fonts/cyrillic/"
FontPath "/usr/lib/X11/fonts/TTF"

# ModulePath can be used to set a search path for the X server modules.
# The default path is shown here.

# ModulePath "/usr/X11R6/lib/modules"


# **********************************************************************
# Server flags section.
# **********************************************************************

Section "ServerFlags"

# Uncomment this to cause a core dump at the spot where a signal is
# received. This may leave the console in an unusable state, but may
# provide a better stack trace in the core dump to aid in debugging

# Option "NoTrapSignals"

# Uncomment this to disable the VT switch sequence
# (where n is 1 through 12). This allows clients to receive these key
# events.

# Option "DontVTSwitch"

# Uncomment this to disable the server abort sequence
# This allows clients to receive this key event.

# Option "DontZap"

# Uncomment this to disable the / mode switching
# sequences. This allows clients to receive these key events.

# Option "DontZoom"

# Uncomment this to disable tuning with the xvidtune client. With
# it the client can still run and fetch card and monitor attributes,
# but it will not be allowed to change them. If it tries it will
# receive a protocol error.

# Option "DisableVidModeExtension"

# Uncomment this to enable the use of a non-local xvidtune client.

# Option "AllowNonLocalXvidtune"

# Uncomment this to disable dynamically modifying the input device
# (mouse and keyboard) settings.

# Option "DisableModInDev"

# Uncomment this to enable the use of a non-local client to
# change the keyboard or mouse settings (currently only xset).

# Option "AllowNonLocalModInDev"

# Set the basic blanking screen saver timeout.

# Option "blank time" "10" # 10 minutes

# Set the DPMS timeouts. These are set here because they are global
# rather than screen-specific. These settings alone don't enable DPMS.
# It is enabled per-screen (or per-monitor), and even then only when
# the driver supports it.

# Option "standby time" "20"
# Option "suspend time" "30"
# Option "off time" "60"

# On some platform the server needs to estimate the sizes of PCI
# memory and pio ranges. This is done by assuming that PCI ranges
# don't overlap. Some broken BIOSes tend to set ranges of inactive
# devices wrong. Here one can adjust how aggressive the assumptions
# should be. Default is 0.

# Option "EstimateSizesAggresively" "0"


# **********************************************************************
# Input devices
# **********************************************************************

# **********************************************************************
# Core keyboard's InputDevice section
# **********************************************************************

Section "InputDevice"

Identifier "Keyboard1"
Driver "kbd"
# For most OSs the protocol can be omitted (it defaults to "Standard").
# When using XQUEUE (only for SVR3 and SVR4, but not Solaris),
# uncomment the following line.

# Option "Protocol" "Xqueue"

# Set the keyboard auto repeat parameters. Not all platforms implement
# this.

# Option "AutoRepeat" "500 5"

# Specifiy which keyboard LEDs can be user-controlled (eg, with xset(1)).

# Option "Xleds" "1 2 3"

# To disable the XKEYBOARD extension, uncomment XkbDisable.

# Option "XkbDisable"

# To customise the XKB settings to suit your keyboard, modify the
# lines below (which are the defaults). For example, for a European
# keyboard, you will probably want to use one of:
# Option "XkbModel" "pc102"
# Option "XkbModel" "pc105"
# If you have a Microsoft Natural keyboard, you can use:
# Option "XkbModel" "microsoft"
# If you have a US "windows" keyboard you will want:
# Option "XkbModel" "pc104"
# Then to change the language, change the Layout setting.
# For example, a german layout can be obtained with:
# Option "XkbLayout" "de"
# or:
# Option "XkbLayout" "de"
# Option "XkbVariant" "nodeadkeys"
# If you'd like to switch the positions of your capslock and
# control keys, use:
# Option "XkbOptions" "ctrl:swapcaps"

# These are the default XKB settings for X.Org
# Option "XkbRules" "xorg"
# Option "XkbModel" "pc101"
# Option "XkbLayout" "us"
# Option "XkbVariant" ""
# Option "XkbOptions" ""


# **********************************************************************
# Core Pointer's InputDevice section
# **********************************************************************

Section "InputDevice"

# Identifier and driver

Identifier "Mouse1"
Driver "mouse"

# On platforms where PnP mouse detection is supported the following
# protocol setting can be used when using a newer PnP mouse:

# Option "Protocol" "Auto"

# The available mouse protocols types that you can set below are:
# Auto BusMouse GlidePoint GlidePointPS/2 IntelliMouse IMPS/2
# Logitech Microsoft MMHitTab MMSeries Mouseman MouseManPlusPS/2
# MouseSystems NetMousePS/2 NetScrollPS/2 OSMouse PS/2 SysMouse
# ThinkingMouse ThinkingMousePS/2 Xqueue
# Option "Protocol" "PS/2"
Option "Protocol" "IMPS/2"
Option "ZAxisMapping" "4 5"
Option "Buttons" "7"
# The mouse device. The device is normally set to /dev/mouse,
# which is usually a symbolic link to the real device.

# Option "Device" "/dev/mouse"
Option "Device" "/dev/psaux"
# Option "Device" "/dev/ttyS0"
# Option "Device" "/dev/ttyS1"

# When using XQUEUE, comment out the above two lines, and uncomment
# the following line.

# Option "Protocol" "Xqueue"

# Baudrate and SampleRate are only for some Logitech mice. In
# almost every case these lines should be omitted.

# Option "BaudRate" "9600"
# Option "SampleRate" "150"

# Emulate3Buttons is an option for 2-button Microsoft mice
# Emulate3Timeout is the timeout in milliseconds (default is 50ms)

# Option "Emulate3Buttons"
# Option "Emulate3Timeout" "50"

# ChordMiddle is an option for some 3-button Logitech mice

# Option "ChordMiddle"


# Some examples of extended input devices

# Section "InputDevice"
# Identifier "spaceball"
# Driver "magellan"
# Option "Device" "/dev/cua0"
# EndSection
# Section "InputDevice"
# Identifier "spaceball2"
# Driver "spaceorb"
# Option "Device" "/dev/cua0"
# EndSection
# Section "InputDevice"
# Identifier "touchscreen0"
# Driver "microtouch"
# Option "Device" "/dev/ttyS0"
# Option "MinX" "1412"
# Option "MaxX" "15184"
# Option "MinY" "15372"
# Option "MaxY" "1230"
# Option "ScreenNumber" "0"
# Option "ReportingMode" "Scaled"
# Option "ButtonNumber" "1"
# Option "SendCoreEvents"
# EndSection
# Section "InputDevice"
# Identifier "touchscreen1"
# Driver "elo2300"
# Option "Device" "/dev/ttyS0"
# Option "MinX" "231"
# Option "MaxX" "3868"
# Option "MinY" "3858"
# Option "MaxY" "272"
# Option "ScreenNumber" "0"
# Option "ReportingMode" "Scaled"
# Option "ButtonThreshold" "17"
# Option "ButtonNumber" "1"
# Option "SendCoreEvents"
# EndSection

# **********************************************************************
# Monitor section
# **********************************************************************

# Any number of monitor sections may be present

Section "Monitor"

Identifier "My Monitor"

# HorizSync is in kHz unless units are specified.
# HorizSync may be a comma separated list of discrete values, or a
# comma separated list of ranges of values.

HorizSync 31.5 - 82.0

# HorizSync 30-64 # multisync
# HorizSync 31.5, 35.2 # multiple fixed sync frequencies
# HorizSync 15-25, 30-50 # multiple ranges of sync frequencies

# VertRefresh is in Hz unless units are specified.
# VertRefresh may be a comma separated list of discrete values, or a
# comma separated list of ranges of values.

VertRefresh 55-120


# **********************************************************************
# Graphics device section
# **********************************************************************

# Any number of graphics device sections may be present

Section "Device"
#Identifier "VESA Framebuffer"
Identifier "NV AGP TwinView"
#Driver "vesa"
Driver "nvidia"
VendorName "nvidia"
Option "TwinView"
Option "SecondMonitorHorizSync" "31-82"
Option "SecondMonitorVertRefresh" "55-120"
Option "TwinViewOrientation" "RightOf"
Option "MetaModes" "1280x1024,1024x768; 1024x768,1024x768"
#VideoRam 4096
# Insert Clocks lines here if appropriate

# **********************************************************************
# Screen sections
# **********************************************************************

# Any number of screen sections may be present. Each describes
# the configuration of a single screen. A single specific screen section
# may be specified from the X server command line with the "-screen"
# option.
Section "Screen"
#Identifier "Screen 1"
Identifier "Screen AGP TwinView"
#Device "VESA Framebuffer"
Device "NV AGP TwinView"
Monitor "My Monitor"

# If your card can handle it, a higher default color depth (like 24 or 32)
# is highly recommended.

# DefaultDepth 8
# DefaultDepth 16
DefaultDepth 24
# DefaultDepth 32

# "1024x768" is also a conservative usable default resolution. If you
# have a better monitor, feel free to try resolutions such as
# "1152x864", "1280x1024", "1600x1200", and "1800x1400" (or whatever your
# card/monitor can produce)

Subsection "Display"
Depth 8
Modes "1024x768" "800x600" "640x480"
Subsection "Display"
Depth 16
Modes "1024x768" "800x600" "640x480"
Subsection "Display"
Depth 24
Modes "1280x1024" "1024x768" "800x600" "640x480"
Subsection "Display"
Depth 32
Modes "1024x768" "800x600" "640x480"


# **********************************************************************
# ServerLayout sections.
# **********************************************************************

# Any number of ServerLayout sections may be present. Each describes
# the way multiple screens are organised. A specific ServerLayout
# section may be specified from the X server command line with the
# "-layout" option. In the absence of this, the first section is used.
# When now ServerLayout section is present, the first Screen section
# is used alone.

Section "ServerLayout"

# The Identifier line must be present
#Identifier "Simple Layout"
Identifier "AGPTwinView"

# Each Screen line specifies a Screen section name, and optionally
# the relative position of other screens. The four names after
# primary screen name are the screens to the top, bottom, left and right
# of the primary screen. In this example, screen 2 is located to the
# right of screen 1.

#Screen "Screen 1"
Screen "Screen AGP TwinView"

# Each InputDevice line specifies an InputDevice section name and
# optionally some options to specify the way the device is to be
# used. Those options include "CorePointer", "CoreKeyboard" and
# "SendCoreEvents".

InputDevice "Mouse1" "CorePointer"
InputDevice "Keyboard1" "CoreKeyboard"


Written by lordfu

January 23, 2010 at 5:18 pm

Posted in Linux, Slackware

Slackware – Perl CPAN

with one comment

There really isn’t anything different from managing your Perl libraries with CPAN on Slackware than on any other Linux distribution, but these are my notes and you are welcome to them. :] My Slackware 13 install came with version v1.9205 of CPAN. CPAN is short for The Perl Archive Network and is the gateway to all things Perl, the canonical location for Perl code and modules

The Perl version that comes stock on your Linux distribution or your Windows install is hugely powerful, but in fact it just scratches the surface. Throughout the years, people have created Perl modules to accomplish very specific tasks so that you don’t need to rewrite the wheel to perform those same tasks. But these modules are not, by default, on your computer. They reside on the CPAN website at Often you can simply download the Perl code comprising the new module, and place that Perl code in the right place. But sometimes it requires a recompile.

When working with Linux, you can actually use Perl itself to download, make, test and install new modules. This interface is called CPAN.

To get a ‘shell’ into CPAN run this.
perl -MCPAN -e 'shell'

The first time you run it, it will want to be configured, answer yes to the following prompt if in a hurry and let it autoconfigure.

CPAN is the world-wide archive of perl resources. It consists of about
300 sites that all replicate the same contents around the globe. Many
countries have at least one CPAN site already. The resources found on
CPAN are easily accessible with the module. If you want to use, lots of things have to be configured. Fortunately, most of
them can be determined automatically. If you prefer the automatic
configuration, answer 'yes' below.

If you prefer to enter a dialog instead, you can answer 'no' to this
question and I'll let you configure in small steps one thing after the
other. (Note: you can revisit this dialog anytime later by typing 'o
conf init' at the cpan prompt.)
Would you like me to configure as much as possible automatically? [yes]

After it is done you will be shown a prompt like this:

You can upgrade CPAN at the prompt; this also shows an example of how to install something.
cpan>install Bundle::CPAN

You will get some output similar to this, answer yes to connecting to the internet. This will upgrade CPAN and can take a few minutes to complete so be patient. There will be a few questions you must answer so stay at the prompt and be ready, most of the time the default answers are OK to use. The safest bet is if you do not know how to answer one go with the default.
New version (v1.9402) available.
[Currently running version is v1.9205]
You might want to try
install CPAN
reload cpan
to both upgrade and run the new version without leaving
the current session.

Here is another example of installing.
cpan>install Tk

From that prompt you can get help with the help command:
cpan> h

Display Information
command argument description
a,b,d,m WORD or /REGEXP/ about authors, bundles, distributions, modules
i WORD or /REGEXP/ about anything of above
r NONE reinstall recommendations
ls AUTHOR about files in the author's directory

Download, Test, Make, Install...
get download
make make (implies get)
test MODULES, make test (implies make)
install DISTS, BUNDLES make install (implies test)
clean make clean
look open subshell in these dists' directories
readme display these dists' README files

h,? display this menu ! perl-code eval a perl command
o conf [opt] set and query options q quit the cpan shell
reload cpan load again reload index load newer indices
autobundle Snapshot force cmd unconditionally do cmd

To leave the prompt simply type exit
cpan> exit

Hope this helps someone!


Written by lordfu

January 23, 2010 at 4:15 pm

Posted in Perl, Slackware

Slackware 13 – Install Flash player plugin in Firefox

with 5 comments

I recently did an upgrade of Firefox and it broke my Flash player so here is how I fixed it.

  1. Download the flash player file from Adobe the file you will download is named :
  2. As a normal user extract the .tar file from the downloaded .tar.gzip :
    gunzip install_flash_player_10_linux.tar.gz
    This will cause the .tar.gz file to disappear and what remains will be : install_flash_player_9_linux.tar
  3. Now untar the file, what will be extracted is a file named
    tar -xvf install_flash_player_10_linux.tar
  4. Now as root install the file so Firefox knows about it substitute firefox-3.6.2 for whatever version of Firefox you have.
    cp /usr/lib/firefox-3.6.2/plugins/
  5. Now open Firefox and your Flash player should work as normal now

Hope this helps someone!

Written by lordfu

January 23, 2010 at 2:32 am

Posted in Slackware

Slackware 11 – Atheros – Madwifi

leave a comment »

Decided to document my steps for getting my wireless connection to work under Slackware 11

Note: This may or may not work in newer versions of Slackware to pull a snippet from Aliens wiki here the madwifi driver for Atheros based chipsets works fine with the current 2.6.x series of kernels and the 2.4.x kernels found in Slackware releases prior to 12.0.

I am using an kernel and the madwifi 0.9.4 source here. I have an Atheros based 802.11abg wireless NIC built on the AR5212 chipset in my Sony Vaio – PCG-K45 laptop.

Note: Make sure to have wireless enabled in your kernel. Make sure to have automatic module loading enabled as well.

I did all of this as root.

Install madwifi drivers

  1. Downloaded the source and then moved it to /usr/src/

    #mv madwifi.0.9.4.tar.gz /usr/src/
    #cd /usr/src
    #tar -xvf madwifi*
    #cd madwifi.0.9.4
    #make && make install

To connect to an open access point

  1. Now that the madwifi drivers are installed, run the following command to see wireless interfaces.
    #modprobe ath_pci
  2. Now run the following command and look interface ath0, if it is not there then debugging time; for this rebooting and runing the command dmesg is useful. Look for errors, an error I encountered is listed below under “Slackers Note”.
  3. Now bring the interface up if it isn’t already.
    #ifconfig ath0 up && ifconfig
  4. Now scan and see if the interface is working. Need to make sure the module wlan_scan_sta is loadedby running the below list modules command.
    If it is not loaded then use modprobe and load it.
    #modprobe wlan_scan_sta
    Check again to see if it loaded, if not use dmesg again to troubleshoot.
  5. To scan for access points use.
    #wlanconfig ath0 list scan
    The second way is the more usual way of scanning (and works with other wireless cards), it also gives you
    somewhat more information, and is therefore a bit less easy to read. The command is:
    #iwlist ath0 scan | less
    Especially useful is the line reading; “Encryption key:on”, which indicates that this AP is running some kind of WEP.
  6. To connect to a wireless network and configure the interface.
    #iwconfig ath0 essid "name_of_essid"
    Or by MAC
    #iwconfig ath0 ap 00:06:25:E8:3A:05
    Or automatically
    #iwconfig ath0 ap any
  7. Now dhcp the interface.
    #dhcpcd ath0
    #dhclient ath0

You should now be on the net. Try pining something to see, or check ifconfig to see if your interface has gathered an IP address.

To connect to an access point with a WEP key.

  1. Similar to above go ahead an select an essid and get connected.
  2. Then enter the wep key.
    #iwconfig ath0 key your_hex_wep_key
  3. Manually configure the interface or dhcp like above.
    #ifconfig ath0 netmask
    #route add default gw

Don’t forget the nameservers under /etc/resolv.conf, you should now be on the net.

Slackers Note:
I fully tried to use Alien Bobs slackpkg but had problems, not sure why but I could not get past an error saying auto
loadable modules was not enabled. I just didn’t have time.. I wanted net.

The driver creates two devices: wifi0 and ath0. This driver uses wifi%d only as a placeholder for the phyical device,
and will create one wifi device for each wireless NIC in the system. These wifi devices will reject ifconfig and
iwconfig commands. The wifi interface indicates the existance of a physical Madwifi device, but is not of any functional
interest other than as a target for VAP (Virtual Access Point) creation via wlanconfig.


Written by lordfu

January 13, 2010 at 10:38 pm

Posted in Linux, Slackware

Linux – Fix corrupt lilo boot loader with live cd

with one comment

Fix your lilo boot loader

Here’s how to fix your lilo MBR with a Linux live disk. This can happen after installing Windows which will overwrite your boot loader or mark a partition as non bootable.

Boot with your live disk, login and then note your partition setup and boot flags.


The below assumes that you have boot and home and root all in the same partition.
Now chroot by running the following commands.
If you are using ext4 replace ext3 below with ext4, one thing I noticed is cfdisk reports ext4 as ext3, this may be version specific.

mkdir /mnt/root
mount -t ext3 /dev/{your root partition EG: sda1} /mnt/root
mount -t proc none /mnt/root/proc
mount -o bind /dev /mnt/root/dev
chroot /mnt/root /bin/bash

Now that you are chrooted you can edit /etc/lilo.conf using your editor of choice, mine is nano.
nano /etc/lilo.conf
Now have lilo reread it’s configuration and update itself.
lilo -v

So hopefully now you can reboot and your mbr is fixed!

Links to rescue disks

Linux System Rescue cd (contains support for ext4)
Backtrack 4

Written by lordfu

January 13, 2010 at 4:19 pm

Posted in Linux, Slackware

Mounting devices within Linux

leave a comment »

Mounting Drives within Linux

This tutorial will hopefully explain how to mount drives, this includes floppys, cdroms, hardisks etc.

So you just got a nice drive and you wanna hook it up in your new slack machine.Well thankfully mounting drives is pretty much the same across all Unix based machines…well at least the ones I have come across.All you really need to know is the file system type and where you want to mount it, by this I mean where at in your file tree you would like to access it, for example: /mnt/myDrive.The file /etc/fstab is an important file,I suggest you take a few minutes to view it right know and familiarize yourself with its’ syntax.

I should mention that if you are installing a cd-rom drive after an install and all you are doing is replacing an old one, most likely you do not need to do anything as long as the device is located in the same position on the ide cable


  1. After installing new drive and on first boot look in dmesg for info on new drive and then substitute /dev/hdd below with correct info.
  2. First make a directory for the contents of the cd-rom.
    #mkdir /mnt/cdrom2 (change the mount point to whatever you feel like)
  3. As root open /etc/fstab with your favorite editor. You will notice the line:
    /dev/cdrom /mnt/cdrom iso9660 noauto,user,ro 0 0
    This really means:
    /device/devicetype /mountpoint/foldername filesystemtype don’tmountatboot,whocanmount,readonly bootcheckingno bootcheckingno
  4. 5. Since we are adding another cd-rom we need to add another line below this,add(and this is assuming that you have only 1 cdrom)
    /dev/hdc) /dev/hdd /mnt/cdrom2 iso9660 noauto,user,ro(change to rw if it is cd rw) 0 0
  5. Now you should be able to type and the contents of the cd would be in /mnt/cdrom2
    $mount /dev/hdc

The above work for dvd-roms and dvdrw drives.Just change the name of the folder to something to reflect the contents.

Hard Drives

The below is creating a mount point in the file system with permissions so that a user can mount the drive and umount the drive, and read write to the drive. Please adjust if this are not the correct settings you desire.
If this is to be used for Windows and Linux format as NTFS as most modern Linux distributions nowadays contain support for the NTFS format.

If this is being used for additional storage make a directory for it as so (If being used as additional storage for /home DO NOT make a directory!)
#mkdir /mnt/storage

Now add a line in /etc/fstab
/dev/hdb1(<<see dmesg for more info and correct hard drive info) /mnt/storage resierfs(<<whatever the type was you formatted the drive as) noauto,rw,user 0 0

I have this entry for an internal SATA drive
/dev/sda1 /mnt/storage ext3 noauto,rw,user 0 0

Now you can:
$mount /dev/sda1

Enjoy your new drive!

Written by lordfu

January 13, 2010 at 4:12 pm

Posted in Linux, Slackware