Skip to content

SerialPort.Net returned device can't be initialized #236

@Xriuk

Description

@Xriuk

Describe the issue
I'm trying to retrieve a SerialPort device, it gets inside devices (IEnumerable<ConnectedDeviceDefinition>), as I can see WindowsSerialPortDeviceFactory is retrieving it from the Registry (because it has a label assigned), but when I try to read/write to it it says 'The device has not been initialized.'.
Is the device at fault? Because I see that it provides too little info down below (buffer sizes, etc.), but when I use it with other programs like Realterm to test it, it connects to the COM port and works.
Is there something else I can test? Thanks

Your Code

using Device.Net;
using Hid.Net.Windows;
using SerialPort.Net.Windows;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Usb.Net.Windows;

namespace MyProgram
{
	class Program
	{
		static (int, int)[] vidPids = new[] {
			( 1637 , 20833 ),
			( 11878, 256   ),
			( 11878, 257   ),
			( 11878, 258   ),
			( 11816, 1     ),
			( 4271 , 2     ),
			( 2478 , 12328 )
		};

		static async Task Main(string[] args)
		{
			FilterDeviceDefinition[] devicesDefs = vidPids .Select(vp => new FilterDeviceDefinition(vendorId: (uint)vp.Item1, productId: (uint)vp.Item2)).ToArray();
			var deviceFactory = devicesDefs.CreateWindowsUsbDeviceFactory()
				.Aggregate(devicesDefs.CreateWindowsHidDeviceFactory())
				.Aggregate(new WindowsSerialPortDeviceFactory());
			var devices = await deviceFactory.GetConnectedDeviceDefinitionsAsync();
			var firstConnectedDeviceDefinition = devices.FirstOrDefault();

			IDevice device = await deviceFactory.GetDeviceAsync(firstConnectedDeviceDefinition);
			if (device == null)
				throw new Exception("There were no devices found");

			await device.InitializeAsync();

			TransferResult res = await device.WriteAndReadAsync(Utils.ToCmd("T")); // Here the exception is thrown

			Console.WriteLine(Utils.ToString(res.Data));
		}
	}
}

Log / Stack Trace

info: Device.Net.DeviceFactory[0]
      Getting connected device definitions...
dbug: Device.Net.Windows.WindowsDeviceEnumerator[0]
      About to call SetupDiGetClassDevs for class Guid dee824ef-729b-4a0e-9c14-b7117d33a817. Flags: 18
dbug: Device.Net.Windows.WindowsDeviceEnumerator[0]
      The call to SetupDiEnumDeviceInterfaces  returned ERROR_NO_MORE_ITEMS
info: Device.Net.DeviceFactory[0]
      Getting connected device definitions...
dbug: Device.Net.Windows.WindowsDeviceEnumerator[0]
      About to call SetupDiGetClassDevs for class Guid 4d1e55b2-f16f-11cf-88cb-001111000030. Flags: 18
info: Hid.Net.Windows.WindowsHidApiService[0]
      Calling CreateFile Area: ApiService for DeviceId: \\?\hid#vid_04d9&pid_a09f&mi_01&col01#9&3581eb34&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}\kbd. Desired Access: None. Share mode: 3. Creation Disposition: 3
dbug: WindowsHidDeviceFactoryExtensions[0]
      Found device
warn: Hid.Net.Windows.WindowsHidApiService[0]
      Could not get Hid string. Message:  Region: GetHidString Caller: GetSerialNumber
info: Hid.Net.Windows.WindowsHidApiService[0]
      Calling CreateFile Area: ApiService for DeviceId: \\?\hid#vid_0b05&pid_1866&col06#7&289d55ad&0&0005#{4d1e55b2-f16f-11cf-88cb-001111000030}. Desired Access: None. Share mode: 3. Creation Disposition: 3
dbug: WindowsHidDeviceFactoryExtensions[0]
      Found device
warn: Hid.Net.Windows.WindowsHidApiService[0]
      Could not get Hid string. Message:  Region: GetHidString Caller: GetSerialNumber
info: Hid.Net.Windows.WindowsHidApiService[0]
      Calling CreateFile Area: ApiService for DeviceId: \\?\hid#vid_0b05&pid_1866&col07#7&289d55ad&0&0006#{4d1e55b2-f16f-11cf-88cb-001111000030}. Desired Access: None. Share mode: 3. Creation Disposition: 3
dbug: WindowsHidDeviceFactoryExtensions[0]
      Found device
warn: Hid.Net.Windows.WindowsHidApiService[0]
      Could not get Hid string. Message:  Region: GetHidString Caller: GetSerialNumber
