mplogas - Support Thread for container(s)


Recommended Posts

As part of the process to get my container(s) approved, I am asked to provide a support thread. I'm always happy to help, but I'm asking you to consider posting issues regarding LaaC on GitHub first.

I'm an engineer, so I'm on GitHub all day and I can get back to your issues/questions/feature requests much quicker.

 

For Unraid / container related questions, feel free to post here.  

  • Like 1
Link to comment

I have been looking for a liquidctl Docker that supports Corsair Commander Pro. :)

 

The LaaC-folder created under \appdata is created by root:root instead of nobody:users. This makes it hard to create config.yaml using the share.

Adding PUID 99 and PGID 100 helped.

 

I can't wrap my head around the yaml-file. All I want is to run

liquidctl set sync speed 100

to make all six fans run at maximum. The server is located in the outhouse so noise is of no consern. :)

 

Thank you for the Docker.

Link to comment

> The LaaC-folder created under \appdata is created by root:root instead of nobody:users. This makes it hard to create config.yaml using the share.

Adding PUID 99 and PGID 100 helped.

 

Good catch, I'll look into that. I have my container configs on a different pool, so I didn't catch that. 

 

> I can't wrap my head around the yaml-file. All I want is to run

 

I see, so instead of configuring each fan individually, you are looking for a "one size fits all"-setting? I think I can add that real quick. Give me a few minutes!

 

 

// edit: GitHub is updated, container image is uploading to Docker Hub. Give it a spin and let me know if it works for you.
I still need to dig into the permissions issue and will update this post accordingly.

Edited by mplogas
Link to comment

That was quick. :)

 

This is my config.yaml

controller:
    type: 'commander'
    fan_speed: '100'

 

And this is what the log file shows:

WARNING: some attributes cannot be read from corsair-cpro kernel driver
Usage:
  liquidctl [options] list
  liquidctl [options] initialize [all]
  liquidctl [options] status
  liquidctl [options] set <channel> speed (<temperature> <percentage>) ...
  liquidctl [options] set <channel> speed <percentage>
  liquidctl [options] set <channel> color <mode> [<color>] ...
  liquidctl [options] set <channel> screen <mode> [<value>]
  liquidctl --help
  liquidctl --version
Usage:
  liquidctl [options] list
  liquidctl [options] initialize [all]
  liquidctl [options] status
  liquidctl [options] set <channel> speed (<temperature> <percentage>) ...
  liquidctl [options] set <channel> speed <percentage>
  liquidctl [options] set <channel> color <mode> [<color>] ...
  liquidctl [options] set <channel> screen <mode> [<value>]
  liquidctl --help
  liquidctl --version
Corsair Commander Pro
├── Temperature probe 1     No  
├── Temperature probe 2     No  
├── Temperature probe 3     No  
├── Temperature probe 4     No  
├── Fan 1 control mode     PWM  
├── Fan 2 control mode     PWM  
├── Fan 3 control mode      DC  
├── Fan 4 control mode     PWM  
├── Fan 5 control mode      DC  
└── Fan 6 control mode      DC  

 

I would assume the log should show something like this:

Corsair Commander Pro
├── Fan 1 speed     1357  rpm
├── Fan 2 speed     1372  rpm
├── Fan 3 speed     1193  rpm
├── Fan 4 speed     1325  rpm
├── Fan 5 speed     1227  rpm
├── Fan 6 speed     1210  rpm
├── +12V rail      12.01  V
├── +5V rail        4.97  V
└── +3.3V rail      3.36  V

 

Best regards

 

 

Link to comment

This is the config.yaml

controller:
    type: 'commander'
    fan_sync_speed: '100'

 

And after the latest update this is what the log says

WARNING: some attributes cannot be read from corsair-cpro kernel driver
Usage:
  liquidctl [options] list
  liquidctl [options] initialize [all]
  liquidctl [options] status
  liquidctl [options] set <channel> speed (<temperature> <percentage>) ...
  liquidctl [options] set <channel> speed <percentage>
  liquidctl [options] set <channel> color <mode> [<color>] ...
  liquidctl [options] set <channel> screen <mode> [<value>]
  liquidctl --help
  liquidctl --version
Usage:
  liquidctl [options] list
  liquidctl [options] initialize [all]
  liquidctl [options] status
  liquidctl [options] set <channel> speed (<temperature> <percentage>) ...
  liquidctl [options] set <channel> speed <percentage>
  liquidctl [options] set <channel> color <mode> [<color>] ...
  liquidctl [options] set <channel> screen <mode> [<value>]
  liquidctl --help
  liquidctl --version
