Peripheral devices can be connected to the Raspberry PI 2 via the four USB host ports. The connected devices can be examined in a number of ways. This blog examines these methods.

 

Summary

The loaded USB devices can be simply examined through the OS start screen. More detail can be ascertained through the device web interface. Devcon can be run in a PowerShell to do detailed driver examination.  Also FTP can be used to directly see what drivers are available on the device

 

(1) The Start Screen

image_thumb[9]

USB Connected Devices as per the OS start screen

 

(2) Web Interface

  • In a web browser enter http://<IPAddress-of-RPI2>:8080
  • Login in as per PowerShell
  • Select Devices tab.
  • Expand

         ACPI ARM-based PC

                        Microsoft ACPI-Compliant System

                                         ……….

                                         ………..

                                         Microsoft DWCHSOTG USB Host Controller

                                                       DwcHsOtg USB Root Hub/Generic USB Hub

                                                                Generic USB Hub

  • PS: I think this should be a tab of its own like Bluetooth
  • Observe the loaded USB drivers, eg:

image_thumb[4]

The loaded USB Devices/Drivers

 

The tree icons have meanings:

image

 

Expanded driver information:

image

 

ToDo: What are the StatusCodes?  Some guesses:

  • 25190410 USB Has sub driver ??  0x180600A
  • 25182218 USB Composite ??        0x180400A
  • 25174026 USB Device loaded ??   0x180200A
  • 25165834                                        0x180000A

 

 

(3) Devcon

You can connect to the RPI2 using PowerShell. You then can run Devcon to examine drivers loaded.

How to Connect to RPI2 via PowerShell My PowerShell script is (REM run in admin mode on the desktop):
    net start WinRM 
    set-Item WSMan:\localhost\Client\TrustedHosts -Value 192.168.0.28
    enter-pssession -computername 192.168.0.28 -credential localhost\administrator

You need to replace the IPAddress with your device’s or use its name (typically minwinpc).

You will be prompted for a Y(es) and then for the admin pwd typically p@ssw0rd.

A minute or two later you will be logged into the device with the prompt being for the device, not your desktop!

Devcon examples:

List all drivers: 
devcon driverfiles *

List a subset:
devcon driverfiles HID\VID_049F

 

Devices found via Devcon (Example):

