PASS=
CHANNEL=7
REBOOT=false
+DISABLE_INTERNAL_WIFI=false
WLAN0_CFG=/etc/network/interfaces.d/wlan0
HOSTAPD_CFG=/etc/hostapd/hostapd.conf
DNSMASQ_CFG=/etc/dnsmasq.conf
DHCPCD_CFG=/etc/dhcpcd.conf
WPA_CFG=/etc/wpa_supplicant/wpa_supplicant.conf
+MOD_DISABLE=/etc/modprobe.d/blacklist-internal-wifi.conf
function query_config() {
+ if [ -e $MOD_DISABLE ]; then
+ INTERNAL=false
+ else
+ INTERNAL=true
+ fi
+
if [ -e $WLAN0_CFG ]; then
SSID=$(grep wpa-ssid $WLAN0_CFG |
sed 's/^[[:space:]]*wpa-ssid "\([^"]*\)"/\1/')
- echo "{\"ssid\": \"$SSID\", \"mode\": \"client\"}"
+ echo -n "{\"ssid\": \"$SSID\", \"mode\": \"client\", "
+ echo "\"internal\": $INTERNAL}"
else
if [ -e $HOSTAPD_CFG -a -e /etc/default/hostapd ]; then
sed 's/^channel=\(.*\)$/\1/')
echo -n "{\"ssid\": \"$SSID\", "
- echo "\"channel\": $CHANNEL, \"mode\": \"ap\"}"
+ echo -n "\"channel\": $CHANNEL, \"mode\": \"ap\" "
+ echo "\"internal\": $INTERNAL}"
else
echo "{\"mode\": \"disabled\"}"
echo
echo " -a Configure access point."
echo " -d Disable wifi."
+ echo " -x Disable internal wifi."
echo " -r Reboot when done."
echo " -s <SSID> Set SSID."
echo " -p <PASS> Set password."
case "$1" in
-a) AP=true ;;
-d) DISABLE=true ;;
+ -x) DISABLE_INTERNAL_WIFI=true ;;
-r) REBOOT=true; ;;
-s) SSID="$2"; shift ;;
-p) PASS="$2"; shift ;;
echo "Configuring Wifi"
configure_wifi
fi
+
+ if $DISABLE_INTERNAL_WIFI; then
+ if [ ! -e $MOD_DISABLE ]; then
+ echo -e "blacklist brcmfmac\nblacklist brcmutil" > $MOD_DISABLE
+ REBOOT=true;
+ fi
+ else
+ if [ -e $MOD_DISABLE ]; then
+ rm $MOD_DISABLE
+ REBOOT=true;
+ fi
+ fi
fi
password: '',
password2: '',
wifi_mode: 'client',
+ wifi_internal: true,
wifi_ssid: '',
wifi_ch: undefined,
wifi_pass: '',
}.bind(this));
api.get('wifi').done(function (config) {
- this.wifi_mode = config.mode;
- this.wifi_ssid = config.ssid;
- this.wifi_ch = config.channel;
+ this.wifi_mode = config.mode;
+ this.wifi_internal = config.internal;
+ this.wifi_ssid = config.ssid;
+ this.wifi_ch = config.channel;
}.bind(this));
},
this.rebooting = true;
var config = {
- mode: this.wifi_mode,
- channel: this.wifi_ch,
- ssid: this.wifi_ssid,
- pass: this.wifi_pass
+ mode: this.wifi_mode,
+ internal: this.wifi_internal,
+ channel: this.wifi_ch,
+ ssid: this.wifi_ssid,
+ pass: this.wifi_pass
}
api.put('wifi', config).fail(function (error) {
button.pure-button.pure-button-primary(@click="wifiConfirm = true",
v-if="wifi_mode == 'disabled'") Set
+ .pure-control-group(v-if="wifi_mode != 'disabled'",
+ title="Use the intenral WiFi. Disable to use a USB WiFi dongle")
+ label(for="internal") Internal WiFi
+ input(type="checkbox", v-model="wifi_internal")
+
.pure-control-group(v-if="wifi_mode == 'ap'")
label(for="wifi_ch") Channel
select(name="wifi_ch", v-model="wifi_ch")