Corsair Commander Pro
├── Temperature probe 1     No  
├── Temperature probe 2     No  
├── Temperature probe 3     No  
├── Temperature probe 4     No  
├── Fan 1 control mode     PWM  
├── Fan 2 control mode     PWM  
├── Fan 3 control mode      DC  
├── Fan 4 control mode     PWM  
├── Fan 5 control mode      DC  
└── Fan 6 control mode      DC  

 

If I open console and write liquidctl status

# liquidctl status
Corsair Commander Pro
├── Fan 1 speed     1369  rpm
├── Fan 2 speed     1380  rpm
├── Fan 3 speed     1197  rpm
├── Fan 4 speed     1351  rpm
├── Fan 5 speed     1224  rpm
├── Fan 6 speed     1211  rpm
├── +12V rail      12.01  V
├── +5V rail        4.97  V
└── +3.3V rail      3.36  V

# 

it seems to work just fine though.

Link to comment

Okay, let's get to the bottom of this :)

1. Make sure your container is up-to date. Should be, but couldn't hurt to double-check

2. Could you post you entire config.yaml and your setup (e.g. KRaken X53 and Commander Pro)?

 

In the meantime I'm looking into ways to get my dev/test container environment "ready for public". I have the feeling this could be useful long-term.

 

 

 

 

edit: my output looked a little bit different, hence my questions:

NZXT Kraken X (X53, X63 or X73)
├── Firmware version       2.1.0  
├── Pump Logo LEDs      detected  
└── Pump Ring LEDs      detected  

Result #0: NZXT Kraken X (X53, X63 or X73)
cooling color: set sync color off
Result #0: Corsair Commander Pro
controller fan1: 20 0 30 400 35 900 40 1200 45 1500 --temperature-sensor 2
controller fan2: 20 0 30 400 35 900 40 1200 45 1500 --temperature-sensor 2
controller fan3: 25 0 30 500 35 800 40 1000 45 1500 --temperature-sensor 1
controller fan4: 25 0 30 500 35 1000 40 1500 --temperature-sensor 4
controller fan5: 25 0 30 500 35 1000 40 1500 --temperature-sensor 4
controller fan6: 25 0 30 500 35 1000 40 1500 --temperature-sensor 3

 

edit2: Debug container is up. Add a new container from Unraid using the LaaC template but use this image instead: mplogas/laac:debug. Then turn off your stable container to avoid conflicts. 

Edited by mplogas
Link to comment

Ah, that makes sense. I already made the liquid cooling optional yesterday evening, but it's still in the dev branch (https://github.com/mplogas/laac/tree/dev). I'll update the container later today and update this post accordingly. This will remove the "usage: [...]" output in your log files.

 

edit: container has been updated. cooling is optional now.

Edited by mplogas
Link to comment
WARNING: some attributes cannot be read from corsair-cpro kernel driver
WARNING: some attributes cannot be read from corsair-cpro kernel driver
Corsair Commander Pro
├── Temperature probe 1     No  
├── Temperature probe 2     No  
├── Temperature probe 3     No  
├── Temperature probe 4     No  
├── Fan 1 control mode     PWM  
├── Fan 2 control mode     PWM  
├── Fan 3 control mode      DC  
├── Fan 4 control mode     PWM  
├── Fan 5 control mode      DC  
└── Fan 6 control mode      DC  

ASUS Aura LED Controller (experimental)
└── Firmware version    AULA3-AR32-0207  

Corsair Commander Pro
├── Temperature probe 1     No  
├── Temperature probe 2     No  
├── Temperature probe 3     No  
├── Temperature probe 4     No  
├── Fan 1 control mode     PWM  
├── Fan 2 control mode     PWM  
├── Fan 3 control mode      DC  
├── Fan 4 control mode     PWM  
├── Fan 5 control mode      DC  
└── Fan 6 control mode      DC  

ASUS Aura LED Controller (experimental)
└── Firmware version    AULA3-AR32-0207  

 

This is what the log file outputs now. Please note that the ASUS Aura LED Controller is popping up because I have just upgraded the motherboard.

 

I just found out (and I have been using Unraid for 10 years or so) that Unraid has native support for the Corsair Commander Pro. Atleast all fans are visible in the Dashboard.

Link to comment

Hey @mjorud, sorry fror the late reply. The output looks good so far. 

 

WARNING: some attributes cannot be read from corsair-cpro kernel driver

 

This is nothing to worry about, it'S coming from liquidctl / the commander pro kernel module. 

 

> I just found out (and I have been using Unraid for 10 years or so) that Unraid has native support for the Corsair Commander Pro

