Доброго дня, уважаемые!
Имеется на неком предприятии некий комплект: периферия + виндовое ПО. Всё это естественно было закуплено давно и изготовителем не поддерживается. Предприятию предписано (не знаю кем) заменить «буржуйсие винды» на «исконно русские линухи» (выбор скорее всего падёт на астру или альт, но не суть).
В свете этого попытался запустить сие ПО под wine-5.0 на debian 10 buster. ПО запускается, но периферию видеть отказывается. Под периферией понимается некое подобие клавиатуры. Подключается оно через кабель USB AM/BM. Под виндой определяется как «USB Serial Port (COM3)» и использует файл драйвера usbser.sys.
Debian распознаёт эту клаву так:
Bus 003 Device 003: ID 04d8:000a Microchip Technology, Inc. CDC RS-232 Emulation Demo
Couldn't open device, some information will be missing
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 2 Communications
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 8
idVendor 0x04d8 Microchip Technology, Inc.
idProduct 0x000a CDC RS-232 Emulation Demo
bcdDevice 0.00
iManufacturer 1
iProduct 2
iSerial 0
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 0x0043
bNumInterfaces 2
bConfigurationValue 1
iConfiguration 0
bmAttributes 0x80
(Bus Powered)
MaxPower 100mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 2 Communications
bInterfaceSubClass 2 Abstract (modem)
bInterfaceProtocol 1 AT-commands (v.25ter)
iInterface 0
CDC Header:
bcdCDC 1.10
CDC ACM:
bmCapabilities 0x02
line coding and serial state
CDC Union:
bMasterInterface 0
bSlaveInterface 1
CDC Call Management:
bmCapabilities 0x00
bDataInterface 1
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x82 EP 2 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0008 1x 8 bytes
bInterval 2
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 10 CDC Data
bInterfaceSubClass 0
bInterfaceProtocol 0
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x03 EP 3 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x83 EP 3 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 0
В устройствах она отображается как /dev/ttyACM0, ссылка в .wine/dosdevice появляется автоматом и назвается com5.
Пробовал прописывать в реестре ссылки на порты (как сказано в документации wine), добавлял пользователя в группу dialup, создавал запись реестра в Hardware\Devicemap\Serialcomm со значением «Device\USBSER000»=«com1». Всё бестолку.
Наставьте на путь истинный, как можно ещё эту хренотень можно ещё настроить/потестировать.