2024-10-07 01:46:24 +00:00
|
|
|
---
|
|
|
|
title: Dell OptiPlex 3050 Micro
|
|
|
|
x-toc-enable: true
|
|
|
|
...
|
|
|
|
|
|
|
|
**[PLEASE READ THESE INSTRUCTIONS BEFORE INSTALLING](../../news/safety.md),
|
|
|
|
OR YOU MIGHT BRICK YOUR MACHINE: [SAFETY PRECAUTIONS](../../news/safety.md)**
|
|
|
|
|
|
|
|
<div class="specs">
|
|
|
|
<center>
|
|
|
|
<img tabindex=1 alt="Dell OptiPlex 3050 Micro" class="p" src="https://av.libreboot.org/3050micro/3050micro.jpg" /><span class="f"><img src="https://av.libreboot.org/3050micro/3050micro.jpg" /></span>
|
|
|
|
</center>
|
|
|
|
|
|
|
|
| ***Specifications*** | |
|
|
|
|
|----------------------------|------------------------------------------------|
|
|
|
|
| **Manufacturer** | Dell |
|
|
|
|
| **Name** | OptiPlex 3050 Micro |
|
|
|
|
| **Variants** | OptiPlex 3050 Micro |
|
|
|
|
| **Released** | 2017 |
|
|
|
|
| **Chipset** | Intel Kaby Lake |
|
|
|
|
| **CPU** | Intel Kaby Lake |
|
|
|
|
| **Graphics** | Intel HD graphics |
|
|
|
|
| **Memory** | DDR4 SODIMMs (max 32GB, 2x16GB) |
|
|
|
|
| **Architecture** | x86\_64 |
|
|
|
|
| **Original boot firmware** | Dell UEFI firmware |
|
|
|
|
| **Intel ME/AMD PSP** | Present. Can be disabled with me\_cleaner. |
|
|
|
|
| **Flash chip** | SOIC-16 and/or SOIC-8 12MiB (96Mbit) |
|
|
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
W+: Works without blobs;
|
|
|
|
N: Doesn't work;
|
|
|
|
W*: Works with blobs;
|
|
|
|
U: Untested;
|
|
|
|
P+: Partially works;
|
|
|
|
P*: Partially works with blobs
|
|
|
|
?: UNKNOWN AT THIS TIME
|
|
|
|
```
|
|
|
|
|
|
|
|
| ***Features*** | |
|
|
|
|
|---------------------------------------------------|----|
|
|
|
|
| **Internal flashing with original boot firmware** | W+ |
|
|
|
|
| **Display (if Intel GPU)** | W+ |
|
|
|
|
| **Audio** | W+ |
|
|
|
|
| **RAM Init** | W+ |
|
|
|
|
|
|
|
|
| ***Payloads supported*** | |
|
|
|
|
|----------------------------|-----------|
|
|
|
|
| **GRUB (libgfxinit only)** | Works |
|
|
|
|
| **SeaBIOS** | Broken |
|
|
|
|
</div>
|
|
|
|
Introduction
|
|
|
|
============
|
|
|
|
|
|
|
|
**Unavailable in Libreboot 20240612 or earlier. You must [compile from
|
|
|
|
source](../build/), or use a version newer than Libreboot 20240612.**
|
|
|
|
|
|
|
|
Official information about the computer can be found here:
|
|
|
|
<https://www.dell.com/support/manuals/en-uk/optiplex-3050-micro/optiplex_3050-mff_om/processor-specifications?guid=guid-8ca53ab2-a85d-42d5-9106-5214220306aa&lang=en-us>
|
|
|
|
|
|
|
|
Build ROM image from source
|
|
|
|
---------------------------
|
|
|
|
|
|
|
|
The build target, when building from source, is thus:
|
|
|
|
|
|
|
|
./mk -b coreboot dell3050micro_fsp_16mb
|
|
|
|
|
|
|
|
Mate Kukri's *deguard* utility disables the Intel Boot Guard on this
|
|
|
|
machine. Libreboot uses this by default, along with `me_cleaner` to provide
|
|
|
|
a neutered ME setup; unlike on other platforms, arbitrary code execution is also
|
|
|
|
possible inside the ME on this mainboard, giving it much higher potential for
|
|
|
|
software freedom in the future.
|
|
|
|
|
|
|
|
Issues
|
|
|
|
======
|
|
|
|
|
|
|
|
Before flashing, you must know that this board is still a work-in-progress. It
|
|
|
|
is using this patchset from the author, Mate Kukri:
|
|
|
|
|
|
|
|
<https://review.coreboot.org/c/coreboot/+/82053> (libreboot uses patch set 14)
|
|
|
|
|
|
|
|
Issues, as per Libreboot's testing, are as follows:
|
|
|
|
|
|
|
|
* Although USB ports seem to work, the Gerrit page linked above says that the
|
|
|
|
config is incorrect; need to investigate.
|
|
|
|
* HDA Verb: Libreboot patches the board to support this, which fixes the
|
|
|
|
headphone jack among other things.
|
|
|
|
* VBT: Libreboot patches the board to support this, though it's largely
|
|
|
|
optional on Linux/BSD.
|
|
|
|
* ACPI-based shutdown seems to falter a lot; sometimes the board will not turn
|
|
|
|
off after shut down, so you have hold the button down. Also, the button does
|
|
|
|
not seem to signal the OS that a shutdown must occur.
|
|
|
|
* PWM fan controls broken, so the system always run in a low-rpm state, even
|
|
|
|
under stress conditions, which could lead to overheating under stress.
|
|
|
|
|
|
|
|
To mitigate the PWM bug, simply cut the blue wire on the fan connector, and
|
2024-10-07 12:46:51 +00:00
|
|
|
cut the red wire but jump the cut (on red) with a 10ohm resistor or so; cutting
|
2024-10-07 01:46:24 +00:00
|
|
|
the blue one bypasses PWM, so the fan runs at full speed (very loud), and the
|
|
|
|
red wire powers it, so the resistor on the red wire will slow the fan down, but
|
|
|
|
leave it running fastr than on idle. You can also cap the CPU speed however you
|
|
|
|
wish, via the `intel_pstate` driver.
|
|
|
|
|
|
|
|
Note that HDMI audio *does* work, but you have to select it in your audio
|
|
|
|
server e.g. pipework. The `pavucontrol` utility in Linux (with pipewire) lets
|
|
|
|
you have a lot of control over audio I/O. Libreboot patches the board to add
|
|
|
|
a verb, so headphones should work.
|
|
|
|
|
|
|
|
Installation
|
|
|
|
============
|
|
|
|
|
|
|
|
Insert binary files
|
|
|
|
-------------------
|
|
|
|
|
|
|
|
If you're using a release ROM, please ensure that you've inserted extra firmware
|
|
|
|
required refer to the [guide](../install/ivy_has_common.md) for that. (failure
|
|
|
|
to adhere to this advice will result in a bricked machine)
|
|
|
|
|
|
|
|
Libreboot's build system automatically downloads and processes these files if
|
|
|
|
you build Libreboot from source, but the same logic that it uses must be re-run
|
|
|
|
if you're using a release image.
|
|
|
|
|
2024-10-07 10:03:03 +00:00
|
|
|
MAC address
|
|
|
|
-----------
|
2024-10-07 01:46:24 +00:00
|
|
|
|
2024-10-07 10:03:03 +00:00
|
|
|
This has a realtek NIC inside, instead of Intel, so the MAC address will not
|
|
|
|
change. This means: there is no GbE region in the flash.
|
|
|
|
|
|
|
|
You can still use something like GNU MAC Changer to change your MAC address
|
|
|
|
from Linux if you want to.
|
2024-10-07 01:46:24 +00:00
|
|
|
|
|
|
|
Flash a ROM image (software)
|
|
|
|
-----------------
|
|
|
|
|
|
|
|
If you're already running Libreboot, and you don't have flash protection
|
|
|
|
turned on, [internal flashing](../install/) is possible.
|
|
|
|
|
|
|
|
<img tabindex=1 alt="Dell OptiPlex 3050 Micro service jumper" class="p" src="https://av.libreboot.org/3050micro/fdo.jpg" /><span class="f"><img src="https://av.libreboot.org/3050micro/fdo.jpg" /></span>
|
|
|
|
|
|
|
|
If you have factory firmware (Dell), you can short the service jumper. It's
|
|
|
|
near the RAM, under where the HDD goes (click the photos shown above).
|
|
|
|
Just put a short on it when booting,
|
|
|
|
and all flash protection is disabled; the factory firmware write might EFI
|
|
|
|
variables to flash during shutdown sequence, so you should *pull the plug* to
|
|
|
|
shut it down (remove the power by pulling the plug) after flashprog
|
|
|
|
says `VERIFIED`.
|
|
|
|
|
|
|
|
Flash a ROM image (hardware)
|
|
|
|
-----------------
|
|
|
|
|
|
|
|
For general information, please refer to [25xx NOR flash
|
|
|
|
instructions](../install/spi.md) - that page refers to use of socketed flash.
|
|
|
|
|
|
|
|
The side cover comes off easily, and you can find the flash ICs next to the RAM.
|
|
|
|
Simply remove the screw at the back. The top panel then slides forward, and you
|
|
|
|
can remove the SSD caddy; from then on, the flash is accossible.
|
|
|
|
|
|
|
|
Observe the following photo of the flash (SOIC-8):
|
|
|
|
|
|
|
|
<img tabindex=1 alt="Dell OptiPlex 3050 Micro flash IC" class="p" src="https://av.libreboot.org/3050micro/flash.jpg" /><span class="f"><img src="https://av.libreboot.org/3050micro/flash.jpg" /></span>
|
|
|
|
|
|
|
|
You can otherwise flash internally, including from factory firmware(if the
|
|
|
|
service jumper is set).
|