Skip to content

Design proposal for vPRO/AMT/ISM activation #298

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 4 commits into
base: main
Choose a base branch
from

Conversation

pierventre
Copy link
Contributor

Checklist:

  • I agree to use the APACHE-2.0 license for my code changes
  • I have not introduced any 3rd party dependency changes
  • I have performed a self-review of my code

Comment on lines 35 to 38
1. AMT Supported Device
2. ISM Supported Device
3. No OOB Supported

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not sure if we will be able to distinguish between those technologies from output of rpc-go binary. I tested rpc-go on NUC that doesn't supports AMT, but supports ISM and binary was failing with error.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

AMTInfo is our only way to learn, if the deps are there and there is an error, we assume it is not supported.

inv ->> dm: Notify
activate dm
ps ->> ps: Reconcile the device
alt AMT CurrentaState provisioned

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

pre-provisioned

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The provisioning will not start until RM has activated the device into MPS (POST)

en ->> ps: Done
deactivate en
else
ps ->> ps: Retry

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should we try to unprovision it and then retry?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this is a reconciliation that is requeud until DM RM creates the resource in DMT stack

Tink-EMT image - replacement of HookOS), as this is required to activate AMT. This also requires the `heci` driver to
be included in the kernel as the `rpc-go` utility communicates with CSME over PCIe/HECI in to activate the device.

`Local Manageability Service` (LMS) must to be included as it is still required to enable the communication between RPC
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this is installed as one of our agents ?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No this a dep needed by RPC (a mix of user space, kernel modules, etc)

Remote Provisioning Client (RPC) is launched during the provisioning flow (uOS stage).

vPRO (AMT & ISM) capable Core devices need to have the `rpc-go` utility embedded in the uOS image (the so called
Tink-EMT image - replacement of HookOS), as this is required to activate AMT. This also requires the `heci` driver to
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Even though we are using tink-EMT we will be enabling vPRO on both Ubuntu and EMT, correct ?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yes but we will not control the activation, reconfiguration in the final OS. This will come later (in 3.2) with the help of the Platform Manageability Agent


Let us now analyze the device activation, the user must do the following steps before starting AMT activation

- AMT is enabled in BIOS
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

what is the default for this ? enabled or disabled ? (say when the device come fresh from factory ?)

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

like SB and FDE we dont know - it is really dependent on the vendor. This will be part of our docs

- **Late Binding** where RPC is integrated in the image of the final OS. If this on one side, addresses the need to
support remote deactivation and day2 reconfiguration, it does not provide a solution to recover the device if something
goes wrong during the provisioning flow and require the integration with a **Platform Manageability Agent**.
- **Cloud-Init** provisioning where AMT is activated at the end of the provisioning flow. This solution does not offer
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why would you want this in a future release with all the disadvantages ?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Keeping this as alternative. What we will do in 3.2 is the PMA integration

@ajaythakurintel ajaythakurintel added the Proposal Identify a PR as a design proposal to be reviewed. label May 13, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Proposal Identify a PR as a design proposal to be reviewed.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants