Files
ugreen/proxmox-led-install.md

4.5 KiB

Proxmox LED installation

My TL;DR installation instructions to get https://github.com/miskcoo/ugreen_dx4600_leds_controller#start-at-boot-for-debian-12 installed.

Maintenance tasks

New disks added/removed/leds stuck.

lsblk -S -x hctl -o name,hctl,serial
systemctl restart ugreen-diskiomon

Maintain serials in /etc/ugreen-leds.conf and restart the service

systemctl stop ugreen-diskiomon
systemctl start ugreen-diskiomon
systemctl status ugreen-diskiomon

Fix after Proxmox Kernel Update

modprobe -v led-ugreen

shows in which directory and with which name modules are missing install these missing modules, adjusting names if necessary

dkms install ugreen-led/0.1 -k 6.17.2-2-pve
modprobe -v led-ugreen
./ugreen_leds_controller/scripts/ugreen-probe-leds

should now be successful

Afterwards restart services

systemctl daemon-reload
systemctl start ugreen-netdevmon@enp2s0

status check should now be positive with

systemctl status ugreen-netdevmon@enp2s0

Fix drives with

systemctl start ugreen-diskiomon
systemctl enable ugreen-diskiomon
systemctl status ugreen-diskiomon

Installation steps

  1. Modify /etc/apt/sources.list and non-free
deb http://deb.debian.org/debian bookworm main contrib non-free
  1. Run apt-get update

  2. Attempt install apt-get install dkms git i2c-tools you may get an error, if so try apt --fix-broken install.

  3. Install PVE headers. apt install pve-headers-$(uname -r)

  4. Download .deb package from github and into a folder on the server. Attempt to install dpkg -i led-ugreen-dkms_0.1_amd64.deb

  5. Download source scripts git clone https://github.com/miskcoo/ugreen_dx4600_leds_controller.git

  6. Execute modprobe -v i2c-dev

  7. Execute script within folder and verify LEDs are seen.

# sh /root/ugreen_leds_controller/scripts/ugreen-probe-leds 
Found I2C device /dev/i2c-0
  1. Create the systemd configuration; pick the eth# to monitor and enable the service to start at boot if all goes well.
root@UNO:~/ugreen_leds_controller/scripts# ls
ugreen-diskiomon	  ugreen-leds.conf  ugreen-netdevmon@.service
ugreen-diskiomon.service  ugreen-netdevmon  ugreen-probe-leds
  1. move the scripts to /usr/bin
root@UNO:~/ugreen__leds_controller/scripts# for f in ${scripts[@]}; do
    chmod +x "scripts/$f"
    cp "scripts/$f" /usr/bin
done
  1. copy the config-files
root@UNO:/root/ugreen_leds_controller/scripts cp ugreen-leds.conf /etc/ugreen-leds.conf
root@UNO:/root/ugreen_leds_controller/scripts cp *.service /etc/systemd/system/
  1. prepare the services (please be sure to replace enp88s0 with the ethernetport that you want to monitor)
root@UNO:/root/ugreen_leds_controller/scripts systemctl daemon-reload
root@UNO:/root/ugreen_leds_controller/scripts systemctl start ugreen-netdevmon@enp88s0
root@UNO:/root/ugreen_leds_controller/scripts systemctl start ugreen-diskiomon
root@UNO:/root/ugreen_leds_controller/scripts systemctl enable ugreen-diskiomon
Created symlink /etc/systemd/system/multi-user.target.wants/ugreen-diskiomon.service → /etc/systemd/system/ugreen-diskiomon.service.
root@UNO:/root/ugreen_leds_controller/scripts systemctl enable ugreen-netdevmon@enp88s0
Created symlink /etc/systemd/system/multi-user.target.wants/ugreen-netdevmon@enp88s0.service → /etc/systemd/system/ugreen-netdevmon@.service.

The network LED should now be blinking if there's network activity. The software is installed on proxmox; you can configure disk LEDs.

Disk mapping to LEDs

I won't repeat the content from https://github.com/miskcoo/ugreen_dx4600_leds_controller?tab=readme-ov-file#disk-mapping simply dump the list of commands that are specific to my setup but this should be enough for you to get the idea.

DXP6800 Pro has special mappings. 0:0:0:0 and 1:0:0:0 are mapped to disk5 and disk6, and 2:0:0:0 to 6:0:0:0 are mapped to disk1 to disk4

  1. lsblk -S -x hctl -o name,hctl,serial Displays current diskinfo.

  2. edit or create /etc/modules-load.d/ugreen-led.conf

i2c-dev
led-ugreen
ledtrig-oneshot
ledtrig-netdev
  1. Edit configuration with DXP6800 Pro settings.
CHECK_GATEWAY_CONNECTIVITY=true
CHECK_LINK_SPEED=true
  1. If we installed the dkms in the lazy way via .deb package. The file /usr/bin/ugreen-diskiomon is out of date, let's wipe it out with one that works and is modified by me to have the DXP6800 Pro special map pre-configred.

/usr/bin/ugreen-diskiomon DXP6800 Pro settings to override.

hctl_map=("2:0:0:0" "3:0:0:0" "4:0:0:0" "5:0:0:0" "0:0:0:0" "1:0:0:0")
ata_map=("ata3" "ata4" "ata5" "ata6" "ata1" "ata2")