НИКАК и в этом основная проблема. Верней даже две. Первая проблема тут концептуальная: COM-порт это ПОТОК ДАННЫХ в двух направлениях, хотя может быть и в одном. HID -- это куча всякой требухи и обмен пакетами в реальном времени (поэтому HID не https://www.kernel.org/doc/Documentation/hid/hiddev.txt
передать через модем, не записать в файл и т.п.) Обычно решается с помощью волшебной dll, коих развелось масса между собой не совместимых. Кто в лес, кто по дрова. Ну проблема как всегда ровно в одном, что для передачи данных был уже создан специальный интерфейс и это CDC. А HID -- попытка что-то сделать похуже и подешевле. Для linux подробности можно почерпнуть по ссылке. В принципе можно обойтись без волшебных dll, но сильно легче не станет.
В некоторый случаях используют не hiddev (все таки предполагающий HID-протокол), а hidraw:
https://www.kernel …ntation/hid/hidraw.txt