Dmidecode For Mac



Dmidecode for Apple OS X. Dmidecode is a long standing, effective tool for reading manufacturer info from the SMBIOS tables present on most modern x86 based systems. It’s been available for many years on most Unix like operating systems and has also been ported to Windows.Until now, it had never made the leap to OS X. How can I find out the original MAC address for a network card, after it was modified by the OS? Dmesg doesn't provide it, and the logs in /var/log too, and dmidecode doesn't provide it too and ethtool. A custom script?

When we run dmidecode on the terminal, the system retrieves the contents of the DMI (Desktop Management Interface) table, which has the main purpose of providing such crucial details to management software. In a way, the command acts as a decoder of the DMI table, hence the name “dmidecode”. SIW is an advanced System Information for Windows tool that gathers detailed information. root@server # dmidecode grep -i mac MCE (Machine check exception) MCA (Machine check architecture) HP BIOS NIC PCI and MAC Information NIC 1: PCI device 03:00.0, MAC address 1C:69:F5:4B:24:Y8 NIC 2: PCI device 03:00.1, MAC address 1C:69:F5:4B:24:Y8 HP BIOS iSCSI NIC PCI and MAC Information.

Dmidecode is a long standing,effective tool for reading manufacturer info from the SMBIOS tables present onmost modern x86 based systems. It’s been available for many years on most Unixlike operating systems and has also been ported toWindows. Until now, ithad never made the leap to OS X.

From the dmidecode website:

Dmidecode reports information about your system’s hardware as described in your system BIOS according to the SMBIOS/DMI standard. This information typically includes system manufacturer, model name, serial number, BIOS version, asset tag as well as a lot of other details of varying level of interest and reliability depending on the manufacturer. This will often include usage status for the CPU sockets, expansion slots (e.g. AGP, PCI, ISA) and memory module slots, and the list of I/O ports (e.g. serial, parallel, USB).

Dmidecode For Mac

Installation on OS X

The easiest way to install dmidecode is with the homebrewpackage manager:

To build from source, sources are available from the project page onGitHub.

Dmidecode

Once cloned or extracted from the release tarball, you may build and installwith:

Dmidecode For Mac Os

The above steps install the dmidecode binary into /usr/local/sbin. If thisis not in your $PATH, you’ll need to add it or call the full file path:

Dmidecode

Getting help

For all issues related to dmidecode itself, please see thedmidecode website.

This port is thoroughly tested on x86_64 iMacs and MacBook Pros running 10.9+.All API calls have documented compatability since OS X 10.0 but without theopportunity to test on older machines, I’ll be relying on the community forfeedback.

If you encounter any issues, please raise an issue on the GitHub page and include your Appledevice details and OS X version. Please first check for existing issues whichmay match your problem.

Dmidecode Mac Address

The portability challenge

Dmidecode ports very nicely onto any Unix-like platform that exposes raw systemmemory (specifically the range where SMBIOS lives) as a file handle (such as/dev/mem). Unfortunately, a few years back, Apple disabled its memory filehandle by default. Now the only way to access SMBIOS memory directly (on anout-of-box OS X machine) is to use Apple’s proprietary IOService API.

Dmidecode Mac Alternative

This port of dmidecode aims to minimize deviation from the upstream codebase toensure that ongoing maintenance is as simple as possible. The challenge hasbeen achieving this without butchering the code with a bunch ofif apple... else... blocks but cleanly navigating around code that assumesSMBIOS data is accessible from a file path.

Dmidecode For Macbook Air

Sample output

Dmidecode For Macbook

Here’s some sample dmidecode output from my MacBook Pro 2010 runningOS X 10.9.5; modified for privacy and brevity: