Re: [BUG] hp-wmi-sensors: probe of 8F1F6435-9F42-42C8-BADC-0E9424F20C9A failed with error -22

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



It was <2023-10-28 sob 11:37>, when James Seo wrote:
> On Fri, Oct 27, 2023 at 05:07:09PM +0200, Lukasz Stelmach wrote:
>> Hi,
>
> Hi Łukasz, thanks for the report.

I've got sensor I'd like to read (-;

>> I've got HP EliteDesk 800 G6 Tower PC running Linux 6.1 from Debian 12.
>> I managed to build the hp-wmi-sensors out of tree. When I loaded it I
>> got EINVAL.
>> 
>>     hp-wmi-sensors: probe of 8F1F6435-9F42-42C8-BADC-0E9424F20C9A failed with error -22
>> 
>> I managed to track it down. And it happens in check_wobj() called from
>> check_platform_events_wobj() because in the for loop when prop==0 the
>> type is ACPI_TYPE_BUFFER instead of ACPI_TYPE_STRING. When I bypass this
>> particular check like this
>> 
>>     if (prop == 0 && type == ACPI_TYPE_BUFFER)
>>             continue;
>> 
>> everything else works like charm and I can read senosrs via sysfs.
>
> I'm surprised that your bypass is working!

Me too, honestly (-; but hey...

> That check is intended to make it safe to assume
> HPBIOS_BIOSNumericSensor.Name is a ACPI_TYPE_STRING. Which the driver
> continues to do, of course.
>
> Maybe .Name is being erroneously reported as an ACPI_TYPE_BUFFER on
> just that model, but is in reality still a string?

I wouldn't be surprised at all.

> Dealing with that string in e.g.  hp_wmi_strdup() would still work
> because .string.pointer and .buffer.pointer seem to end up at the same
> offset in a union acpi_object, at least for now.
>
>> I'd like to perpare a proper patch, but I've got no idea how to do properly
>> work this quirk around. What are your suggestions?
>
> Could you share output from acpidump

I am attaching dsdt.dat. It is the only file that contains the
"HPBIOS_BIOSEvent" string and the above UUID.

[ The attachment is too big for linux-hwmon list to handle. I am sending
this copy of the message only to the list without the attachment. ]

> and sensors before we go any further?

The readings of hp_wmi_sensors-virtual-0 look sensible and they change
reasonably under load.

--8<---------------cut here---------------start------------->8---
coretemp-isa-0000
Adapter: ISA adapter
Package id 0:  +34.0°C  (high = +80.0°C, crit = +100.0°C)
Core 0:        +31.0°C  (high = +80.0°C, crit = +100.0°C)
Core 1:        +32.0°C  (high = +80.0°C, crit = +100.0°C)
Core 2:        +32.0°C  (high = +80.0°C, crit = +100.0°C)
Core 3:        +31.0°C  (high = +80.0°C, crit = +100.0°C)
Core 4:        +34.0°C  (high = +80.0°C, crit = +100.0°C)
Core 5:        +31.0°C  (high = +80.0°C, crit = +100.0°C)
Core 6:        +33.0°C  (high = +80.0°C, crit = +100.0°C)
Core 7:        +33.0°C  (high = +80.0°C, crit = +100.0°C)

pch_cometlake-virtual-0
Adapter: Virtual device
temp1:        +49.0°C  

hp_wmi_sensors-virtual-0
Adapter: Virtual device
CPU Fan Speed:          1006 RPM
Rear Chassis Fan Speed:  901 RPM
Power Supply Fan Speed:  803 RPM
CPU Temperature:         +33.0°C  
Chassis Temperature:     +28.0°C  

ucsi_source_psy_USBC000:001-isa-0000
Adapter: ISA adapter
in0:           0.00 V  (min =  +0.00 V, max =  +0.00 V)
curr1:         0.00 A  (max =  +0.00 A)
--8<---------------cut here---------------end--------------->8---


-- 
Łukasz Stelmach
Samsung R&D Institute Poland
Samsung Electronics

Attachment: signature.asc
Description: PGP signature


[Index of Archives]     [LM Sensors]     [Linux Sound]     [ALSA Users]     [ALSA Devel]     [Linux Audio Users]     [Linux Media]     [Kernel]     [Gimp]     [Yosemite News]     [Linux Media]

  Powered by Linux