title: How to get OS version and Device Name of an Android device connected via USB with C#.net (VS2010/4.0+)?
body: <p>I want to build a windows application in C#.net which should identify the installed Adroid OS version (e.g. 4.0) and user friendly Device Name (e.g. Samsung Galaxy S3, Samsung Galaxy Tab 8.9 etc.) when you connect an Android device to your computer via USB. </p>
  
  <p>I tried with the <code>System.Management</code> class to identify the connected USB devices on my machine, however, the problems I had were: </p>
  
  <p>I just have 3 USB ports and connected the Samsung Galaxy Tab 8.9 on one of the USB ports and tried to get the list of USB devices using <code>USBhub WMI class</code> and I got around 6-7 results in the list including the Samsung device. So, the issues here are: </p>
  
  <ol>
  <li><p>Why did I get 6-7 results when querying USBHub? Am I doing anything wrong here? </p></li>
  <li><p>How can I filter my records to list only those USB ports which has an external device connected to it not 6-7 results? </p></li>
  <li><p>I could not find the correct/user friendly Device Name I was expecting (e.g. Samsung Galaxy Tab 8.9) and no way to get the Android version OS. I tried 'Caption' and 'Description' properties, but they have very generic information such as just 'Samsung'. How can I get the user friendly device name and the installed Android OS version on the device. </p></li>
  </ol>