---
name: "vpd"
section: "4"
platform: "freebsd"
package: "base"
version: "16.0-CURRENT-20261027-61c70dc16a79"
release: "FreeBSD 16.0-CURRENT (2026-10-27)"
platforms: ["linux", "freebsd"]
url: "https://new.carta.tech/vpd"
---

# vpd(4)

Vital Product Data kernel interface

Part of [vpd(4)](/vpd/4.md).

## NAME

**vpd** – Vital Product Data kernel interface

## SYNOPSIS

**device vpd**

## DESCRIPTION

IBM ThinkPad notebooks (and most IBM desktop PCs) have a 48-byte Vital Product Data (VPD) structure located in the BIOS Shadow RAM.

The VPD provides machine type and model information, the build ID (this is roughly the BIOS version) and serial number information.

The **vpd** driver scans the BIOS area and claims the memory used by the VPD structure. It provides the [sysctl(3)](/sysctl/3.md) branch *hw.vpd* to allow this information to be accessed by the userland. The following variables are provided, one per VPD attachment (there should only be one):

- MACHINE\_TYPE

  (*machine.type*) Machine type.

- MACHINE\_MODEL

  (*machine.model*) Machine model.

- BUILD\_ID

  (*build.id*) BIOS Build ID.

- SERIAL\_BOX

  (*serial.box*) Box Serial Number.

- SERIAL\_PLANAR

  (*serial.planar*) Motherboard Serial Number.

## SEE ALSO

*TP General - Using the BIOS Build ID to identify IBM ThinkPad systems*, Reference #: MIGR-45120, November 22, 2002, http://www.ibm.com/support/docview.wss?uid=psg1MIGR-45120.

## HISTORY

The **vpd** driver first appeared in FreeBSD 5.1.

## AUTHORS

The **vpd** driver and this manual page were written by Matthew N. Dodd ⟨*mdodd@FreeBSD.org*⟩.
