Quantcast
Channel: Community : All Content - AMD Manageability Community
Viewing all 49 articles
Browse latest View live

AMC 2.0 (AMD Management Console) Release Announcement

$
0
0

A new release of AMD Management Console, AMC 2.0 is now available.

 

AMC is a GUI based DASH manageability application for SMB (small & medium business) environments, capable of monitoring and managing up to 500 DMTF’s DASH-compliant client computer systems.

 

New features in 2.0 release are:

  • Demo mode, with the capability to work in private & closed networks.
  • Built-in web server to host ISO images to support USB redirection feature.
  • Support for Windows 8.1, Windows 10.
  • Various bug fixes.

 

Release note is attached, which provide more information on for this release and also the history of releases. AMC User guide is also attached, which provides information on all the features and their usage in AMC 2.0.

 

Visit @DASH Homefor downloading this software.


AMC 2.5 (AMD Management Console) Release Announcement

$
0
0

A new release of AMD Management Console, AMC 2.5 is now available.

 

AMC is a GUI based DASH manageability application for SMB (small & medium business) environments, capable of monitoring and managing up to 500 DMTF’s DASH-compliant client computer systems.

 

New features in 2.5 release are:

  • Firmware Upgrade on the device  - this feature enables the user to upgrade or downgrade the firmware of a device.
  • Boot text image workflow - text based ISO images can be remotely deployed.
  • Support for Record Log profile - display platform logs of the DASH system.

 

The release note is attached, which provide more information on for this release and also the history of releases.

 

Visit @DASH Homefor downloading this software.

Help: AMD DASH Manageability on HP EliteDesk 705 G3 Desktop Mini

$
0
0

Good afternoon/morning wherever you are in the world.

Right he goes my scenario:

 

Business organisation which with eventually have 1000+ HP EliteDesk 705 G3 Desktop Mini (Already have brought about hundred),

Looking into managing these device with AMD DASH (We only just found out about Intel vPro so started looking into AMD alternative).

 

Now, myself and a colleague have put in quite a few hours to gets this going but have only really got about 50% of the way.

Story so far:

 

HP EliteDesk 705 G3 Desktop Mini (According to specs has DASH 1.1.0)

BIOS has been updated to version P26 02.04

AMD DASH Enabled in BIOS.

Broadcom NetXtreme Ethernet Plus - Latest driver applied with both OOB Mgmt installed and BACS4.

DASHConfig.exe has been applied successfully with .xml being edited.

 

On my "Management" device

AMD Management Console 2.5 (AMC) has been installed.

Digest authentication has been setup.

 

Ok, from here, Management device can connect to DASH target device (HP 705 G3 DM),

BUT, the features are very limited, the only thing I can do from the console is, Power On/Off, Health Check and Inventory.

 

Now I was under the impression that AMD DASH 1.1.0 on "any HP EliteDesk 705" supports all features, i.e. Boot Config, Firmware Update and Redirection?

 

Is it a case that the HP EliteDesk 705 G3 DM only support very few DASH features?

Or is there something else that needs configuring/installing?

 

#########

 

P.S.

Firewall is completely disabled on DASH target device.

I have followed all guides/info from here: http://developer.amd.com/tools-and-sdks/cpu-development/tools-for-dmtf-dash/

I have even called HP Support to asked about the HP ED 705 G3 DM and DASH 1.1.0 to which all they could really say was that your CPU "AMD Pro A A10-8770E" supports AMD DASH only amd some other useless information I didnt need to know.

 

So now I am here seeking info.

 

Many thanks in advance,

Kindest Regards,

Zultrax.

HOW TO CHANGE POLLING MEMORY IN WMI

$
0
0
  1. Go to Start–> run and type wbemtest.exe
  2. Click Connect on the Windows Management Instrumentation Tester
  3. In the namespace text box just enter "root" (without quotes)
    • 1.jpg
  4. Click on Query and run below query :
    • Select * from __ArbitratorConfiguration
    • 2.jpg
  5. Click on __ArbitratorConfiguration=@ and change following parameters :
    • PollingMemoryPerUser = 10000000
    • PollingMemoryTotal = 20000000
    • 3.jpg
  6. Click Save Property
  7. Click Save Object in the Object Editor window
  8. Close the other windows now and exit WMI Tester
  9. Restart the machine.

Change values of following parameters:

PollingMemoryPerUser = 10000000

PollingMemoryTotal = 20000000

AMPS : Background and Workaround for DASH Wakeup not working in Large Enterprise Infrastructures

$
0
0

WMI contains an event infrastructure that produces notifications about changes in WMI data and services. WMI event classes provide notification when specific events occur.

User can create a semisynchronous or asynchronous query to monitor changes to event logs, process creation, service status, computer availability or disk drive free space, and other entities or events.

In C++, IWbemServices::ExecNotificationQueryAsync() is used to get the callback in case of event creation/deletion/modification.

 

AMPS (DASHService) uses WMI event registration mechanism to get notified about changes in deployment classes of SCCM. We observed following issues in large scale enterprise infrastructure while using this mechanism :

 

  • WMI Event Registration failed. While registration for change in event for class SMS_ApplicationAssignment,  ExecNotificationQueryAsync() method failed with error code WBEM_E_QUOTA_VIOLATION.

pic.png

  • WMI Event notification not received even if WMI Event registration was successful.Notification query failed with error code WBEM_E_CALL_CANCELLED.

Picture2.png

AMD discussed with Microsoft about the same and filed following bugs for these issues:

https://connect.microsoft.com/ConfigurationManagervnext/feedback/details/3126741/wmi-event-registration-failed

https://connect.microsoft.com/ConfigurationManagervnext/feedback/details/3126744/wmi-event-notification-issue

 

Workaround :We proposes to increase polling memory per user and polling memory total to solve this issue as workaround.

Please refer to below blog to change polling memory settings:

HOW TO CHANGE POLLING MEMORY IN WMI

Release of AMPS 4.1, AMC 3.0 & DASH CLI 2.0 (KVM Supported)

$
0
0

The new builds of AMPS, AMC & DASH CLI are available for download. The latest versions are,

  • AMD Management Plugin for SCCM - AMPS 4.1.0.0918
  • AMD Management Console - AMC 3.0.0.0454
  • DASH Command Line Interface - DASH CLI 2.0.0.0536

 

The key features in all of these releases are,

  • KVM Redirection support – with Boot To BIOS screen workflow.
  • Performance tuning and network enhancements to KVM use case
  • Support Windows Server 2016 & latest Windows 10 OS
  • Support DASH CIM Schema 2.48.0

 

The AMPS release has these updates,

  • Support version 1802, 1706, 1702, 1610, 1606, 1602 & 1511 of SCCM

 

AMC release has these updates,

  • Support Windows 10 update 1803

 

DASH CLI release has these new commands,

  • ‘enumerate’ - Show all instances of KVM service
  • ‘show’ - Show information of an instance of KVM Service
  • ‘enable’ - Enable KVM redirection service
  • ‘disable’ - Disable KVM redirection service
  • ‘connect’ - Connect to running VNC server in KVM engine
  • startkvm’ - Boot to BIOS workflow (enable the service, reboot and connect to VNC server)

 

Download link: http://www.amd.com/DASH#downloads

 

Note: Platform and DASH LoM must support KVM profile. Please check with your system vendor for KVM support.

AMC USB Redirections Guide

$
0
0

The USB Redirection feature enables users of AMC to boot a system with an OS Image in the form of an ISO file.

Pre-requisites: Save a copy of the iso-file OSImage.iso (in my case FD12CD.iso – an image of FreeDOS) in a known system location.

 

AMC USB Redirection:

The Installation process for AMC asks users to select a port number by ensuring that no other application uses these ports.

USB Redirection 1.png

Figure 1: Figure showing Installation Form where Web Service Port number is set.

 

This installation creates a folder for the web-server associated with AMC to enable navigation to a folder:

On my machine it is - D:\AMC-ISO

Note: The specific folder on your machine may vary. To find out the exact folder, please refer the file:

<<InstallationPath>>\bin\AMC_Service

On my machine this file has the following content:

USB Redirection 2.png

Figure 2: Screen showing AMC_Service file with the information regarding the Web Server directory

 

For my example, I downloaded a version of FreeDOS (file name: FD12CD.iso) which is a small OS Installer of just 418 Mb.

After placing the ISO at the location: D:\AMC-ISO, we are now ready to use the USB Redirection feature.

Launch AMC. Select the client you want to re-image. Then click on Redirection option for USB.

USB Redirection 3.png

Figure 3: Screen showing the USB Redirection Option in the Ribbon options

 

This pops up a screen with the heading USB Redirection. Enter the system name if not already entered. Then enter the URL in the format:

http://<<Your Machine’s IP Address: Port>>/<<OSImage>>.iso

In our example:

If my machine has the following details:

IP Address: 10.138.140.197

Port: 3274 (Refer Figure 1)

OSImage: FD12CD

 

