/ Development

USB Serial on Windows 10 IoT core

So.. I wanted to do some experimenting with Win10 IoT core. I've got this Usb to serial plug that I wanted to get working.

Plugged it in and tested this code:

var aqs = Windows.Devices.SerialCommunication.SerialDevice.GetDeviceSelector();
var myDevices = await Windows.Devices.Enumeration.DeviceInformation.FindAllAsync(aqs, null);

if (myDevices.Count == 0)
{
    Debug.WriteLine("Device not found!");
}

var device = await Windows.Devices.SerialCommunication.SerialDevice.FromIdAsync(myDevices[0].Id);

You guessed it, 'Device not found'.

So I tried this code:

var dis = await DeviceInformation.FindAllAsync();

foreach (var item in dis)
{
      Debug.WriteLine(item.Id);
}

Sure enough a lot of devices. not not mine.. here is a part:

\\?\ROOT#rpiwav#0000#{dda54a40-1e4c-11d1-a050-405705c10000}\TopologySpeakerHeadphone
\\?\ROOT#BasicDisplay#0000#{1ca05180-a699-450a-9a0c-de4fbe3ddd89}
\\?\SD#DISK&Generic&00000&1.0#4&381da1b5&0&428d601a&0#{7fccc86c-228a-40ad-8a58-f590af7bfdce}
\\?\ACPI#A_-_ARM_Family_7_Model_C07_Revision___5#3#{dbe4373d-3c81-40cb-ace4-e0e5d05f0c9f}
\\?\SD#DISK&Generic&00000&1.0#4&381da1b5&0&428d601a&0#{27447c21-bcc3-4d07-a05b-a3395bb4eee7}
\\?\USB#VID_0424&PID_EC00#5&3753427a&0&1#{a5dcbf10-6530-11d2-901f-00c04fb951ed}
\\?\STORAGE#Volume#{6c13162b-1662-11e5-b8d3-806e6f6e6963}#0000000134610000#{7f108a28-9833-4b3b-b780-2c6b5fa5c062}
\\?\ACPI#BCM2848#0#{59c9dd31-1bbf-4800-89ca-25efc7e01f48}
\\?\DISPLAY#Default_Monitor#1&8713bca&0&UID0#{e6f07b5f-ee97-4a90-b076-33f57bf4eaa7}
\\?\ROOT#rpiwav#0000#{6994ad04-93ef-11d0-a3cc-00a0c9223196}\WaveSpeakerHeadphone
\\?\ACPI#A_-_ARM_Family_7_Model_C07_Revision___5#0#{dbe4373d-3c81-40cb-ace4-e0e5d05f0c9f}
\\?\USB#VID_0424&PID_EC00#5&3753427a&0&1#{ad498944-762f-11d0-8dcb-00c04fc3358c}\{F37F1CC5-0278-445D-9BDD-B246E2F691FC}
\\?\ACPI#A_-_ARM_Family_7_Model_C07_Revision___5#2#{97fadb10-4e33-40ae-359c-8bef029dbdd0}
\\?\USB#VID_040E&PID_0100&DwcHsOtgHub#0#{44b0bf3c-435e-4869-9ce7-e4dc46e44873}

I guess that is why the previous code does not work..

You can SSH into the device and use the devcon find * command to list all the connected devices, and sure enough.. there it was:

USB\VID_067B&PID_2303\5&3753427A&0&4 : USB-Serial Controller

Then I tried this code to select the device directly:

var selector = Windows.Devices.SerialCommunication.SerialDevice.GetDeviceSelectorFromUsbVidPid(0x067b, 0x2303);
var dis = await DeviceInformation.FindAllAsync();

Also did not work..
Studied some more on the devcon command until I found this devcon status *:

USB\VID_067B&PID_2303\5&3753427A&0&4 Name: USB-Serial Controller The device has the following problem: 28

Aha.. and problem 28 means that the drivers are not loaded.. that explains a lot.. tried to find drivers but they just don't exist... yet.. I guess I'm too early trying this.

edit
Two days later I found this... press release clear prove that this is something they still work on..

So I guess the Win10 IoT core won't have the same release date as the regular Windows 10 (which is in about 2 weeks)