LinuxQuestions.org
Latest LQ Deal: Latest LQ Deals
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Slackware
User Name
Password
Slackware This Forum is for the discussion of Slackware Linux.

Notices


Reply
  Search this Thread
Old 01-16-2024, 02:49 PM   #1
h2-1
Member
 
Registered: Mar 2018
Distribution: Debian Testing
Posts: 562

Rep: Reputation: 320Reputation: 320Reputation: 320Reputation: 320
New inxi / pinxi features: user RAM reports! And much more! Testers?


Support for the udevadm sourced ram data is in final testing phase in inxi now, I just heard about this option from someone posting an inxi codeberg feature request. This is the source of the data:
Code:
udevadm info -p /devices/virtual/dmi/id
While that path suggests this data comes from /sys/devices/virtual/dmi/id, it actually doesn't, or I would have used it years ago. That's where the board/chassis/bios data lives, and oddly, udevadm barely shows any of that.

Slackware appears to be using the eudev package to provide udevadm, not sure if that's a standard install item, it was in my test, but I used Slax to verify. eudev is what inxi shows for slackware in --recommends anyway, correct please if wrong.

Since inxi already had the logic to handle the low quality dmi data from dmidecode, which needs a lot of filters, and some core logic to make sure the results are not logically impossible, implementing the udevadm sourced version was pretty straightforward since all I had to do was tweak the existing logic for the udevamd data. I was kind of lucky because all the hard fixes, logic corrections, tests, etc, were done a long time ago for dmidecode sourced ram data, so udevadm as data source did not take that long to add.

There are so far two significant issues with udevadm data I've found, first, and most likely to be visible to average users, is the RAM voltages appear to be broken, in all my tests, systems that returned voltages return 1 for all, min, max, configured, which is clearly wrong. The other is that while dmidecode correctly assigns the main RAM Array to a handle, then links the RAM Device module reports to that handle, in udevadm it appears they assume that there will never be more than one RAM system board array. That's very corner case, but it is an odd oversight.

If anyone has, which I know is a stretch, a box with 2 system board memory arrays (which would show as 2 separate type 16 memory devices, those are the Arrays), I'm particularly interested in those. Or remote access to one, that's going to be a big server for sure.

A few other differences, which are actually improvements, is the speeds are all MT/s, and the sizes are in Bytes. dmidecode changes sizes to human readable, which takes more processing to deal with.