info: Hid.Net.Windows.WindowsHidApiService[0]
      Calling CreateFile Area: ApiService for DeviceId: \\?\hid#asue120a&col01#4&2b4ef635&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}. Desired Access: None. Share mode: 3. Creation Disposition: 3
dbug: WindowsHidDeviceFactoryExtensions[0]
      Found device
info: Hid.Net.Windows.WindowsHidApiService[0]
      Calling CreateFile Area: ApiService for DeviceId: \\?\hid#asue120a&col02#4&2b4ef635&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030}. Desired Access: None. Share mode: 3. Creation Disposition: 3
dbug: WindowsHidDeviceFactoryExtensions[0]
      Found device
info: Hid.Net.Windows.WindowsHidApiService[0]
      Calling CreateFile Area: ApiService for DeviceId: \\?\hid#vid_0000&pid_0000&mi_03#b&c67dab0&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}. Desired Access: None. Share mode: 3. Creation Disposition: 3
dbug: WindowsHidDeviceFactoryExtensions[0]
      Found device
info: Hid.Net.Windows.WindowsHidApiService[0]
      Calling CreateFile Area: ApiService for DeviceId: \\?\hid#vid_05a3&pid_9331&mi_04#9&375d7c32&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}. Desired Access: None. Share mode: 3. Creation Disposition: 3
dbug: WindowsHidDeviceFactoryExtensions[0]
      Found device
info: Hid.Net.Windows.WindowsHidApiService[0]
      Calling CreateFile Area: ApiService for DeviceId: \\?\hid#asue120a&col03#4&2b4ef635&0&0002#{4d1e55b2-f16f-11cf-88cb-001111000030}. Desired Access: None. Share mode: 3. Creation Disposition: 3
dbug: WindowsHidDeviceFactoryExtensions[0]
      Found device
info: Hid.Net.Windows.WindowsHidApiService[0]
      Calling CreateFile Area: ApiService for DeviceId: \\?\hid#vid_04d9&pid_a09f&mi_02#9&11aaad72&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}. Desired Access: None. Share mode: 3. Creation Disposition: 3
dbug: WindowsHidDeviceFactoryExtensions[0]
      Found device
warn: Hid.Net.Windows.WindowsHidApiService[0]
      Could not get Hid string. Message:  Region: GetHidString Caller: GetSerialNumber
info: Hid.Net.Windows.WindowsHidApiService[0]
      Calling CreateFile Area: ApiService for DeviceId: \\?\hid#vid_0b05&pid_1866&col03#7&289d55ad&0&0002#{4d1e55b2-f16f-11cf-88cb-001111000030}\kbd. Desired Access: None. Share mode: 3. Creation Disposition: 3
dbug: WindowsHidDeviceFactoryExtensions[0]
      Found device
warn: Hid.Net.Windows.WindowsHidApiService[0]
      Could not get Hid string. Message:  Region: GetHidString Caller: GetSerialNumber
info: Hid.Net.Windows.WindowsHidApiService[0]
      Calling CreateFile Area: ApiService for DeviceId: \\?\hid#vid_04d9&pid_a09f&mi_01&col02#9&3581eb34&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030}. Desired Access: None. Share mode: 3. Creation Disposition: 3
dbug: WindowsHidDeviceFactoryExtensions[0]
      Found device
warn: Hid.Net.Windows.WindowsHidApiService[0]
      Could not get Hid string. Message:  Region: GetHidString Caller: GetSerialNumber
info: Hid.Net.Windows.WindowsHidApiService[0]
      Calling CreateFile Area: ApiService for DeviceId: \\?\hid#vid_04d9&pid_a09f&mi_01&col03#9&3581eb34&0&0002#{4d1e55b2-f16f-11cf-88cb-001111000030}. Desired Access: None. Share mode: 3. Creation Disposition: 3
dbug: WindowsHidDeviceFactoryExtensions[0]
      Found device
warn: Hid.Net.Windows.WindowsHidApiService[0]
      Could not get Hid string. Message:  Region: GetHidString Caller: GetSerialNumber
info: Hid.Net.Windows.WindowsHidApiService[0]
      Calling CreateFile Area: ApiService for DeviceId: \\?\hid#vid_04d9&pid_a09f&mi_01&col04#9&3581eb34&0&0003#{4d1e55b2-f16f-11cf-88cb-001111000030}. Desired Access: None. Share mode: 3. Creation Disposition: 3
dbug: WindowsHidDeviceFactoryExtensions[0]
      Found device
warn: Hid.Net.Windows.WindowsHidApiService[0]
      Could not get Hid string. Message:  Region: GetHidString Caller: GetSerialNumber
info: Hid.Net.Windows.WindowsHidApiService[0]
      Calling CreateFile Area: ApiService for DeviceId: \\?\hid#vid_0d8c&pid_0012&mi_03#a&34fbbbf7&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}. Desired Access: None. Share mode: 3. Creation Disposition: 3
