fixes wifi

This commit is contained in:
Sebastian Hildebrandt 2021-02-10 17:01:47 +01:00
parent b15d09dde2
commit 14b4892feb

View File

@ -139,7 +139,7 @@ function ifaceListLinux() {
}
function nmiDeviceLinux(iface) {
const cmd = 'nmcli -t -f general,wifi-properties,capabilities,ip4,ip6 device show ' + iface;
const cmd = `nmcli -t -f general,wifi-properties,capabilities,ip4,ip6 device show ${iface} 2>/dev/null`;
try {
const lines = execSync(cmd).toString().split('\n');
const ssid = util.getValue(lines, 'GENERAL.CONNECTION');
@ -157,7 +157,7 @@ function nmiDeviceLinux(iface) {
}
function nmiConnectionLinux(ssid) {
const cmd = `nmcli -t --show-secrets connection ${ssid} ssid 2>/dev/null`;
const cmd = `nmcli -t --show-secrets connection show ${ssid} 2>/dev/null`;
try {
const lines = execSync(cmd).toString().split('\n');
const bssid = util.getValue(lines, '802-11-wireless.seen-bssids').toLowerCase();
@ -314,7 +314,7 @@ function wifiNetworks(callback) {
const iwconfigParts = execSync('export LC_ALL=C; iwconfig 2>/dev/null; unset LC_ALL').toString().split('\n\n');
let iface = '';
for (let i = 0; i < iwconfigParts.length; i++) {
if (iwconfigParts[i].indexOf('no wireless') === -1) {
if (iwconfigParts[i].indexOf('no wireless') === -1 && iwconfigParts[i].trim() !== '') {
iface = iwconfigParts[i].split(' ')[0];
}
}
@ -478,7 +478,7 @@ function wifiConnections(callback) {
ifaces.forEach(ifaceDetail => {
const nmiDetails = nmiDeviceLinux(ifaceDetail.iface);
const wpaDetails = wpaConnectionLinux(ifaceDetail.iface);
const ssid = nmiDetails.ssid;
const ssid = nmiDetails.ssid || wpaDetails.ssid;
const network = networkList.filter(nw => nw.ssid === ssid);
const nmiConnection = nmiConnectionLinux(ssid);
const channel = network && network.length && network[0].channel ? network[0].channel : null;
@ -614,9 +614,8 @@ function wifiInterfaces(callback) {
result.push({
id: ifaceDetail.id,
iface: ifaceDetail.iface,
name: ifaceDetail.name,
model: nmiDetails.product,
vendor: nmiDetails.vendor,
model: nmiDetails.product ? nmiDetails.product : null,
vendor: nmiDetails.vendor ? nmiDetails.vendor : null,
mac: ifaceDetail.mac,
});
});