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) { 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 { try {
const lines = execSync(cmd).toString().split('\n'); const lines = execSync(cmd).toString().split('\n');
const ssid = util.getValue(lines, 'GENERAL.CONNECTION'); const ssid = util.getValue(lines, 'GENERAL.CONNECTION');
@ -157,7 +157,7 @@ function nmiDeviceLinux(iface) {
} }
function nmiConnectionLinux(ssid) { 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 { try {
const lines = execSync(cmd).toString().split('\n'); const lines = execSync(cmd).toString().split('\n');
const bssid = util.getValue(lines, '802-11-wireless.seen-bssids').toLowerCase(); 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'); const iwconfigParts = execSync('export LC_ALL=C; iwconfig 2>/dev/null; unset LC_ALL').toString().split('\n\n');
let iface = ''; let iface = '';
for (let i = 0; i < iwconfigParts.length; i++) { 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]; iface = iwconfigParts[i].split(' ')[0];
} }
} }
@ -478,7 +478,7 @@ function wifiConnections(callback) {
ifaces.forEach(ifaceDetail => { ifaces.forEach(ifaceDetail => {
const nmiDetails = nmiDeviceLinux(ifaceDetail.iface); const nmiDetails = nmiDeviceLinux(ifaceDetail.iface);
const wpaDetails = wpaConnectionLinux(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 network = networkList.filter(nw => nw.ssid === ssid);
const nmiConnection = nmiConnectionLinux(ssid); const nmiConnection = nmiConnectionLinux(ssid);
const channel = network && network.length && network[0].channel ? network[0].channel : null; const channel = network && network.length && network[0].channel ? network[0].channel : null;
@ -614,9 +614,8 @@ function wifiInterfaces(callback) {
result.push({ result.push({
id: ifaceDetail.id, id: ifaceDetail.id,
iface: ifaceDetail.iface, iface: ifaceDetail.iface,
name: ifaceDetail.name, model: nmiDetails.product ? nmiDetails.product : null,
model: nmiDetails.product, vendor: nmiDetails.vendor ? nmiDetails.vendor : null,
vendor: nmiDetails.vendor,
mac: ifaceDetail.mac, mac: ifaceDetail.mac,
}); });
}); });