Encontrando informações sobre todos os dispositivos seriais conectados através de USB em C #

Meu projeto requer a detecção de um dispositivo específico quando ele está conectado ao USB. A única maneira que eu posso identificar este dispositivo é pela sua descrição / nome do dispositivo, não pela porta COM. O que eu encontrei para executar a função correta está usando uma consulta WMI e verificando a propriedade name:

ManagementObjectSearcher searcher = new ManagementObjectSearcher("Select * from WIN32_SerialPort");
            foreach (ManagementObject port in searcher.Get())
            {
                deviceName = (string)foundPort.GetPropertyValue("Name"); 
                ...

Inicialmente, testei isso conectando meu telefone, e a consulta retornou o telefone encontrado na COM3 conforme o esperado. Em seguida, conectei outro dispositivo (um conversor USB para serial, que mais se assemelha ao dispositivo para o qual preciso este projeto) e a consulta simplesmente não o encontrou. Só encontra o telefone. Este dispositivo, no entanto, aparece na porta COM4 no Gerenciador de dispositivos. Para me irritar ainda mais, a classe SerialPort encontra os dois dispositivos, mas não fornece as informações necessárias para identificar o dispositivo:

    string[] tempPorts = SerialPort.GetPortNames();

Eu li vários tópicos sobre SO e em outros lugares e não consigo encontrar uma solução satisfatória. Alguém poderia esclarecer por que a consulta WIN32_SerialPort não encontrou meu outro dispositivo? Não é considerado uma porta serial win32 por algum motivo? E alguém poderia, por favor, apontar-me na direção de uma solução para este problema?

questionAnswers(3)

yourAnswerToTheQuestion