Then the URL will be: http://10.138.140.197:3274/FD12CD.iso

USB Redirection 4.png

Figure 4: Screen showing USB Redirection Feature

 

Performing USB Redirection:

  1. Click on the Boot Button to change the boot order – to boot from USB

USB Redirection 5.png

Figure 5: Figure showing the location of Boot Option in the ribbon

To change boot order. Select the check box for Change boot order. Then select the required boot order, in our case “USB Device:4” which is at location 2 needs to be moved to location 1. Then click Next button to save the changes.

USB Redirection 6.png

Figure 6: Illustrating the procedure to change Boot Order to boot from USB

After changing the boot order. Click on the Power button from the Ribbon options.

USB Redirection 7.png

Figure 7: Showing the Power option in the Ribbon

This opens the Power Management Screen. Click “Apply” button to initiate Power On:

USB Redirection 8.png

Figure 8: Showing the Power Management screen to remotely boot a system

USB Redirection 9.png

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Figure 9: showing the Success screen that is displayed after initiating a remote system reboot

The target machine will now start the re-image process. In my case the screen looked like this:

USB Redirection 10.png

Figure 10: showing the target machine’s screen upon issuing a system reboot after making USB redirection

Enabling KVM on HP 705 G4 EliteDesk

$
0
0

HP 705 G4 EliteDesk supports AMD KVM solution based on DASH. This blog is on enabling KVM on that desktop, and using the feature via AMC (AMD Management Console).

 

The recommended software version for KVM are:

  • BIOS: Q06 Ver. 02.04.01
  • Realtek Ethernet driver: 10.31.828.2018

This blog outlines the procedure to update the HP DASH system to these software versions.

 

Quick steps:

  1. Download latest BIOS from HP support site.
  2. Install the BIOS image on the DASH system.
  3. Enable DASH option in the BIOS setup.
  4. Verify Ethernet controller driver version and update if required.
  5. Try DASH KVM use-case from AMC or DASH CLI.

 

Note that this blog is on getting KVM working. It assumes DASH is working on the HP 705 G4 DASH system.

 

Step1: Download the latest BIOS:

At the time of writing this document the latest BIOS information is Q06 Ver. 02.04.01:

 

1) Navigate to the URL: https://support.hp.com/in-en/drivers/selfservice/hp-elitedesk-705-g4-microtower-pc/21351257/model/21351258

 

2) Select the OS as Windows and the version as Windows 10 (x64) then click on ‘Change’ Button

image001.png

 

3) From the list of items select the ‘+’ marked against BIOS. This expands the list and shows 3 versions of Bios namely Q05, Q06 and Q09.

image002.png

 

4) Then click on Download against Q06. This downloads the executable sp92135.exe

image003.png

 

Step 2: Install the BIOS image on the Target:

 

Copy the executable (sp92135.exe) to the Target machine. Right click on the executable and run it as administrator.

image004.png

 

This launches the InstallShield Wizard which explains the purpose of the application. Click on the “Next >” button to proceed.

image005.png

 

Read the license agreement thoroughly. Upon agreeing, click on “I accept the terms in the license agreement” option. Then click on the “Next >” button.

image006.png

 

Decide on a suitable location to save the files required for flashing.

image007.png

 

If the folder already exists, it will prompt for an overwrite confirmation. Users can choose to select “Yes to All”, if they are sure that all the files need to be changed.

image008.png

 

After completion of this step, automatically the HP Firmware Upgrade and Recovery application is launched.

Select Update option if you wish to Update the current target machine itself. Then click on the “Next >” button to proceed.

image009.png

 

The screen shows the current version of BIOS running as well as the version the Firmware will be upgraded to. Click on the “Next >” Button to proceed.

image010.png

 

This takes us to the Success screen, that initiates the firmware update process upon clicking “Restart” button.

image011.png

 

Upon restarting, the user is taken to the BIOS screen which mentions the version to which the BIOS is currently being updated to.

 

BIOS Update progress

image012.jpg

 

BIOS Update progress

Then the message “Updating PEIA Region” is shown along with a progress bar.

image013.jpg

 

The user is then prompted to “Please be patient”, till the BIOS Update operation completes.

image014.jpg

 

After this process, the startup screen is shown with the currently running BIOS version. We can see here that the version mentioned as 02.04.01 matches with the update version mentioned before the update.

image015.jpg

 

Step 3: Enable DASH from BIOS:

Restart the system and hit “Esc” button till the system goes into BIOS – startup Menu screen.

image016.png

Click on Bios Setup (F10). This takes us to the Main Tab.

image017.png

Click on the “Advanced” Tab. And click on “System Options”.

image018.png

Look for the option “AMD DASH”. Then ensure that it is ticked.

image019.png

Return to “Main” Tab. Click on “Save Changes and Exit”.

image020.png

This shows the screen confirming with us if we really want to save the changes. Click on “Yes” and continue.

image021.png

 

Step 4: Verify Ethernet Controller Driver Version.

Right Click on the Start Button and Select Device Manager

image022.png

Expand Network Adapters, then right click on Realtek Driver followed by clicking “Properties”

image023.png

Then click on “Driver” Tab and verify the “Driver Version”

image024.png

The driver version must be 10.31.828.2018 or higher.

 

Note: To get the latest Realtek Ethernet Controller driver, please contact HP Customer Support.

 

Step 5: Launch KVM from AMC

 

In AMC, 'Discover' the HP DASH System. After the DASH system is listed, click on “BOOT TO BIOS” ribbon icon.

image025.png

 

This launches the window where KVM information is shown. From here click Start to initiate the Boot to BIOS.

image026.png

 

This initiates the system restart Process:

image027.png

 

The HP DASH system boots to the BIOS setup screen and shortly afterwards, AMD VNC Viewer is launched. It redirects the Keyboard, Video and Mouse from HP DASH system on to the VNC viewer.

image028.png

 

Equivalent DASH CLI command:

  • dashcli -h systemname -p 623 -S http -a digest -u Administrator -P DashPassword enumerate kvmredirection
  • dashcli -h systemname -p 623 -S http -a digest -u Administrator -P DashPassword-t kvmredirection[0] startkvm

'startkvm' will launch the VNC viewer.

 

Links:

1) HP 705 G4 product page: https://store.hp.com/us/en/pdp/hp-elitedesk-705-g4-microtower-pc

2) AMC, DASH CLI: http://www.amd.com/DASH


Using DASH WakeUp in AMPS

$
0
0

AMPS is a plugin for Microsoft System Center Configuration Manager. AMPS adds out-of-band DASH functionality and complements the in-band manageability features of Configuration Manager. DASH WakeUp is a feature of AMPS which enables to power on the system at any scheduled time. DASH WakeUp is built over DASH specification.

 

The WOL (Wake-On-LAN) is an Ethernet standard which aims to send a special network packet to power on systems on the network. WOL works at the lower layer of network stack while DASH WakeUp is an application. WOL is either broadcast or multicast message, but DASH WakeUp is an authenticated message directed at a specific DASH system. DASH WakeUp is guaranteed to power on the remote system.

 

In AMPS 4.2, DASH WakeUp can be enabled in DASH Configuration window. 'DASH Configuration' can be opened by navigating to 'Administration\Overview\DASH Management\DASH Configuration’ and clicking on 'Properties'. Ensure 'DASH Wakeup' option is checked.

Auth.PNG

 

While software package deployment, to use DASH WakeUp feature, ensure 'Send wake-up packets' option is checked.

Deploy_Dash_Wakeup.png

 

DASH WakeUp can also be used in Collection 'Power Management'. Open Collection properties and in Power Management tab, ensure 'Wakeup time' option is checked.

CollectionWakeup.PNG

Enabling Dell Latitude 7480 Notebook for DASH Management

$
0
0

This post will illustrate how to provision Dell LatitudeNotebook and managing this using AMD DASH Tools

Host Based Configuration of AMT DASH System

Following are the steps for configuring the system usingHost based configuration:

  • Initiate the configuration using ACUWizard.exe:

pic1.png



  • Select Configure via windows option:

pic2.png

  • Enter the password to encrypt the xml file:

pic3.png

  • Enter current Password (if reconfiguring) and new password:

pic4.png

 

  • Click on configure to configure the device:

pic5.png

 

Command
line Configuration

  • After the system is configured, Profile.xml is
    generated in the folder of ACUWizard, copy the same to ACUConfig.exe folder and
    run the below command in Command Prompt on acuconfig.exe path - “ACUConfig.exe
    ConfigAMT <filename> /decryptionpassword <Password>"

A log file is generated and below
output ensures the configuration being successful:

2018-01-15
14:26:35:(INFO) : ACU Configurator , Category: HandleOutPut: Starting log 2018-01-15
14:26:35

2018-01-15
14:26:35:(INFO) : ACU Configurator, Category: : ACUConfig 11.2.0.35

2018-01-15
14:26:35:(INFO) : ACU Configurator, Category: -Unknown Operation-:
DESKTOP-O5HVT8E: Starting to configure AMT...