dbug: WindowsHidDeviceFactoryExtensions[0]
      Found device
warn: Hid.Net.Windows.WindowsHidApiService[0]
      Could not get Hid string. Message:  Region: GetHidString Caller: GetSerialNumber
info: Hid.Net.Windows.WindowsHidApiService[0]
      Calling CreateFile Area: ApiService for DeviceId: \\?\hid#vid_04d9&pid_a09f&mi_00#9&1dbe5eef&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}. Desired Access: None. Share mode: 3. Creation Disposition: 3
dbug: WindowsHidDeviceFactoryExtensions[0]
      Found device
warn: Hid.Net.Windows.WindowsHidApiService[0]
      Could not get Hid string. Message:  Region: GetHidString Caller: GetSerialNumber
info: Hid.Net.Windows.WindowsHidApiService[0]
      Calling CreateFile Area: ApiService for DeviceId: \\?\hid#atk4002#3&1c78ff7d&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}. Desired Access: None. Share mode: 3. Creation Disposition: 3
dbug: WindowsHidDeviceFactoryExtensions[0]
      Found device
warn: Hid.Net.Windows.WindowsHidApiService[0]
      Could not get Hid string. Message:  Region: GetHidString Caller: GetManufacturer
warn: Hid.Net.Windows.WindowsHidApiService[0]
      Could not get Hid string. Message:  Region: GetHidString Caller: GetSerialNumber
warn: Hid.Net.Windows.WindowsHidApiService[0]
      Could not get Hid string. Message:  Region: GetHidString Caller: GetProduct
info: Hid.Net.Windows.WindowsHidApiService[0]
      Calling CreateFile Area: ApiService for DeviceId: \\?\hid#vid_0b05&pid_1866&col01#7&289d55ad&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}. Desired Access: None. Share mode: 3. Creation Disposition: 3
dbug: WindowsHidDeviceFactoryExtensions[0]
      Found device
warn: Hid.Net.Windows.WindowsHidApiService[0]
      Could not get Hid string. Message:  Region: GetHidString Caller: GetSerialNumber
info: Hid.Net.Windows.WindowsHidApiService[0]
      Calling CreateFile Area: ApiService for DeviceId: \\?\hid#vid_0b05&pid_1866&col02#7&289d55ad&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030}. Desired Access: None. Share mode: 3. Creation Disposition: 3
dbug: WindowsHidDeviceFactoryExtensions[0]
      Found device
warn: Hid.Net.Windows.WindowsHidApiService[0]
      Could not get Hid string. Message:  Region: GetHidString Caller: GetSerialNumber
info: Hid.Net.Windows.WindowsHidApiService[0]
      Calling CreateFile Area: ApiService for DeviceId: \\?\hid#vid_0b05&pid_1866&col04#7&289d55ad&0&0003#{4d1e55b2-f16f-11cf-88cb-001111000030}. Desired Access: None. Share mode: 3. Creation Disposition: 3
dbug: WindowsHidDeviceFactoryExtensions[0]
      Found device
warn: Hid.Net.Windows.WindowsHidApiService[0]
      Could not get Hid string. Message:  Region: GetHidString Caller: GetSerialNumber
info: Hid.Net.Windows.WindowsHidApiService[0]
      Calling CreateFile Area: ApiService for DeviceId: \\?\hid#vid_0b05&pid_1866&col05#7&289d55ad&0&0004#{4d1e55b2-f16f-11cf-88cb-001111000030}. Desired Access: None. Share mode: 3. Creation Disposition: 3
dbug: WindowsHidDeviceFactoryExtensions[0]
      Found device
warn: Hid.Net.Windows.WindowsHidApiService[0]
      Could not get Hid string. Message:  Region: GetHidString Caller: GetSerialNumber
dbug: Device.Net.Windows.WindowsDeviceEnumerator[0]
      The call to SetupDiEnumDeviceInterfaces  returned ERROR_NO_MORE_ITEMS
info: Device.Net.DeviceFactory[0]
      Checking if the factory supports this connected device. Device Definition: Device Id: \\.\COM6 Label: \Device\ProlificSerial0 Vid:  Pid:
      Read Buffer Size:  Write Buffer Size:
      Manufacturer:  Product Name:
info: Device.Net.DeviceFactory[0]
      Checking if the factory supports this connected device. Device Definition: Device Id: \\.\COM6 Label: \Device\ProlificSerial0 Vid:  Pid:
      Read Buffer Size:  Write Buffer Size:
      Manufacturer:  Product Name:

Info

  • Platform: Windows
  • Device Type: SerialPort
  • Version: 4.2.1

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions