On Aug 10, 2025, at 10:32, Mark Millard <[email protected]> wrote:

> On Aug 10, 2025, at 07:51, Jordan Gordeev <[email protected]> wrote:
> 
>> On Sunday, 10 August 2025 at 12:16, Mark Millard <[email protected]> wrote:
>> 
>>> . . .
>> 
>> When usbhid is enabled USB keyboards should appear as hkbd(4) devices. Do 
>> you see any lines mentioning hkbd in dmesg? If not, try adding 
>> "hw.hid.hkbd.debug=100" to /boot/loader.conf in the hope that hkbd will 
>> produce some debug messages. Try also loading the hkbd module and any 
>> modules on which it depends via loader.conf because that might affect the 
>> outcome.
>> 
>> When reporting problems such as this, you should provide the version number 
>> of FreeBSD (exact commit ID), version number of Parallels, whether you have 
>> any VM tools installed for better integration between FreeBSD and Parallels, 
>> and because this is a USB problem, the output of "usbconfig -v" (at least 
>> the part describing the keyboard).
> 
> I'm now unable to reproduce the issue.
> 
> . . .
> 
> I'll report more if I get the problem again.

After the updates I'm back to the "serial console"
is not getting/taking keyboard input (without
hw.usb.usbhid.enable=0 involved).

I'll note that input at the earlier EFI loader
stage worked. This is later at the login prompt,
so when the FreeBSD kernel would be involved.

# dmesg -a | grep -e eybo -e kbd
kbd0 at kbdmux0
ugen1.3: <Parallels Virtual Keyboard> at usbus1
usbhid2: <Parallels Virtual Keyboard, class 0/0, rev 3.00/1.10, addr 2> on 
usbus1
hkbd0: <Parallels Virtual Keyboard> on hidbus2
kbd1 at hkbd0
usbhid3: <Parallels Virtual Keyboard, class 0/0, rev 3.00/1.10, addr 2> on 
usbus1
hkbd1: <Parallels Virtual Keyboard> on hidbus3
kbd2 at hkbd1
hcons0: <Parallels Virtual Keyboard Consumer Control> on hidbus3

# kldstat
Id Refs Address                Size Name
 1   27 0xffff000000000000  1428858 kernel
 2    1 0xffff000195200000    22000 hcons.ko
 3    3 0xffff000195222000    24000 hidmap.ko
 4    1 0xffff000195246000    22000 hms.ko
 5    1 0xffff000195268000    22000 hsctrl.ko
 6    1 0xffff00019528a000    23000 virtio_balloon.ko
 7    1 0xffff0001952ad000    22000 mac_ntpd.ko

# kldload hkbd.ko
kldload: can't load hkbd.ko: module already loaded or in kernel

# uname -apKU
FreeBSD aarch64-main-pbase 15.0-PRERELEASE FreeBSD 15.0-PRERELEASE 
main-n279519-7a9834041c91 GENERIC-NODEBUG arm64 aarch64 1500059 1500059

That is a pkgbase FreeBSD installation.

Parallels Desktop 20 for Mac Pro Edition Versin 20.4.1 (55996)
No VM tools installed. (Only used via the basic console and
ssh.)

# usbconfig -l
ugen1.1: <XHCI root HUB (0x1033)> at usbus1, cfg=0 md=HOST spd=SUPER (5.0Gbps) 
pwr=SAVE (0mA)
ugen0.1: <EHCI root HUB Intel> at usbus0, cfg=0 md=HOST spd=HIGH (480Mbps) 
pwr=SAVE (0mA)
ugen1.2: <Virtual Mouse PARALLELS> at usbus1, cfg=0 md=HOST spd=SUPER (5.0Gbps) 
pwr=ON (0mA)
ugen1.3: <Virtual Keyboard PARALLELS> at usbus1, cfg=0 md=HOST spd=SUPER 
(5.0Gbps) pwr=ON (0mA)

# usbconfig -v
. . .