2018-01-15
14:26:47:(INFO) : localhost, Category: AMT Interface : Wire
support:************** 1

2018-01-15
14:26:51:(INFO) : localhost, Category: AMT Interface : Wire
support:************** 1

2018-01-15
14:27:19:(SUCCESS) : ACU Configurator, Category: Exit: ***********Exit with
code 0. Details: Success
.

 

REMOTE CONFIGURATION OF AMT DASH SYSTEM

Following are the pre-requisites:

  • Self-signed certificate
  • Un-configure network access to full un-provision mode by setting ACL to default
  • Install the generated certificate in the target in the root CA location
  • The certificate can be generated using any of the remote configuration methods as mentioned in Intel SCS user guide
  • As part of this procedure creating and installing own certificate procedure has been used

 

 

 

Follow the below steps to push the hashes/Thumbprint to Firmware:

 

  • Reboot the system and press
    F12 to go-to Bios setting menu and select MEBx
  • Provide the MEBx password
  • Go-to Intel AMT Configuration

 

 

 

  • Select the Un-configure Network Access as mentioned.

pic6.jpg

  • Select the Full Unprovision menu.

 

pic7.jpg

 

 

  • This resets the network setting and ACL’s to factory default as mentioned above.

 

pic8.jpg

 

 

  • Select Remote Setup and Configuration.

pic9.jpg

 

 

  • Select TLS PKI option.

pic10.jpg

 

 

  • Select Manage Hashes

pic11.jpg

 

 

  • The default certificates supported by Intel AMT are displayed.
  • Press Insert Key to add Custom Hash Certificate Name.
  • Enter Name of the certificate to be added.

 

pic12.jpg

 

 

  • Enter the Thumbprint /Hashvalue of certificate to be added

pic13.jpg

 

  • Set the hash certificate as active

pic14.jpg

 

 

  • Scroll down to make sure that the custom certificate is added as part of certificate list
  • Press ESC and save the configuration and reboot the system

 

pic15.jpg

 

 

 

 

Managing AMT DASH System using AMD DASH Tools

 

  • Discover the system in AMD Management Console (AMC)

pic16.png

 

  • Discover the system using AMD DASHCLI

 

  1. Command for discovery is as below:

dashcli.exe -h <IP Address> -u <username> -P <Password> discover info

 

pic17.png

 

2. Command for power operationquery on AMT DASH SYSTEM

dashcli.exe -h <IP Address> -u <username> -P <Password> -t computersystem[0] power

 

pic18.png

 

Message was edited by: Rahul Kulkarni

Adding DASH to any application

$
0
0

DASH CLI 2.1 supports new options to enable developers to send request query in JSON format to DASH systems and get the output in JSON format. The output can be interpreted by any programming language supporting JSON format. The output JSON is modeled similar to Redfish Schema published by DMTF.

 

In typical usage, DASH CLI is launched with request JSON. DASH CLI processes the request and forms the response in JSON format. This response is sent back to the launching application.

 

JSON is supported by almost all modern programming languages. Hence it will be easier to add DASH capability into any application or tool with few simple steps. Since the application will be launching DASH CLI, the integration with the application is therefore ‘loosely coupled’. DASH communication, DASH standards compliance, DASH security & stability are encapsulated within DASH CLI. The calling application doesn’t have to know anything about DASH standard.

 

There are two new options in DASH CLI:

  • jdo option: With this flag, DASH request input is taken from command-line and output DASH response is written to console.
  • ji/jo option: With this flag, DASH request input is taken from file and output DASH response is written file.

jdo option is faster since it doesn’t involve any file operation.

 

Before starting

  • Download and install DASH CLI 2.1 version. In this blog, DASH CLI is installed in default path, “C:\Program Files (x86)\DASH CLI 2.1\”
  • Examples are illustrated with Visual Studio 2017. But any other IDE or editor can be used.
  • Refer DASH CLI Developer Guide, which is available in DASH CLI installation folder: “C:\Program Files (x86)\DASH CLI 2.1\docs\”, for JSON request & response formats for supported DASH profiles.
  • This blog provides the steps for C# .NET language. Sample code for using -jdo, -ji & -jo options is attached.

 

JDO Flag usage

Using via direct command line

     dashcli -jdo

When this command is run, DASH CLI waits for input in JSON format. Once the input is provided, it will be executed by DASH CLI and output of which is written back in JSON format, as shown in the screenshot below.

Input_Masked_JDO

Using JDO programmatically

Create a sample C# application by following the steps below:

 

Step 1: Create a new project in Visual Studio by selecting from the Menu “File” > “New” > “Project”

 

Step 2: Select “Visual C#” -> “Console App (.net Framework)”. Name the application “SampleJDO” and click “OK” button.

 

 

Step 3: Add the two constant members dashCliDirectory and dashCliPath in “Program.cs” file.

       privatestaticreadonlystringdashCliDirectory =@"C:\Program Files (x86)\DASH CLI 2.1\bin\";

       privatestaticreadonlystringdashCliPath = dashCliDirectory +@"dashcli.exe";

 

Step 4: Add the using statements to include “System.Diagnostics” and “System.IO” as these will be referenced in the upcoming code.

 

usingSystem.Diagnostics;

usingSystem.IO;

 

Step 5: Define the functions “JdoExample” and “RunDashCli” as shown below:

 

       staticvoidJdoExample() {

           stringmemStdIn, memStdOut = String.Empty, memStdErr = String.Empty;

           stringinputJsonFile =@"input_json.txt";

            memStdIn = Convert.ToString(File.ReadAllText(inputJsonFile));

            Console.WriteLine("Input: ");

            Console.WriteLine(memStdIn);

           stringarguments =@"-jdo";

           intreturnCode = RunDASHCli(arguments, memStdIn,outmemStdOut,outmemStdErr);

            Console.WriteLine("Output: ");

            Console.Write(memStdOut);

           //'memStdout' has the result in JSON format

        }

 

       staticintRunDASHCli(stringarguments,stringmemStdIn,outstringmemStdOut,outstringmemStdErr) {

            memStdOut = String.Empty;

            memStdErr = String.Empty;

 

           intexitCode = 1;

            Process process =newProcess();

            StreamWriter streamWriter =null;

            StreamReader streamOutReader =null;

            StreamReader streamErrReader =null;

 

            process.StartInfo.UseShellExecute =false;

            process.StartInfo.WindowStyle = ProcessWindowStyle.Normal;

            process.StartInfo.WorkingDirectory = dashCliDirectory;

            process.StartInfo.RedirectStandardInput =true;

            process.StartInfo.RedirectStandardOutput =true;

            process.StartInfo.RedirectStandardError =true;

            process.StartInfo.FileName = dashCliPath;

            process.StartInfo.Arguments = arguments;

           try{

                process.Start();

                streamOutReader = process.StandardOutput;

                streamWriter = process.StandardInput;

                streamErrReader = process.StandardError;

                streamWriter = process.StandardInput;

                streamWriter.WriteLine(memStdIn);

                streamWriter.Close();

                memStdOut = streamOutReader.ReadToEnd();

                memStdErr = streamErrReader.ReadToEnd();

                process.WaitForExit();

                exitCode = process.ExitCode;

                streamOutReader.Close();

                streamErrReader.Close();

            }catch(Exception) {

                exitCode = -1;

            }finally{

                process.Close();

            }

           returnexitCode;

        }

 

Step 6: Call “JdoExample” function in the “Main” function and surround the call with messages to indicate start and stop of call like so:

 

            Console.WriteLine("Trying JdoExample ...");

            JdoExample();

            Console.WriteLine("JdoExample done.");

 

The entire code at this stage should look like so:

 

usingSystem;

usingSystem.Diagnostics;

usingSystem.IO;

 

