#!/bin/ash

PATH=/bin:/sbin:/usr/bin:.
PS1='AP:$PWD # '
export PATH PS1
echo "Mounting proc-fs"
mount none /proc -tproc -n
mount none /tmp -ttmpfs -osize=1048576 -n
echo "Reading config file..."
if [ ! -f "config/config" ]; then
  echo "mounting disk..."
  mount -t msdos /dev/floppy/0 /config
fi
for i in 0 1 2 3 4 5 6 7 8 9 10; do
  ln -s vc/${i} /dev/tty${i}
done
. config/config
#Do PCMCIA-Voodoo
/sbin/insmod /lib/modules/pcmcia_core.o $CORE_OPTS
/sbin/insmod /lib/modules/$PCIC.o $PCIC_OPTS
/sbin/insmod /lib/modules/ds.o
/sbin/insmod /lib/modules/hostap_crypt.o
/sbin/insmod /lib/modules/hostap.o
/sbin/insmod /lib/modules/hostap_crypt_wep.o
/sbin/insmod /lib/modules/hermes.o
/sbin/insmod /lib/modules/orinoco.o

/sbin/cardmgr -v -o -m /lib/modules -s /tmp/stab -p /tmp/pid
sleep 1

/sbin/ifconfig wlan0 >/dev/null 2>&1
if [ "$?" != "0" ]; then
  CARDTYPE="lucent"
  WLDEV="eth1"
  for i in hostap_crypt_wep hostap hostap_crypt; do
    /sbin/rmmod ${i}
  done
else
  CARDTYPE="prism"
  WLDEV="wlan0"
  for i in orinoco hermes; do
    /sbin/rmmod ${i}
  done
fi

echo "Detected ${CARDTYPE} card... Trying to download firmware..."

if [ "${CARDTYPE}" = "lucent" ]; then
  if [ "${HERMESFW}" != "" ]; then
    /sbin/hfwload ${WLDEV} /etc/firmware/${HERMESFW}
  fi
else
  if [ "${PRISMFW}" != "" ]; then
    /sbin/prism2_srec -r ${WLDEV} /etc/firmware/${PRISMFW}
  fi
fi

# Source init on Disk for network configuration
if [ -f "/config/sysinit" ]; then
  . /config/sysinit
fi

echo

iwconfig ${WLDEV}
