Author: bklaas
Date: Wed Jul 14 08:19:30 2010
New Revision: 8946
URL: http://svn.slimdevices.com/jive?rev=8946&view=rev
Log:
r39...@daddymac (orig r8923): fmueller | 2010-07-02 03:17:11 -0500
Bug: n/a
Description: Get rid of another 'ifconfig' shell call and use new C method to
get ip address.
r39...@daddymac (orig r8924): ayoung | 2010-07-02 05:04:26 -0500
Get rid of party and playlist modes,
r39...@daddymac (orig r8925): bklaas | 2010-07-02 08:10:58 -0500
Bug: n/a
Description: final cull of playlist/party mode cruft
r39...@daddymac (orig r8930): fmueller | 2010-07-02 11:25:02 -0500
Bug: n/a
Description: Cleanup of wireless signal strength functions.
r39...@daddymac (orig r8931): fmueller | 2010-07-02 11:25:19 -0500
Bug: n/a
Description: Cleanup of wireless signal strength functions.
r39...@daddymac (orig r8932): fmueller | 2010-07-02 11:25:36 -0500
Bug: n/a
Description: Cleanup of wireless signal strength functions.
r39...@daddymac (orig r8933): fmueller | 2010-07-02 11:26:44 -0500
Bug: n/a
Description: Cleanup of wireless signal strength functions.
r39...@daddymac (orig r8934): fmueller | 2010-07-02 11:26:56 -0500
Bug: n/a
Description: Cleanup of wireless signal strength functions.
r39...@daddymac (orig r8935): fmueller | 2010-07-07 10:06:32 -0500
Bug: n/a
Description: Fix in ifUp() and ifDown() to support ssids which already have
spaces replaced.
r39...@daddymac (orig r8937): fmueller | 2010-07-08 09:09:49 -0500
Bug: n/a
Description:
- Added missing function descriptions
- Added a repair network function
r39...@daddymac (orig r8944): ayoung | 2010-07-14 07:39:32 -0500
Use EVENT_SCROLL instead of EVENT_KEY_PRESS for up/down events in menus
r39...@daddymac (orig r8945): bklaas | 2010-07-14 09:20:57 -0500
Bug: n/a
Description: move a harmless log message from error to warn
add batteryCapable to allCapabilities table
Modified:
7.6/branches/new-setup/ (props changed)
7.6/branches/new-setup/squeezeplay/src/squeezeplay/share/applets/DebugSkin/DebugSkinApplet.lua
7.6/branches/new-setup/squeezeplay/src/squeezeplay/share/applets/MacroPlay/MacroPlayApplet.lua
7.6/branches/new-setup/squeezeplay/src/squeezeplay/share/applets/QVGAbaseSkin/QVGAbaseSkinApplet.lua
7.6/branches/new-setup/squeezeplay/src/squeezeplay/share/applets/QVGAportraitSkin/QVGAportraitSkinApplet.lua
7.6/branches/new-setup/squeezeplay/src/squeezeplay/share/applets/SlimBrowser/SlimBrowserApplet.lua
7.6/branches/new-setup/squeezeplay/src/squeezeplay/share/applets/SlimMenus/SlimMenusApplet.lua
7.6/branches/new-setup/squeezeplay/src/squeezeplay/share/jive/Iconbar.lua
7.6/branches/new-setup/squeezeplay/src/squeezeplay/share/jive/System.lua
7.6/branches/new-setup/squeezeplay/src/squeezeplay/share/jive/slim/Player.lua
7.6/branches/new-setup/squeezeplay/src/squeezeplay_baby/share/applets/SqueezeboxBaby/SqueezeboxBabyApplet.lua
7.6/branches/new-setup/squeezeplay/src/squeezeplay_fab4/share/applets/SqueezeboxFab4/SqueezeboxFab4Applet.lua
7.6/branches/new-setup/squeezeplay/src/squeezeplay_jive/share/applets/SqueezeboxJive/SqueezeboxJiveApplet.lua
7.6/branches/new-setup/squeezeplay/src/squeezeplay_squeezeos/share/applets/SetupSSH/SetupSSHApplet.lua
7.6/branches/new-setup/squeezeplay/src/squeezeplay_squeezeos/share/jive/net/Networking.lua
Propchange: 7.6/branches/new-setup/
------------------------------------------------------------------------------
--- svk:merge (original)
+++ svk:merge Wed Jul 14 08:19:30 2010
@@ -14,7 +14,7 @@
bbe22326-0783-4b3a-ac2b-7ab96b24c8d9:/7.4/private-branches/new-alsa:6567
bbe22326-0783-4b3a-ac2b-7ab96b24c8d9:/7.4/trunk:8423
bbe22326-0783-4b3a-ac2b-7ab96b24c8d9:/7.5/trunk:8918
-bbe22326-0783-4b3a-ac2b-7ab96b24c8d9:/7.6/trunk:8920
+bbe22326-0783-4b3a-ac2b-7ab96b24c8d9:/7.6/trunk:8945
bbe22326-0783-4b3a-ac2b-7ab96b24c8d9:/branches/7.0:2013
bbe22326-0783-4b3a-ac2b-7ab96b24c8d9:/branches/SN:1083
bbe22326-0783-4b3a-ac2b-7ab96b24c8d9:/branches/scrolling:1378
Modified:
7.6/branches/new-setup/squeezeplay/src/squeezeplay/share/applets/DebugSkin/DebugSkinApplet.lua
URL:
http://svn.slimdevices.com/jive/7.6/branches/new-setup/squeezeplay/src/squeezeplay/share/applets/DebugSkin/DebugSkinApplet.lua?rev=8946&r1=8945&r2=8946&view=diff
==============================================================================
---
7.6/branches/new-setup/squeezeplay/src/squeezeplay/share/applets/DebugSkin/DebugSkinApplet.lua
(original)
+++
7.6/branches/new-setup/squeezeplay/src/squeezeplay/share/applets/DebugSkin/DebugSkinApplet.lua
Wed Jul 14 08:19:30 2010
@@ -214,8 +214,6 @@
-- global icons
"background",
"button_battery_NONE",
- "button_playlist_mode_OFF",
- "button_playlist_mode_PARTY",
"button_playmode_OFF",
"button_playmode_STOP",
"button_playmode_PLAY",
Modified:
7.6/branches/new-setup/squeezeplay/src/squeezeplay/share/applets/MacroPlay/MacroPlayApplet.lua
URL:
http://svn.slimdevices.com/jive/7.6/branches/new-setup/squeezeplay/src/squeezeplay/share/applets/MacroPlay/MacroPlayApplet.lua?rev=8946&r1=8945&r2=8946&view=diff
==============================================================================
---
7.6/branches/new-setup/squeezeplay/src/squeezeplay/share/applets/MacroPlay/MacroPlayApplet.lua
(original)
+++
7.6/branches/new-setup/squeezeplay/src/squeezeplay/share/applets/MacroPlay/MacroPlayApplet.lua
Wed Jul 14 08:19:30 2010
@@ -25,6 +25,7 @@
local dumper = require("jive.utils.dumper")
local Applet = require("jive.Applet")
+local System = require("jive.System")
local Event = require("jive.ui.Event")
local Framework = require("jive.ui.Framework")
local Icon = require("jive.ui.Icon")
@@ -367,7 +368,7 @@
end
while menu:getSelectedIndex() ~= index do
- macroEvent(100, EVENT_KEY_PRESS, KEY_DOWN)
+ macroEvent(100, EVENT_SCROLL, 1)
end
macroDelay(interval)
@@ -383,9 +384,9 @@
end
local index = menu:getSelectedIndex() or 1
- local dir = KEY_DOWN
+ local dir = 1
if index ~= 1 then
- dir = KEY_UP
+ dir = -1
end
local ok = false
@@ -395,7 +396,7 @@
break
end
- macroEvent(100, EVENT_KEY_PRESS, dir)
+ macroEvent(100, EVENT_SCROLL, dir)
until menu:getSelectedIndex() == index
macroDelay(interval)
Modified:
7.6/branches/new-setup/squeezeplay/src/squeezeplay/share/applets/QVGAbaseSkin/QVGAbaseSkinApplet.lua
URL:
http://svn.slimdevices.com/jive/7.6/branches/new-setup/squeezeplay/src/squeezeplay/share/applets/QVGAbaseSkin/QVGAbaseSkinApplet.lua?rev=8946&r1=8945&r2=8946&view=diff
==============================================================================
---
7.6/branches/new-setup/squeezeplay/src/squeezeplay/share/applets/QVGAbaseSkin/QVGAbaseSkinApplet.lua
(original)
+++
7.6/branches/new-setup/squeezeplay/src/squeezeplay/share/applets/QVGAbaseSkin/QVGAbaseSkinApplet.lua
Wed Jul 14 08:19:30 2010
@@ -2287,21 +2287,6 @@
img = _loadImage(self, "Icons/icon_repeat_on.png"),
})
- s.button_playlist_mode_OFF = _uses(s._button_repeat, {
- img = false,
- })
- s.button_playlist_mode_DISABLED = _uses(s._button_repeat, {
- img = false,
- })
-
- -- XXX: these two can probably be removed after party mode is fully
dead and buried
- s.button_playlist_mode_ON = _uses(s._button_repeat, {
- img = false,
- })
- s.button_playlist_mode_PARTY = _uses(s._button_repeat, {
- img = false,
- })
-
s._button_shuffle = _uses(s._iconbar_icon)
s.button_shuffle_OFF = _uses(s._button_shuffle, {
img = false,
Modified:
7.6/branches/new-setup/squeezeplay/src/squeezeplay/share/applets/QVGAportraitSkin/QVGAportraitSkinApplet.lua
URL:
http://svn.slimdevices.com/jive/7.6/branches/new-setup/squeezeplay/src/squeezeplay/share/applets/QVGAportraitSkin/QVGAportraitSkinApplet.lua?rev=8946&r1=8945&r2=8946&view=diff
==============================================================================
---
7.6/branches/new-setup/squeezeplay/src/squeezeplay/share/applets/QVGAportraitSkin/QVGAportraitSkinApplet.lua
(original)
+++
7.6/branches/new-setup/squeezeplay/src/squeezeplay/share/applets/QVGAportraitSkin/QVGAportraitSkinApplet.lua
Wed Jul 14 08:19:30 2010
@@ -438,11 +438,6 @@
s.button_repeat_1.border = s._button_repeat.border
s.button_repeat_2.border = s._button_repeat.border
- s.button_playlist_mode_OFF.border = _iconbarBorder
- s.button_playlist_mode_DISABLED.border = _iconbarBorder
- s.button_playlist_mode_ON.border = _iconbarBorder
- s.button_playlist_mode_PARTY.border = _iconbarBorder
-
s._button_shuffle.border = _iconbarBorder
s.button_shuffle_OFF.border = s._button_shuffle.border
s.button_shuffle_0.border = s._button_shuffle.border
Modified:
7.6/branches/new-setup/squeezeplay/src/squeezeplay/share/applets/SlimBrowser/SlimBrowserApplet.lua
URL:
http://svn.slimdevices.com/jive/7.6/branches/new-setup/squeezeplay/src/squeezeplay/share/applets/SlimBrowser/SlimBrowserApplet.lua?rev=8946&r1=8945&r2=8946&view=diff
==============================================================================
---
7.6/branches/new-setup/squeezeplay/src/squeezeplay/share/applets/SlimBrowser/SlimBrowserApplet.lua
(original)
+++
7.6/branches/new-setup/squeezeplay/src/squeezeplay/share/applets/SlimBrowser/SlimBrowserApplet.lua
Wed Jul 14 08:19:30 2010
@@ -1741,6 +1741,7 @@
["play"] = "playAction",
["play-hold"] = "playHoldAction",
["add"] = "addAction",
+ ["go"] = "goAction",
}
Modified:
7.6/branches/new-setup/squeezeplay/src/squeezeplay/share/applets/SlimMenus/SlimMenusApplet.lua
URL:
http://svn.slimdevices.com/jive/7.6/branches/new-setup/squeezeplay/src/squeezeplay/share/applets/SlimMenus/SlimMenusApplet.lua?rev=8946&r1=8945&r2=8946&view=diff
==============================================================================
---
7.6/branches/new-setup/squeezeplay/src/squeezeplay/share/applets/SlimMenus/SlimMenusApplet.lua
(original)
+++
7.6/branches/new-setup/squeezeplay/src/squeezeplay/share/applets/SlimMenus/SlimMenusApplet.lua
Wed Jul 14 08:19:30 2010
@@ -745,8 +745,8 @@
else
if iface:isWireless() then
-- wireless strength
- local quality = iface:getLinkQuality()
- if not quality or quality == 0 then
+ local percentage =
iface:getSignalStrength()
+ if not percentage or percentage == 0
then
return
failureCallback(self:_networkFailureWindow(false, successCallback))
end
else
Modified:
7.6/branches/new-setup/squeezeplay/src/squeezeplay/share/jive/Iconbar.lua
URL:
http://svn.slimdevices.com/jive/7.6/branches/new-setup/squeezeplay/src/squeezeplay/share/jive/Iconbar.lua?rev=8946&r1=8945&r2=8946&view=diff
==============================================================================
--- 7.6/branches/new-setup/squeezeplay/src/squeezeplay/share/jive/Iconbar.lua
(original)
+++ 7.6/branches/new-setup/squeezeplay/src/squeezeplay/share/jive/Iconbar.lua
Wed Jul 14 08:19:30 2010
@@ -64,29 +64,6 @@
log:debug("Iconbar:setPlaymode(", val, ")")
self.iconPlaymode:setStyle("button_playmode_" .. string.upper((val or
"OFF")))
end
-
---[[
-
-=head2 Iconbar:setPlaylistMode(val)
-
-Set the playlistmode of the iconbar. Values are nil (no mode), 1 for playlist
mode and 2 for party mode.
-When not 1 or 2, setRepeat()
-
-=cut
---]]
-function setPlaylistMode(self, val)
- log:debug("Iconbar:setPlaylistMode(", val, ")")
-
- local mode = string.upper((val or "OFF"))
- if mode ~= "OFF" and mode ~= "DISABLED" then
- self.preferPlaylistModeIcon = true
- self.iconRepeat:setStyle("button_playlist_mode_" .. mode)
- else
- self.preferPlaylistModeIcon = false
- self:setRepeat(self.repeatMode)
- end
-end
-
--[[
Modified:
7.6/branches/new-setup/squeezeplay/src/squeezeplay/share/jive/System.lua
URL:
http://svn.slimdevices.com/jive/7.6/branches/new-setup/squeezeplay/src/squeezeplay/share/jive/System.lua?rev=8946&r1=8945&r2=8946&view=diff
==============================================================================
--- 7.6/branches/new-setup/squeezeplay/src/squeezeplay/share/jive/System.lua
(original)
+++ 7.6/branches/new-setup/squeezeplay/src/squeezeplay/share/jive/System.lua
Wed Jul 14 08:19:30 2010
@@ -64,6 +64,7 @@
["coreKeys"] = 1,
["sdcard"] = 1,
["usb"] = 1,
+ ["batteryCapable"] = 1,
}
local _capabilities = {} -- of form string, 1 so
@@ -74,7 +75,7 @@
for capability, value in pairs(capabilities) do
if not allCapabilities[capability] then
- log:error("Unknown capability: ", capability)
+ log:warn("Unknown capability: ", capability)
end
end
Modified:
7.6/branches/new-setup/squeezeplay/src/squeezeplay/share/jive/slim/Player.lua
URL:
http://svn.slimdevices.com/jive/7.6/branches/new-setup/squeezeplay/src/squeezeplay/share/jive/slim/Player.lua?rev=8946&r1=8945&r2=8946&view=diff
==============================================================================
---
7.6/branches/new-setup/squeezeplay/src/squeezeplay/share/jive/slim/Player.lua
(original)
+++
7.6/branches/new-setup/squeezeplay/src/squeezeplay/share/jive/slim/Player.lua
Wed Jul 14 08:19:30 2010
@@ -1110,7 +1110,6 @@
iconbar:setPlaymode(nil)
iconbar:setRepeat(nil)
iconbar:setShuffle(nil)
- iconbar:setPlaylistMode(nil)
self.browseHistory = {}
@@ -1148,16 +1147,7 @@
iconbar:setAlarm('OFF')
end
- -- set the playlist mode (nil, 0=off, 1=playlist, 2=party)
- if self.state['playlist mode'] and
- ( self.state['playlist mode'] == 'disabled' or
self.state['playlist mode'] == 'off' or self.state['playlist mode'] ==
json.null )
- then
- iconbar:setPlaylistMode('off')
- iconbar:setRepeat(self.state["playlist repeat"])
- else
- iconbar:setRepeat(0)
- iconbar:setPlaylistMode(self.state["playlist mode"])
- end
+ iconbar:setRepeat(0)
--[[ useful for layout skinning debug, set all modes to show
icons
iconbar:setPlaymode('play')
Modified:
7.6/branches/new-setup/squeezeplay/src/squeezeplay_baby/share/applets/SqueezeboxBaby/SqueezeboxBabyApplet.lua
URL:
http://svn.slimdevices.com/jive/7.6/branches/new-setup/squeezeplay/src/squeezeplay_baby/share/applets/SqueezeboxBaby/SqueezeboxBabyApplet.lua?rev=8946&r1=8945&r2=8946&view=diff
==============================================================================
---
7.6/branches/new-setup/squeezeplay/src/squeezeplay_baby/share/applets/SqueezeboxBaby/SqueezeboxBabyApplet.lua
(original)
+++
7.6/branches/new-setup/squeezeplay/src/squeezeplay_baby/share/applets/SqueezeboxBaby/SqueezeboxBabyApplet.lua
Wed Jul 14 08:19:30 2010
@@ -701,14 +701,15 @@
if not iface then
iconbar:setWirelessSignal(nil)
+ player:setSignalStrength(nil)
else
if iface:isWireless() then
-- wireless strength
- local quality, strength = iface:getLinkQuality()
+ local percentage, quality = iface:getSignalStrength()
iconbar:setWirelessSignal(quality ~= nil and quality or
"ERROR")
if player then
- player:setSignalStrength(strength)
+ player:setSignalStrength(percentage)
end
else
-- wired
Modified:
7.6/branches/new-setup/squeezeplay/src/squeezeplay_fab4/share/applets/SqueezeboxFab4/SqueezeboxFab4Applet.lua
URL:
http://svn.slimdevices.com/jive/7.6/branches/new-setup/squeezeplay/src/squeezeplay_fab4/share/applets/SqueezeboxFab4/SqueezeboxFab4Applet.lua?rev=8946&r1=8945&r2=8946&view=diff
==============================================================================
---
7.6/branches/new-setup/squeezeplay/src/squeezeplay_fab4/share/applets/SqueezeboxFab4/SqueezeboxFab4Applet.lua
(original)
+++
7.6/branches/new-setup/squeezeplay/src/squeezeplay_fab4/share/applets/SqueezeboxFab4/SqueezeboxFab4Applet.lua
Wed Jul 14 08:19:30 2010
@@ -533,11 +533,11 @@
else
if iface:isWireless() then
-- wireless strength
- local quality, strength = iface:getLinkQuality()
+ local percentage, quality = iface:getSignalStrength()
iconbar:setWirelessSignal(quality ~= nil and quality or
"ERROR")
if player then
- player:setSignalStrength(strength)
+ player:setSignalStrength(percentage)
end
else
-- wired
Modified:
7.6/branches/new-setup/squeezeplay/src/squeezeplay_jive/share/applets/SqueezeboxJive/SqueezeboxJiveApplet.lua
URL:
http://svn.slimdevices.com/jive/7.6/branches/new-setup/squeezeplay/src/squeezeplay_jive/share/applets/SqueezeboxJive/SqueezeboxJiveApplet.lua?rev=8946&r1=8945&r2=8946&view=diff
==============================================================================
---
7.6/branches/new-setup/squeezeplay/src/squeezeplay_jive/share/applets/SqueezeboxJive/SqueezeboxJiveApplet.lua
(original)
+++
7.6/branches/new-setup/squeezeplay/src/squeezeplay_jive/share/applets/SqueezeboxJive/SqueezeboxJiveApplet.lua
Wed Jul 14 08:19:30 2010
@@ -346,10 +346,10 @@
end
-- wireless strength
- local quality = self.wireless:getLinkQuality()
+ local percentage, quality = self.wireless:getSignalStrength()
iconbar:setWirelessSignal(quality ~= nil and quality or "ERROR")
if player then
- player:setSignalStrength(strength)
+ player:setSignalStrength(percentage)
end
end
Modified:
7.6/branches/new-setup/squeezeplay/src/squeezeplay_squeezeos/share/applets/SetupSSH/SetupSSHApplet.lua
URL:
http://svn.slimdevices.com/jive/7.6/branches/new-setup/squeezeplay/src/squeezeplay_squeezeos/share/applets/SetupSSH/SetupSSHApplet.lua?rev=8946&r1=8945&r2=8946&view=diff
==============================================================================
---
7.6/branches/new-setup/squeezeplay/src/squeezeplay_squeezeos/share/applets/SetupSSH/SetupSSHApplet.lua
(original)
+++
7.6/branches/new-setup/squeezeplay/src/squeezeplay_squeezeos/share/applets/SetupSSH/SetupSSHApplet.lua
Wed Jul 14 08:19:30 2010
@@ -100,14 +100,14 @@
function _getIPAddress()
- local ipaddr
+ local ip_address, ip_subnet
local ifObj = Networking:activeInterface()
if ifObj then
- ipaddr = Networking:getIP(ifObj)
- end
-
- return ipaddr or "?.?.?.?"
+ ip_address, ip_subnet = ifObj:getIPAddressAndSubnet()
+ end
+
+ return ip_address or "?.?.?.?"
end
Modified:
7.6/branches/new-setup/squeezeplay/src/squeezeplay_squeezeos/share/jive/net/Networking.lua
URL:
http://svn.slimdevices.com/jive/7.6/branches/new-setup/squeezeplay/src/squeezeplay_squeezeos/share/jive/net/Networking.lua?rev=8946&r1=8945&r2=8946&view=diff
==============================================================================
---
7.6/branches/new-setup/squeezeplay/src/squeezeplay_squeezeos/share/jive/net/Networking.lua
(original)
+++
7.6/branches/new-setup/squeezeplay/src/squeezeplay_squeezeos/share/jive/net/Networking.lua
Wed Jul 14 08:19:30 2010
@@ -134,6 +134,18 @@
return obj
end
+
+--[[
+
+=head2 jive.net.Networking:detectChipset()
+
+Returns chipset used on particular platform
+- Jive - Marvell (gspi8686)
+- Radio - Atheros (ar6000)
+- Touch - Marvell (sd8686)
+
+=cut
+--]]
function detectChipset(self)
local f = io.popen("/sbin/lsmod 2> /dev/null")
@@ -354,24 +366,27 @@
--[[
-=head2 networking:getIP(self, interface)
-
-Returns the ip address, if any, of the object I<interface>
-
-=cut
---]]
-
-function getIP(self, interfaceObj)
- local ipaddr
- local cmd = io.popen("/sbin/ifconfig " .. interfaceObj.interface)
- for line in cmd:lines() do
- ipaddr = string.match(line, "inet addr:([%d%.]+)")
- if ipaddr ~= nil then
- break
- end
- end
- cmd:close()
- return ipaddr
+=head2 networking:getIPAddressAndSubnet(self)
+
+Returns the ip address and subnet, if any
+
+=cut
+--]]
+
+function getIPAddressAndSubnet(self)
+ if not self.t_sock then
+ return
+ end
+
+ local ip_address, ip_subnet
+
+ local ifdata = self.t_sock:getIfConfig()
+ if ifdata ~= nil then
+ ip_address = ifdata[1]
+ ip_subnet = ifdata[2]
+ end
+
+ return ip_address, ip_subnet
end
@@ -626,7 +641,9 @@
-- Bug #5227 if we are associated use the same quality indicator
-- as the icon bar
if associated and self._scanResults[associated] then
- self._scanResults[associated].quality = self:getLinkQuality()
+ local percentage, quality = self:getSignalStrength()
+
+ self._scanResults[associated].quality = quality
end
if callback then
@@ -637,7 +654,20 @@
end
+--[[
+
+=head2 jive.net.Networking:_ethernetScanTask(callback)
+
+Similar to wireless scan task, but for wired interfaces
+
+=cut
+--]]
+
function _ethernetScanTask(self, callback)
+ if not self.t_sock then
+ return 0
+ end
+
local status = self.t_sock:ethStatus()
local active = self:_ifstate()
@@ -654,8 +684,16 @@
end
--- check the ifup interface state. returns true if the interface is enabled
--- or the enabled ssid for wireless interfaces.
+--[[
+
+=head2 jive.net.Networking:_ifstate()
+
+Check the ifup interface state. returns true if the interface is enabled
+or the enabled ssid for wireless interfaces.
+
+=cut
+--]]
+
function _ifstate(self)
local active = false
@@ -678,6 +716,16 @@
end
+--[[
+
+=head2 jive.net.Networking:status()
+
+Get status information for wireless or wired interface.
+- Wired: link, speed, fullDuplex
+- Wireless: ssid, encryption, ...
+
+=cut
+--]]
function status(self)
assert(Task:running(), "Networking:basicStatus must be called in a
Task")
@@ -691,6 +739,9 @@
status[k] = v
end
else
+ if not self.t_sock then
+ return 0
+ end
status = self.t_sock:ethStatus()
status.wpa_state = "COMPLETED"
end
@@ -719,11 +770,11 @@
return status
end
- -- Get ip address and net mask
- local ifdata = self.t_sock:getIfConfig()
- if ifdata ~= nil then
- status.ip_address = ifdata[1]
- status.ip_subnet = ifdata[2]
+ local ip_address, ip_subnet = self:getIPAddressAndSubnet()
+
+ if ip_address and ip_subnet then
+ status.ip_address = ip_address
+ status.ip_subnet = ip_subnet
end
-- exit early if we do not have an ip address
@@ -1070,11 +1121,19 @@
id = nid
break
end
+
+ -- In wpa_supplicant.conf ssids do not have spaces
replaced
+ -- doublecheck with spaces replaced
+ nssid = string.gsub(nssid, "[ \t]", "_")
+ if nssid == ssid then
+ id = nid
+ break
+ end
end
-- Select network
if not id then
- log:warn("can't find network ", ssid)
+ log:warn("_ifUp - can't find network ", ssid)
return
end
@@ -1154,24 +1213,45 @@
id = nid
break
end
- end
-
- if id then
- -- Disconnect from existing network
- local request = 'DISCONNECT'
- assert(self:request(request) == "OK\n", "wpa_cli
failed:" .. request)
-
- -- Disable network
- local request = 'DISABLE_NETWORK ' .. id
- assert(self:request(request) == "OK\n", "wpa_cli
failed:" .. request)
-
- -- Save configuration
- request = 'SAVE_CONFIG'
- assert(self:request(request) == "OK\n", "wpa_cli
failed:" .. request)
-
- end
- end
-end
+
+ -- In wpa_supplicant.conf ssids do not have spaces
replaced
+ -- doublecheck with spaces replaced
+ nssid = string.gsub(nssid, "[ \t]", "_")
+ if nssid == active then
+ id = nid
+ break
+ end
+ end
+
+ -- Select network
+ if not id then
+ log:warn("_ifDown - can't find network ", active)
+ return
+ end
+
+ -- Disconnect from existing network
+ local request = 'DISCONNECT'
+ assert(self:request(request) == "OK\n", "wpa_cli failed:" ..
request)
+
+ -- Disable network
+ local request = 'DISABLE_NETWORK ' .. id
+ assert(self:request(request) == "OK\n", "wpa_cli failed:" ..
request)
+
+ -- Save configuration
+ request = 'SAVE_CONFIG'
+ assert(self:request(request) == "OK\n", "wpa_cli failed:" ..
request)
+
+ end
+end
+
+--[[
+
+=head2 jive.net.Networking:_ifUpDown(cmd)
+
+Utility function to call ifup and ifdown in a process.
+
+=cut
+--]]
function _ifUpDown(self, cmd)
@@ -1196,6 +1276,15 @@
end
end
+
+--[[
+
+=head2 jive.net.Networking:_editAutoInterfaces( ssid)
+
+Handles the 'auto' entry for the active interface in /etc/network/interfaces
+
+=cut
+--]]
function _editAutoInterfaces(self, ssid)
local interface = self.interface
@@ -1246,6 +1335,15 @@
System:atomicWrite("/etc/network/interfaces", outStr)
end
+--[[
+
+=head2 jive.net.Networking:_editNetworkInterfacesBlock( outStr, iface_name,
method, ...)
+
+Helper function for _editInterfaces()
+
+=cut
+--]]
+
function _editNetworkInterfacesBlock( self, outStr, iface_name, method, ...)
@@ -1261,6 +1359,15 @@
return outStr
end
+
+--[[
+
+=head2 jive.net.Networking:_editInterfaces(ssid, method, ...)
+
+Add and removes interfaces to /etc/network/interfaces
+
+=cut
+--]]
function _editNetworkInterfaces( self, ssid, method, ...)
local iface = self.interface
@@ -1329,9 +1436,11 @@
--]]
function getLinkQuality(self)
- local strength = getSignalStrength(self)
-
- return math.ceil(strength / 25), strength
+ log:error("**** This function is deprecated - use getSignalStrength()
instead")
+
+ local percentage, quality = self:getSignalStrength()
+
+ return quality, percentage
end
@@ -1382,7 +1491,15 @@
end
--- returns wireless signal strength as a percentage
+--[[
+
+=head2 jive.net.Networking:getSignalStrength()
+
+Returns wireless signal strength as a percentage (0-100) and quality (0-4)
+
+=cut
+--]]
+
function getSignalStrength(self)
local snr = getSNR(self)
@@ -1390,10 +1507,14 @@
-- jive: 5 - 71
-- baby: 5 - 72
- -- an SNR of 20dB should be adequate, this is
- -- tuned so 40 SNR = 100%
-
- return math.ceil((math.min(snr, 40) / 40) * 100), snr
+ -- an SNR of 20dB should be adequate, this is tuned so
+ -- percentage: 100% = 40 SNR
+ -- quality: 0 - 4
+
+ local percentage = math.ceil((math.min(snr, 40) / 40) * 100)
+ local quality = math.ceil(percentage / 25)
+
+ return percentage, quality
end
@@ -1815,6 +1936,33 @@
--[[
+=head2 jive.net.Networking:repairNetwork()
+
+Attempt to repair network connction doing the following:
+- Bring down the active interface - this also stops DHCP
+- Disconnect from wireless network / wired network
+- Bring up the active network - this also starts DHCP
+- Conncet to wireless network / wired network
+
+=cut
+--]]
+
+function repairNetwork(self)
+ Task("repairnetwork", self, function()
+ log:info("Repair network - start")
+
+ local active = self:_ifstate()
+
+ self:_ifDown()
+ self:_ifUp(active)
+
+ log:info("Repair network - done")
+ end):addTask()
+end
+
+
+--[[
+
=head1 LICENSE
Copyright 2010 Logitech. All Rights Reserved.
_______________________________________________
Jive-checkins mailing list
[email protected]
http://lists.slimdevices.com/mailman/listinfo/jive-checkins