That has been added in the last 6 months, but you can't control the fans based on temperature sensors. If you just want to monitor your fan speed, you don't need the container.

Link to comment
  • 1 month later...

Thanks @mplogas for creating this container. I wonder, is there a way to script this to get temperatures from the hard drives themselves from unraid?

 

I have the Commander XT which I've found out is not native to unraid (vs the pro) and can't be controlled by dynamix fan auto control. Therefore your plugin has been a great workaround, but the temperature sensors aren't the most accurate to how hot the actual drives are getting.

 

Thoughts?

Link to comment
On 4/27/2023 at 6:04 AM, AKC Server said:

Thanks @mplogas for creating this container. I wonder, is there a way to script this to get temperatures from the hard drives themselves from unraid?

 

I have the Commander XT which I've found out is not native to unraid (vs the pro) and can't be controlled by dynamix fan auto control. Therefore your plugin has been a great workaround, but the temperature sensors aren't the most accurate to how hot the actual drives are getting.

 

Thoughts?

 

LiquidCTL can read the sensors attached to the control unit, but it seems it's not possible to read other sensors (e.g. cpu, mainboard or hdds). 

 

Is your Commander XT actually a Core XT? This unit allows up to two temp sensors, you could place them very close to your HDDs. It's what I did with my Commander Pro and it works quite reliable.  

Link to comment
20 hours ago, Keek Uras said:

Hello! I'm trying to configure bobob to work with Navidrome and I'm not sure what the program is expecting. Here is the error when I pull up the web page:
image.thumb.png.0d6cf91b3a34b835772532785d85eebd.png

My bobob config:
image.thumb.png.ad0fd5876b4f9002080d43c56c19fe6a.png

My Navidrome config:
image.thumb.png.312b3268a6a9b1881320654e8177b750.png

Thanks!

 

It seems you are using your Docker network (class b - 172.16.x.x) in your config. Instead, use the IP of your Unraid instance / Navidrome instance (likely class c - 192.168.x.x) as BNB_SUBSONIC_URL (Key 3)  and the IP of one of your Sonos speakers as SEED_HOST (Key 5). Your BNB_URL (Key 6) should be your Unraid IP.

image.png.00b01e1a71f5b528033118c2416f462e.png

Link to comment
1 hour ago, mplogas said:

 

It seems you are using your Docker network (class b - 172.16.x.x) in your config. Instead, use the IP of your Unraid instance / Navidrome instance (likely class c - 192.168.x.x) as BNB_SUBSONIC_URL (Key 3)  and the IP of one of your Sonos speakers as SEED_HOST (Key 5). Your BNB_URL (Key 6) should be your Unraid IP.

image.png.00b01e1a71f5b528033118c2416f462e.png

Thanks for the reply. The 172.16.x.x is class B but private and also the subnet for my LAN. Those are already set to my instance of unRAID. Also, no need to ever block out private IPs as they are not publicly routable.

 

Removing the http:// from the BNB_SONOS_SEED_HOST seems to have resolved it.

Edited by Keek Uras
Link to comment

I believe I have bonob set up correctly but I cannot connect to the service in Sonos. It tells me to "Check your network connection." Both the Sonos devices and unRAID are on the same LAN and the bonob service registered successfully. Both Navidrome & bobob are using host networking. I've tried bridge as well. Settings:

image.thumb.png.e33a9bfc1b24458b776c7d8bf67cdeac.png

 

image.thumb.png.59ba1f5ebd20dc7837f352d94832d37d.png

 

image.thumb.png.0c63e5c2796f3e8475dabdcc3eededf6.png

Any thoughts on what it might be?

Link to comment

hello, how do I figure out, which USB device is my nzxt fan controller? Hotplug USB plugin doesn't show anything in unraid.

I'd like to use them to control 3 fans, but based on HDD temp alone. Is that doable, or cpu temp is the only one, which can be read by the device?

Thanks!

Link to comment
13 minutes ago, LSL1337 said:

hello, how do I figure out, which USB device is my nzxt fan controller? Hotplug USB plugin doesn't show anything in unraid.

I'd like to use them to control 3 fans, but based on HDD temp alone. Is that doable, or cpu temp is the only one, which can be read by the device?

Thanks!

what does lsusb show

 

Link to comment
14 minutes ago, SimonF said:

what does lsusb show

