Dasharo compatibility: USB HID and MSC Support
Test cases common documentation
Test setup
- Proceed with the Generic test setup: firmware.
- Proceed with the Generic test setup: OS installer.
- Proceed with the Generic test setup: OS installation.
- 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
FIRMWARE
= Dasharo
Test setup
- Proceed with the Generic test setup: firmware.
- Proceed with the Generic test setup: OS installer.
- Connect the flash drive using the USB port.
Test steps
- Power on the DUT.
- Enter the boot menu using the
BIOS_SETUP_KEY
. - Select the
Boot Menu
, pressEnter
and note the result.
Expected result
- 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
FIRMWARE
= DasharoOPERATING_SYSTEM
= Ubuntu
Test setup
- Proceed with the Test cases common documentation section.
Test steps
- Power on the DUT.
- Boot into the system.
- Log into the system by using the proper login and password.
-
Open a terminal window and run the following command:
watch -n1 lsusb
-
Connect external USB devices to DUT USB A port and note the result.
Expected result
- 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
FIRMWARE
= DasharoOPERATING_SYSTEM
= Windows
Test setup
- Proceed with the Test cases common documentation section.
Test steps
- Power on the DUT.
- Boot into the system.
- Log into the system by using the proper login and password.
-
Open PowerShell and and run the following command:
Get-PnpDevice -PresentOnly | Where-Object { $_.InstanceId -match '^USB' }
-
Note the results.
Expected result
-
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
FIRMWARE
= Dasharo
Test setup
- Proceed with the Generic test setup: firmware.
- Connect the external USB keyboard using the USB port.
Test steps
- Power on the DUT
- Enter the boot menu using the
BIOS_SETUP_KEY
. - Use the arrow keys, Esc key and the Enter key to navigate the menus.
Expected result
- 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
FIRMWARE
= DasharoOPERATING_SYSTEM
= Ubuntu
Test setup
- Proceed with the Test cases common documentation section.
- Install
libinput-tools
on the DUT. - Connect the external USB keyboard using the USB port.
Test steps
- Power on the DUT.
- Boot into the system.
- Log into the system by using the proper login and password.
-
Open a terminal window and run the following command:
lsusb
-
Run the following command in the terminal:
libinput debug-events --show-keycodes
-
Test the alphanumeric keys and note the generated keycodes.
- Test non-alphanumeric keys and verify that they generate the correct keycodes.
- Test key combinations with the
Shift
,Ctrl
andAlt
modifier keys (this tests 2-key rollover).
Expected result
- The external USB keyboard is detected in OS.
- All standard keyboard keys generate the correct keycodes and events as per their labels.
- 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
FIRMWARE
= DasharoOPERATING_SYSTEM
= Windows
Test setup
- Proceed with the Test cases common documentation section.
- Connect the external USB keyboard using the USB port.
Test steps
- Power on the DUT.
- Boot into the system.
- Log into the system by using the proper login and password.
-
Open PowerShell and run the following command:
Get-CimInstance win32_KEYBOARD
-
Note the results.
- Open
notepad
. - Test the alphanumeric keys and note the generated characters.
- Test non-alphanumeric keys and verify that they generate the signs.
- Test key combinations with the
Shift
, andAlt
modifier keys. - Open
On-Screen Keyboard
and pressCtrl
key on the hardware keyboard. Check ifOn-Screen Keyboard
correctly highlights it. - Open
Start menu
and pressEsc
. Check ifStart menu
is properly closed.
Expected result
-
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 :
-
All standard keyboard keys generate correct characters or actions when pressed.
- 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
FIRMWARE
= DasharoOPERATING_SYSTEM
= UbuntuUSB storage
- at least 1GB of free space
Test setup
- Proceed with the Test cases common documentation section.
Test steps
- Power on the DUT.
- Boot into the system.
- Log into the system by using the proper login and password.
-
Open a terminal window and run the following command to generate 1GB file:
openssl rand -out test_file.txt -base64 $(( 2**30 * 3/4 ))
-
Plug in the
USB storage
to the USB port. -
Read the path to the
USB storage
by running the following command:lsblk
-
Copy the generated file to the
USB storage
by running the following command:cp test_file.txt {path_to_usb_storage}
-
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
FIRMWARE
= DasharoOPERATING_SYSTEM
= WindowsUSB storage
- at least 1GB of free space
Test setup
- Proceed with the Test cases common documentation section.
Test steps
- Power on the DUT.
- Boot into the system.
- Log into the system by using the proper login and password.
-
Open powershell as administrator and run the following command to generate 1GB file:
fsutil file createnew test_file.txt 1073741824
-
Plug in the
USB storage
to the USB port. -
Read the drive letter assigned to the
USB storage
by running the following command:(Get-Volume | where drivetype -eq removable).driveletter
-
Copy the generated file to the
USB storage
by running the following command:Copy-Item -Path C:\Windows\system32\test_file.txt {drive_letter}:
-
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