namespaceSampleJDO {

   classProgram{

       privatestaticreadonlystringdashCliDirectory =@"C:\Program Files (x86)\DASH CLI 2.1\bin\";

       privatestaticreadonlystringdashCliPath = dashCliDirectory +@"dashcli.exe";

       staticvoidMain(string[] args) {

            Console.WriteLine("Trying JdoExample ...");

            JdoExample();

            Console.WriteLine("JdoExample done.");

        }

       staticvoidJdoExample() {

           stringmemStdIn, memStdOut = String.Empty, memStdErr = String.Empty;

           stringinputJsonFile =@"input_json.txt";

            memStdIn = Convert.ToString(File.ReadAllText(inputJsonFile));

            Console.WriteLine("Input: ");

            Console.WriteLine(memStdIn);

           stringarguments =@"-jdo";

           intreturnCode = RunDASHCli(arguments, memStdIn,outmemStdOut,outmemStdErr);

            Console.WriteLine("Output: ");

            Console.Write(memStdOut);

           //'memStdout' has the result in JSON format

        }

 

       staticintRunDASHCli(stringarguments,stringmemStdIn,outstringmemStdOut,outstringmemStdErr) {

            memStdOut = String.Empty;

            memStdErr = String.Empty;

 

           intexitCode = 1;

            Process process =newProcess();

            StreamWriter streamWriter =null;

            StreamReader streamOutReader =null;

            StreamReader streamErrReader =null;

 

            process.StartInfo.UseShellExecute =false;

            process.StartInfo.WindowStyle = ProcessWindowStyle.Normal;

            process.StartInfo.WorkingDirectory = dashCliDirectory;

            process.StartInfo.RedirectStandardInput =true;

            process.StartInfo.RedirectStandardOutput =true;

            process.StartInfo.RedirectStandardError =true;

            process.StartInfo.FileName = dashCliPath;

            process.StartInfo.Arguments = arguments;

           try{

                process.Start();

                streamOutReader = process.StandardOutput;

                streamWriter = process.StandardInput;

                streamErrReader = process.StandardError;

                streamWriter = process.StandardInput;

                streamWriter.WriteLine(memStdIn);

                streamWriter.Close();

                memStdOut = streamOutReader.ReadToEnd();

                memStdErr = streamErrReader.ReadToEnd();

                process.WaitForExit();

                exitCode = process.ExitCode;

                streamOutReader.Close();

                streamErrReader.Close();

            }catch(Exception) {

                exitCode = -1;

            }finally{

                process.Close();

            }

            returnexitCode;

        }

    }

}

 

Step 7: In step 5, the added function “JdoExample”, has defined the input JSON File as input_json.txt. This declaration assumes that input_json.txt is in the same path as the location of the executable. As the default configuration in Visual studio points to Debug folder, please navigate to the debug folder. Upon building the project, the Output window gives the location of the Debug folder.

 

Step 8: Put the following JSON test in input_json.txt file:

 

     {"h":"hp705g4-3","u":"admin","P":"adminPass","Commands":["discover"]}

 

Step 9: Run the SampleJDO.exe application form the console.

 

 

Ji JO Flag usage

Using via direct command line

     dashcli -ji input_json.txt -jo output_json.txt

Here, the file ‘input_json.txt’ has the DASH command in JSON format. DASH CLI executes this command and writes the output in JSON format to file specified by -jo option, which is output_json.txt. Usage is shown in the screenshot below.

Using JI/JO programmatically

Create a sample C# application by following the steps below:

 

Step 1: Create a new project in Visual Studio by selecting from the Menu “File” > “New” > “Project”

 

Step 2: Select “Visual C#” -> “Console App (.net Framework)”. Name the application “SampleJiJO” and click “OK” button.

 

 

Step 3: Add the two constant members dashCliDirectory and dashCliPath in “Program.cs” file.

       privatestaticreadonlystringdashCliDirectory =@"C:\Program Files (x86)\DASH CLI 2.1\bin\";

       privatestaticreadonlystringdashCliPath = dashCliDirectory +@"dashcli.exe";

 

Step 4: Add the using statements to include “System.Diagnostics” and “System.IO” as these will be referenced in the upcoming code.

 

usingSystem.Diagnostics;

usingSystem.IO;

 

Step 5: Define the functions “JiJoExample” and “RunDashCli” as shown below:

 

       staticvoidJiJoExample() {

           stringAppPath = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetEntryAssembly().Location) +"\\";

           stringinputJsonFile = AppPath +@"input_json.txt";

           stringoutputJsonFile = AppPath +@"output_json.txt";

            Console.WriteLine("Input File: "+ inputJsonFile);

            Console.WriteLine("Output File: "+ outputJsonFile);

           stringarguments = String.Format("-ji {0} -jo {1}", inputJsonFile, outputJsonFile);

           intreturnCode = RunDASHCli(arguments);

            //'outputJsonFile' has the result in JSON format

        }

 

       staticintRunDASHCli(stringarguments,stringmemStdIn,outstringmemStdOut,outstringmemStdErr) {

            memStdOut = String.Empty;

            memStdErr = String.Empty;

 

           intexitCode = 1;

            Process process =newProcess();

            StreamWriter streamWriter =null;

            StreamReader streamOutReader =null;

            StreamReader streamErrReader =null;

 

            process.StartInfo.UseShellExecute =false;

            process.StartInfo.WindowStyle = ProcessWindowStyle.Normal;

            process.StartInfo.WorkingDirectory = dashCliDirectory;

            process.StartInfo.RedirectStandardInput =true;

            process.StartInfo.RedirectStandardOutput =true;

            process.StartInfo.RedirectStandardError =true;

            process.StartInfo.FileName = dashCliPath;

            process.StartInfo.Arguments = arguments;

           try{

                process.Start();

                streamOutReader = process.StandardOutput;

                streamWriter = process.StandardInput;

                streamErrReader = process.StandardError;

                streamWriter = process.StandardInput;

                streamWriter.WriteLine(memStdIn);

                streamWriter.Close();

                memStdOut = streamOutReader.ReadToEnd();

                memStdErr = streamErrReader.ReadToEnd();

                process.WaitForExit();

                exitCode = process.ExitCode;

                streamOutReader.Close();

                streamErrReader.Close();

            }catch(Exception) {

                exitCode = -1;

            }finally{

                process.Close();

            }

           returnexitCode;

        }

 

Step 6: Call “JiJoExample” function in the “Main” function and surround the call with messages to indicate start and stop of call like so:

            Console.WriteLine("Trying JiJoExample ...");

            JiJoExample();

            Console.WriteLine("JiJoExample done.");

 

The entire code at this stage should look like so:

 

usingSystem;

usingSystem.Diagnostics;

usingSystem.IO;

 

namespaceSampleJiJO {

   classProgram{

       privatestaticreadonlystringdashCliDirectory =@"C:\Program Files (x86)\DASH CLI 2.1\bin\";

       privatestaticreadonlystringdashCliPath = dashCliDirectory +@"dashcli.exe";

       staticvoidMain(string[] args) {

            Console.WriteLine("Trying JiJoExample ...");

            JiJoExample();

            Console.WriteLine("JiJoExample done.");

        }

       staticvoidJiJoExample() {

           stringAppPath = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetEntryAssembly().Location) +"\\";

            stringinputJsonFile = AppPath +@"input_json.txt";

           stringoutputJsonFile = AppPath +@"output_json.txt";

            Console.WriteLine("Input File: "+ inputJsonFile);

            Console.WriteLine("Output File: "+ outputJsonFile);

            stringarguments = String.Format("-ji {0} -jo {1}", inputJsonFile, outputJsonFile);

           intreturnCode = RunDASHCli(arguments);

           //'outputJsonFile' has the result in JSON format

        }

       staticintRunDASHCli(stringarguments) {

           stringOut, Err;

           returnRunDASHCli(arguments,string.Empty,outOut,outErr);

        }

 

       staticintRunDASHCli(stringarguments,stringmemStdIn,outstringmemStdOut,outstringmemStdErr) {

            memStdOut = String.Empty;

            memStdErr = String.Empty;

 

           intexitCode = 1;

            Process process =newProcess();

            StreamWriter streamWriter =null;

            StreamReader streamOutReader =null;

            StreamReader streamErrReader =null;

 

            process.StartInfo.UseShellExecute =false;

            process.StartInfo.WindowStyle = ProcessWindowStyle.Normal;

            process.StartInfo.WorkingDirectory = dashCliDirectory;

            process.StartInfo.RedirectStandardInput =true;

            process.StartInfo.RedirectStandardOutput =true;

            process.StartInfo.RedirectStandardError =true;

            process.StartInfo.FileName = dashCliPath;

            process.StartInfo.Arguments = arguments;

           try{

               boolprocessStarted = process.Start();

                streamOutReader = process.StandardOutput;

                streamWriter = process.StandardInput;

                streamErrReader = process.StandardError;

                streamWriter = process.StandardInput;

                streamWriter.WriteLine(memStdIn);

                streamWriter.Close();

                memStdOut = streamOutReader.ReadToEnd();

                memStdErr = streamErrReader.ReadToEnd();

                process.WaitForExit();

                exitCode = process.ExitCode;

                streamOutReader.Close();

                streamErrReader.Close();

            }catch(Exception) {

                exitCode = -1;

            }finally{

                process.Close();

            }

           returnexitCode;

        }

    }

}

 

Step 7: In step 5, the added function “JiJoExample”, has defined the input JSON File as input_json.txt and output JSON File as output_json.txt. This declaration assumes that input_json.txt is in the same path as the location of the executable. As the default configuration in Visual studio points to Debug folder, please navigate to the debug folder. Upon building the project, the Output window gives the location of the Debug folder.

 

Step 8: Put the following JSON test in input_json.txt file:

 

     {"h":"hp705g4-3","u":"admin","P":"adminPass","Commands":["discover"]}

 

Step 9: Run the “SampleJiJO.exe” application form the console.

 

Step 10: Check the content of the “output_json.txt” file using “type” command on the console

 

In this blog, DASH Discovery is illustrated. Similarly, other DASH profiles can be accessed by the application by framing the required JSON request. See the ‘DASH CLI Developer Guide’ for JSON format for other supported DASH profiles.

 

