Hello,
in a WiFi only Setup the Player tries to Mount Shares before it connects to a WiFi Network. To prevent that happening I built a small patch wich now seems to work for me.
Be warned, my PHP is awful
--- C:/Users/Justus/Documents/rune_SY_wrk.bak Fr Mrz 6 00:27:58 2015
+++ C:/Users/Justus/Documents/rune_SY_wrk Fr Mrz 6 00:19:02 2015
@@ -228,6 +228,9 @@ if ($redis->get('dev') === '0') {
// wrk_opcache('prime',$redis);
sysCmdAsync("curl -s -X GET 'http://localhost/command/cachectl.php?action=prime'");
}
+
+// connect to WiFi before trying to mount anything
+sysCmdAsync('/var/www/command/refresh_nics ; /var/www/command/debug_collector');
+
// mount all sources
wrk_sourcemount($redis, 'mountall');
runelog('--- NORMAL STARTUP');
@@ -239,7 +242,7 @@ ui_notify_async('system worker', 'rune_SY_wrk star
// close startup Redis connection
$redis->close();
// refresh nics status and collect debug data
-sysCmdAsync('/var/www/command/refresh_nics ; /var/www/command/debug_collector');
+//sysCmdAsync('/var/www/command/refresh_nics ; /var/www/command/debug_collector');
runelog('WORKER MAIN LOOP ---');
// WORKER MAIN LOOP --- //
while (1) {
--- C:/Users/Justus/Documents/runeaudio.php.bak Do Mrz 5 23:31:53 2015
+++ C:/Users/Justus/Documents/runeaudio.php Do Mrz 5 23:49:38 2015
@@ -2252,7 +2252,19 @@ function wrk_sourcemount($redis, $action, $id)
foreach ($mounts as $key) {
$mp = $redis->hGetAll($key);
if (!wrk_checkMount($mp['name'])) {
- $return = wrk_sourcemount($redis, 'mount', $mp['id']);
+ if($mp['type'] === 'cifs' || $mp['type'] === 'nfs') {
+ $ip = $mp['address'];
+ for($countnetwork = 0; $countnetwork <= 300; ++$countnetwork) {
+ exec("ping -c 1 $ip 2>&1", $output, $retval);
+ if($retval == 0) {
+ $return = wrk_sourcemount($redis, 'mount', $mp['id']);
+ break;
+ }
+ sleep(1);
+ }
+ } else {
+ $return = wrk_sourcemount($redis, 'mount', $mp['id']);
+ }
}
}
break;
And thanks for that great player