Friday, October 25, 2024

sysutils/dmidecode 'no SMBIOS nor DMI entry point found'

I have an odd problem with dmidecode on a Panasonic CF-SZ6 laptop running 7.6-release.

kern.allowkmem=1 is set.

# dmidecode 3.6
Scanning /dev/mem for entry point.
# No SMBIOS nor DMI entry point found, sorry.

But in dmesg I have an SMBIOS entry point found:

bios0 at mainbus0: SMBIOS rev. 3.0 @ (36 entries)
bios0: vendor American Megatrends Inc. version "V2.00L32" date 11/27/2023
bios0: Panasonic Corporation CFSZ6-2
efi0 at bios0: UEFI 2.5
acpi0 at bios0: ACPI 6.1

I have examined /dev/mem with hexdump -C -s 0xa4df8000 | less

a4df8000 00 18 00 00 01 02 00 f0 03 ff 80 9a 09 49 01 00 |.............I..|
a4df8010 00 00 03 0f 02 00 01 00 41 6d 65 72 69 63 61 6e |........American|
a4df8020 20 4d 65 67 61 74 72 65 6e 64 73 20 49 6e 63 2e | Megatrends Inc.|
a4df8030 00 56 32 2e 30 30 4c 33 32 00 31 31 2f 32 37 2f |.V2.00L32.11/27/|
a4df8040 32 30 32 33 00 00 01 1b 01 00 01 02 03 04 39 a3 |2023..........9.|
a4df8050 0a 3c 73 18 7c 53 90 68 7c 86 f0 c4 d7 78 01 05 |.<s.|S.h|....x..|
a4df8060 06 50 61 6e 61 73 6f 6e 69 63 20 43 6f 72 70 6f |.Panasonic Corpo|
a4df8070 72 61 74 69 6f 6e 00 43 46 53 5a 36 2d 32 00 30 |ration.CFSZ6-2.0|
a4df8080 30 32 00 37 4b 4b 53 41 34 35 30 37 32 00 43 46 |02.7KKSA45072.CF|
a4df8090 2d 53 5a 36 59 31 35 56 53 00 4c 65 74 27 73 6e |-SZ6Y15VS.Let'sn|
a4df80a0 6f 74 65 2f 54 4f 55 47 48 42 4f 4f 4b 00 00 02 |ote/TOUGHBOOK...|
a4df80b0 13 02 00 01 02 03 04 05 09 06 03 00 0a 02 10 00 |................|
(etc)

and the entry point (which are pointed to in EFI variables) at
a4dfa000 5f 53 4d 33 5f 23 18 03 00 00 01 00 22 0b 00 00 |_SM3_#......"...|
a4dfa010 00 80 df a4 00 00 00 00 7d da 43 20 65 b9 cf 21 |........}.C e..!|

- which has the _SM3_ string Dmidecode is supposed to be looking for.

I am wondering why dmidecode can't find the entry point on this machine.
On my Thinkpad X220 (also 7.6-release) it works. And booting a Linux USB stick with the same version of dmidecode (3.6) on this machine also works, both using the Linux sysfs and the entry points in EFI veriables (dmidecode --no-sysfs).

The source code for finding the entry point isn't modified in the port, so I am baffled why it doesn't work.

Anyone got any ideas? I was hoping to use the output to enable a driver quirk.

--
Chris Billington

No comments:

Post a Comment