Attachments:

  1. SampleJDO solution
  2. SampleJIJO solution

 

For any further query, drop a note below or contact via mail dashsupport@amd.com

 

Reference:

  • DASH CLI Developer Guide (Available in DASH CLI installation folder: “C:\Program Files (x86)\DASH CLI 2.1\docs\”)

 

Useful links:

Discovering DASH systems using DASH CLI

$
0
0

1 DASH Discovery

Discovery is usually the first step in performing DASH Manageability operations on a system.

Latest release of DASH CLI can be downloaded and installed form the site: https://developer.amd.com/tools-for-dmtf-dash/

DASH CLI provides the following modes to perform discovery:

  1. Discover hostname
  2. Discover IP Address
  3. Discover IP Range
  4. Discover Info

1.1 Discover Host-name

Discovery by hostname is the most convenient way to discover systems as hostnames are easier to remember than IP address. A systems IP address may change over time, but hostnames are generally set once.

By DASH Discovery, the user can check for the systems manageability via typing the discover command in the console as follows:

dashcli -h hp6005g discover

The target system responds with the following response, if successful:

DASH system(s) discovered:

        hp6005g:623

DASH Discovery Output has the following attributes:

Fields

Output

Description

Host Name

hp6005g

Host Name of the system on which DASH is enabled

Port

623

Port used for DASH Discovery, 623 by default

 

Screenshot to illustrate Discover Host Name

Discover Host Name

1.2 Discover IP Address

If system’s IP address is known, it can be discovered as follows:

dashcli -h 10.136.6.63 discover

The target system responds with the following response, if successful:

DASH system(s) discovered:

        10.136.6.63:623

DASH Discovery Output has the following attributes:

Fields

Output

Description

IP Address

10.136.6.63

IP Address of the system on which DASH is enabled

Port

623

Port used for DASH Discovery, 623 by default

 

Screenshot to illustrate Discover IP Address

Discover IP Address

1.3 Discover IP Range

If systems within specific IP address range needs to be discovered, the user can type the following command

dashcli -s 10.136.6.62 -e 10.136.6.64 discover

 

Note: Here the flag -s indicates start IP Address and the flag -e indicates end IP Address.

A sample output of such a command look as follows:

Checking 10.136.6.62 ...

Checking 10.136.6.63 ...

Checking 10.136.6.64 ...

 

DASH system(s) discovered:

        10.136.6.63:623

DASH Discovery Output has the following attributes:

Fields

Output

Description

IP Address

10.136.6.63

IP Address of the DASH enabled system

Port

623

Port used for DASH Discovery, 623 by default

 

Screenshot to illustrate Discover IP Range

Discover IP Range

1.4 Discover Info

If the user wants more information regarding the DASH implementation, he can type the following command:

dashcli -h hp6005g discover info

Output:

DASH system(s) discovered:

        hp6005g:623

                DASH Version       : 1.1.0

                Product Vendor     : Broadcom Corporation

                Product Version    : 1.40.0.1 Feb 19 2010 19:54:12

                Protocol Version   : http://schemas.dmtf.org/wbem/wsman/1/wsman.xsd

                                     http://schemas.dmtf.org/wbem/wsman/1/wsman/secprofile/http/digest

                                     http://schemas.dmtf.org/wbem/wsman/1/wsman/secprofile/http/spnego-kerberos

                                     http://schemas.dmtf.org/wbem/wsman/1/wsman/secprofile/https/digest

                                     http://schemas.dmtf.org/wbem/wsman/1/wsman/secprofile/https/spnego-kerberos

The Discovery Info command has the following attributes:

Fields

Description

Host Name

Dash enabled system host name or IP Address

Port

Port used for DASH Discovery, 623 by default

DASH Version

Version of DASH protocol implemented

Product Vendor

NIC vendor implementing the DASH Protocol

Product Version

Version of DASH implementation

Protocol Version

Schema Version used for evaluation of the output

Security Profile(s)

The Set of security profile definitions supported

 

Screenshot to Illustrate Discover Info

Discover info

This concludes our discussion of Discovery on DASH CLI

Appendix - AMC

AMC (AMD Management Console) is a GUI tool used for DASH Manageability. AMC can be Installed from the site: https://developer.amd.com/tools-for-dmtf-dash/

For more details regarding Discovery in AMC, refer the blog: https://community.amd.com/docs/DOC-2193

For Users of AMC software, Discovery information is also available in AMC. Upon adding a new system with Discover button.

AMC Discovery

Discovery Info can also be seen in the Inventory section:

 Inventory Discovery Info

For any further query, drop a note below or contact via mail: dashsupport@amd.com

 

Useful links:

AMC 3.1 (AMD Management Console) Release Announcement

$
0
0

A new release of AMD Management Console, AMC 3.1 is now available.

 

AMC is a GUI based DASH manageability application for SMB (small & medium business) environments, capable of monitoring and managing up to 500 DMTF’s DASH-compliant client computer systems.

 

New features in 3.1 release are:

  • Remote Access feature: Support launching of In band KVM and Remote Desktop tools.
  • Performance updates to ‘Boot To BIOS’ and ‘Boot To Text’ features.

 

The release note is attached, which provide more information on this release and the history of releases.

 

Visit www.amd.com/DASH to download the latest software.

For any queries, write a mail to dashsupport@amd.com

Discovering DASH system using AMC

$
0
0

Prerequisites & AMC Setup

  • AMD Management Console (AMC) is installed on user’s machine. The latest version of AMC product for download is available at URL: https://developer.amd.com/tools-for-dmtf-dash/
  • DASH is enabled in Bios and required credentials are set

Following are the steps to be followed for authenticating and discovering the DASH System:

  • When AMC UI is launched first time after installation, dialog box will appear as shown in below image. Click OK

                                                                                                                              

  • Launch AMC application. go to ‘CONFIGURATION’ tab and click on ‘Settings’ ribbon icon to get to the AMC Configuration Screen as shown in below image.

                 

Configure the Authentication settings as shown in below image
     

 

  • Authentication schemes are of two types Digest and Active Directory and the flow is explained as below

       Digest Authentication 

 

Active Directory Authentication

  • Once the credentials are set Click on Discover icon as show in below image

 

 

 

  • Enter the host name or IP address of the system to be discovered as shown in below image.

 

 

  • Once the discovery is successful then the inventory information of system discovery is displayed as shown in below image.

 

Introduction to DASHCLI

 

   DASHCLI is a command line tool for DASH Manageability . For further details on DASHCLI please refer the blog :https://community.amd.com/community/devgurus/dmtf-dash/blog/2019/04/02/discovering-dash-systems-using-dash-cli

DASH CLI 2.2 Release Announcement

$
0
0

A new release of DASH CLI 2.2 is now available.

 

The DASH CLI v2.2 is a command line application used to perform out of band management tasks (power management, asset inventory, alerts, etc.) using DMTF DASH specifications.

 

New features in 2.2 release are:

  • Added 3rd party console enablement support, called developer mode, which takes request in JSON format and gives output in JSON in Redfish format. Following commands are enabled:

o   alertdestination

o   asset

o   bios

o   bootconfig

o   ethernetport

o   fan

o   filtercollection

o   indicationfilter

o   indicationsubscription

o   kvmredirection

o   logentry

o   memory

o   networkport

o   operatingsystem

o   powersupply

o   processor

o   recordlog

o   sensor

o   software

o   textredirection

o   usbredirection

  • Updated previously implemented commands and all corresponding classes with a uniform input output class format in Developer Guide.
  • Updated User Guide with Raw command and added Filter Collection command.
  • Updated Putty code for AMDLink from version 0.69 to 0.71 to incorporate major security updates to Text Redirection and KVM Redirection features

 

The release note is attached, which provide more information on this release and the history of releases.

 

Visit www.amd.com/DASH to download the latest software.

 

For any queries, write a mail to dashsupport@amd.com


Provisioning tools for DASH standalone systems

$
0
0

 

