Извините, я знаю, что это не ответ на ваш вопрос, но выслушайте это. Мое решение точно так же, как ваше. Из списка имен я проверяю их, если они содержат определенные части, а затем делаю вывод, если это известный тип или неизвестный читатель.
После этого, если читатель известного типа, я знаю, какой протокол использовать для читателя, а не только то, что это бесконтактный считыватель. А если у вас их два, вы знаете, что есть что.
Он прекрасно работает для меня (уже несколько месяцев), и если вы не должны переключать его по причине, которую я не понял, вы можете оставить все как есть.