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

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 (or remove) the last line that refers to _adisk._tcp just like in the code sample, 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”

(kindly note that the MAC address above is obviously 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 refreshed and new copy of the original, 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 the file mDNSConfPatch.php is the one that checks mDNSResponder.conf and makes the 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 remove) that 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 😉