[192.168.0.28]: PS C:\Users\Administrator\Documents> devcon driverfiles
ROOT\ARM_HAL\0000 Name: ACPI ARM-based PC USB\VID_10C4&PID_EA60\0001 Name: Silicon Labs CP210x USB to UART Bridge USB\VID_056A&PID_00D0&MI_01\6&9CF334C&0&0001 Name: USB Input Device USB\VID_056A&PID_00D0&MI_00\6&9CF334C&0&0000 Name: USB Input Device ACPI\MSFT8000\1 Name: Resource Hub proxy device ROOT\VOLMGR\0000 Name: Volume Manager USB\VID_0424&PID_EC00\5&3753427A&0&1 Name: LAN9512/LAN9514 USB 2.0 to Ethernet 10/100 Adapter ACPI\BCM2850\0 HID\VID_1241&PID_1233&MI_01&COL02\7&85D38D4&0&0001 Name: HID-compliant device SWD\MMDEVAPI\{0.0.0.00000000}.{0A1D73BE-9D3D-46FE-BE6B-A3AE61E3D44D} Name: Headphones (Raspberry Pi 2 audio) HID\VID_1241&PID_1233&MI_01&COL01\7&85D38D4&0&0000 Name: HID-compliant system controller ROOT\BASICDISPLAY\0000 Name: Microsoft Basic Display Driver STORAGE\VOLUME\{3B2F5187-47B1-11E5-9C99-806E6F6E6963}#0000000134A10000 Name: Generic volume USB\VID_1241&PID_1233&MI_00\6&1462F8B5&0&0000 Name: USB Input Device HID\VID_056A&PID_00D0&MI_01\7&4B01CE3&0&0000 Name: HID-compliant vendor-defined device STORAGE\VOLUME\{3B2F5187-47B1-11E5-9C99-806E6F6E6963}#0000000135000000 Name: Generic volume ROOT\KDNIC\0000 Name: Microsoft Kernel Debug Network Adapter SD\VID_28&OID_4245&PID_&REV_0.1\3&2CE4C1BC&0&0 Name: SD Storage Class Controller USB\VID_1241&PID_1233&MI_01\6&1462F8B5&0&0001 Name: USB Input Device STORAGE\VOLUME\{3B2F5187-47B1-11E5-9C99-806E6F6E6963}#0000000004800000 Name: Generic volume ROOT\RPIWAV\0000 Name: Raspberry Pi 2 audio SD\DISK&GENERIC&&0.1\4&42D9B4A&0&9A1109BE&0 Name: Generic SD Card HID\VID_056A&PID_00D0&MI_00&COL01\7&17E03921&0&0000 Name: HID-compliant mouse USB\VID_040E&PID_0100&DWCHSOTGHUB\0 Name: DwcHsOtg USB Root Hub DISPLAY\DEFAULT_MONITOR\1&8713BCA&0&UID0 Name: Generic Non-PnP Monitor STORAGE\VOLUME\{3B2F5187-47B1-11E5-9C99-806E6F6E6963}#0000000000200000 Name: Generic volume ACPI_HAL\PNP0C08\0 Name: Microsoft ACPI-Compliant System HTREE\ROOT\0 ROOT\BASICRENDER\0000 Name: Microsoft Basic Render Driver USB\VID_1241&PID_1233\5&3753427A&0&5 Name: USB Composite Device USB\VID_0424&PID_9514&DWCHSOTGHUB\4&B947FD8&0&1 Name: Generic USB Hub HID\VID_056A&PID_00D0&MI_00&COL02\7&17E03921&0&0001 Name: HID-compliant digitizer ACPI\A_-_ARM_FAMILY_7_MODEL_C07_REVISION___5\0 Name: Processor ACPI\A_-_ARM_FAMILY_7_MODEL_C07_REVISION___5\1 Name: Processor ACPI\A_-_ARM_FAMILY_7_MODEL_C07_REVISION___5\2 Name: Processor ACPI\A_-_ARM_FAMILY_7_MODEL_C07_REVISION___5\3 Name: Processor STORAGE\VOLUME\{3B2F5187-47B1-11E5-9C99-806E6F6E6963}#000000010F200000 Name: Generic volume SWD\MMDEVAPI\MICROSOFTGSWAVETABLESYNTH Name: Microsoft GS Wavetable Synth ACPI\BCM2836\0 ACPI\BCM2837\4 ACPI\BCM2838\0 Name: Broadcom SPI Controller Driver ACPI\BCM2839\1 Name: Broadcom AUXSPI Controller Driver HID\VID_1241&PID_1233&MI_00\7&20FB2B55&0&0000 Name: HID Keyboard Device USB\VID_056A&PID_00D0\5&3753427A&0&3 Name: USB Composite Device ROOT\MSSMBIOS\0000 Name: Microsoft System Management BIOS Driver ACPI\BCM2841\0 Name: Broadcom I2C Controller Driver ACPI\BCM2841\1 Name: Broadcom I2C Controller Driver ROOT\SYSTEM\0000 Name: Plug and Play Software Device Enumerator ACPI\BCM2844\0 Name: BCM2836 PWM Controller ACPI\BCM2845\0 Name: BCM2836 GPIO Controller ACPI\BCM2847\0 Name: Broadcom 2836 Arasan SD Host Controller ACPI\BCM2848\0 Name: Microsoft DWCHSOTG USB Host Controller ACPI\BCM2849\0 Name: RPIQ Driver 53 matching device(s) found.

 

(4) FTP

You can also examine the drivers available through ftp. The loaded drivers will come from the DriverStore

  • FTP to your device with your usual FTP client.
  • Login using credentials as above if required
  • Browse to:

\Windows
     \System32
          \DriverStore

Examine the drivers available in the folders below this. For example some of the USB drivers:

image

SSH

You can also connect using a Secure Shell (SSH)
SSH How-to on Windows Dev
You connect using PuiTTY using the usual admin credentials.
Once logged you are at the root of c: drive
To check on installed drivers drill into c:\Windows as for FTP.