diff options
Diffstat (limited to 'protocols/luci-proto-qmi/htdocs/luci-static')
-rw-r--r-- | protocols/luci-proto-qmi/htdocs/luci-static/resources/protocol/qmi.js | 26 |
1 files changed, 15 insertions, 11 deletions
diff --git a/protocols/luci-proto-qmi/htdocs/luci-static/resources/protocol/qmi.js b/protocols/luci-proto-qmi/htdocs/luci-static/resources/protocol/qmi.js index 79b1fd3b22..eeda91f6e6 100644 --- a/protocols/luci-proto-qmi/htdocs/luci-static/resources/protocol/qmi.js +++ b/protocols/luci-proto-qmi/htdocs/luci-static/resources/protocol/qmi.js @@ -3,11 +3,18 @@ 'require form'; 'require network'; -var callTTYDevices = rpc.declare({ - object: 'luci', - method: 'getTTYDevices', - params: [ 'with_cdc', 'with_tts' ], - expect: { result: [] } +var callFileList = rpc.declare({ + object: 'file', + method: 'list', + params: [ 'path' ], + expect: { entries: [] }, + filter: function(list, params) { + var rv = []; + for (var i = 0; i < list.length; i++) + if (list[i].name.match(/^cdc-wdm/)) + rv.push(params.path + list[i].name); + return rv.sort(); + } }); network.registerPatternVirtual(/^qmi-.+$/); @@ -50,12 +57,9 @@ return network.registerProtocol('qmi', { o = s.taboption('general', form.Value, 'device', _('Modem device')); o.rmempty = false; o.load = function(section_id) { - return callTTYDevices(true, false).then(L.bind(function(devices) { - if (Array.isArray(devices)) - for (var i = 0; i < devices.length; i++) - if (/cdc-wdm/.test(devices[i])) - this.value(devices[i]); - + return callFileList('/dev/').then(L.bind(function(devices) { + for (var i = 0; i < devices.length; i++) + this.value(devices[i]); return form.Value.prototype.load.apply(this, [section_id]); }, this)); }; |