Monday, November 04, 2024

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

Originally, I posted this message to the ports mailing list, but maybe
that wasn't the right place, as it quickly got buried in ports-tree
editing traffic.

Does anyone have any ideas why dmidecode can't find an SMBIOS entry
point on this machine?

-------

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

kern.allowkmem=1 is set.

I get:

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

But in dmesg I do have an SMBIOS entry point found:

bios0 at mainbus0: SMBIOS rev. 3.0 @0xa4df8000 (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 and running 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