Skip to content
Snippets Groups Projects
setmac.sh 1.21 KiB
Newer Older
  • Learn to ignore specific revisions
  • #!/bin/sh
    
    # If QCA6234 softmac.bin and/or ark3bdaddr.pst files don't exist, create them
    # using MAC IDs that were burnt into eFuses during gateway manufacture.
    # Then load ath6kl_sdio.ko module. 
    
    get_fuse () {
        local name=$1
        local bytes=$2
        # read the fuse and pad the left with zeros to the size of $pad
        local fuse=$(cat /sys/fsl_otp/$name | cut -b 3-)
        echo ${fuse}
    }
    
    get_mac () {
        local upper_fuse=$1
        local upper_mac=$(get_fuse HW_OCOTP_GP$upper_fuse)
        local lower_mac=$(get_fuse HW_OCOTP_GP$(( $upper_fuse - 1 )))
        echo $upper_mac$lower_mac
    }
    
    if [ ! -f /lib/firmware/ath6k/AR6004/hw3.0/softmac.bin ] ; then
        #QCA6234 WiFi softmac file not present, so create it 
    	echo -ne $(echo $(get_mac 31) | sed -e 's/../\\x&/g') > /tmp/hold> /lib/firmware/ath6k/AR6004/hw3.0/softmac.bin
    fi
    if [ ! -f /lib/firmware/ar3k/1020201/ar3kbdaddr.pst ] ; then
        #QCA6234 Bluetooth ar3kbddar.pst file not present, so create it 
    	echo $(get_mac 33) > /lib/firmware/ar3k/1020201/ar3kbdaddr.pst
    fi
    
    
    #install ath6kl driver module
    
    MODVER=$(ls /lib/modules)
    insmod /lib/modules/$MODVER/kernel/drivers/net/wireless/ath/ath6kl/ath6kl_sdio.ko
    
    
    #start bluettooh coexistance user-space daemon
    abtfilt -d -a -x -w wlan0 -b -s