# Disabling UPS beep under Linux

**URL:** <https://linux-tips.com/t/disabling-ups-beep-under-linux/592>\
**Category:** Administration\
**Created:** [December 2, 2017, 1:13pm UTC](https://linux-tips.com/t/disabling-ups-beep-under-linux/592 "2017-12-02T13:13:03Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![Greg](https://linux-tips.com/letter_avatar_proxy/v4/letter/g/71c47a/32.png) [@Greg](https://linux-tips.com/u/Greg)\
**Post date:** [December 2, 2017, 1:13pm UTC](https://linux-tips.com/t/disabling-ups-beep-under-linux/592/1 "2017-12-02T13:13:03Z")

</div>

If you have one of the ups devices which doesn’t have an easy way to disable annoying beep sounds when the main power gets down, you can turn off the beep behaviour in most cases, even if the seller says that “there is no way to stop beep”.

But it will take about 3-5 minutes to make all the setup under Linux properly. We need to run a `upscmd` at last, but there are a few steps before that.

- First of all, install `nut` package:

```auto
$ sudo apt install nut

```

- Append following lines to `/etc/nut/ups.conf` according to your ups device (_desc_ parameter not important, you don’t need to give correct brand name either but the given section name will be used later to identify configured ups device, we’re using _eaton_ as config section name here):

```auto
[eaton]
driver = usbhid-ups
port = auto
desc = "Eaton 5E"

```

- Now start the upsdriver with `upsdrvctl`:

```auto
$ sudo upsdrvctl start
Network UPS Tools - UPS driver controller 2.7.4
Network UPS Tools - Generic HID driver 0.41 (2.7.4)
USB communication driver 0.33
Can't claim USB device [0463:ffff]: could not detach kernel driver from interface 0: Operation not permitted
Driver failed to start (exit status=1)

```

If you got errors like above, **nut** daemon in the system doesn’t have access to usb interface. To give the correct permission, we have to declare new **udev** rules.

Now it is time to learn **vendor id** and **product id** of ups device:

```auto
$ lsusb | grep UPS
Bus 003 Device 005: ID 0463:ffff MGE UPS Systems UPS

```

We can see that **vendor id** is 0x0463 and **product id** is 0xffff. Create a file named `/etc/udev/rules.d/90-ups.rules` and append following line into it:

```auto
ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="0463", ATTR{idProduct}=="ffff", MODE="0660", GROUP="nut"

```

and restart the udev daemon:

```auto
$ sudo service udev restart

```

In order to take affect, you need to remove usb cable of the ups device and connect it again.

- start the ups driver again:

```auto
$ sudo upsdrvctl start
Network UPS Tools - UPS driver controller 2.7.4
Network UPS Tools - Generic HID driver 0.41 (2.7.4)
USB communication driver 0.33
Using subdriver: MGE HID 1.39

```

- Now it is started properly. We can try with ups client **upsc** (second parameter is the same as the config section in ups.conf):

```auto
$ upsc eaton
Error: Connection failure: Connection refused

```

We couldn’t connect to **upsd** daemon because it is not configured yet.

- Edit `/etc/nut/nut.conf` and change the line starts with **MODE** as:

```auto
MODE=standalone

```

- Edit `/etc/nut/upsd.conf` and uncomment the line:

```auto
LISTEN 127.0.0.1 3493

```

- Restart the nut server:

```auto
$ sudo service nut-server restart

```

- Run upsc command the get beeper status:

```auto
$ upsc eaton ups.beeper.status
enabled

```

- We’re so close, now append following lines to `/etc/nut/upsd.users`, change the username admin or password as you want:

```auto
[admin]
password = "test1234"
actions = SET
instcmds = ALL

```

- Reload **upsd** with the new users config:

```auto
$ sudo upsd -c reload

```

- You can query the list of the commands which will be supported by your ups device with the **upscmd** :

```auto
$ upscmd -l eaton
Instant commands supported on UPS [eaton]:

beeper.disable - Disable the UPS beeper
beeper.enable - Enable the UPS beeper
beeper.mute - Temporarily mute the UPS beeper
beeper.off - Obsolete (use beeper.disable or beeper.mute)
beeper.on - Obsolete (use beeper.enable)
load.off - Turn off the load immediately
load.off.delay - Turn off the load with a delay (seconds)
shutdown.stop - Stop a shutdown in progress

```

- As you can see, there is a command named _beeper.disable_ and we’ll be execute this command (give the username and password which we configured just before):

```auto
$ upscmd eaton beeper.disable
Username (greg): admin
Password: 
OK

```

- Now check the beeper status again:

```auto
$ upsc eaton ups.beeper.status
disabled

```

That’s it. It takes some time but your ears will be happy.

---

<div class="post-metadata">

**Author:** ![A70sDinosaur\_Mac](https://linux-tips.com/user_avatar/linux-tips.com/a70sdinosaur_mac/32/446_2.png) [@A70sDinosaur\_Mac](https://linux-tips.com/u/A70sDinosaur_Mac)\
**Post date:** [February 28, 2024, 8:28pm UTC](https://linux-tips.com/t/disabling-ups-beep-under-linux/592/2 "2024-02-28T20:28:23Z")

</div>

I know this is a very old thread. I got to last step and get this`$ upscmd eaton5s700 beeper.disable Username (david): admin Password: Unexpected response from upsd: ERR ACCESS-DENIED `

---

<div class="post-metadata">

**Author:** ![Victor\_Claessen](https://linux-tips.com/user_avatar/linux-tips.com/victor_claessen/32/460_2.png) [@Victor\_Claessen](https://linux-tips.com/u/Victor_Claessen)\
**Post date:** [November 17, 2024, 9:14am UTC](https://linux-tips.com/t/disabling-ups-beep-under-linux/592/3 "2024-11-17T09:14:36Z")

</div>

I created an account just to say THANK YOU! I woke up to the sound of a lovely APC UPS beep because the batteries needed replacement. With your help I could turn off the beep. So Thanks!

---

<div class="post-metadata">

**Author:** ![tarallucci\_evino](https://linux-tips.com/user_avatar/linux-tips.com/tarallucci_evino/32/590_2.png) [@tarallucci\_evino](https://linux-tips.com/u/tarallucci_evino)\
**Post date:** [July 2, 2026, 7:28pm UTC](https://linux-tips.com/t/disabling-ups-beep-under-linux/592/4 "2026-07-02T19:28:10Z")

</div>

I managed to get rid of the same issue by restarting nut-server with:  
`sudo systemctl reload nut-server.service`  
before:  
`upscmd eaton beeper.disable`

I think because `sudo upsd -c reload` didn’t work without processID parameter, so another solution could be to retrieve processID with the command:  
`ps -ef | grep ‘[u]psd’`  
and then using the second column number (i.e. 1001500) as processID in the command:  
`sudo upsd -c reload -P 1001500`