But given for most users, most of the time, this data will be largely correct (assuming the logic tests run to correct obviously impossible situations), and also, will for the first time let you get data without dmidecode (I think, not sure where udevadm is getting it's dmi data from, will test to verify it still works without dmidecode).

You can play around with this now:

https://codeberg.org/smxi/pinxi
or quick shortcut install:
Code:
wget smxi.org/pinxi && chmod +x pinxi
I put pinxi in /usr/local/bin so it's in path, but it doesn't matter where it is.

If you already have pinxi installed, just use its self updater:
Code:
pinxi -U
and then
Code:
pinxi -SIGma --vs
# or for public posts
pinxi -SIGmaz --vs
Note that -S, -I, and -G have seen the most upgrades, refactors, and enhancements, but the non root/sudo -ma showing data was not an expected feature for this upcoming release until last week, when I got an issue saying it was possible, which I'd never known.

I still have some fine tunings, but I'm shooting to release this as next inxi, 3.3.32 within a week, unless some testers can find failure cases that need handling, which is often the case with RAM data sources.

Note that if you get what you believe are wrong or misleading results, and want to help improve it, supply:
Code:
udevadm info -p /devices/virtual/dmi/id > udevadm-data.txt
and upload it somewhere, or here, most systems the data is not too long. Feel free to slightly alter the serial numbers if you don't want those to show, I'm doing that on all the test files I'm adding to the pinxi/data/ram/udevadm/ as I go along, I just XXXX out half the serial nummber, but leave enough unique so I can tell it's working.

I was checking some last minute details and testing some stuff, for example, udevadm version 174 does not appear to have this feature, at least not in TinyCore, though I know the dmi data is there, so I was wondering when it was added.

Sample from my system [sorry, forum gets rid of indentation]:
Code:
pinxi -maz --vs
pinxi 3.3.31-45 (2024-01-16)
Memory:
  System RAM: total: 32 GiB available: 31.27 GiB used: 11.44 GiB (36.6%)
  Message: For most reliable report, use superuser + dmidecode.
  Array-1: capacity: 128 GiB slots: 4 modules: 2 EC: None
    max-module-size: 32 GiB note: est.
  Device-1: Channel-A DIMM 0 type: no module installed
  Device-2: Channel-A DIMM 1 type: DDR4 detail: synchronous unbuffered
    (unregistered) size: 16 GiB speed: 2400 MT/s volts: note: check curr: 1
    min: 1 max: 1 width (bits): data: 64 total: 64 manufacturer: Crucial
    part-no: CT16G4DFD824A.M16FB serial: <filter>
  Device-3: Channel-B DIMM 0 type: no module installed
  Device-4: Channel-B DIMM 1 type: DDR4 detail: synchronous unbuffered
    (unregistered) size: 16 GiB speed: 2400 MT/s volts: note: check curr: 1
    min: 1 max: 1 width (bits): data: 64 total: 64 manufacturer: Crucial
    part-no: CT16G4DFD824A.M16FB serial: <filter>
​​
​​Any tests, feedback, etc appreciated, and in particular, any data samples that show it not working when dmidecode did.

Note that if you have dmidecode installed, pinxi will use that automatically for sudo/root start of inxi, though you can force udevadm with --force udevadm, so it's easy to compare the two sources for variations.

Note that dmidecode has more data than udevadm, which offers up a sort of basic summary per array and module, but the data is pretty close and inxi didn't use all the dmidecode values anyway, so it's quite similar.

Thanks for looking, and testing, if you feel so inclined.
 
Old 01-16-2024, 03:56 PM   #2
drumz
Member
 
Registered: Apr 2005
Location: Oklahoma, USA
Distribution: Slackware
Posts: 906

Rep: Reputation: 697Reputation: 697Reputation: 697Reputation: 697Reputation: 697Reputation: 697
Looks like I have multiple arrays, but I don't think udevadm is returning useful data, so I don't think I'm much help:

Code:
# udevadm info -p /devices/virtual/dmi/id
P: /devices/virtual/dmi/id
E: DEVPATH=/devices/virtual/dmi/id
E: MODALIAS=dmi:bvnAmericanMegatrendsInc.:bvr5503:bd04/11/2019:br5.14:svnSystem76:pnThelioMassive:pvrthelio-massive-b1:rvnSystem76:rnThelioMassive:rvrthelio-massive-b1:cvnSystem76:ct3:cvrthelio-massive-b1:sku:
E: SUBSYSTEM=dmi
Regardless, here is normal user:
Code:
$ pinxi -SIGmaz --vs
pinxi 3.3.31-45 (2024-01-16)
System:
  Kernel: 6.6.11-etr arch: x86_64 bits: 64 compiler: gcc v: 2.37-slack15
    clocksource: tsc avail: hpet,acpi_pm
    parameters: BOOT_IMAGE=dev002:\EFI\SLACKWARE\bz6611e.img
    root=/dev/mapper/luksnvme0n1p5 vga=normal preempt=voluntary delayacct
    mitigations=off nvidia-drm.modeset=0 ro
  Desktop: KDE Plasma v: 5.23.5 tk: Qt v: 5.15.3 wm: kwin_x11 vt: 1 tools:
    avail: xfce4-screensaver,xlock,xscreensaver lm: elogind
    Distro: Slackware 15.0
Memory:
  System RAM: total: 512 GiB available: 503.49 GiB used: 35.38 GiB (7.0%)
  RAM Report: message: No RAM data found using udevadm.
Graphics:
  Device-1: ASPEED Graphics Family vendor: ASUSTeK driver: ast v: kernel
    ports: active: VGA-1 empty: Virtual-1 bus-ID: 02:00.0 chip-ID: 1a03:2000
    class-ID: 0300
  Device-2: NVIDIA TU106 [GeForce RTX 2060 SUPER] vendor: eVga.com.
    driver: nvidia v: 545.29.06 alternate: nvidiafb,nouveau,nvidia_drm
    non-free: 545.xx+ status: current (as of 2024-01; EOL~2026-12-xx)
    arch: Turing code: TUxxx process: TSMC 12nm FF built: 2018-2022 pcie:
    gen: 3 speed: 8 GT/s lanes: 16 bus-ID: 3b:00.0 chip-ID: 10de:1f06
    class-ID: 0300
  Display: server: X.Org v: 1.20.14 with: Xwayland v: 21.1.4
    compositor: kwin_x11 driver: X: loaded: nvidia gpu: ast display-ID: :0
    screens: 1
  Screen-1: 0 s-res: 7680x2160 s-dpi: 139 s-size: 1403x400mm (55.24x15.75")
    s-diag: 1459mm (57.44")
  Monitor-1: DP-2 pos: right res: 3840x2160 hz: 60 dpi: 140
    size: 697x392mm (27.44x15.43") diag: 800mm (31.48") modes: N/A
  Monitor-2: HDMI-0 pos: primary,left res: 3840x2160 hz: 60 dpi: 140
    size: 697x392mm (27.44x15.43") diag: 800mm (31.48") modes: N/A
  API: EGL v: 1.5 hw: drv: nvidia platforms: device: egl egl: N/A drv: N/A
    gbm: egl: 1.4 drv: N/A x11: drv: nvidia inactive: wayland
  API: OpenGL v: 4.6.0 vendor: nvidia v: 545.29.06 glx-v: 1.4
    direct-render: yes renderer: NVIDIA GeForce RTX 2060 SUPER/PCIe/SSE2
    memory: 7.81 GiB
  API: Vulkan v: 1.2.176 layers: 14 device: 0 type: discrete-gpu name: NVIDIA
    GeForce RTX 2060 SUPER driver: nvidia v: 545.29.06 device-ID: 10de:1f06
    surfaces: xcb,xlib device: 1 type: cpu name: llvmpipe (LLVM 13.0.0 256
    bits) driver: mesa llvmpipe v: 21.3.5 (LLVM 13.0.0) device-ID: 10005:0000
    surfaces: xcb,xlib
Info:
  Processes: 1348 Power: uptime: 19h 37m states: freeze,mem,disk suspend: deep
    avail: s2idle wakeups: 0 hibernate: platform
    avail: shutdown,reboot,suspend,test_resume image: 201.38 GiB
    Init: SysVinit v: 3.01 runlevel: 3 default: 3 tool: /etc/rc.d
  Packages: pm: pkgtool pkgs: 2346 libs: 380 tools: sbopkg,slackpkg pm: rpm
    pkgs: 0 pm: flatpak pkgs: 0 Compilers: clang: 13.0.0 gcc: 11.2.0 Shell: Bash
    v: 5.1.16 running-in: konsole pinxi: 3.3.31-45
And here is root:
Code:
# pinxi -SIGmaz --vs
pinxi 3.3.31-45 (2024-01-16)
System:
  Kernel: 6.6.11-etr arch: x86_64 bits: 64 compiler: gcc v: 2.37-slack15
    clocksource: tsc avail: hpet,acpi_pm
    parameters: BOOT_IMAGE=dev002:\EFI\SLACKWARE\bz6611e.img
    root=/dev/mapper/luksnvme0n1p5 vga=normal preempt=voluntary delayacct
    mitigations=off nvidia-drm.modeset=0 ro
  Console: pty pts/1 wm: kwin LM: elogind Distro: Slackware 15.0
Memory:
  System RAM: total: 512 GiB available: 503.49 GiB used: 35.36 GiB (7.0%)
  Array-1: capacity: 384 GiB installed: 192 GiB slots: 3 modules: 3
    EC: Single-bit ECC max-module-size: 128 GiB note: est.
  Device-1: DIMM_A1 type: DDR4 detail: synchronous size: 64 GiB
    speed: 2933 MT/s volts: curr: 1.2 min: 1.2 max: 1.2 width (bits): data: 64
    total: 72 manufacturer: Samsung part-no: M386A8K40CM2-CVF serial: <filter>
  Device-2: DIMM_B1 type: DDR4 detail: synchronous size: 64 GiB
    speed: 2933 MT/s volts: curr: 1.2 min: 1.2 max: 1.2 width (bits): data: 64
    total: 72 manufacturer: Samsung part-no: M386A8K40CM2-CVF serial: <filter>
  Device-3: DIMM_C1 type: DDR4 detail: synchronous size: 64 GiB
    speed: 2933 MT/s volts: curr: 1.2 min: 1.2 max: 1.2 width (bits): data: 64
    total: 72 manufacturer: Samsung part-no: M386A8K40CM2-CVF serial: <filter>
  Array-2: capacity: 384 GiB installed: 64 GiB slots: 3 modules: 4
    EC: Single-bit ECC max-module-size: 128 GiB note: est.
  Device-1: DIMM_D1 type: DDR4 detail: synchronous size: 64 GiB
    speed: 2933 MT/s volts: curr: 1.2 min: 1.2 max: 1.2 width (bits): data: 64
    total: 72 manufacturer: Samsung part-no: M386A8K40CM2-CVF serial: <filter>
  Device-2: DIMM_E1 type: no module installed
  Device-3: DIMM_F1 type: no module installed
  Array-3: capacity: 384 GiB installed: 192 GiB slots: 3 modules: 7
    EC: Single-bit ECC max-module-size: 128 GiB note: est.
  Device-1: DIMM_G1 type: DDR4 detail: synchronous size: 64 GiB
    speed: 2933 MT/s volts: curr: 1.2 min: 1.2 max: 1.2 width (bits): data: 64
    total: 72 manufacturer: Samsung part-no: M386A8K40CM2-CVF serial: <filter>
  Device-2: DIMM_H1 type: DDR4 detail: synchronous size: 64 GiB
    speed: 2933 MT/s volts: curr: 1.2 min: 1.2 max: 1.2 width (bits): data: 64
    total: 72 manufacturer: Samsung part-no: M386A8K40CM2-CVF serial: <filter>
  Device-3: DIMM_J1 type: DDR4 detail: synchronous size: 64 GiB
    speed: 2933 MT/s volts: curr: 1.2 min: 1.2 max: 1.2 width (bits): data: 64
    total: 72 manufacturer: Samsung part-no: M386A8K40CM2-CVF serial: <filter>
  Array-4: capacity: 384 GiB installed: 64 GiB slots: 3 modules: 8
    EC: Single-bit ECC max-module-size: 128 GiB note: est.
  Device-1: DIMM_K1 type: DDR4 detail: synchronous size: 64 GiB
    speed: 2933 MT/s volts: curr: 1.2 min: 1.2 max: 1.2 width (bits): data: 64
    total: 72 manufacturer: Samsung part-no: M386A8K40CM2-CVF serial: <filter>
  Device-2: DIMM_L1 type: no module installed
  Device-3: DIMM_M1 type: no module installed
Graphics:
  Device-1: ASPEED Graphics Family vendor: ASUSTeK driver: ast v: kernel
    ports: active: VGA-1 empty: Virtual-1 bus-ID: 02:00.0 chip-ID: 1a03:2000
    class-ID: 0300
  Device-2: NVIDIA TU106 [GeForce RTX 2060 SUPER] vendor: eVga.com.
    driver: nvidia v: 545.29.06 alternate: nvidiafb,nouveau,nvidia_drm
    non-free: 545.xx+ status: current (as of 2024-01; EOL~2026-12-xx)
    arch: Turing code: TUxxx process: TSMC 12nm FF built: 2018-2022 pcie:
    gen: 3 speed: 8 GT/s lanes: 16 bus-ID: 3b:00.0 chip-ID: 10de:1f06
    class-ID: 0300
  Display: server: X.Org v: 1.20.14 with: Xwayland v: 21.1.4
    compositor: kwin_x11 driver: X: loaded: nvidia gpu: ast display-ID: :0
    screens: 1
  Screen-1: 0 s-res: 7680x2160 s-dpi: 139 s-size: 1403x400mm (55.24x15.75")
    s-diag: 1459mm (57.44")
  Monitor-1: DP-2 pos: right res: 3840x2160 hz: 60 dpi: 140
    size: 697x392mm (27.44x15.43") diag: 800mm (31.48") modes: N/A
  Monitor-2: HDMI-0 pos: primary,left res: 3840x2160 hz: 60 dpi: 140
    size: 697x392mm (27.44x15.43") diag: 800mm (31.48") modes: N/A
  API: EGL v: 1.5 hw: drv: nvidia platforms: device: egl egl: N/A drv: N/A
    gbm: egl: 1.4 drv: N/A x11: drv: nvidia inactive: wayland
  API: OpenGL v: 4.6.0 vendor: nvidia v: 545.29.06 glx-v: 1.4
    direct-render: yes renderer: NVIDIA GeForce RTX 2060 SUPER/PCIe/SSE2
    memory: 7.81 GiB
  API: Vulkan v: 1.2.176 layers: 14 device: 0 type: discrete-gpu name: NVIDIA
    GeForce RTX 2060 SUPER driver: nvidia v: 545.29.06 device-ID: 10de:1f06
    surfaces: xcb,xlib device: 1 type: cpu name: llvmpipe (LLVM 13.0.0 256
    bits) driver: mesa llvmpipe v: 21.3.5 (LLVM 13.0.0) device-ID: 10005:0000
    surfaces: xcb,xlib
Info:
  Processes: 1346 Power: uptime: 19h 38m states: freeze,mem,disk suspend: deep
    avail: s2idle wakeups: 0 hibernate: platform
    avail: shutdown,reboot,suspend,test_resume image: 201.38 GiB
    Init: SysVinit v: 3.01 runlevel: 3 default: 3 tool: /etc/rc.d
  Packages: pm: pkgtool pkgs: 2346 libs: 380 tools: sbopkg,slackpkg pm: rpm
    pkgs: 0 pm: flatpak pkgs: 0 Compilers: clang: 13.0.0 gcc: 11.2.0
    Shell: Bash (su) v: 5.1.16 running-in: konsole pinxi: 3.3.31-45
This is on Slackware64 15.0.
 
1 members found this post helpful.
Old 01-16-2024, 04:09 PM   #3
h2-1
Member
 
Registered: Mar 2018
Distribution: Debian Testing
Posts: 562

Original Poster
Rep: Reputation: 320Reputation: 320Reputation: 320Reputation: 320
drumz, quite the contrary, I was hoping to find where this method fails, and it didn't take long, lol.

Can you confirm version: udevadm --version
On Slax 15, it shows: 243, I assume your's is the same?

I don't know when this feature was added, it may be quite recent because there was some buzz about this week, one on phoronix, and I got an issue / feature request for it about a week ago, and I'd never heard of this before.

I should have booted slax in usb live mode on physical hardware, but your output looks the same as what I got, roughly, no ram array/devices.

What's that board/system? This is I think one of the first samples I've seen of > 1 arrays being there, and more than 2 as well.

This confirms a lot of things for me, first, that the inxi ram handler for > 1 array actually works, but has a bug, the total capacity is failing to add to the total, that's because I never noticed since never had a sample of that, so that's a bug found and hopefully soon fixed, thanks.
 
Old 01-16-2024, 04:43 PM   #4
drumz
Member
 
Registered: Apr 2005
Location: Oklahoma, USA
Distribution: Slackware
Posts: 906

Rep: Reputation: 697Reputation: 697Reputation: 697Reputation: 697Reputation: 697Reputation: 697
Code:
# udevadm --version
243
It's a Thelio Massive from System76. Motherboard is a WS C621E SAGE from ASUS.

Portion of dmidecode:

Code:
# dmidecode 
# dmidecode 3.3
Getting SMBIOS data from sysfs.
SMBIOS 3.2.1 present.
Table at 0x6EC26000.
<snip>
Handle 0x0001, DMI type 1, 27 bytes
System Information
        Manufacturer: System76
        Product Name: Thelio Massive
        Version: thelio-massive-b1
        Serial Number: System Serial Number
        UUID: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
        Wake-up Type: Power Switch
        SKU Number: Not Specified
        Family: Server

Handle 0x0002, DMI type 2, 15 bytes
Base Board Information
        Manufacturer: System76
        Product Name: Thelio Massive
        Version: thelio-massive-b1
        Serial Number: xxxxxxxxxxxxxxx
        Asset Tag: To Be Filled By O.E.M.
        Features:
                Board is a hosting board
                Board is replaceable
        Location In Chassis: To Be Filled By O.E.M.
        Chassis Handle: 0x0003
        Type: Motherboard
        Contained Object Handles: 0

Handle 0x0003, DMI type 3, 22 bytes
Chassis Information
        Manufacturer: System76
        Type: Desktop
        Lock: Not Present
        Version: thelio-massive-b1
        Serial Number: To Be Filled By O.E.M.
        Asset Tag: To Be Filled By O.E.M.
        Boot-up State: Safe
        Power Supply State: Safe
        Thermal State: Safe
        Security Status: None
        OEM Information: 0x00000000
        Height: Unspecified
        Number Of Power Cords: 1
        Contained Elements: 0
        SKU Number: To Be Filled By O.E.M.
<snip>
 
1 members found this post helpful.
Old 01-16-2024, 04:57 PM   #5
drumz
Member
 
Registered: Apr 2005
Location: Oklahoma, USA
Distribution: Slackware
Posts: 906

Rep: Reputation: 697Reputation: 697Reputation: 697Reputation: 697Reputation: 697Reputation: 697
Quote:
Originally Posted by h2-1 View Post
This confirms a lot of things for me, first, that the inxi ram handler for > 1 array actually works, but has a bug, the total capacity is failing to add to the total, that's because I never noticed since never had a sample of that, so that's a bug found and hopefully soon fixed, thanks.
The capacity and installed memory amounts are correct.

Arrays 1 and 3 have capacity 384 GiB and installed 192 GiB, which is correct.
Arrays 2 and 4 have capacity 384 GiB and installed 64 GiB, which is correct. (Each array has 2 empty slots, which is correct.)

(I have 8 64 GiB sticks installed in total.)

Total installed memory is 512 GiB, which is correct.
Total capacity is I guess 1536 GiB, which pinxi does not display. Maybe that's what you're talking about?
 
1 members found this post helpful.
Old 01-16-2024, 05:24 PM   #6
h2-1
Member
 
Registered: Mar 2018
Distribution: Debian Testing
Posts: 562

Original Poster
Rep: Reputation: 320Reputation: 320Reputation: 320Reputation: 320
Yes, sorry, I just realized I was getting confused, this often happens to me when I've been hacking a while.

But I realized that in fact, inxi does not display the total capacity anywhere, that's something that didn't come up since I hadn't seen any > 1 array samples, or if I had, it was a long time ago. I'll think on that one, maybe a new line, a summary if > 1 array:

Arrays: 4 total: capacity: 1536 GiB slots: 12 modules: 8

I think that's how I will handle it. Note that I am failing to reset the modules iterator per array? That's a bug. These things are easy to miss.

I wonder if I could talk you into booting a usb device on that, with more current udevadm (antix is nice for testing) and if I could get the udevadm report from it? That might be significant in terms of releasing without this issue, I want to see how udevadm handles > 1 array in the output, that would determine how I loop the data and build it up.

So that data is all correct, good.

However, your setup confirms my fear that, assuming this is a relatively recent feature of udevadm (did not work in 174, does not seem to work, though I will confirm on a live slackware usb boot), on 243, does work on 255, and I think 252, have to check the versions of successful.

Checking [all boards with dmi ram]:
Supermicro board, ubuntu 22.04, kernel 5.15: version 249, works

Gigabyte board, Debian testing, current, 6.6 kernel: version 255, works

Supermicro amd board, frugalware current, 6.2 kernel: version 253, works

Thinkpad x220, antix current, 5.10 kernel: version 251, works

another supermicro, 5.15 kernel, ubuntu 22.04: version 249, works

Thinkpad x220, tinycore 14: version 174, doesn't work

Supermicro, 5.4 kernel, ubuntu 20.04: version 245, doesn't work

That suggests that the feature may have been added between 245 and 249?

Last edited by h2-1; 01-16-2024 at 05:39 PM.
 
Old 01-16-2024, 06:02 PM   #7
h2-1
Member
 
Registered: Mar 2018
Distribution: Debian Testing
Posts: 562

Original Poster
Rep: Reputation: 320Reputation: 320Reputation: 320Reputation: 320
pinxi 3.3.31-46 should have the failure to reset the slots active counter corrected.

I'll get the > 1 array report line summary done next, wanted to fix the actual bug first.
 
Old 01-16-2024, 09:33 PM   #8
h2-1
Member
 
Registered: Mar 2018
Distribution: Debian Testing
Posts: 562

Original Poster
Rep: Reputation: 320Reputation: 320Reputation: 320Reputation: 320
pinxi 3.3.31-47 should handle > 1 RAM arrays, I merged the already existing --memory-short/--ms short form report with > 1 arrays, and added some counters and data stores internally.

This seems like a decent solution, and less hackish than the old way that was used to generate the Report: arrays: line.

That also includes the bug fix for the per array modules used counters.
 
Old 01-16-2024, 10:13 PM   #9
chrisretusn
Senior Member
 
Registered: Dec 2005
Location: Philippines
Distribution: Slackware64-current
Posts: 2,979

Rep: Reputation: 1556Reputation: 1556Reputation: 1556Reputation: 1556Reputation: 1556Reputation: 1556Reputation: 1556Reputation: 1556Reputation: 1556Reputation: 1556Reputation: 1556
I always enjoy your post, hope this contributes (slackware64-current):
Code:
# udevadm --version
251
Code:
# udevadm info -p /devices/virtual/dmi/id
P: /devices/virtual/dmi/id
E: DEVPATH=/devices/virtual/dmi/id
E: MEMORY_ARRAY_LOCATION=System Board Or Motherboard
E: MEMORY_ARRAY_MAX_CAPACITY=8589934592
E: MEMORY_ARRAY_NUM_DEVICES=2
E: MEMORY_DEVICE_0_BANK_LOCATOR=Bank0/1
E: MEMORY_DEVICE_0_DATA_WIDTH=64
E: MEMORY_DEVICE_0_FORM_FACTOR=DIMM
E: MEMORY_DEVICE_0_LOCATOR=A0
E: MEMORY_DEVICE_0_SIZE=4294967296
E: MEMORY_DEVICE_0_SPEED_MTS=1333
E: MEMORY_DEVICE_0_TOTAL_WIDTH=64
E: MEMORY_DEVICE_0_TYPE=Unknown
E: MEMORY_DEVICE_0_TYPE_DETAIL=None
E: MEMORY_DEVICE_1_BANK_LOCATOR=Bank2/3
E: MEMORY_DEVICE_1_DATA_WIDTH=64
E: MEMORY_DEVICE_1_FORM_FACTOR=DIMM
E: MEMORY_DEVICE_1_LOCATOR=A1
E: MEMORY_DEVICE_1_SIZE=4294967296
E: MEMORY_DEVICE_1_SPEED_MTS=1333
E: MEMORY_DEVICE_1_TOTAL_WIDTH=64
E: MEMORY_DEVICE_1_TYPE=Unknown
E: MEMORY_DEVICE_1_TYPE_DETAIL=None
E: MODALIAS=dmi:bvnAwardSoftwareInternational,Inc.:bvrF1:bd11/15/2010:svnGigabyteTechnologyCo.,Ltd.:pnM68MT-S2:pvr:rvnGigabyteTechnologyCo.,Ltd.:rnM68MT-S2:rvr:cvnGigabyteTechnologyCo.,Ltd.:ct3:cvr:sku:
E: SUBSYSTEM=dmi
E: USEC_INITIALIZED=8147878
Code:
# ./pinxi -SIGmaz --vs
pinxi 3.3.31-48 (2024-01-16)
System:
  Kernel: 6.6.12 arch: x86_64 bits: 64 compiler: gcc v: 2.41-slack151
    clocksource: tsc avail: hpet,acpi_pm
    parameters: BOOT_IMAGE=/boot/vmlinuz-generic-stock root=/dev/sda1 ro
    nvidia-drm.modeset=1 logo.nologo
  Console: pty pts/1 wm: kwin_x11 LM: elogind Distro: Slackware 15.0
Memory:
  System RAM: total: 8 GiB available: 7.76 GiB used: 2.19 GiB (28.2%)
  Array-1: capacity: 8 GiB slots: 2 modules: 2 EC: 64-bit ECC
    max-module-size: 4 GiB note: est.
  Device-1: A0 info: double-bank type: N/A size: 4 GiB speed: 1333 MT/s
    volts: N/A width (bits): data: 64 total: 64 manufacturer: N/A part-no: N/A
    serial: N/A
  Device-2: A1 info: double-bank type: N/A size: 4 GiB speed: 1333 MT/s
    volts: N/A width (bits): data: 64 total: 64 manufacturer: N/A part-no: N/A
    serial: N/A
Graphics:
  Device-1: NVIDIA GK208B [GeForce GT 730] vendor: ZOTAC driver: nvidia
    v: 470.223.02 alternate: nvidiafb,nouveau,nvidia_drm non-free:
    series: 470.xx+ status: legacy-active (EOL~2024-09-xx) arch: Kepler
    code: GKxxx process: TSMC 28nm built: 2012-2018 pcie: gen: 1
    speed: 2.5 GT/s lanes: 8 ports: active: none off: DVI-D-1
    empty: HDMI-A-1,VGA-1 bus-ID: 02:00.0 chip-ID: 10de:1287 class-ID: 0300
  Display: server: X.Org v: 21.1.10 with: Xwayland v: 23.2.3
    compositor: kwin_x11 driver: X: loaded: nvidia gpu: nvidia,nvidia-nvswitch
    display-ID: :0 screens: 1
  Screen-1: 0 s-res: 1366x768 s-dpi: 84 s-size: 413x232mm (16.26x9.13")
    s-diag: 474mm (18.65")
  Monitor-1: DVI-D-1 mapped: DVI-D-0 note: disabled model: Philips 192EL
    serial: <filter> built: 2011 res: 1366x768 hz: 60 dpi: 85 gamma: 1.2
    size: 410x230mm (16.14x9.06") diag: 470mm (18.5") ratio: 16:9 modes:
    max: 1366x768 min: 640x480
  API: EGL v: 1.5 hw: drv: nvidia platforms: device: 0 drv: nvidia device: 2
    drv: swrast gbm: drv: kms_swrast surfaceless: drv: swrast x11: drv: nvidia
    inactive: wayland,device-1
  API: OpenGL v: 4.6.0 vendor: nvidia v: 470.223.02 glx-v: 1.4
    direct-render: yes renderer: NVIDIA GeForce GT 730/PCIe/SSE2
    memory: 1.95 GiB
  API: Vulkan v: 1.3.268 layers: 13 device: 0 type: discrete-gpu
    name: NVIDIA GeForce GT 730 driver: nvidia v: 470.223.02
    device-ID: 10de:1287 surfaces: xcb,xlib device: 1 type: cpu name: llvmpipe
    (LLVM 17.0.6 128 bits) driver: mesa llvmpipe v: 23.3.3 (LLVM 17.0.6)
    device-ID: 10005:0000 surfaces: xcb,xlib
Info:
  Processes: 274 Power: uptime: 12h 42m states: freeze,mem,disk suspend: deep
    avail: s2idle wakeups: 0 hibernate: platform
    avail: shutdown,reboot,suspend,test_resume image: 3.07 GiB Init: SysVinit
    v: 3.08 runlevel: 3 default: 3 tool: /etc/rc.d
  Packages: pm: pkgtool pkgs: 2089 libs: 361 tools: sbopkg,slackpkg,slpkg
    pm: rpm pkgs: 0 Compilers: clang: 17.0.6 gcc: 13.2.0 Shell: Bash (su)
    v: 5.2.26 running-in: konsole pinxi: 3.3.31-48
root@racermach:~#

Last edited by chrisretusn; 01-16-2024 at 10:16 PM.
 
1 members found this post helpful.
Old 01-16-2024, 11:02 PM   #10
h2-1
Member
 
Registered: Mar 2018
Distribution: Debian Testing
Posts: 562

Original Poster
Rep: Reputation: 320Reputation: 320Reputation: 320Reputation: 320
chrisretusn, thanks, however in this case, we want this to run as user, not root, since that's the new availability of this data, first time ever for user.

Your sample is very good, I'm going to add it to the pinxi/data/ram/udevadm set because that is less data per stick than I'd seen so far. Sometimes samples with very barebones data are useful to make sure all the error and null data and filter protections are working. That's about as lean a sample as I've seen.

Null ram module type is concerning, but your root with dmidecode shows the dmi data is just not there, though a very stripped down version.

Is there anything unusual about the board that comes from?

The really great thing about posting here is someone always has some awesome hardware, like drumz had, that let me test some of my assumptions, and find and fix some bugs related to the uncommon cases. I always really appreciate the help because, well, it tends to be so helpful.

I had confirmed just now on the original codeberg.org/smxi/pinxi issue request for udevadm that they are getting valid RAM data back to v249, which is so far the earliest version I've seen data from as well, and those were different OS (OpenSuse/Leap etc), so it's looking possible the feature is quite new. And you're confirming for v251, so that seems to start locking down around when the feature was released.

Last edited by h2-1; 01-16-2024 at 11:15 PM.
 
Old 01-16-2024, 11:13 PM   #11
h2-1
Member
 
Registered: Mar 2018
Distribution: Debian Testing
Posts: 562

Original Poster
Rep: Reputation: 320Reputation: 320Reputation: 320Reputation: 320
This feature is also one of the easier ones to get data samples for, and to emulate with that data:

Code:
pinxi -maz --fake udevadm
Memory:
  System RAM: total: 8 GiB available: 31.27 GiB used: 12.3 GiB (39.3%)
  Message: For most reliable report, use superuser + dmidecode.
  Array-1: capacity: 8 GiB slots: 2 modules: 2 EC: None
    max-module-size: 4 GiB note: est.
  Device-1: A0 type: N/A size: 4 GiB speed: 1333 MT/s volts: N/A
    width (bits): data: 64 total: 64 manufacturer: N/A part-no: N/A serial: N/A
  Device-2: A1 type: N/A size: 4 GiB speed: 1333 MT/s volts: N/A
    width (bits): data: 64 total: 64 manufacturer: N/A part-no: N/A serial: N/A
[except for the System RAM:... available/used, those come from somewhere else.]

As an aside, I seem to be getting a good habit, after my big docs/data opening/release/reorganization, of releasing my test data files used to develop concurrently with the feature as it's developed. I'm trying to be reasonably good about this since going back and redoing a bunch of stuff I've already forgotten most of is very time consuming, far easier to just do it as I develop it. Speaking of which, I'd better update the inxi-ram.txt doc file.

So far the only broken thing appears to be RAM module voltages, they seem to always show as 1, not a real value, not sure where that comes from, never matches what dmidecode lists when it has voltages so it's not from dmi, to me it looks like it might be a placeholder or something that was left in place by accident. Or maybe that data is not available.

Also, just added module firmware version number, that is a very rare value to get, they have the field names for it, but they are almost never populated, so it only shows up with -ma, and if it exists.

Last edited by h2-1; 01-16-2024 at 11:36 PM.
 
Old 01-17-2024, 12:20 AM   #12
chrisretusn
Senior Member
 
Registered: Dec 2005
Location: Philippines
Distribution: Slackware64-current
Posts: 2,979

Rep: Reputation: 1556Reputation: 1556Reputation: 1556Reputation: 1556Reputation: 1556Reputation: 1556Reputation: 1556Reputation: 1556Reputation: 1556Reputation: 1556Reputation: 1556
Quote:
Originally Posted by h2-1 View Post
chrisretusn, thanks, however in this case, we want this to run as user, not root, since that's the new availability of this data, first time ever for user.
Oops, missed that part, here is as user.
Code:
$ ./pinxi -SIGmaz --vs
pinxi 3.3.31-48 (2024-01-16)
System:
  Kernel: 6.6.12 arch: x86_64 bits: 64 compiler: gcc v: 2.41-slack151
    clocksource: tsc avail: hpet,acpi_pm
    parameters: BOOT_IMAGE=/boot/vmlinuz-generic-stock root=/dev/sda1 ro
    nvidia-drm.modeset=1 logo.nologo
  Desktop: KDE Plasma v: 5.27.10 tk: Qt v: 5.15.12 wm: kwin_x11 vt: 1 tools:
    avail: xfce4-screensaver,xlock,xscreensaver lm: elogind
    Distro: Slackware 15.0
Memory:
  System RAM: total: 8 GiB available: 7.76 GiB used: 3.03 GiB (39.0%)
  Message: For most reliable report, use superuser + dmidecode.
  Array-1: capacity: 8 GiB slots: 2 modules: 2 EC: None
    max-module-size: 4 GiB note: est.
  Device-1: A0 type: N/A size: 4 GiB speed: 1333 MT/s volts: N/A
    width (bits): data: 64 total: 64 manufacturer: N/A part-no: N/A serial: N/A
  Device-2: A1 type: N/A size: 4 GiB speed: 1333 MT/s volts: N/A
    width (bits): data: 64 total: 64 manufacturer: N/A part-no: N/A serial: N/A
Graphics:
  Device-1: NVIDIA GK208B [GeForce GT 730] vendor: ZOTAC driver: nvidia
    v: 470.223.02 alternate: nvidiafb,nouveau,nvidia_drm non-free:
    series: 470.xx+ status: legacy-active (EOL~2024-09-xx) arch: Kepler
    code: GKxxx process: TSMC 28nm built: 2012-2018 pcie: gen: 1
    speed: 2.5 GT/s lanes: 8 ports: active: none off: DVI-D-1
    empty: HDMI-A-1,VGA-1 bus-ID: 02:00.0 chip-ID: 10de:1287 class-ID: 0300
  Display: server: X.Org v: 21.1.10 with: Xwayland v: 23.2.3
    compositor: kwin_x11 driver: X: loaded: nvidia gpu: nvidia,nvidia-nvswitch
    display-ID: :0 screens: 1
  Screen-1: 0 s-res: 1366x768 s-dpi: 84 s-size: 413x232mm (16.26x9.13")
    s-diag: 474mm (18.65")
  Monitor-1: DVI-D-1 mapped: DVI-D-0 note: disabled model: Philips 192EL
    serial: <filter> built: 2011 res: 1366x768 hz: 60 dpi: 85 gamma: 1.2
    size: 410x230mm (16.14x9.06") diag: 470mm (18.5") ratio: 16:9 modes:
    max: 1366x768 min: 640x480
  API: EGL v: 1.5 hw: drv: nvidia platforms: device: 0 drv: nvidia device: 2
    drv: swrast gbm: drv: kms_swrast surfaceless: drv: swrast x11: drv: nvidia
    inactive: wayland,device-1
  API: OpenGL v: 4.6.0 vendor: nvidia v: 470.223.02 glx-v: 1.4
    direct-render: yes renderer: NVIDIA GeForce GT 730/PCIe/SSE2
    memory: 1.95 GiB
  API: Vulkan v: 1.3.268 layers: 17 device: 0 type: discrete-gpu
    name: NVIDIA GeForce GT 730 driver: nvidia v: 470.223.02
    device-ID: 10de:1287 surfaces: xcb,xlib device: 1 type: cpu name: llvmpipe
    (LLVM 17.0.6 128 bits) driver: mesa llvmpipe v: 23.3.3 (LLVM 17.0.6)
    device-ID: 10005:0000 surfaces: xcb,xlib
Info:
  Processes: 269 Power: uptime: 14h 31m states: freeze,mem,disk suspend: deep
    avail: s2idle wakeups: 0 hibernate: platform
    avail: shutdown,reboot,suspend,test_resume image: 3.07 GiB Init: SysVinit
    v: 3.08 runlevel: 3 default: 3 tool: /etc/rc.d
  Packages: pm: pkgtool pkgs: 2089 libs: 361 tools: sbopkg,slackpkg,slpkg
    pm: rpm pkgs: 0 Compilers: clang: 17.0.6 gcc: 13.2.0 Shell: Bash v: 5.2.26
    running-in: konsole pinxi: 3.3.31-48
Quote:
Null ram module type is concerning, but your root with dmidecode shows the dmi data is just not there, though a very stripped down version.

Is there anything unusual about the board that comes from?
No that I know of. It's old, I bought it new, an educated guess, around 2011. Gigabyte M68MT-S2. It's maxed out memory wise.
 
Old 01-17-2024, 02:24 AM   #13
rizitis
Member
 
Registered: Mar 2009
Location: Greece,Crete
Distribution: Slackware64-current, Slint
Posts: 674
Blog Entries: 1

Rep: Reputation: 511Reputation: 511Reputation: 511Reputation: 511Reputation: 511Reputation: 511
Code:
./pinxi -SIGmaz --vs
pinxi 3.3.31-48 (2024-01-16)
System:
  Kernel: 6.7.0 arch: x86_64 bits: 64 compiler: gcc v: 2.41-slack151
    clocksource: tsc avail: acpi_pm parameters: BOOT_IMAGE=/boot/vmlinuz-6.7.0
    root=UUID=aec93345-44cd-40c3-82f4-97f6952a6217 ro
  Desktop: GNOME v: 45.3 tk: GTK v: 3.24.39 vt: 3
    tools: gsd-screensaver-proxy avail: xfce4-screensaver,xlock,xscreensaver
    dm: GDM v: 45.0.1 Distro: Slackware 15.0
Memory:
  System RAM: total: 64 GiB available: 62.47 GiB used: 5.15 GiB (8.2%)
  Message: For most reliable report, use superuser + dmidecode.
  Array-1: capacity: 64 GiB note: est. slots: 2 modules: 2 EC: None
    max-module-size: 32 GiB note: est.
  Device-1: Bottom - Slot 1 (left) type: N/A size: 32 GiB speed: 4800 MT/s
    volts: note: check curr: 1 min: 1 max: 1 width (bits): data: 64 total: 64
    manufacturer: Crucial Technology part-no: CT32G48C40S5.M16A1
    serial: <filter>
  Device-2: Bottom - Slot 2 (right) type: N/A size: 32 GiB speed: 4800 MT/s
    volts: note: check curr: 1 min: 1 max: 1 width (bits): data: 64 total: 64
    manufacturer: Crucial Technology part-no: CT32G48C40S5.C16A1
    serial: <filter>
Graphics:
  Device-1: Intel Alder Lake-P GT2 [Iris Xe Graphics] vendor: Hewlett-Packard
    driver: i915 v: kernel arch: Gen-12.2 process: Intel 10nm built: 2021-22+
    ports: active: eDP-1 empty: DP-1,DP-2 bus-ID: 00:02.0 chip-ID: 8086:46a6
    class-ID: 0300
  Device-2: NVIDIA GA107M [GeForce RTX 3050 Ti Mobile]
    vendor: Hewlett-Packard driver: nvidia v: 535.146.02
    alternate: nvidiafb,nouveau,nvidia_drm non-free: 545.xx+ status: current
    (as of 2024-01; EOL~2026-12-xx) arch: Ampere code: GAxxx
    process: TSMC n7 (7nm) built: 2020-2023 pcie: gen: 4 speed: 16 GT/s
    lanes: 8 link-max: lanes: 16 bus-ID: 01:00.0 chip-ID: 10de:25a0
    class-ID: 0300
  Device-3: Luxvisions Innotech HP Wide Vision HD Camera driver: uvcvideo
    type: USB rev: 2.0 speed: 480 Mb/s lanes: 1 mode: 2.0 bus-ID: 3-6:3
    chip-ID: 30c9:0065 class-ID: 0e02 serial: <filter>
  Display: wayland server: X.org v: 1.21.1.10 with: Xwayland v: 23.2.3
    compositor: gnome-shell driver: X: loaded: modesetting unloaded: vesa
    alternate: fbdev dri: iris gpu: i915 display-ID: 0
  Monitor-1: eDP-1 model: BOE Display 0x0aad built: 2021 res: 1920x1080
    dpi: 137 gamma: 1.2 size: 355x200mm (13.98x7.87") diag: 407mm (16")
    ratio: 16:9 modes: 1920x1080
  API: EGL v: 1.5 hw: drv: intel iris drv: nvidia platforms: device: 0
    drv: nvidia device: 2 drv: iris device: 3 drv: swrast gbm: drv: nvidia
    surfaceless: drv: nvidia wayland: drv: iris x11: drv: iris
    inactive: device-1
  API: OpenGL v: 4.6 vendor: intel mesa v: 23.3.3 glx-v: 1.4 es-v: 3.2
    direct-render: yes renderer: Mesa Intel Graphics (ADL GT2)
    device-ID: 8086:46a6 memory: 61.01 GiB unified: yes display-ID: :0.0
  API: Vulkan v: 1.3.268 layers: 13 device: 0 type: integrated-gpu
    name: Intel Graphics (ADL GT2) driver: mesa intel v: 23.3.3
    device-ID: 8086:46a6 surfaces: xcb,xlib,wayland device: 1
    type: discrete-gpu name: NVIDIA GeForce RTX 3050 Ti Laptop GPU
    driver: nvidia v: 535.146.02 device-ID: 10de:25a0
    surfaces: xcb,xlib,wayland device: 2 type: cpu name: llvmpipe (LLVM
    17.0.6 256 bits) driver: mesa llvmpipe v: 23.3.3 (LLVM 17.0.6)
    device-ID: 10005:0000 surfaces: xcb,xlib,wayland
Info:
  Processes: 486 Power: uptime: 1h 36m states: freeze,mem,disk suspend: s2idle
    wakeups: 0 hibernate: platform avail: shutdown,reboot,suspend,test_resume
    image: 24.98 GiB Init: SysVinit v: 3.08 runlevel: 4 default: 4
    tool: /etc/rc.d
  Packages: 2365 pm: pkgtool pkgs: 2327 libs: 315
    tools: gnome-software,sbopkg,slackpkg,slapt-get,slpkg pm: rpm pkgs: 0
    pm: flatpak pkgs: 38 Compilers: clang: 17.0.6 gcc: 13.2.0 Shell: Bash
    v: 5.2.26 running-in: kgx pinxi: 3.3.31-48
Code:
udevadm info -p /devices/virtual/dmi/id
P: /devices/virtual/dmi/id
E: DEVPATH=/devices/virtual/dmi/id
E: MEMORY_ARRAY_LOCATION=System Board Or Motherboard
E: MEMORY_ARRAY_MAX_CAPACITY=34359738368
E: MEMORY_ARRAY_NUM_DEVICES=2
E: MEMORY_DEVICE_0_ASSET_TAG=9876543210
E: MEMORY_DEVICE_0_BANK_LOCATOR=BANK 0
E: MEMORY_DEVICE_0_CONFIGURED_SPEED_MTS=4800
E: MEMORY_DEVICE_0_CONFIGURED_VOLTAGE=1
E: MEMORY_DEVICE_0_DATA_WIDTH=64
E: MEMORY_DEVICE_0_FIRMWARE_VERSION=Not Specified
E: MEMORY_DEVICE_0_FORM_FACTOR=SODIMM
E: MEMORY_DEVICE_0_LOCATOR=Bottom - Slot 1 (left)
E: MEMORY_DEVICE_0_MANUFACTURER=Crucial Technology
E: MEMORY_DEVICE_0_MAXIMUM_VOLTAGE=1
E: MEMORY_DEVICE_0_MEMORY_OPERATING_MODE_CAPABILITY=Volatile memory
E: MEMORY_DEVICE_0_MEMORY_TECHNOLOGY=DRAM
E: MEMORY_DEVICE_0_MINIMUM_VOLTAGE=1
E: MEMORY_DEVICE_0_MODULE_MANUFACTURER_ID=Bank 6, Hex 0x9B
E: MEMORY_DEVICE_0_PART_NUMBER=CT32G48C40S5.M16A1
E: MEMORY_DEVICE_0_RANK=2
E: MEMORY_DEVICE_0_SERIAL_NUMBER=E7595F28
E: MEMORY_DEVICE_0_SIZE=34359738368
E: MEMORY_DEVICE_0_SPEED_MTS=4800
E: MEMORY_DEVICE_0_TOTAL_WIDTH=64
E: MEMORY_DEVICE_0_TYPE=<OUT OF SPEC>
E: MEMORY_DEVICE_0_TYPE_DETAIL=Synchronous
E: MEMORY_DEVICE_0_VOLATILE_SIZE=34359738368
E: MEMORY_DEVICE_1_ASSET_TAG=9876543210
E: MEMORY_DEVICE_1_BANK_LOCATOR=BANK 0
E: MEMORY_DEVICE_1_CONFIGURED_SPEED_MTS=4800
E: MEMORY_DEVICE_1_CONFIGURED_VOLTAGE=1
E: MEMORY_DEVICE_1_DATA_WIDTH=64
E: MEMORY_DEVICE_1_FIRMWARE_VERSION=Not Specified
E: MEMORY_DEVICE_1_FORM_FACTOR=SODIMM
E: MEMORY_DEVICE_1_LOCATOR=Bottom - Slot 2 (right)
E: MEMORY_DEVICE_1_MANUFACTURER=Crucial Technology
E: MEMORY_DEVICE_1_MAXIMUM_VOLTAGE=1
E: MEMORY_DEVICE_1_MEMORY_OPERATING_MODE_CAPABILITY=Volatile memory
E: MEMORY_DEVICE_1_MEMORY_TECHNOLOGY=DRAM
E: MEMORY_DEVICE_1_MINIMUM_VOLTAGE=1
E: MEMORY_DEVICE_1_MODULE_MANUFACTURER_ID=Bank 6, Hex 0x9B
E: MEMORY_DEVICE_1_PART_NUMBER=CT32G48C40S5.C16A1
E: MEMORY_DEVICE_1_RANK=2
E: MEMORY_DEVICE_1_SERIAL_NUMBER=E7BBCA2E
E: MEMORY_DEVICE_1_SIZE=34359738368
E: MEMORY_DEVICE_1_SPEED_MTS=4800
E: MEMORY_DEVICE_1_TOTAL_WIDTH=64
E: MEMORY_DEVICE_1_TYPE=<OUT OF SPEC>
E: MEMORY_DEVICE_1_TYPE_DETAIL=Synchronous
E: MEMORY_DEVICE_1_VOLATILE_SIZE=34359738368
E: MODALIAS=dmi:bvnAMI:bvrF.06:bd05/06/2022:br15.6:efr32.20:svnHP:pnOMENbyHPLaptop16-b1xxx:pvr:rvnHP:rn8A15:rvr32.20:cvnHP:ct10:cvrChassisVersion:sku6W7R0EA#AB7:
E: SUBSYSTEM=dmi
E: USEC_INITIALIZED=5994599
Code:
udevadm --version
251
 
Old 01-17-2024, 08:13 AM   #14
drumz
Member
 
Registered: Apr 2005
Location: Oklahoma, USA
Distribution: Slackware
Posts: 906

Rep: Reputation: 697Reputation: 697Reputation: 697Reputation: 697Reputation: 697Reputation: 697
Looks like a bug slipped in?

As root:

Code:
# /home/erich/scripts/pinxi -SIGmaz --vs
pinxi 3.3.31-48 (2024-01-16)
System:
  Kernel: 6.6.12-etr arch: x86_64 bits: 64 compiler: gcc v: 2.37-slack15
    clocksource: tsc avail: hpet,acpi_pm
    parameters: BOOT_IMAGE=dev002:\EFI\SLACKWARE\bz6612e.img
    root=/dev/mapper/luksnvme0n1p5 vga=normal preempt=voluntary delayacct
    mitigations=off nvidia-drm.modeset=0 ro
  Console: pty pts/1 wm: kwin LM: elogind Distro: Slackware 15.0
Undefined subroutine &main::cleaner_dmi called at /home/erich/scripts/pinxi line 23862.
Edit to add:
Code:
$ grep -n cleaner_dmi ~/scripts/pinxi
23862:                                          $temp[1] = main::cleaner_dmi($temp[0]);
24098:                          $temp[1] = main::cleaner_dmi($temp[0]); # seen <OUT OF SPEC>
Edit 2: Looks like a typo? It should be "clean_dmi"?

Edit 3: Yes, replacing "cleaner_dmi" with "clean_dmi" results in:

Code:
# /home/erich/scripts/pinxi -SIGmaz --vs
pinxi 3.3.31-48 (2024-01-16)
System:
  Kernel: 6.6.12-etr arch: x86_64 bits: 64 compiler: gcc v: 2.37-slack15
    clocksource: tsc avail: hpet,acpi_pm
    parameters: BOOT_IMAGE=dev002:\EFI\SLACKWARE\bz6612e.img
    root=/dev/mapper/luksnvme0n1p5 vga=normal preempt=voluntary delayacct
    mitigations=off nvidia-drm.modeset=0 ro
  Console: pty pts/1 wm: kwin LM: elogind Distro: Slackware 15.0
Memory:
  System RAM: total: 512 GiB available: 503.49 GiB used: 28.86 GiB (5.7%)
  Report: arrays: 4 capacity: 1.50 TiB installed: 512 GiB slots: 12
    active: 8 type: DDR4 eec: Error Correction Type
  Array-1: capacity: 384 GiB installed: 192 GiB slots: 3 modules: 3
    EC: Error Correction Type max-module-size: 128 GiB note: est.
  Device-1: DIMM_A1 type: DDR4 detail: synchronous size: 64 GiB
    speed: 2933 MT/s volts: curr: 1.2 min: 1.2 max: 1.2 width (bits): data: 64
    total: 72 manufacturer: Samsung part-no: M386A8K40CM2-CVF serial: <filter>
  Device-2: DIMM_B1 type: DDR4 detail: synchronous size: 64 GiB
    speed: 2933 MT/s volts: curr: 1.2 min: 1.2 max: 1.2 width (bits): data: 64
    total: 72 manufacturer: Samsung part-no: M386A8K40CM2-CVF serial: <filter>
  Device-3: DIMM_C1 type: DDR4 detail: synchronous size: 64 GiB
    speed: 2933 MT/s volts: curr: 1.2 min: 1.2 max: 1.2 width (bits): data: 64
    total: 72 manufacturer: Samsung part-no: M386A8K40CM2-CVF serial: <filter>
  Array-2: capacity: 384 GiB installed: 64 GiB slots: 3 modules: 1
    EC: Error Correction Type max-module-size: 128 GiB note: est.
  Device-1: DIMM_D1 type: DDR4 detail: synchronous size: 64 GiB
    speed: 2933 MT/s volts: curr: 1.2 min: 1.2 max: 1.2 width (bits): data: 64
    total: 72 manufacturer: Samsung part-no: M386A8K40CM2-CVF serial: <filter>
  Device-2: DIMM_E1 type: no module installed
  Device-3: DIMM_F1 type: no module installed
  Array-3: capacity: 384 GiB installed: 192 GiB slots: 3 modules: 3
    EC: Error Correction Type max-module-size: 128 GiB note: est.
  Device-1: DIMM_G1 type: DDR4 detail: synchronous size: 64 GiB
    speed: 2933 MT/s volts: curr: 1.2 min: 1.2 max: 1.2 width (bits): data: 64
    total: 72 manufacturer: Samsung part-no: M386A8K40CM2-CVF serial: <filter>
  Device-2: DIMM_H1 type: DDR4 detail: synchronous size: 64 GiB
    speed: 2933 MT/s volts: curr: 1.2 min: 1.2 max: 1.2 width (bits): data: 64
    total: 72 manufacturer: Samsung part-no: M386A8K40CM2-CVF serial: <filter>
  Device-3: DIMM_J1 type: DDR4 detail: synchronous size: 64 GiB
    speed: 2933 MT/s volts: curr: 1.2 min: 1.2 max: 1.2 width (bits): data: 64
    total: 72 manufacturer: Samsung part-no: M386A8K40CM2-CVF serial: <filter>
  Array-4: capacity: 384 GiB installed: 64 GiB slots: 3 modules: 1
    EC: Error Correction Type max-module-size: 128 GiB note: est.
  Device-1: DIMM_K1 type: DDR4 detail: synchronous size: 64 GiB
    speed: 2933 MT/s volts: curr: 1.2 min: 1.2 max: 1.2 width (bits): data: 64
    total: 72 manufacturer: Samsung part-no: M386A8K40CM2-CVF serial: <filter>
  Device-2: DIMM_L1 type: no module installed
  Device-3: DIMM_M1 type: no module installed
Graphics:
  Device-1: ASPEED Graphics Family vendor: ASUSTeK driver: ast v: kernel
    ports: active: VGA-1 empty: Virtual-1 bus-ID: 02:00.0 chip-ID: 1a03:2000
    class-ID: 0300
  Device-2: NVIDIA TU106 [GeForce RTX 2060 SUPER] vendor: eVga.com.
    driver: nvidia v: 545.29.06 alternate: nvidiafb,nouveau,nvidia_drm
    non-free: 545.xx+ status: current (as of 2024-01; EOL~2026-12-xx)
    arch: Turing code: TUxxx process: TSMC 12nm FF built: 2018-2022 pcie:
    gen: 3 speed: 8 GT/s lanes: 16 bus-ID: 3b:00.0 chip-ID: 10de:1f06
    class-ID: 0300
  Display: server: X.Org v: 1.20.14 with: Xwayland v: 21.1.4
    compositor: kwin_x11 driver: X: loaded: nvidia gpu: ast display-ID: :0
    screens: 1
  Screen-1: 0 s-res: 7680x2160 s-dpi: 139 s-size: 1403x400mm (55.24x15.75")
    s-diag: 1459mm (57.44")
  Monitor-1: DP-2 pos: right res: 3840x2160 hz: 60 dpi: 140
    size: 697x392mm (27.44x15.43") diag: 800mm (31.48") modes: N/A
  Monitor-2: HDMI-0 pos: primary,left res: 3840x2160 hz: 60 dpi: 140
    size: 697x392mm (27.44x15.43") diag: 800mm (31.48") modes: N/A
  API: EGL v: 1.5 hw: drv: nvidia platforms: device: egl egl: N/A drv: N/A
    gbm: egl: 1.4 drv: N/A x11: drv: nvidia inactive: wayland
  API: OpenGL v: 4.6.0 vendor: nvidia v: 545.29.06 glx-v: 1.4
    direct-render: yes renderer: NVIDIA GeForce RTX 2060 SUPER/PCIe/SSE2
    memory: 7.81 GiB
  API: Vulkan v: 1.2.176 layers: 14 device: 0 type: discrete-gpu name: NVIDIA
    GeForce RTX 2060 SUPER driver: nvidia v: 545.29.06 device-ID: 10de:1f06
    surfaces: xcb,xlib device: 1 type: cpu name: llvmpipe (LLVM 13.0.0 256
    bits) driver: mesa llvmpipe v: 21.3.5 (LLVM 13.0.0) device-ID: 10005:0000
    surfaces: xcb,xlib
Info:
  Processes: 1305 Power: uptime: 16h 13m states: freeze,mem,disk suspend: deep
    avail: s2idle wakeups: 0 hibernate: platform
    avail: shutdown,reboot,suspend,test_resume image: 201.38 GiB
    Init: SysVinit v: 3.01 runlevel: 3 default: 3 tool: /etc/rc.d
  Packages: pm: pkgtool pkgs: 2346 libs: 380 tools: sbopkg,slackpkg pm: rpm
    pkgs: 0 pm: flatpak pkgs: 0 Compilers: clang: 13.0.0 gcc: 11.2.0
    Shell: Bash (su) v: 5.1.16 running-in: konsole pinxi: 3.3.31-48

Last edited by drumz; 01-17-2024 at 08:18 AM.
 
Old 01-17-2024, 11:50 AM   #15
h2-1
Member
 
Registered: Mar 2018
Distribution: Debian Testing
Posts: 562

Original Poster
Rep: Reputation: 320Reputation: 320Reputation: 320Reputation: 320
chrisretusn: Oops, sorry, that one slipped by. Now corrected in 3.3.31-49

The per array active modules fix works, that's good, though it looks like something is getting trimmed from Error Correction Type.

[another bug, sorry, error correction type passed the field name, not the value, to the cleaner]

I'd still like to know what the udevadm output for > 1 array setups looks like, to me it looks like they made a mistake, and assumed only 1 array, so did not number the MEMORY_ARRAY_[field] items like they do with: MEMORY_DEVICE_(\d+)_[field name]

I'm leaning towards guessing that first, MEMORY_ARRAY_LOCATION is always first, and that the ordered sequence is per array, then adding in a check for a possible array number, along with the known no number case which is so far standard. But there's no way to know this since the way they did it appears to be a mistake, a subtle one, that I can see why would not have gotten caught so far, but I have to assume it will get caught.

I may have to redo that logic to actually build the structure that is missing.

This is a similar issue I'm having with a current active bug report where with amd threadripper 2950x, 16 core, I assume 2 die, each die is counting its cores independently, which no other amd zen does that I have seen, leading to a reported core count of 1/2, but impossible to debug without the debugger data required to emulate it, I can't actually guess what the data looks like.

The good side is, very few users will have > 1 array systems, so any potential issues will be limited to a small set of people, and I'll only need probably one udevadm data sample from that system to fix it, as logic goes, this is pretty easy overall.

Thanks for confirming the fix, and sorry for the typo, I should have run some data through it with EC active, but I forgot.

Note that another actually important difference, which I don't like, between dmidecode output and udevadm output is that in many cases, udevadm does not output values if they are not active, whereas dmidecode has the same values for modules whether they are occupied or not, or for arrays, EC whether active or not.

===============================

rizitis, you found a bug with the new logic, when it says the array capacity is an 'estimate', that's wrong, it had the capacity. I'll run that data through and fix it, thanks.

Last edited by h2-1; 01-17-2024 at 12:42 PM.
 
  


Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
Testers for inxi/pinxi redone -C CPU logic... huge internal changes h2-1 Slackware 353 02-24-2022 08:51 PM
pinxi/inxi huge BSD updates, testers? h2-1 *BSD 0 03-08-2021 11:54 PM
Huge inxi/pinxi upgrade, new features, Logical volumes, raid rewrite, beta testers? h2-1 Slackware 12 12-17-2020 05:04 PM

LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Slackware

All times are GMT -5. The time now is 05:38 AM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration