No internet connection
  1. Home
  2. General

TinyPilot on normal computer hardware, Keyboard issues

By Jacks @jacks
    2021-08-25 07:35:10.859Z2021-08-25 08:27:19.307Z

    I couldn't afford the TinyPilot gear but I did buy the HDMI USB capture card
    I've got TinyPilot software installed and I can see the KVM with target screen fine, that part works ok
    I couldn't get the keyboard working properly and I did some investigation and it appeared I was missing a UDC in /sys/class/udc
    I've recompiled the kernel and built dummy_hcd and that appears to have worked at least when I connect a USB cable from one machine to another (USB Type -C to USB-A cable with a USB-C to A adapter)
    I loaded the init-usb-gadget script from the tinypilot-privileged directory and checked dmesg

    50.377037] dummy_hcd dummy_hcd.0: USB Host+Gadget Emulator, driver 02 May 2005
    [ 50.377041] dummy_hcd dummy_hcd.0: Dummy host controller
    [ 50.377043] dummy_hcd dummy_hcd.0: new USB bus registered, assigned bus number 5
    [ 50.377074] usb usb5: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 5.13
    [ 50.377076] usb usb5: New USB device strings: Mfr=3, Product=2, SerialNumber=1
    [ 50.377077] usb usb5: Product: Dummy host controller
    [ 50.377078] usb usb5: Manufacturer: Linux 5.13.12 dummy_hcd
    [ 50.377079] usb usb5: SerialNumber: dummy_hcd.0
    [ 50.377231] hub 5-0:1.0: USB hub found
    [ 50.377239] hub 5-0:1.0: 1 port detected
    [ 66.439017] usb 5-1: new high-speed USB device number 2 using dummy_hcd
    [ 66.659228] usb 5-1: New USB device found, idVendor=1d6b, idProduct=0104, bcdDevice= 1.00
    [ 66.659235] usb 5-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
    [ 66.659239] usb 5-1: Product: Multifunction USB Device
    [ 66.659241] usb 5-1: Manufacturer: tinypilot
    [ 66.659243] usb 5-1: SerialNumber: 6b65796d696d6570690
    [ 66.707609] input: tinypilot Multifunction USB Device as /devices/platform/dummy_hcd.0/usb5/5-1/5-1:1.0/0003:1D6B:0104.0007/input/input22
    [ 66.767679] hid-generic 0003:1D6B:0104.0007: input,hidraw6: USB HID v1.01 Keyboard [tinypilot Multifunction USB Device] on usb-dummy_hcd.0-1/input0
    [ 66.795614] input: tinypilot Multifunction USB Device as /devices/platform/dummy_hcd.0/usb5/5-1/5-1:1.1/0003:1D6B:0104.0008/input/input23
    [ 66.795856] hid-generic 0003:1D6B:0104.0008: input,hidraw7: USB HID v1.01 Mouse [tinypilot Multifunction USB Device] on usb-dummy_hcd.0-1/input1

    Appears to have worked,
    When checking the KVM portal and typing on the keyboard, the data from the remote keyboard (client accessing the website) is sent to the console of the machine running the tinypilot software instead of the target

    Anyone know how I can fix this?

    I am thinking I might need to buy a USB OTG cable? Thoughts?

    Thank you for any advise/help

    • 3 replies
    1. What kind of hardware and OS are you using for the experiment? You need hardware that has either a USB port in device mode or a USB OTG port. A regular USB port like on a desktop computer won't work because that expects to receive USB devices, whereas the TinyPilot needs to present itself as a USB device.

      There's a discussion on the TinyPilot Github repo about alternate hardware and OS options, though the only one that works reliably is Pi 4 + Raspberry Pi OS:

      1. J
        In reply tojacks:
        Jacks @jacks
          2021-08-26 03:15:45.186Z

          It's just an old dell computer with ubuntu server, the software side works fine no issues.
          I'm just trying to find a way to get this keyboard to work properly, it prints on the local server console instead of the target machine

          Would this USB-C OTG Data Adapter plugged into a USB cable work to replace the "OTG" port? Is there something else I can use that work would better to basically replace that feature in the pi hardware?

          1. No, a USB-C OTG data adapter won't work. The port itself needs to support device mode or OTG.

            Unfortunately, I'm not aware of any hardware that would turn a regular computer's USB host port into a USB OTG or USB device port. The Pi 4B is the only hardware where we offer support.