Linux, естественно. С BSD как-то я не очень. Маздай вообще
презираю. Но есть у меня шаблончик, где IntEP тоже виртуальная. Коллега железку на его базе в маздае проверял — работает, а еще я эту железку в смартфон втыкал, тоже определилась.
Раньше я обычно PL2303 эмулировал: нравится мне, что /dev/ttyUSBx, а не ACM (тем паче, с ACM есть проблема во всяких тупых бубунтах, которые на это устройство modemmanager запускают, но где-то мне подсказывали, как решить эту проблему через дескрипторы). Потом мне COKPOWEHEU подсказал, что можно по iInterface различать устройства с помощью простого правила udev, так что, не парюсь.
Удобно, кстати: у меня в последних железках даже в режиме конфигурирования можно произвольное имя задать для устройства. И будет /dev/mySuperThing0, скажем. А то ведь у всех одинаковые VID/PID, и различать их достаточно сложно ("наелись" этого с коллегами на предыдущем нашем спектрографе, где то ли три, то ли четыре моих железяки были, и поди-ка различи, кто из /dev/ttyACMx - шаговики, кто - объектив Canon, а кто еще что).