Skip to content

Dasharo compatibility: USB HID and MSC Support

Test cases common documentation

Test setup

  1. Proceed with the Generic test setup: firmware.
  2. Proceed with the Generic test setup: OS installer.
  3. Proceed with the Generic test setup: OS installation.
  4. Proceed with the Generic test setup: OS boot from disk.

USB001.001 USB devices detection (firmware)

Test description

This test aims to verify that the external USB devices are detected correctly by the firmware and all basic keys work according to their labels.

Test configuration data

  1. FIRMWARE = Dasharo

Test setup

  1. Proceed with the Generic test setup: firmware.
  2. Proceed with the Generic test setup: OS installer.
  3. Connect the flash drive using the USB port.

Test steps

  1. Power on the DUT.
  2. Enter the boot menu using the BIOS_SETUP_KEY.
  3. Select the Boot Menu, press Enter and note the result.

Expected result

  1. Flash drive entry is listed in the boot menu.

USB001.002 USB devices detection in OS (Ubuntu)

Test description

This test aims to verify that the external USB devices are detected correctly by the OPERATING_SYSTEM and all basic keys work according to their labels.

Test configuration data

  1. FIRMWARE = Dasharo
  2. OPERATING_SYSTEM = Ubuntu

Test setup

  1. Proceed with the Test cases common documentation section.

Test steps

  1. Power on the DUT.
  2. Boot into the system.
  3. Log into the system by using the proper login and password.
  4. Open a terminal window and run the following command:

    watch -n1 lsusb
    
  5. Connect external USB devices to DUT USB A port and note the result.

Expected result

  1. After each device is connected to the USB port, a new USB device entry in lsusb command output should appear.

USB001.003 USB devices detection in OS (Windows)

Test description

This test aims to verify that the external USB devices are detected correctly by the OPERATING_SYSTEM and all basic keys work according to their labels.

Test configuration data

  1. FIRMWARE = Dasharo
  2. OPERATING_SYSTEM = Windows

Test setup

  1. Proceed with the Test cases common documentation section.

Test steps

  1. Power on the DUT.
  2. Boot into the system.
  3. Log into the system by using the proper login and password.
  4. Open PowerShell and and run the following command:

    Get-PnpDevice -PresentOnly | Where-Object { $_.InstanceId -match '^USB' }
    
  5. Note the results.

Expected result

  1. After executing the command, a list containing all USB devices should be displayed. All devices' status should be OK.

    Example output:

    Status     Class           FriendlyName
    ------     -----           ------------
    OK         DiskDrive       Mass Storage Device USB Device
    OK         USB             Generic USB Hub
    OK         HIDClass        USB Input Device
    OK         Bluetooth       Intel(R) Wireless Bluetooth(R)
    OK         USB             USB Root Hub (USB 3.0)
    OK         Net             TP-LINK Gigabit Ethernet USB Adapter
    OK         USB             Generic USB Hub
    OK         USB             USB Mass Storage Device
    

USB002.001 USB keyboard detection (firmware)

Test description

This test aims to verify that the external USB keyboard is detected correctly by the firmware and all basic keys work according to their labels.

Test configuration data

  1. FIRMWARE = Dasharo

Test setup

  1. Proceed with the Generic test setup: firmware.
  2. Connect the external USB keyboard using the USB port.

Test steps

  1. Power on the DUT
  2. Enter the boot menu using the BIOS_SETUP_KEY.
  3. Use the arrow keys, Esc key and the Enter key to navigate the menus.

Expected result

  1. All menus can be entered using the external USB keyboard.

USB002.002 USB keyboard detection (Ubuntu)

Test description

This test aims to verify that the external USB keyboard is detected correctly by the OPERATING_SYSTEM and all basic keys work according to their labels.

Test configuration data

  1. FIRMWARE = Dasharo
  2. OPERATING_SYSTEM = Ubuntu

Test setup

  1. Proceed with the Test cases common documentation section.
  2. Install libinput-tools on the DUT.
  3. Connect the external USB keyboard using the USB port.

Test steps

  1. Power on the DUT.
  2. Boot into the system.
  3. Log into the system by using the proper login and password.
  4. Open a terminal window and run the following command:

    lsusb
    
  5. Run the following command in the terminal:

    libinput debug-events --show-keycodes
    
  6. Test the alphanumeric keys and note the generated keycodes.

  7. Test non-alphanumeric keys and verify that they generate the correct keycodes.
  8. Test key combinations with the Shift, Ctrl and Alt modifier keys (this tests 2-key rollover).

Expected result

  1. The external USB keyboard is detected in OS.
  2. All standard keyboard keys generate the correct keycodes and events as per their labels.
  3. Key combinations are detected correctly.

USB002.003 USB keyboard detection (Windows)

Test description

This test aims to verify that the external USB keyboard is detected correctly by the OPERATING_SYSTEM and all basic keys work according to their labels.

Test configuration data

  1. FIRMWARE = Dasharo
  2. OPERATING_SYSTEM = Windows