ugen1.3: <Virtual Keyboard PARALLELS> at usbus1, cfg=0 md=HOST spd=SUPER 
(5.0Gbps) pwr=ON (0mA)
ugen1.3.0: usbhid2: <Parallels Virtual Keyboard, class 0/0, rev 3.00/1.10, addr 
2>
ugen1.3.1: usbhid3: <Parallels Virtual Keyboard, class 0/0, rev 3.00/1.10, addr 
2>

  bLength = 0x0012 
  bDescriptorType = 0x0001 
  bcdUSB = 0x0300 
  bDeviceClass = 0x0000  <Probed by interface class>
  bDeviceSubClass = 0x0000 
  bDeviceProtocol = 0x0000 
  bMaxPacketSize0 = 0x0009 
  idVendor = 0x203a 
  idProduct = 0xfffb 
  bcdDevice = 0x0110 
  iManufacturer = 0x0001  <Parallels>
  iProduct = 0x0002  <Virtual Keyboard>
  iSerialNumber = 0x0003  <KBD1.1>
  bNumConfigurations = 0x0001 


 Configuration index 0

    bLength = 0x0009 
    bDescriptorType = 0x0002 
    wTotalLength = 0x0047 
    bNumInterfaces = 0x0002 
    bConfigurationValue = 0x0001 
    iConfiguration = 0x0001  <Parallels>
    bmAttributes = 0x00e0 
    bMaxPower = 0x0000 

    Interface 0
      bLength = 0x0009 
      bDescriptorType = 0x0004 
      bInterfaceNumber = 0x0000 
      bAlternateSetting = 0x0000 
      bNumEndpoints = 0x0001 
      bInterfaceClass = 0x0003  <HID device>
      bInterfaceSubClass = 0x0001 
      bInterfaceProtocol = 0x0001 
      iInterface = 0x0004  <Virtual Keyboard Interface>

      Additional Descriptor

      bLength = 0x09
      bDescriptorType = 0x21
      bDescriptorSubType = 0x01
       RAW dump: 
       0x00 | 0x09, 0x21, 0x01, 0x10, 0x00, 0x01, 0x22, 0x3a, 
       0x08 | 0x00

     Endpoint 0
        bLength = 0x0007 
        bDescriptorType = 0x0005 
        bEndpointAddress = 0x0081  <IN>
        bmAttributes = 0x0003  <INTERRUPT>
        wMaxPacketSize = 0x0040 
        bInterval = 0x0004 
        bRefresh = 0x0000 
        bSynchAddress = 0x0000 

      Additional Descriptor

      bLength = 0x06
      bDescriptorType = 0x30
      bDescriptorSubType = 0x00
       RAW dump: 
       0x00 | 0x06, 0x30, 0x00, 0x00, 0x40, 0x00



    Interface 1
      bLength = 0x0009 
      bDescriptorType = 0x0004 
      bInterfaceNumber = 0x0001 
      bAlternateSetting = 0x0000 
      bNumEndpoints = 0x0001 
      bInterfaceClass = 0x0003  <HID device>
      bInterfaceSubClass = 0x0000 
      bInterfaceProtocol = 0x0000 
      iInterface = 0x0004  <Virtual Keyboard Interface>

      Additional Descriptor

      bLength = 0x09
      bDescriptorType = 0x21
      bDescriptorSubType = 0x01
       RAW dump: 
       0x00 | 0x09, 0x21, 0x01, 0x10, 0x00, 0x01, 0x22, 0xa0, 
       0x08 | 0x00

     Endpoint 0
        bLength = 0x0007 
        bDescriptorType = 0x0005 
        bEndpointAddress = 0x0082  <IN>
        bmAttributes = 0x0003  <INTERRUPT>
        wMaxPacketSize = 0x0040 
        bInterval = 0x0004 
        bRefresh = 0x0000 
        bSynchAddress = 0x0000 

      Additional Descriptor

      bLength = 0x06
      bDescriptorType = 0x30
      bDescriptorSubType = 0x00
       RAW dump: 
       0x00 | 0x06, 0x30, 0x00, 0x00, 0x40, 0x00



===
Mark Millard
marklmi at yahoo.com


Reply via email to