Prerequisites and DASHConfig Tool (Where to find)

   DashConfig is a tool used for provisioning the DASH targets. There are multiple uses of this tool, but this blog emphasizes on how to add username and password for DASH    systems for digest and AD authentication.

  • DashConfig is packaged with AMC tool and is available for download from the site: https://developer.amd.com/tools-for-dmtf-dash/.

  • DASH should be enabled in Bios.

  • Two different DashConfig tools are available: DashConfig for Broadcom and DashConfigRT for Realtek, the supporting software and drivers need to be obtained from vendor site.

  • For detailed options on  DashConfig and DashConfigRT commands , please refer to user guide added as part of DashConfig package in AMC download folder.

  1. Following are the steps to be followed for provisioning the Broadcom targets:

  • For Broadcom targets some the tools need to be installed which can be installed as part of driver installation, Refer the below snapshot:
    • The AMC folder contains the DASHConfig exe along with DASHConfigExample.xml file.
    •  Edit the xml file to provide the digest credentials and save the file.
    • Look for the section as in below snapshot in DASHConfigExample.xml to update username and password for digest:

             

    • Look for the section as in below snapshot in DASHConfigExample.xml to update username and password for AD and updating SID value :

          

    • open command-prompt, go to DASHConfig folder and run the below command:

             “DASHConfig.exe -xf:DASHConfigExample.xml -lf:Logfile.log”

    • After DASHConfig package run is completed, Provide the same credentials as updated in DASHConfigExample.xml in configuration tab of AMC console and discover the system.
    • The system will be authenticated, and all the DASH features are ready to use.

     

    2. Following are the steps to be followed for provisioning the Realtek targets:

    • The current default DASH credentials for Realtek systems are username: “Administrator” password: “Realtek “.
    • The Realtek DashConfig tool comes with name DashConfigRT and will be available as part of AMC package in 3.2 release.
    • Currently the tool is available for download in below Realtek site with name “Dash In-Band Config for Windows tool”:  

             https://www.realtek.com/en/component/zoo/category/network-interface-controllers-10-100-1000m-gigabit-ethernet-pci-express-software 

    • As mentioned above the supporting driver and software needs to be downloaded for Realtek site specific to model.
    • Edit the xml file to provide the digest credentials and save the file.
    • Look for options as mentioned in below snapshot :

             

    • Look for the section as in below snapshot in DASHConfigExample.xml to update username and password for AD and updating SID value :

             

    • open command-prompt, go to DASHConfig folder and run the below command

             “DASHConfigRT.exe -xf:DASHConfigExample.xml”

    • After DASHConfig package run is completed, Provide the same credentials as updated in DASHConfigExample.xml in configuration tab of AMC console and discover the system.
    • The system will be authenticated, and all the DASH features are ready to use.

     

    3. Provisioning Realtek DASH systems using management mode :

    • Boot the DASH system.
    • Press Shift+F10 to enter management mode.
    • Provide credentials to enter to menu which by default are username: Administrator and Password: Realtek .

             

    • Select Setup and  Configuration :

             

    • Go to Security Configuration:

             

    • Modify username and password :

             

    • Press F10 save and exit, Discover the system using AMC or any other Dash tool with modified username and password. 

     

    4. Changing password using Dashcli tool 

    • As the default username and password for Realtek is known using Dashcli also the password can be changed using below command:

       

      dashcli.exe -h <ip address> -u Administrator -P Realtek -t user[0] changepassword <password> [for Realtek systems]
      dashcli.exe -h <ip address> -u Administrator -P <password> -t user[0] changepassword <password> [for Broadcom systems]

     

    Useful Link:

    Adding DASH to Python Applications

    $
    0
    0

    Adding DASH to Python Applications

     

    DASH CLI 2.2 supports new options to enable developers to send request query in JSON format to DASH systems and get the output in JSON format. The output can be interpreted by any programming language supporting JSON format. The output JSON is modeled similar to Redfish Schema published by DMTF.

     

    In typical usage, DASH CLI is launched with request JSON. DASH CLI processes the request and forms the response in JSON format. This response is sent back to the launching application.

     

    JSON is supported by almost all modern programming languages. Hence it will be easier to add DASH capability into any application or tool with few simple steps. Since the application will be launching DASH CLI, the integration with the application is therefore ‘loosely coupled’. DASH communication, DASH standards compliance, DASH security & stability are encapsulated within DASH CLI. The calling application doesn’t have to know anything about DASH standard.

     

    There are two new options in DASH CLI:

    • jdo option: With this flag, DASH request input is taken from command-line and output DASH response is written to console.
    • ji/jo option: With this flag, DASH request input is taken from file and output DASH response is written file.
    • jdo option is faster since it doesn’t involve any file operation.

     

    Before starting

    • Download and install DASH CLI 2.2 version. In this blog, DASH CLI is installed in default path, “C:\Program Files (x86)\DASH CLI 2.2\”
    • Examples are illustrated with Notepad++ Editor. Any other IDE or editor can be used as well.
    • Refer DASH CLI Developer Guide, which is available in DASH CLI installation folder: “C:\Program Files (x86)\DASH CLI 2.2\docs\”, for JSON request & response formats for supported DASH profiles.
    • This blog provides the steps for Python language. Sample code for using -jdo, -ji & -jo options is attached.

     

    JDO Flag usage

    Using via direct command line

    dashcli -jdo

    When this command is run, DASH CLI waits for input in JSON format. Once the input is provided, it will be executed by DASH CLI and output of which is written back in JSON format, as shown in the screenshot below.

     

    JDO flag usage in DASHCLI

     

    Using JDO programmatically

    Create a sample Python application by following the steps below:

     

    Step 1: Create a text file with the name “PythonSample_JDO.py” in Notepad++. Add the import statements from subprocess python library.

     

    fromsubprocessimportPopen, PIPE

     

    Step 2: Add the two constant members InputFileName and dashCliPath.

     

    InputFileName ='input_json.txt'

    dashCliPath =r'C:\Program Files (x86)\DASH CLI 2.2\bin\dashcli.exe'

     

    Step 3: Declare a variable named cmd which has the executable path and flag to be passed (-jdo).

     

    cmd = [dashCliPath,'-jdo']

     

    Step 4: Use one ‘with’ statement to create a handle to DashCLI application, and one more ‘with’ statement to create a file handle to input_json.txt to read the input from file and pass the input to DashCLI application.

     

    withPopen(cmd, stdin = PIPE)asdashCliProcessHandle:

        withopen(InputFileName,'r')asmyfile:

            input=myfile.read().replace('\n','')

            print("Input:")

            print(input)

            input_as_bytes = str.encode(input)

            dashCliProcessHandle.stdin.write(input_as_bytes)

        

     

    Step 5: Within the outer with statement, declare a variable named output to read the output or error messages from the application if any. Then print out the output of the execution.          

        output =""

        ifdashCliProcessHandle.stdoutisnotNone:

            output += dashCliProcessHandle.stdout.read()

        ifdashCliProcessHandle.stderrisnotNone:

            output += dashCliProcessHandle.stderr.read()

        print("Output:")

        print (output)

     

     

    Step 6: Surround steps 3 through 5 with commands to indicate program execution with print messages. The entire code at this stage should look like so:

     

    fromsubprocessimportPopen, PIPE

    InputFileName ='input_json.txt'

    dashCliPath =r'C:\Program Files (x86)\DASH CLI 2.2\bin\dashcli.exe'

     

    print("Trying JDO Example...")

    cmd = [dashCliPath,'-jdo']

    withPopen(cmd, stdin = PIPE)asdashCliProcessHandle:

        withopen(InputFileName,'r')asmyfile:

            input=myfile.read().replace('\n','')

            print("Input:")

            print(input)

            input_as_bytes = str.encode(input)

            dashCliProcessHandle.stdin.write(input_as_bytes)

        

        output =""

        ifdashCliProcessHandle.stdoutisnotNone:

            output += dashCliProcessHandle.stdout.read()

        ifdashCliProcessHandle.stderrisnotNone:

            output += dashCliProcessHandle.stderr.read()

        print("Output:")

        print (output)

     

    print("JDO Example Done.")

     

    Step 7: put the following JSON test in input_json.txt file:

     

    {"h":"10.138.135.145","u":"Administrator","P":"********","Commands":["enumerate","computersystem"]}

     

     

    Step 8: run the SampleJDO.exe application form the console.

     Output of running JDO Python sample

     

    Ji JO Flag usage

    Using via direct command line

    dashcli -ji input_json.txt -jo output_json.txt

    Here, the file ‘input_json.txt’ has the DASH command in JSON format. DASH CLI executes this command and writes the output in JSON format to file specified by -jo option, which is output_json.txt. Usage is shown in the screenshot below.

     

    JI JO flag usage in DASHCLI

     

    Using JI/JO programmatically

    Create a sample Python application by following the steps below:

     

    Step 1: Create a text file with the name “PythonSample_JIJO.py” in Notepad++. Add the import statements from subprocess python library.

     

    fromsubprocessimportPopen, PIPE

     

    Step 2: Add the two constant members “InputFileName”, “OutputFileName” and “dashCliPath”.

     

    InputFileName ='input_json.txt'

    OutputFileName ='output_json.txt'

     

    dashCliPath =r'C:\Program Files (x86)\DASH CLI 2.2\bin\dashcli.exe'

     

    Step 3: Declare a variable named “cmd” which has the executable path and flag to be passed (-ji and -jo), along with the input and output files.

     

    cmd = [dashCliPath,'-ji', InputFileName,'-jo', OutputFileName]

     

    Step 4: Make a call to the command using “Popen” which executes the command stores output in the file “Output_json.txt”.

     

    process = Popen(cmd, shell=True, stdout=PIPE, stderr=PIPE, stdin=PIPE)

     

    Step 5: Surround steps 3 and 4 with commands to indicate program execution with print messages. The entire code at this stage should look like so:

     

    fromsubprocessimportPopen, PIPE

    InputFileName ='input_json.txt'

    OutputFileName ='output_json.txt'

    dashCliPath =r'C:\Program Files (x86)\DASH CLI 2.2\bin\dashcli.exe'

     

    print("Trying Ji Jo Example...")

    cmd = [dashCliPath,'-ji', InputFileName,'-jo', OutputFileName]

    process = Popen(cmd, shell=True, stdout=PIPE, stderr=PIPE, stdin=PIPE)

    print("Ji Jo Example Done.")

     

    Step 6: Put the following JSON test in input_json.txt file:

     

    {"h":"10.138.135.145","u":"Administrator","P":"********","Commands":["enumerate","computersystem"]}

     

    Step 7: run the SampleJIJO.exe application form the console. Then use the type statements to view the input commands as well as the output of execution

     

    Output of running JI JO Python sample

     

    In this blog, ‘DASH Computer System Enumerate’ is illustrated. Similarly, other DASH profiles can be accessed by the application by framing the required JSON request. See the ‘DASH CLI Developer Guide’ for JSON format for other supported DASH profiles.

     

    Attachments:

    1. PythonSample_JDO script
    2. PythonSample_JIJO script

     

    For any further query, drop a note below or contact via mail dashsupport@amd.com

     

    Reference:

    • DASH CLI Developer Guide (Available in DASH CLI installation folder: “C:\Program Files (x86)\DASH CLI 2.2\docs\”)

     

    Useful links:

     

    Related Blogs:

    Adding DASH to Windows PowerShell Applications

    $
    0
    0


    DASH CLI 2.2 supports new options to enable developers to send request query in JSON format to DASH systems and get the output in JSON format. The output can be interpreted by any programming language supporting JSON format. The output JSON is modeled similar to Redfish Schema published by DMTF.

     

    In typical usage, DASH CLI is launched with request JSON. DASH CLI processes the request and forms the response in JSON format. This response is sent back to the launching application.

     

    JSON is supported by almost all modern programming languages. Hence it will be easier to add DASH capability into any application or tool with few simple steps. Since the application will be launching DASH CLI, the integration with the application is therefore ‘loosely coupled’. DASH communication, DASH standards compliance, DASH security & stability are encapsulated within DASH CLI. The calling application doesn’t have to know anything about DASH standard.

     

    There are two new options in DASH CLI:

    • jdo option: With this flag, DASH request input is taken from command-line and output DASH response is written to console.
    • ji/jo option: With this flag, DASH request input is taken from file and output DASH response is written file.

    jdo option is faster since it doesn’t involve any file operation.

     

    Before starting

    • Download and install DASH CLI 2.2 version. In this blog, DASH CLI is installed in default path, “C:\Program Files (x86)\DASH CLI 2.2\”
    • Examples are illustrated with Notepad++ Editor. Any other IDE or editor can be used as well.
    • Refer DASH CLI Developer Guide, which is available in DASH CLI installation folder: “C:\Program Files (x86)\DASH CLI 2.2\docs\”, for JSON request & response formats for supported DASH profiles.
    • This blog provides the steps for Windows Power Shell.

     

    JDO Flag usage

    Using via direct command line

    dashcli -jdo

    When this command is run, DASH CLI waits for input in JSON format. Once the input is provided, it will be executed by DASH CLI and output of which is written back in JSON format, as shown in the screenshot below.

     

    JDO option seen on Command Prompt

     

    After printing the line, “Opening connection to 127.0.0.1:5900 for forwarding from 127.0.0.1:53604”, the command prompt Launches AMD VNC Viewer.

     

    KVM Viewer showing BIOS screen

     

    Using JDO option on Windows PowerShell

     

    The syntax for JI/JO option on Windows PowerShell is as follows:

     

    type input_json.txt | .\dashcli.exe -jdo

     JDO command on Windows Power Shell

     

     

    After printing the line, “Opening connection to 127.0.0.1:5900 for forwarding from 127.0.0.1:53400”, the PowerShell Launches AMD VNC Viewer.

     

    KVM Viewer launched via Powershell JDO command

     

     

    Once the viewer is closed, the success JSON is printed on the console.

    Ji JO Flag usage

    Using via direct command line

    dashcli -ji input_json.txt -jo output_json.txt

     

    Here, the file ‘input_json.txt’ has the DASH command in JSON format. DASH CLI executes this command and writes the output in JSON format to file specified by -jo option, which is output_json.txt. Usage is shown in the screenshot below.

     

    JIJO option seen on Command Prompt

     

    After printing the line, “Opening connection to 127.0.0.1:5900 for forwarding from 127.0.0.1:53670”, the Command Prompt Launches AMD VNC Viewer.

     

    KVM Viewer showing BIOS screen

     

    Using JI/JO option on Windows PowerShell

    The syntax for JI/JO option on Windows PowerShell is as follows:

     

    .\dashcli.exe -ji .\input_json.txt -jo .\output_json.txt

     

     JIJO command on Windows Power Shell

     

     

    After printing the line, “Opening connection to 127.0.0.1:5900 for forwarding from 127.0.0.1:61991”, the PowerShell Launches AMD VNC Viewer.

     

    KVM Viewer launched via Powershell JIJO command

     

    Once the viewer is closed, the success JSON is printed on the console.

     

     

    In this blog, ‘DASH Computer System Enumerate’ is illustrated. Similarly, other DASH profiles can be accessed by the application by framing the required JSON request. See the ‘DASH CLI Developer Guide’ for JSON format for other supported DASH profiles.

     

    For any further query, drop a note below or contact via mail dashsupport@amd.com

     

    Reference:

    • DASH CLI Developer Guide (Available in DASH CLI installation folder: “C:\Program Files (x86)\DASH CLI 2.2\docs\”)

     

    Useful links:

     

    Related Blogs:

    IPv6 commands in DASHCLI

    $
    0
    0

    DASH CLI application can help in out of band management of DASH enabled systems using any of hostname, IPv4 address or IPv6 address. Here is a comparison of the usage between calling the same commands from DASH CLI.

    In the below examples we have considered a system with the following properties:

    • Hostname – dash-system
    • IPv4 address – 192.168.0.12
    • IPv6 address – 2002:a8a:87b3:0:200:1aff:fe1c:4520

     

    DASH CLI can be downloaded from the AMD page https://developer.amd.com/tools-for-dmtf-dash/ 

     

    Command 1: Discovery Info

    HostName

    Input

    dashcli -h dash-system discover info

    Output

    DASH system(s) discovered:

            desktop-picasso:623

                    DASH Version       : 1.1.0

                    Product Vendor     : Broadcom Corporation

                    Product Version    : 3.5.0.9 Nov  2 2017 03:18:19

                    Protocol Version   :

    http://schemas.dmtf.org/wbem/wsman/1/wsman.xsd

                    Security Profile(s): http://schemas.dmtf.org/wbem/wsman/1/wsman/secprofile/http/digest

    http://schemas.dmtf.org/wbem/wsman/1/wsman/secprofile/https/digest

    http://schemas.dmtf.org/wbem/wsman/1/wsman/secprofile/https/basic

    IPv4

    Input

    dashcli -h 192.168.0.12 discover info

    Output

    DASH system(s) discovered:

            192.168.0.12:623

                    DASH Version       : 1.1.0

                    Product Vendor     : Broadcom Corporation

                    Product Version    : 3.5.0.9 Nov  2 2017 03:18:19

                    Protocol Version   :

    http://schemas.dmtf.org/wbem/wsman/1/wsman.xsd

                    Security Profile(s):

    http://schemas.dmtf.org/wbem/wsman/1/wsman/secprofile/http/digest

    http://schemas.dmtf.org/wbem/wsman/1/wsman/secprofile/https/digest

     http://schemas.dmtf.org/wbem/wsman/1/wsman/secprofile/https/basic

    IPv6

    Input

    dashcli -h 2002:a8a:87b3:0:200:1aff:fe1c:4520 discover info

    Output

    DASH system(s) discovered:

            2002:a8a:87b3:0:200:1aff:fe1c:4520:623

                    DASH Version       : 1.1.0

                    Product Vendor     : Broadcom Corporation

                    Product Version    : 3.5.0.9 Nov  2 2017 03:18:19

                    Protocol Version   :

    http://schemas.dmtf.org/wbem/wsman/1/wsman.xsd

                    Security Profile(s):

    http://schemas.dmtf.org/wbem/wsman/1/wsman/secprofile/http/digest

    http://schemas.dmtf.org/wbem/wsman/1/wsman/secprofile/https/digest

    http://schemas.dmtf.org/wbem/wsman/1/wsman/secprofile/https/basic

     

    Command 2: Enumerate Computer System

    HostName

    Input

    dashcli -h dash-system -u admin -P adminpass enumerate computersystem

    Output

    Computer System Instance 0

    Name                                : 12345678-1234-5678-90ab-cddeefaabbcc

    Element Name                        : Computer System

    Primary Owner                       :

    Primary Owner Contact               :

    Enabled State                       : Enabled

    Requested State                     : No Change

    Current Power State                 : On

    Requested Power State               : Off - Hard Graceful

    PowerOn Time                        : N/A

    Dedicated To                        : Laptop

    Supported Power Change capabilities : Power State Settable,

                                          Power Cycling Supported,

                                          HW Reset Supported,

                                          Graceful Shutdown Supported

    Supported Power States              : Other,

                                          On,

                                          Sleep - Light,

                                          Sleep -Deep,

                                          Power Cycle (Off - Soft),

                                          Hibernate (Off - Soft),

                                          Off - Soft,

                                          Master Bus Reset,

                                          Off - Soft Graceful,

                                          Master Bus Reset Graceful,

                                          Power Cycle (Off - Soft Graceful)

    Request Supported Power States      : On,

                                          Power Cycle (Off - Soft),

                                          Off - Soft,

                                          Master Bus Reset,

                                          Sleep -Deep,

                                          Hibernate (Off - Soft),

                                          Off - Soft Graceful,

                                          Master Bus Reset Graceful

    Available Requested Power States    : Power Cycle (Off - Soft),

                                          Off - Soft,

                                          Master Bus Reset,

                                          Sleep -Deep,

                                          Hibernate (Off - Soft),

                                          Off - Soft Graceful,

                                          Master Bus Reset Graceful

     

    Computer System Instance 1

    Name                                : 2002:a8a:87b3:0:200:1aff:fe1c:4520

    Element Name                        : Broadcom Management Controller

    Primary Owner                       : N/A

    Primary Owner Contact               : N/A

    Enabled State                       : Enabled

    Requested State                     : No Change

    Current Power State                 : On

    Requested Power State               : Off - Hard Graceful

    PowerOn Time                        : N/A

    Dedicated To                        : Management Controller

    Supported Power Change capabilities : N/A

    Supported Power States              : N/A

    Request Supported Power States      : N/A

    Available Requested Power States    : Power Cycle (Off - Soft),

                                          Off - Soft,

                                          Master Bus Reset,

                                          Sleep -Deep,

                                          Hibernate (Off - Soft),

                                          Off - Soft Graceful,

                                          Master Bus Reset Graceful

    IPv4

    Input

    dashcli -h 192.168.0.12 -u admin -P adminpass enumerate computersystem

    Output

    Computer System Instance 0

    Name                                : 12345678-1234-5678-90ab-cddeefaabbcc

    Element Name                        : Computer System

    Primary Owner                       :

    Primary Owner Contact               :

    Enabled State                       : Enabled

    Requested State                     : No Change

    Current Power State                 : On

    Requested Power State               : Off - Hard Graceful

    PowerOn Time                        : N/A

    Dedicated To                        : Laptop

    Supported Power Change capabilities : Power State Settable,

                                          Power Cycling Supported,

                                          HW Reset Supported,

                                          Graceful Shutdown Supported

    Supported Power States              : Other,

                                          On,

                                          Sleep - Light,

                                          Sleep -Deep,

                                          Power Cycle (Off - Soft),

                                          Hibernate (Off - Soft),

                                         Off - Soft,

                                          Master Bus Reset,

                                          Off - Soft Graceful,

                                          Master Bus Reset Graceful,

                                          Power Cycle (Off - Soft Graceful)

    Request Supported Power States      : On,

                                          Power Cycle (Off - Soft),

                                          Off - Soft,

                                          Master Bus Reset,

                                          Sleep -Deep,

                                          Hibernate (Off - Soft),

                                          Off - Soft Graceful,

                                          Master Bus Reset Graceful

    Available Requested Power States    : Power Cycle (Off - Soft),

                                          Off - Soft,

                                          Master Bus Reset,

                                          Sleep -Deep,

                                          Hibernate (Off - Soft),

                                          Off - Soft Graceful,

                                          Master Bus Reset Graceful

     

    Computer System Instance 1

    Name                                : 2002:a8a:87b3:0:200:1aff:fe1c:4520

    Element Name                        : Broadcom Management Controller

    Primary Owner                       : N/A

    Primary Owner Contact               : N/A

    Enabled State                       : Enabled

    Requested State                     : No Change

    Current Power State                 : On

    Requested Power State               : Off - Hard Graceful

    PowerOn Time                        : N/A

    Dedicated To                        : Management Controller

    Supported Power Change capabilities : N/A

    Supported Power States              : N/A

    Request Supported Power States      : N/A

    Available Requested Power States    : Power Cycle (Off - Soft),

                                          Off - Soft,

                                          Master Bus Reset,

                                          Sleep -Deep,

                                          Hibernate (Off - Soft),

                                          Off - Soft Graceful,

                                          Master Bus Reset Graceful

    IPv6

    Input

    dashcli -h 2002:a8a:87b3:0:200:1aff:fe1c:4520 -u admin -P adminpass enumerate computersystem

    Output

    Computer System Instance 0

    Name                                : 12345678-1234-5678-90ab-cddeefaabbcc

    Element Name                        : Computer System

    Primary Owner                       :

    Primary Owner Contact               :

    Enabled State                       : Enabled

    Requested State                     : No Change

    Current Power State                 : On

    Requested Power State               : Off - Hard Graceful

    PowerOn Time                        : N/A

    Dedicated To                        : Laptop

    Supported Power Change capabilities : Power State Settable,

                                          Power Cycling Supported,

                                          HW Reset Supported,

                                          Graceful Shutdown Supported

    Supported Power States              : Other,

                                          On,

                                          Sleep - Light,

                                          Sleep -Deep,

                                          Power Cycle (Off - Soft),

                                          Hibernate (Off - Soft),

                                          Off - Soft,

                                          Master Bus Reset,

                                          Off - Soft Graceful,

                                          Master Bus Reset Graceful,

                                          Power Cycle (Off - Soft Graceful)

    Request Supported Power States      : On,

                                          Power Cycle (Off - Soft),

                                          Off - Soft,

                                          Master Bus Reset,

                                          Sleep -Deep,

                                          Hibernate (Off - Soft),

                                          Off - Soft Graceful,

                                          Master Bus Reset Graceful

    Available Requested Power States    : Power Cycle (Off - Soft),

                                          Off - Soft,

                                          Master Bus Reset,

                                          Sleep -Deep,

                                          Hibernate (Off - Soft),

                                          Off - Soft Graceful,

                                          Master Bus Reset Graceful

     

    Computer System Instance 1

    Name                                : 2002:a8a:87b3:0:200:1aff:fe1c:4520

    Element Name                        : Broadcom Management Controller

    Primary Owner                       : N/A

    Primary Owner Contact               : N/A

    Enabled State                       : Enabled

    Requested State                     : No Change

    Current Power State                 : On

    Requested Power State               : Off - Hard Graceful

    PowerOn Time                        : N/A

    Dedicated To                        : Management Controller

    Supported Power Change capabilities : N/A

    Supported Power States              : N/A

    Request Supported Power States      : N/A

    Available Requested Power States    : Power Cycle (Off - Soft),

                                          Off - Soft,

                                          Master Bus Reset,

                                          Sleep -Deep,

                                          Hibernate (Off - Soft),

                                          Off - Soft Graceful,

                                          Master Bus Reset Graceful

     

    Command 3: Power Status

    HostName

    Input

    dashcli -h dash-system -u admin -P adminpass -t computersystem[0] power status

    Output

    Power state   : On

    IPv4

    Input

    dashcli -h 192.168.0.12 -u admin -P adminpass -t computersystem[0] power status

    Output

    Power state   : On

    IPv6

    Input

    dashcli -h 2002:a8a:87b3:0:200:1aff:fe1c:4520 -u admin -P adminpass -t computersystem[0] power status

    Output

    Power state   : On

     

    For any further query, drop a note below or contact via mail dashsupport@amd.com

    AMC 4.0 (AMD Management Console) Release Announcement

    $
    0
    0

    A new release of AMD Management Console, AMC 4.0 is now available.

     

    AMC is a GUI based DASH manageability application for small business environments, capable of monitoring and managing DMTF’s DASH-compliant client computer systems.

     

    New features in 4.0 release are:

    • Option to check for new AMC versions and upgrade automatically.
    • VNC Viewer features are enhanced for KVM Redirection workflow.
    • Option provided to trust or reject self-signed TLS certificates for HTTPS DASH communication.
    • Additional assets profiles listed in Inventory window.
    • Option to select local ISO images for USB Redirection, Firmware Upgrade and Boot to Text workflows.
    • DASHConfigRT is packaged with AMC to configure Realtek based DASH systems.
    • Following packages were updated (CPP REST SDK-2.10.14, OpenSSL-1.1.1d, JSONCPP-1.9.0, CIM Schema-2.52, Putty-0.73).
    • Fix for multiple bugs and performance improvement.

     

    The release note is attached, which provide more information on this release and the history of releases.

     

    Visit www.amd.com/DASH to download the latest software.

    For any queries, write a mail to dashsupport@amd.com

    Viewing all 49 articles
    Browse latest View live