Skip to content

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

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

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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