Test setup

  1. Proceed with the Test cases common documentation section.
  2. Connect the external USB keyboard using the USB port.

Test steps

  1. Power on the DUT.
  2. Boot into the system.
  3. Log into the system by using the proper login and password.
  4. Open PowerShell and run the following command:

    Get-CimInstance win32_KEYBOARD
    
  5. Note the results.

  6. Open notepad.
  7. Test the alphanumeric keys and note the generated characters.
  8. Test non-alphanumeric keys and verify that they generate the signs.
  9. Test key combinations with the Shift, and Alt modifier keys.
  10. Open On-Screen Keyboard and press Ctrl key on the hardware keyboard. Check if On-Screen Keyboard correctly highlights it.
  11. Open Start menu and press Esc. Check if Start menu is properly closed.

Expected result

  1. After running the PowerShell command information about connected keyboard should be displayed.

    Example output:

    Caption                     : Enhanced (101- or 102-key)
    Description                 : USB Input Device
    InstallDate                 :
    Name                        : Enhanced (101- or 102-key)
    Status                      : OK
    Availability                :
    ConfigManagerErrorCode      : 0
    ConfigManagerUserConfig     : False
    CreationClassName           : Win32_Keyboard
    DeviceID                    : USB\VID_046D&PID_C31C&MI_00\6&26C21341&0&0000
    ErrorCleared                :
    ErrorDescription            :
    LastErrorCode               :
    PNPDeviceID                 : USB\VID_046D&PID_C31C&MI_00\6&26C21341&0&0000
    PowerManagementCapabilities :
    PowerManagementSupported    : False
    StatusInfo                  :
    SystemCreationClassName     : Win32_ComputerSystem
    SystemName                  : DESKTOP-CUR9H2J
    IsLocked                    :
    Layout                      : 00000409
    NumberOfFunctionKeys        : 12
    Password                    :
    PSComputerName              :
    
  2. All standard keyboard keys generate correct characters or actions when pressed.

  3. Key combinations are detected correctly.

USB003.001 Upload 1GB file on USB storage (Ubuntu)

Test description

This test aims to verify that the 1GB file can be transferred from the OPERATING_SYSTEM to the USB storage.

Test configuration data

  1. FIRMWARE = Dasharo
  2. OPERATING_SYSTEM = Ubuntu
  3. USB storage - at least 1GB of free space

Test setup

  1. Proceed with the Test cases common documentation section.

Test steps

  1. Power on the DUT.
  2. Boot into the system.
  3. Log into the system by using the proper login and password.
  4. Open a terminal window and run the following command to generate 1GB file:

    openssl rand -out test_file.txt -base64 $(( 2**30 * 3/4 ))
    
  5. Plug in the USB storage to the USB port.

  6. Read the path to the USB storage by running the following command:

    lsblk
    
  7. Copy the generated file to the USB storage by running the following command:

    cp test_file.txt {path_to_usb_storage}
    
  8. Verify that the files are the same by running the following command:

    sha256sum test_file.txt {path_to_usb_storage}/test_file.txt
    

Expected result

The output from the last command should contain 2 identical checksums:

f46597c0c63a1eefb200d40edf654e52f10c3d5d21565886ad603fabaf8d39fb  test_file.txt
f46597c0c63a1eefb200d40edf654e52f10c3d5d21565886ad603fabaf8d39fb  {path_to_usb_storage}/test_file.txt

USB003.002 Upload 1GB file on USB storage (Windows)

Test description

This test aims to verify that the 1GB file can be transferred from the OPERATING_SYSTEM to the USB storage.

Test configuration data

  1. FIRMWARE = Dasharo
  2. OPERATING_SYSTEM = Windows
  3. USB storage - at least 1GB of free space

Test setup

  1. Proceed with the Test cases common documentation section.

Test steps

  1. Power on the DUT.
  2. Boot into the system.
  3. Log into the system by using the proper login and password.
  4. Open powershell as administrator and run the following command to generate 1GB file:

    fsutil file createnew test_file.txt 1073741824
    
  5. Plug in the USB storage to the USB port.

  6. Read the drive letter assigned to the USB storage by running the following command:

    (Get-Volume | where drivetype -eq removable).driveletter
    
  7. Copy the generated file to the USB storage by running the following command:

    Copy-Item -Path C:\Windows\system32\test_file.txt {drive_letter}:
    
  8. Verify that the files are the same by running the following commands:

    Get-FileHash test_file.txt
    Get-FileHash {drive_letter}:\test_file.txt
    

Expected result

The output from the last commands should have equal hash:

Algorithm       Hash                                                              Path
---------       ----                                                              ----
SHA256          F46597C0C63A1EEFB200D40EDF654E52F10C3D5D21565886AD603FABAF8D39FB  C\Windows\system3...
Algorithm       Hash                                                              Path
---------       ----                                                              ----
SHA256          F46597C0C63A1EEFB200D40EDF654E52F10C3D5D21565886AD603FABAF8D39FB  E:\test_file.txt