diff --git a/files/etc/arednsysupgrade.conf b/files/etc/arednsysupgrade.conf
index 0f94a399..bfd281ea 100644
--- a/files/etc/arednsysupgrade.conf
+++ b/files/etc/arednsysupgrade.conf
@@ -26,6 +26,8 @@
/etc/group
/etc/hosts
/etc/httpd.conf
+/etc/gridsquare
+/etc/latlon
/etc/local/services
/etc/local/uci/hsmmmesh
/etc/passwd
diff --git a/files/www/cgi-bin/admin b/files/www/cgi-bin/admin
index 56608d69..cdb64d38 100755
--- a/files/www/cgi-bin/admin
+++ b/files/www/cgi-bin/admin
@@ -438,6 +438,38 @@ foreach(`zcat /etc/opkg.list.gz 2>/dev/null`)
$dlpkgver{$pkg} = $ver;
}
+#
+# update location info
+#
+if($parms{button_location})
+{
+ system "echo '$parms{gridsquare}' > /etc/gridsquare" if $parms{gridsquare};
+ push @loc_output, "Gridsquare updated.\n";
+ if($parms{latitude} and $parms{longitude})
+ {
+ system "echo '$parms{latitude}' > /etc/latlon";
+ system "echo '$parms{longitude}' >> /etc/latlon";
+ push @loc_output, "Lat/Lon updated.\n";
+ }
+}
+
+#
+# retrieve location data
+#
+if(-f "/etc/latlon")
+{
+ $lat = `head -1 /etc/latlon`;
+ chomp($lat);
+ $lon = `tail -1 /etc/latlon`;
+ chomp($lon);
+}
+
+if(-f "/etc/gridsquare")
+{
+ $gridsquare = `cat /etc/gridsquare`;
+ chomp($gridsquare);
+}
+
#
# handle ssh key actions
#
@@ -660,10 +692,32 @@ print "
Download Supp
print "
| \n";
-print "\n";
+print "\n";
print " |
\n";
print "\n";
+#print "
|
\n";
print "\n" if $parms{dev};
print "\n";