Having an explicit cross-reference to smbmsg helps discovery of this tool.
Especially given that "smb" might easily be confused with Samba and acronym in that context.
Details
Details
- Reviewers
pauamma_gundo.com - Group Reviewers
manpages
Renders as:
JEDEC_DIMM(4) FreeBSD Kernel Interfaces Manual JEDEC_DIMM(4)
NAME
jedec_dimm – report asset information and temperatures for JEDEC DDR3 /
DDR4 DIMMs
SYNOPSIS
device jedec_dimm
device smbus
Alternatively, to load the driver as a module at boot time, place the
following line in loader.conf(5):
jedec_dimm_load="YES"
Addressing information must be manually specified in /boot/device.hints:
hint.jedec_dimm.0.at="smbus0"
hint.jedec_dimm.0.addr="0xa0"
hint.jedec_dimm.0.slotid="Silkscreen"
DESCRIPTION
[...snip... not changed...]
EXAMPLES
Consider two DDR4 DIMMs with the following hints:
hint.jedec_dimm.0.at="smbus0"
hint.jedec_dimm.0.addr="0xa0"
hint.jedec_dimm.0.slotid="A1"
hint.jedec_dimm.6.at="smbus1"
hint.jedec_dimm.6.addr="0xa8"
Their sysctl(8) output (sorted):
dev.jedec_dimm.0.%desc: DDR4 DIMM w/ Atmel TSOD (A1)
dev.jedec_dimm.0.%driver: jedec_dimm
dev.jedec_dimm.0.%location: addr=0xa0
dev.jedec_dimm.0.%parent: smbus0
dev.jedec_dimm.0.%pnpinfo:
dev.jedec_dimm.0.capacity: 16384
dev.jedec_dimm.0.mfg_week: 30
dev.jedec_dimm.0.mfg_year: 17
dev.jedec_dimm.0.part: 36ASF2G72PZ-2G1A2
dev.jedec_dimm.0.serial: 0ea815de
dev.jedec_dimm.0.slotid: A1
dev.jedec_dimm.0.temp: 32.7C
dev.jedec_dimm.0.type: DDR4
dev.jedec_dimm.6.%desc: DDR4 DIMM w/ TSE2004av compliant TSOD
dev.jedec_dimm.6.%driver: jedec_dimm
dev.jedec_dimm.6.%location: addr=0xa8
dev.jedec_dimm.6.%parent: smbus1
dev.jedec_dimm.6.%pnpinfo:
dev.jedec_dimm.6.capacity: 8192
dev.jedec_dimm.6.mfg_week: 13
dev.jedec_dimm.6.mfg_year: 19
dev.jedec_dimm.6.part: VRA9MR8B2H1603
dev.jedec_dimm.6.serial: 0c4c46ad
dev.jedec_dimm.6.temp: 43.1C
dev.jedec_dimm.6.type: DDR4
You can use smbmsg(8) to probe for devices.
COMPATIBILITY
jedec_dimm implements a superset of the functionality of the now-deleted
jedec_ts(4). Hints for jedec_ts(4) can be mechanically converted for use
with jedec_dimm. Two changes are required:
1. In all jedec_ts(4) hints, replace “jedec_ts” with “jedec_dimm”
2. In jedec_ts(4) “addr” hints, replace the TSOD DTI “0x3” with the SPD
DTI “0xa”
The following sed(1) script will perform the necessary changes:
sed -i ".old" -e 's/jedec_ts/jedec_dimm/' \
-e '/jedec_dimm/s/addr="0x3/addr="0xa/' /boot/device.hints
SEE ALSO
iicbus(4), iicsmb(4), smbus(4), sysctl(8)
STANDARDS
(DDR3 SPD) JEDEC, Standard 21-C, Annex K.
(DDR3 TSOD) JEDEC, Standard 21-C, TSE2002av.
(DDR4 SPD) JEDEC, Standard 21-C, Annex L.
(DDR4 TSOD) JEDEC, Standard 21-C, TSE2004av.
HISTORY
The jedec_dimm driver first appeared in FreeBSD 12.0.
AUTHORS
The jedec_dimm driver and this manual page were written by Ravi Pokala
<rpokala@freebsd.org>. They are both based in part on the now-deleted
jedec_ts(4) driver and manual page, written by Andriy Gapon
<avg@FreeBSD.org>.
FreeBSD 13.2-STABLE July 2, 2023 FreeBSD 13.2-STABLEAnd:
SMBUS(4) FreeBSD Kernel Interfaces Manual SMBUS(4)
NAME
smbus – System Management Bus
SYNOPSIS
device smbus
device iicsmb
DESCRIPTION
The smbus system provides a uniform, modular and architecture-independent
system for the implementation of drivers to control various SMB devices
and to utilize different SMB controllers (I2C, PIIX4, vm86...).
System Management Bus
The System Management Bus is a two-wire interface through which simple
power-related chips can communicate with rest of the system. It uses I2C
as its backbone (see iicbus(4)).
A system using SMB passes messages to and from devices instead of
tripping individual control lines.
With the SMBus, a device can provide manufacturer information, tell the
system what its model/part number is, save its state for a suspend event,
report different types of errors, accept control parameters, and return
its status.
The SMBus may share the same host device and physical bus as ACCESS bus
components provided that an appropriate electrical bridge is provided
between the internal SMB devices and external ACCESS bus devices.
SEE ALSO
iicbus(4), iicsmb(4), smb(4), smbmsg(8)
The SMBus specification, http://www.smbus.org/specs/.
HISTORY
The smbus manual page first appeared in FreeBSD 3.0.
AUTHORS
This manual page was written by Nicolas Souchu.
FreeBSD 13.2-STABLE July 2, 2023 FreeBSD 13.2-STABLEDiff Detail
Diff Detail
- Repository
- rG FreeBSD src repository
- Lint
Lint Skipped - Unit
Tests Skipped
Event Timeline
Comment Actions
Knowing nothing about this, this answers no questions. It says "you can", but the examples section is for demonstrating "how".
So, the user must use smbmsg to query a /dev/smb? to find out where their ram is, put that in device.hints, load this driver, and then they can query the dimm temperatures? IIUC? My /dev/smb? Is empty, maybe because I have DDR5?
Comment Actions
unfortunately the nature of the beast is that this is specific to your hardware... on my end the relevant smb0 is connected to the chipset via intsmb. maybe you need to load one of those?
no idea what's going on with ddr5, i don't have anything to try it on.