At first, this blog post has nothing to do with Oracle databases. And not even with databases. Still, I’d like to post it here as I couldn’t find any useful solution anywhere – except a program which is not available to end-users. Hence, this is fully Off Topic: How to outsmart KEF EGG’s auto power off mode.

Photo by Mockup Graphics on Unsplash
KEF EGG

KEF EGG Desktop Speakers
Let me say at first that I’m not doing any advertising for any company here. I recently bough a pair of KEF EGG speakers for my office desk. Especially when crafting slides I like to listen to music. And as some of you know, I like to listen music in a decent quality.
When I received the KEF EGG speakers a few weeks ago I was very happy with their sound. They are much better than any desktop size speakers I’ve listened to so far. They are not cheap – but as the model is not in current production line of KEF, I got them for a reasonable price from a German Hifi store (yes, a “real” store who’s paying taxes in Germany).
Auto Power Off Mode
When I presented to a customer a few days after setting the speakers up, I’ve had kind of a surprise. While showing my slides and talking via Zoom, there was a message during the session. Something like “Sound Output happens now via the Thunderbolt Dock“. I ignored it. But later I realized that the loudspeakers had simply turned off themselves.
As my docking station has no loudspeakers, I’ve had no sound. In fact I didn’t hear any of the questions the customer had. When I was done with my presentation part, I did ask for questions – and THEN I realized that my loudspeakers were off.
Later this day I found out that this pattern is normal. The speakers shut off after receiving no signal for 10 minutes. And in this case, when I present in zoom, there is no signal which would prevent them from turning off themselves.
KEF Support
At first, I checked the documentation. But no indication that there’s a mode to change the behavior of the speakers. But I found many reports criticizing this auto power off mode. From reviews on shopping platforms but also from discussions in several tech and hifi forums I learned that a lot others suffer from the same problem.
And I learned that there is a tool available which allows to change the setup of the speakers. But at the same time, KEF is not distributing this tool via a download as the 10-minute power off seems to be needed to satisfy some strange EU power consumption guideline.
As I couldn’t find the tool anywhere, I opened a support case via the KEF page. When I received a reply a day after, I was very surprised by the response speed. Plus the fact, that it wasn’t a standard answer but a reply by a human who understood my problem – and wrote back in German.
So let me emphasize this here: KEF in Germany has a real support – and replies very quickly. Only the result was disappointing. After some friendly emails back and forth, it was clear that I wouldn’t be able to download the tool (which exists). And the option I offered – remote connect via TeamViewer or Zoom – wasn’t acceptable for the support. The only choice would have been to send the brand new speakers to service in Essen on my own expenses. And of course, cover the return postage as well.
Workaround – Make Some Noise
Then this Sunday morning, I’ve had an idea. What if I send a signal to the speakers every 9 minutes to prevent them from powering off?
And actually, now I know that cron
is not recommended on Mac OS for quite a while. But this is the solution I tried – and it seems to work very well. The reason why I put it up on the blog here: I spent some time to find a solution with no success. And I didn’t want to send my speakers somewhere where – even though I fully understand company policies – I could do the same within minutes by myself at home.
Please don’t laugh about my amateur style scripting – I’m not a pro in this area, and I bet others can do this much smarter than I.
launchd
This webpage was a great help:
First task was creating a job which gets executed automatically every 9 minutes when I’m logged on.
When you place a plist
file in this folder ~/Library/LaunchAgents
, then the job gets only executed when users are logged on – and the job will run under your username.
In /Users/mdietric/Library/LaunchAgents
I created the following plist
file com.mike.playsound.plist
. This file describes the job:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>Label</key> <string>com.mike.playsound</string> <key>ProgramArguments</key> <array> <string>/Users/mdietric/Scripts/playsound.sh</string> </array> <key>Nice</key> <integer>1</integer> <key>StartInterval</key> <integer>540</integer> <key>RunAtLoad</key> <true/> <key>StandardErrorPath</key> <string>/tmp/playsound.err</string> <key>StandardOutPath</key> <string>/tmp/playsound.out</string> </dict> </plist>
You need to adjust the parts in the paths to match your system’s. And you need to create a shell script somewhere on your local system. I named it playsound.sh
here. As execution time I chose 540 seconds, every 9 minutes.
In my case I create this very very simple shell script in my private Scripts
folder.
#!/bin/sh # /usr/bin/afplay /System/Library/Sounds/Submarine.aiff -v 1 -t 1 /usr/bin/afplay -v 0.25 -t 0.5 /Users/mdietric/PRIV/Scripts/Gray_noise.mp3
The line I commented out above is an example you can try out by yourself. But I found the submarine sound too disturbing. And other, shorter sound examples which are on your Mac by default aren’t working unless you play them really loud.
The -v
option of afplay
defines the volume. I experimented a bit – and 0.25
for my example is still enough to trigger the speakers, but not disturbing. The -t
option stands for time – and half a second seems to be fine with my noise example.
As I didn’t like the system sounds so much – or some of them simply didn’t prevent the speakers from turning off, I downloaded an Gray Noise example from here:
As afplay
does not play Ogg Vorbis files, I needed to convert it to a simple MP3. I used MediaHuman Audio Converter for this job. Personally I found the gray noise example the least disturbing, even when I listen to music.
React to the actual volume
Days later I came to the conclusion that I would like to adjust the volume in dependency of the current volume of the KEF speakers. The benefit is that – if you have the speakers turned quite loud – you don’t get an alarmingly loud “gray noise” signal. The downside of this approach is that if you listen to music actually, the volume turns down for a second. So decide what works better for you.
This is the script I used:
#!/bin/sh # Get current volume as a number from 0 to 100 current_vol=$(osascript -e 'output volume of (get volume settings)') # You may need to experiment with the output volume level osascript -e "set volume output volume 10" /usr/bin/afplay -v 0.3 -t 0.1 /Users/mdietric/PRIV/Scripts/Gray_noise.mp3 # (Re-)set to saved volume as a number from 0 to 100 osascript -e "set volume output volume $current_vol"
In any case, don’t forget to add execute rights to the script:
chmod u+x playsound.sh
launchctl
As the final step, I load
my plist
job:
launchctl load com.mike.playsound.plist
That’s it. If you use different sound files, you may need to experiment with volume and duration by yourself a little bit.
I hope this helps in case you were searching for a solution for how to prevent your KEF EGG speakers from turning themselves off when you don’t play a signal to them for 10 minutes.
Of course, you can realize the same on Windows with the at
service and a cmd
or Powershell script.
–Mike
Thanks for writing this up. I’ve been struggling with the same problem and was hoping there would be a non-audible way to wake the speakers up every 10 minutes. Hopefully one day KEF will make the set-up tool available.
Hi Matt,
I’ve had a pretty long conversation with KEF – and I doubt that they will make it available, even though it would simplify things a lot.
And as you diagnosed, the “audible” part of my hack is not good 🙁 But I haven’t found a way to check whether there is a signal send to the speakers or not.
Thanks,
Mike
H guys,
I had the same issue and one of KEFs engineers did me a solid and sent me the file. Here is the dropbox link they sent me.
https://www.dropbox.com/s/nox1q5sjyaoggqc/EGG%20FWUpdate_V1.0.2.exe?dl=0
You need your PC to run it as Windows XP to get it to work properly.
All the best.
George
Thank you, George – I will give it a try.
Cheers,
Mike
Hi, did it work?
This would make these speakers great.
I didn’t try the file yet – but others reported that the firmware patch does not work.
I guess, KEF may have disabled something, maybe removed the file it tries to download.
Cheers,
Mike
George, I tried this software and it could detect my Egg speakers. But it always complained that it couldn’t connect to the internet although my PC does connect to the internet. Did you see this issue too?
Hi George,
Thank you for posting the file! I tried running it (Windows 10, Windows XP compatibility mode as administrator, etc.) and unfortunately cannot get it to work. This is what happens:
1. I’m able to get to the page where I select the “Automatic Standby disabled (for use only)”
2. After pressing the next arrow button, it gives me the message, “Firmware upgrade failed. Make sure your computer is connected to the internet.”
This happens while I’m connected to the internet and I’ve tried disabling firewall/antivirus programs and it does not help. Any ideas? Any assistance is greatly appreciated since the auto-standby is driving me nuts.. thank you!
@George, do you have the bin file on you drive, the one that this software downloads?
I got the firmware update too, much better after that… but there are still 2 issues with them, sometimes they go to sleep without further notice, once every few weeks… Go figure… but the worse one which makes that firmware a MUST HAVE, is that while on standby, those loudspeakers accept any pairing from anyone, no need to press any button on the loudspeakers, no nothing. whoever wants to pair with them can do it easily.
I was on a work travel when my wife called me terrified because suddenly Reggaeton started playing very loud at 2 a.m. in the morning.
After calling the tech support in my country, they elevated the question to the KEF headquarters, but the answer I got was something like: there are other devices that allow this behavior.
I’m in love with those loudspeakers, but they should really understand the bluetooth pairing should only start after pressing a button in the loudspeaker itself.
Hi Joan,
wow – this is really bad. I wasn’t aware 🙁
And KEF should invest a bit more in their software. I don’t understand why there isn’t a simple piece of software like for any other device which allows us to configure it properly. My BW bluetooth speakers allow that as do my B&O headphones …
Thanks!
Mike
About the firmware update, I started the tool from a virtual machine with windows 7 Pro and worked flawlessly.
I had the same hassles on various PC’s – “make sure your computer is connected to the internet”. Finally ended up running the application on an old PC and it worked. Old PC also running Win 10 Home v 1903 but the Windows 10 “OS build” is 18362.356 (from around 12 months ago I believe) and not the latest build. Firmware update was successful and I’m finally a happy customer. Thought I’d share this because this issue was driving me nuts!
Thanks Dan – as Joan commented as well, Win7 should work.
I guess, the software is pretty outdated.
Cheers,
Mike
Hi. I am also trying to change the setting, but I get different error. I can get to the page to start firmware upgrade, but then I get window saying firmware upgrade failed. Firmware version which is detected : V6.07 Did anyone else had same issue? Which firmware did it report?
What exactly? I get Firmware upgrade failed. Turn off the speaker and try again.
Same here – restart or whatever does not work.
I suspect (as the error is appearing very quickly after starting the tool) that it failed to reach a remote server to download the firmware.
Or KEF simply blocked it.
Mike
I guess this could be checked with wireshark, maybe this is the way to go.
The only solution I’ve found about everybody being able to pair to the loudspeakers is getting a smart plug and activate it when I’m logged into my computer and deactivate it when I’m not logged in anymore.
It’s really sad needing this kind of hacks but at least this makes those wonderful loudspeakers usable without major jumpscares.
Hi Joan,
yes, I fully agree with you. And even worse, the software provided by KEF does not seem to work anymore.
I tried it on the weekend with an old Win7 machine. But it failed with the same error others reported as well.
It is really a shame that this option has never been adjustable by the user.
Cheers,
Mike
I got the software update installed by the KEF distributor where I live, in Mumbai, India. The auto shut-off was disabled.
Lucky you – this is the solution KEF Germany offered as well but I’d have to send around my speakers on my own expense.
And they don’t accept this as being called a “bug” or “defect” but instead claim this is behavior following the regulations of the EU (which I believe is nonsense as I haven’t seen any rules saying “you are not allowed to disable it by yourself”.
Cheers,
Mike
Is there any chance you could contact the distributor and ask for that file? So so so many people here would benefit if you could get it to share with us
Hi David,
I think KEF is not willing to assist in any other way that you’d send your EGG speakers to their service center, and they’ll apply the firmware change.
Cheers,
Mike
oh I know, I was asking Teddy. whoever he worked with in india might not care
I got the same internet error. I think they just blocked it off on their server. You can’t even see the EGG product webpage on their website anymore.
I have the same feeling as you 🙁
% for i in {1..1000}; do; echo -e “\a”; sleep 540; done
could you explain this code?
What do you mean exactly, David?
Cheers,
Mike
Hi There, any new fix for his ?
I don’t think so 🙁
It looks like KEF has abandoned all support for the speaker’s software.
Mike
Hi Mike,
thanks for your solution 😁
I am using a 10Hz wav file which I generated and downloaded from https://onlinetonegenerator.com/.
This sound is inaudible to the human ear, so I have no noticeable interference.
Sure a firmware upgrade would have been nice, but this workaround is flawless, as far as I’m concerned.
I will try this out momentarily, Mark – thanks for sharing!!!
Mike
I would go with 30kHz . 10 Hz is too low for some electronics, may not even be supported by the amp.