#!/bin/sh
# chkconfig: 2345 24 76
### BEGIN INIT INFO
# Provides:          ti-wilink
# Required-Start:    modules $local_fs
# Required-Stop:     
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Start ti-wilink at boot time
# Description:       Enable service provided by ti-wilink.
# X-Start-Before:    $network
# X-Stop-After:      $network
# X-Timesys-Start-Number:  24
# X-Timesys-Stop-Number:  76
### END INIT INFO


FIRMWARE_DIR=/lib/firmware/ti-wilink

load_tiwilink() {
    insmod $FIRMWARE_DIR/sdio.ko
    insmod $FIRMWARE_DIR/tiwlan_drv.ko
    cp /sys/class/product_id/wifi_config_data $FIRMWARE_DIR/nvs_map.bin
    tiwlan_loader -e $FIRMWARE_DIR/nvs_map.bin -i $FIRMWARE_DIR/tiwlan.ini -f $FIRMWARE_DIR/firmware.bin
    ifconfig tiwlan0 up

echo "## The tiwlan configration tool can use started using the following command:"
echo "wlan_cu -i/var/run/tiwlan0"
echo "##"
}

unload_tiwilink(){
    ifconfig tiwlan0 down
    rmmod tiwlan_drv
    rmmod sdio
    rm $FIRMWARE_DIR/nvs_map.bin
}

case "$1" in
    start)
        echo "Loading ti-wilink wireless service"
        load_tiwilink
    ;;
    stop)
        echo "Unloading ti-wilink modules"
        unload_tiwilink
    ;;
    *)
    echo "Usage: $0 [start | stop]"
esac
