[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CANS_-EN8rgFEyE5rDw3=JLUYNwLQexafn7efvMC_=+4s2h1R6Q@mail.gmail.com>
Date: Sat, 28 Nov 2020 02:37:38 -0300
From: Jonas Malaco <jonas@...tocubo.io>
To: Wilken Gottwalt <wilken.gottwalt@...teo.net>
Cc: linux-kernel@...r.kernel.org, Jean Delvare <jdelvare@...e.com>,
Guenter Roeck <linux@...ck-us.net>,
Jonathan Corbet <corbet@....net>, linux-hwmon@...r.kernel.org
Subject: Re: [PATCH] hwmon: corsair-psu: update supported devices
On Thu, Nov 26, 2020 at 8:43 AM Wilken Gottwalt
<wilken.gottwalt@...teo.net> wrote:
>
> Adds support for another Corsair PSUs series: AX760i, AX860i, AX1200i,
> AX1500i and AX1600i. The first 3 power supplies are supported through
> the Corsair Link USB Dongle which is some kind of USB/Serial/TTL
> converter especially made for the COM ports of these power supplies.
> There are 3 known revisions of these adapters. The AX1500i power supply
> has revision 3 built into the case and AX1600i is the only one in that
> series, which has an unique usb hid id like the RM/RX series.
Can I ask what AXi power supplies were tested?
I ask because, based on the user-space implementations I am aware of,
the AXi dongle protocol appears to be different from the RMi/HXi series.
AXi dongle:
- https://github.com/ka87/cpsumon
RMi/HXi:
- https://github.com/jonasmalacofilho/liquidctl
- https://github.com/audiohacked/OpenCorsairLink
- https://github.com/notaz/corsairmi
One additional concern is that the non-HID AXi dongles may only have bulk
USB endpoints, and this is a HID driver.[1]
Thanks,
Jonas
[1] https://github.com/ka87/cpsumon/issues/4
>
> The patch also changes the usb hid ids to use upper case letters to be
> consistent with the rest of the hex numbers in the driver and updates
> the hwmon documentation.
>
> This patch adds:
> - hwmon/corsair-psu documentation update
> - corsair-psu driver update
>
> Signed-off-by: Wilken Gottwalt <wilken.gottwalt@...teo.net>
> ---
> Documentation/hwmon/corsair-psu.rst | 10 +++++++++
> drivers/hwmon/Kconfig | 7 +++---
> drivers/hwmon/corsair-psu.c | 33 +++++++++++++++++++----------
> 3 files changed, 36 insertions(+), 14 deletions(-)
>
> diff --git a/Documentation/hwmon/corsair-psu.rst b/Documentation/hwmon/corsair-psu.rst
> index 396b95c9a76a..6227e9046d73 100644
> --- a/Documentation/hwmon/corsair-psu.rst
> +++ b/Documentation/hwmon/corsair-psu.rst
> @@ -7,6 +7,16 @@ Supported devices:
>
> * Corsair Power Supplies
>
> + Corsair AX760i (by Corsair Link USB Dongle)
> +
> + Corsair AX860i (by Corsair Link USB Dongle)
> +
> + Corsair AX1200i (by Corsair Link USB Dongle)
> +
> + Corsair AX1500i (by builtin Corsair Link USB Dongle)
> +
> + Corsair AX1600i
> +
> Corsair HX550i
>
> Corsair HX650i
> diff --git a/drivers/hwmon/Kconfig b/drivers/hwmon/Kconfig
> index 716df51edc87..3c059fc23cd6 100644
> --- a/drivers/hwmon/Kconfig
> +++ b/drivers/hwmon/Kconfig
> @@ -453,11 +453,12 @@ config SENSORS_CORSAIR_PSU
> tristate "Corsair PSU HID controller"
> depends on HID
> help
> - If you say yes here you get support for Corsair PSUs with a HID
> + If you say yes here you get support for Corsair PSUs with an USB HID
> interface.
> Currently this driver supports the (RM/HX)550i, (RM/HX)650i,
> - (RM/HX)750i, (RM/HX)850i, (RM/HX)1000i and HX1200i power supplies
> - by Corsair.
> + (RM/HX)750i, (RM/HX)850i, (RM/HX)1000i, HX1200i and AX1600i power
> + supplies by Corsair. The AX760i, AX860i, AX1200i and AX1500i
> + power supplies are supported through the Corsair Link USB Dongle.
>
> This driver can also be built as a module. If so, the module
> will be called corsair-psu.
> diff --git a/drivers/hwmon/corsair-psu.c b/drivers/hwmon/corsair-psu.c
> index 99494056f4bd..0146dda3e2c3 100644
> --- a/drivers/hwmon/corsair-psu.c
> +++ b/drivers/hwmon/corsair-psu.c
> @@ -571,17 +571,28 @@ static int corsairpsu_raw_event(struct hid_device *hdev, struct hid_report *repo
> }
>
> static const struct hid_device_id corsairpsu_idtable[] = {
> - { HID_USB_DEVICE(0x1b1c, 0x1c03) }, /* Corsair HX550i */
> - { HID_USB_DEVICE(0x1b1c, 0x1c04) }, /* Corsair HX650i */
> - { HID_USB_DEVICE(0x1b1c, 0x1c05) }, /* Corsair HX750i */
> - { HID_USB_DEVICE(0x1b1c, 0x1c06) }, /* Corsair HX850i */
> - { HID_USB_DEVICE(0x1b1c, 0x1c07) }, /* Corsair HX1000i */
> - { HID_USB_DEVICE(0x1b1c, 0x1c08) }, /* Corsair HX1200i */
> - { HID_USB_DEVICE(0x1b1c, 0x1c09) }, /* Corsair RM550i */
> - { HID_USB_DEVICE(0x1b1c, 0x1c0a) }, /* Corsair RM650i */
> - { HID_USB_DEVICE(0x1b1c, 0x1c0b) }, /* Corsair RM750i */
> - { HID_USB_DEVICE(0x1b1c, 0x1c0c) }, /* Corsair RM850i */
> - { HID_USB_DEVICE(0x1b1c, 0x1c0d) }, /* Corsair RM1000i */
> + /*
> + * The Corsair USB/COM Dongles appear in at least 3 different revisions, where rev 1 and 2
> + * are commonly used with the AX760i, AX860i and AX1200i, while rev3 is rarely seen with
> + * these PSUs. Rev3 is also build into the AX1500i, while the AX1600i is the first PSU of
> + * this series which has an unique usb hid id. Though, the actual device name is part of
> + * the HID message protocol, so it doesn't matter which dongle is connected.
> + */
> + { HID_USB_DEVICE(0x1B1C, 0x1C00) }, /* Corsair Link USB/COM Dongle rev1 */
> + { HID_USB_DEVICE(0x1B1C, 0x1C01) }, /* Corsair Link USB/COM Dongle rev2 */
> + { HID_USB_DEVICE(0x1B1C, 0x1C02) }, /* Corsair Link USB/COM Dongle rev3 (AX1500i) */
> + { HID_USB_DEVICE(0x1B1C, 0x1C03) }, /* Corsair HX550i */
> + { HID_USB_DEVICE(0x1B1C, 0x1C04) }, /* Corsair HX650i */
> + { HID_USB_DEVICE(0x1B1C, 0x1C05) }, /* Corsair HX750i */
> + { HID_USB_DEVICE(0x1B1C, 0x1C06) }, /* Corsair HX850i */
> + { HID_USB_DEVICE(0x1B1C, 0x1C07) }, /* Corsair HX1000i */
> + { HID_USB_DEVICE(0x1B1C, 0x1C08) }, /* Corsair HX1200i */
> + { HID_USB_DEVICE(0x1B1C, 0x1C09) }, /* Corsair RM550i */
> + { HID_USB_DEVICE(0x1B1C, 0x1C0A) }, /* Corsair RM650i */
> + { HID_USB_DEVICE(0x1B1C, 0x1C0B) }, /* Corsair RM750i */
> + { HID_USB_DEVICE(0x1B1C, 0x1C0C) }, /* Corsair RM850i */
> + { HID_USB_DEVICE(0x1B1C, 0x1C0D) }, /* Corsair RM1000i */
> + { HID_USB_DEVICE(0x1B1C, 0x1C11) }, /* Corsair AX1600i */
> { },
> };
> MODULE_DEVICE_TABLE(hid, corsairpsu_idtable);
> --
> 2.29.2
>
Powered by blists - more mailing lists