Bug 185631
Summary: | Hardware has TPM 2.0, but /dev/tpm does not exist, | ||
---|---|---|---|
Product: | Other | Reporter: | Chris Murphy (bugzilla) |
Component: | Other | Assignee: | other_other |
Status: | NEW --- | ||
Severity: | normal | CC: | dan_gilson, regressions, s.ausserlechner, szg00000 |
Priority: | P1 | ||
Hardware: | All | ||
OS: | Linux | ||
Kernel Version: | 5.7.0-0.rc7.1.fc33.x86_64 | Subsystem: | |
Regression: | No | Bisected commit-id: | |
Attachments: |
journal.log
acpidump.tar.gz HP spectre acpidump dmesg acpidump |
This afaics should be fixed since Monday in mainline. If yes please close this bug; if not please let me know, as I'm tracking regressions for 4.9. 4.9.0-0.rc3.git2.1.fc26.x86_64 a.k.a. v4.9-rc3-261-g577f12c [ 0.000000] ACPI: TPM2 0x000000003CFF9000 000034 (v03 HPQOEM INSYDE 00000000 HP 00040000) [ 5.193671] tpm_crb MSFT0101:00: can't request region for resource [mem 0x3cf5f000-0x3cf5f02f] [ 5.193754] tpm_crb: probe of MSFT0101:00 failed with error -16 Looks like more fixes are still pending: https://www.mail-archive.com/tpmdd-devel@lists.sourceforge.net/msg02010.html In this case, it's not a regression. The problem exists in 4.7.10 and 4.8.6. [ 0.000000] DMI: HP HP Spectre Notebook/81A0, BIOS F.30 12/15/2016 [ 0.000000] ACPI: TPM2 0x000000003AFF9000 000034 (v03 HPQOEM INSYDE 00000000 HP 00040000) [ 4.274450] tpm_crb MSFT0101:00: can't request region for resource [mem 0x3af5b000-0x3af5b02f] [ 4.275458] tpm_crb: probe of MSFT0101:00 failed with error -16 Created attachment 254973 [details]
acpidump.tar.gz
acpidump -b; files of which are then tar'd up.
It's still a problem. Latest firmware is applied. [ 0.000000] DMI: HP HP Spectre Notebook/81A0, BIOS F.40 02/26/2018 [ 4.459766] tpm_crb MSFT0101:00: can't request region for resource [mem 0x3af5b000-0x3af5b02f] [ 4.461187] tpm_crb: probe of MSFT0101:00 failed with error -16 Could reproduce the problem for kernel 4.14.67 on an x86_64 platform, the error cause seems to be the same as in case of the original description. trm_crb fails on requesting the region corresponding to the TPM2 control area structure (drivers/char/tpm/tpm_crb.c:502). This is because the control area structure is inside the ACPI NVS range which is marked as busy (its corresponding resource struct has flags IORESOURCE_BUSY). *Details* The control area structure (start address 0x3AF5B000) is outside the MSFT0101 range (represented by resource io_res, base address 0xFED40000). Therefore crb_map_res() (tpm_crb.c:431) calls devm_ioremap_resource() -> devm_request_mem_region() -> __request_region() (kernel/resource.c:1128). __request_region() finally identifies the conflict with the ACPI NVS range which is marked as IORESOURCE_BUSY. Created attachment 279887 [details]
HP spectre acpidump
Replacing acpidump since the original reported laptop has had firmware updates since the original report.
HP Spectre Notebook, model W2K28UA
[ 0.000000] DMI: HP HP Spectre Notebook/81A0, BIOS F.42 10/25/2018
I have this problem too. dmesg | grep -i TPM [ 0.035012] ACPI: TPM2 0x000000007B7F9000 000034 (v03 INSYDE BDW-DE 00000000 ACPI 00040000) [ 28.078309] tpm_crb MSFT0101:00: can't request region for resource [mem 0x7b69b000-0x7b69b02f] [ 28.087953] tpm_crb: probe of MSFT0101:00 failed with error -16 [ 28.823763] ima: No TPM chip found, activating TPM-bypass! This is using master at 0be0ee71816b2b6725e2b4f32ad6726c9d729777. Are there any other ways for fix this like a change to ACPI tables? I ask because I am a BIOS source customer. Fixing there would be faster for me. And I could raise a bug against Insyde to have it placed into their source to fix other customers. This is still a problem with 5.7.0-0.rc7.1.fc33.x86_64. I'll update the attachments. [ 0.718519] tpm_crb MSFT0101:00: can't request region for resource [mem 0x3af5b000-0x3af5b02f] [ 0.718520] tpm_crb: probe of MSFT0101:00 failed with error -16 Created attachment 289329 [details]
dmesg
Created attachment 289331 [details]
acpidump
Same hardware as originally reported, but with latest firmware and TPM reset. The TPM does work on Windows 10. DMI: HP HP Spectre Notebook/81A0, BIOS F.44 11/25/2019 |
Created attachment 243281 [details] journal.log [chris@f25h ~]$ journalctl -b-1 -o short-monotonic | grep -i tpm [ 0.000000] f25h.localdomain kernel: ACPI: TPM2 0x000000003CFF9000 000034 (v03 HPQOEM INSYDE 00000000 HP 00040000) [ 5.301603] f25h.localdomain kernel: tpm_crb MSFT0101:00: can't request region for resource [mem 0x3cf5f000-0x3cf5f02f] [ 5.303688] f25h.localdomain kernel: tpm_crb: probe of MSFT0101:00 failed with error -16 [ 7.729147] f25h.localdomain rngd[785]: /dev/tpm0: No such file or directory [chris@f25h ~]$ lsmod | grep tpm tpm_crb 16384 0 tpm_tis 20480 0 tpm 40960 2 tpm_crb,tpm_tis [chris@f25h ~]$ sudo tcsd -f TCSD TDDL ERROR: Could not find a device to open! Hardware: HP Spectre 13-v021nr, with TPM 2.0 support