fixes wifi
This commit is contained in:
parent
b15d09dde2
commit
14b4892feb
13
lib/wifi.js
13
lib/wifi.js
@ -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,
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user