Hide the ‘Backup’ share of MyBook World Edition II in Mac OS X’s Finder

Posted: 20/10/2011 in Tweaks

Last year, while browsing the WikiDot forum for MyBook World Edition network drives, I found out that we can hide/disable the “Backup” share of these drives, so it is not visibly “annoying” when using Finder windows in Mac OS X. Since I use two MyBook World Edition II drives for my media needs and won’t ever use them for their TimeMachine backup feature, I wanted to remove the Finder sidebar entries of “MyBookWorld-Backup”.

This was easily possible for previous MyBook World Edition II firmwares, where all we had to do was to simply edit the file /etc/mDNSResponder.conf and comment-out the last line that refers to _adisk._tcp just like in the example below:

"MyBookMedia" _http._tcp local. 80 "TXTVersion=1.0" "DeviceModel=WDH2NC" "Vendor=WDC" "path=/index.php"
"MyBookMedia" _daap._tcp local. 3689 "TXTVersion=1.0" "DeviceModel=WDH2NC" "Vendor=WDC"
"MyBookMedia" _afpovertcp._tcp local. 548 "TXTVersion=1.0" "DeviceModel=WDH2NC" "Vendor=WDC"
/* "MyBookMedia-Backup" _adisk._tcp local. 9 "sys=waMA=07:e0:17:8f:11:2f" "dk0=adVF=0x83,adVN=WD_Backup" */

(please note that the MAC address above is not the real one of my drives but a generated fake, for the sake of understanding the hack)

Since the Western Digital update to firmware v1.02.10 though, this hack was no longer working, as any modification to the file /etc/mDNSResponder.conf would result to a fresh proper copy of it, upon rebooting the drive. So I started looking for the files that were either a template to that file and overwriting it upon reboot, or the files that were actually creating it every time.

While searching the drive’s system contents, I accidentally found that mDNSConfPatch.php is the one that checks the file mDNSResponder.conf and makes appropriate modifications. So assuming you’ve successfully installed ipkg and nano, the hack now consists of editing two separate files (after performing a necessary backup):

cd /proto/SxM_webui/admin/tools/

cp -p mDNSConfPatch.php mDNSConfPatch.php.original

nano mDNSConfPatch.php

and commenting out the latter part of this file, that checks for the _adisk._tcp service:

#!/usr/bin/php -q
<?php
require_once('wixHooks.class');
$hookObj = new wixHooks();

$macAddrFile = '/sys/class/net/eth0/address';
$macAddr = trim(@file_get_contents($macAddrFile));
$mDNSConfFile = '/etc/mDNSResponder.conf';

$isADiskExist = false;
$hostName = trim(@file_get_contents('/etc/hostname'));

$mdnsinfo = $hookObj->getMDNSInfo($mDNSConfFile);
for($i = 0; $i < count($mdnsinfo['mdns']); $i++) {
  if($mdnsinfo['mdns'][$i]['type'] == '_adisk._tcp') {
    $mdnsinfo['mdns'][$i]['txtversion'] = "\"sys=waMA=$macAddr\"";
    $isADiskExist = true;
  }
}

/*
if(!$isADiskExist) {
  $mdnsinfo['mdns'][$i]['name'] = "\"$hostName-Backup\"";
  $mdnsinfo['mdns'][$i]['type'] = '_adisk._tcp';
  $mdnsinfo['mdns'][$i]['domain'] = 'local.';
  $mdnsinfo['mdns'][$i]['port'] = '9';
  $mdnsinfo['mdns'][$i]['txtversion'] = "\"sys=waMA=$macAddr\"";
  $mdnsinfo['mdns'][$i]['model'] = "\"dk0=adVF=0x83,adVN=WD_Backup\"";
  $mdnsinfo['mdns'][$i]['vendor'] = '';
}
*/

$hookObj->setMDNSInfo($mdnsinfo, $mDNSConfFile);

return TRUE;
?>

Now that we disabled the check for the contents of file /etc/mDNSResponder.conf we can go ahead and edit it accordingly, just as before, and comment out (or delete) the last line that refers to the _adisk._tcp system service:

"MyBookMedia" _http._tcp local. 80 "TXTVersion=1.0" "DeviceModel=WDH2NC" "Vendor=WDC" "path=/index.php"
"MyBookMedia" _daap._tcp local. 3689 "TXTVersion=1.0" "DeviceModel=WDH2NC" "Vendor=WDC"
"MyBookMedia" _afpovertcp._tcp local. 548 "TXTVersion=1.0" "DeviceModel=WDH2NC" "Vendor=WDC"
// "MyBookMedia-Backup" _adisk._tcp local. 9 "sys=waMA=07:e0:17:8f:11:2f" "dk0=adVF=0x83,adVN=WD_Backup"

Reboot and you’re done ;-)

Comments are closed.