root@LSL-NAS:~# lsusb
Bus 002 Device 002: ID 0781:5583 SanDisk Corp. Ultra Fit
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 003: ID 2040:0265 Hauppauge dualHD
Bus 001 Device 002: ID 0764:0501 Cyber Power System, Inc. CP1500 AVR UPS
Bus 001 Device 006: ID 1e71:200f NZXT NZXT USB Device
Bus 001 Device 005: ID 1462:7d20 Micro Star International MYSTIC LIGHT 
Bus 001 Device 004: ID 05e3:0608 Genesys Logic, Inc. Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

 

root@LSL-NAS:~# lsusb -t
/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/6p, 10000M
    |__ Port 1: Dev 2, If 0, Class=Mass Storage, Driver=usb-storage, 5000M
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/16p, 480M
    |__ Port 2: Dev 2, If 0, Class=Human Interface Device, Driver=usbhid, 1.5M
    |__ Port 3: Dev 3, If 0, Class=Vendor Specific Class, Driver=em28xx, 480M
    |__ Port 11: Dev 4, If 0, Class=Hub, Driver=hub/4p, 480M
        |__ Port 4: Dev 6, If 0, Class=Human Interface Device, Driver=usbhid, 12M
        |__ Port 2: Dev 5, If 0, Class=Human Interface Device, Driver=usbhid, 12M

Edited by LSL1337
Link to comment
8 hours ago, LSL1337 said:

root@LSL-NAS:~# lsusb
Bus 002 Device 002: ID 0781:5583 SanDisk Corp. Ultra Fit
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 003: ID 2040:0265 Hauppauge dualHD
Bus 001 Device 002: ID 0764:0501 Cyber Power System, Inc. CP1500 AVR UPS
Bus 001 Device 006: ID 1e71:200f NZXT NZXT USB Device
Bus 001 Device 005: ID 1462:7d20 Micro Star International MYSTIC LIGHT 
Bus 001 Device 004: ID 05e3:0608 Genesys Logic, Inc. Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

 

root@LSL-NAS:~# lsusb -t
/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/6p, 10000M
    |__ Port 1: Dev 2, If 0, Class=Mass Storage, Driver=usb-storage, 5000M
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/16p, 480M
    |__ Port 2: Dev 2, If 0, Class=Human Interface Device, Driver=usbhid, 1.5M
    |__ Port 3: Dev 3, If 0, Class=Vendor Specific Class, Driver=em28xx, 480M
    |__ Port 11: Dev 4, If 0, Class=Hub, Driver=hub/4p, 480M
        |__ Port 4: Dev 6, If 0, Class=Human Interface Device, Driver=usbhid, 12M
        |__ Port 2: Dev 5, If 0, Class=Human Interface Device, Driver=usbhid, 12M

So are you trying to map to a docker?

Link to comment
4 minutes ago, SimonF said:

So are you trying to map to a docker?

yes, I'm trying to install the docker (avpnusr/liquidctl-docker) from CA, which needs "/sys/bus/usb/devices/xxx" i guess.

 

is there any other way I can control my nzxt smart v2 under unraid?

 

on the liquidctl github, there is a small note, that:
"Smart Device V2 controllers are supported by the mainline Linux kernel with its nzxt-smart2 driver" but i had no luck with that either. i'm on the latest unraid build

Edited by LSL1337
Link to comment
1 minute ago, LSL1337 said:

yes, I'm trying to install the docker (avpnusr/liquidctl-docker) from CA, which needs "/sys/bus/usb/devices/xxx" i guess.

usb device will be /dev/bus/usb/001/006 but if for some reason the device resets it will change the 2nd number.

  • Upvote 1
Link to comment
7 minutes ago, SimonF said:

usb device will be /dev/bus/usb/001/006 but if for some reason the device resets it will change the 2nd number.

wow, it's working great now, thanks!

what can I do to control the fans through unraid/hwmon? with 'nzxt-smart2' drivers?

In that way, the old scripts could control it based on hdd temp maybe.

Link to comment
On 4/30/2023 at 3:14 PM, mplogas said:

 

LiquidCTL can read the sensors attached to the control unit, but it seems it's not possible to read other sensors (e.g. cpu, mainboard or hdds). 

 

Is your Commander XT actually a Core XT? This unit allows up to two temp sensors, you could place them very close to your HDDs. It's what I did with my Commander Pro and it works quite reliable.  

Yes. Commander Core XT is the official name. I just shortened as XT was the key differentiator... No I get it. I have the 2 temp probes setup but the accuracy is not as finite as I'd like. For example the probe near/touching my HDDs shelf reads 29c white the other near the back of the case reads 26c while SMART reads 35c on the drives itself.

 

This is why I was curious if you've come up with a way to use userscripts to send script chnages to the docker config file based on Unraid system parameters. Seems might not be possible at the moment I guess

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.