Wireless Shenanigans with Redhat 9

I just did a fresh install of Redhat 9 onto my much ignored desktop PC. As with all Redhat 9 installs, it was dead easy. Getting the Wireless running took just a bit longer...
<--break-->
I've talked about getting wireless LAN working on Redhat (7.3) before. It looks like things are easier in Redhat 9 (provided you're using a supported PCMCIA bridge and Wifi card).

Okay, my system is a bit of a mish-mash machine, but essentailly has a PCI based PCMCIA bridge card in it. This gives my machine one PCMCIA slot in which I've got a Netgear MA401 Wireless LAN card. I've tried two different bridges, and both work fine, so I'm guessing these cards are pretty generic.

Anyway, Redhat 9 seems to include all the necessaries to get the PCMCIA bridge and Netgear card supported and running even on first boot (so before doing any up2date stuff). The characteristic "beep beep" as the PCMCIA services started up was very nice to hear indeed. So, I set about getting the Wireless LAN configured.

I'm sure there's a "proper" way to do this, but I couldn't find it. It seems the provision for this sort of thing doesn't work properly in Redhat 9 (although the vast number of updates now available might fix it). I "fixed" it really simply...

First, I took a copy of the bottom section of /etc/pcmcia/wireless.opts and put these in a file (/etc/pcmcia/wireless-fixed.opts). Of course, I filled in the necessary details (in my case, all I need is the ESSID, Mode, channel and the WEP encyption password - your mileage will vary). Here is the file I created:

INFO="Fill with your own settings..."
# ESSID (extended network name) : My Network, any
ESSID="mynetwork"
# NWID/Domain (cell identifier) : 89AB, 100, off

# Operation mode : Ad-Hoc, Managed, Master, Repeater, Secondary, auto
MODE="auto"
# Frequency or channel : 1, 2, 3 (channel) ; 2.422G, 2.46G (frequency)

CHANNEL="1"
# Sensitivity (cell size + roaming speed) : 1, 2, 3 ; -70 (dBm)

# Bit rate : auto, 1M, 11M

# Encryption key : 4567-89AB-CD, s:password
KEY="s:hfyu2t2tga8"
# RTS threshold : off, 500

# Fragmentation threshold : off, 1000

# Other iwconfig parameters : power off, ap 01:23:45:67:89:AB

# iwspy parameters : + 01:23:45:67:89:AB

# iwpriv parameters : set_port 2, set_histo 50 60

Then, to get this actually used (which is the bit I think is broken in Redhat) I editied /etc/sysconfig/network-scripts/ifup-wireless and added the following line at the top:

. /etc/pcmcia/wireless-fixed.opts

Now, when the "ifup" script decided the interface is wireless (as it does!), then it calls ifup-wireless, which has the correct variables set when it tries to figure out what to do.

Next, I copied ifcfg-eth0 to ifcfg-eth1 and edited it so that it was the way it should be (ie. has the right interface name, ip address and is ONBOOT=yes). Then, I edited ifcfg-eth0 (as my machine has a built in wired ethernet). I just set that to ONBOOT=no.

Last, I did a "./ifdown eth0; ./ifup eth1". I checked it had done what it was supposed to with "ifconfig -a". Hey presto - all set as it should have been.

Other things that have tripped me up in the past on Redhat are:
- Getting a default gateway and it's associated route established
- Getting the hostname set properly
- Getting DNS and NTP servers configured in the right places (and working - watch the iptables firewall rules!)

One thing that seems not to need any messing with is the Orinoco driver in the kernel (as was required in Redhat 7.3) - it looks like it works fine in Redhat 9 (with or without latest up2date stuff applied).

Hope that helps...?

Submitted by coofercat on Sat, 2003-12-06 19:57