RetroPie forum home
    • Recent
    • Tags
    • Popular
    • Home
    • Docs
    • Register
    • Login
    Please do not post a support request without first reading and following the advice in https://retropie.org.uk/forum/topic/3/read-this-first

    Xboxdrv not working with Krom Key in ubuntu 18.04

    Scheduled Pinned Locked Moved Help and Support
    xboxdrvubuntu 18.04krom keygamepad detecti
    11 Posts 2 Posters 1.4k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • P
      pai_gorik
      last edited by

      Hi, I'm trying to make ubuntu 18.04 recognize my Krom Key gamepad (https://www.kromgaming.com/en/controllers/key), but i have no luck yet. I have tried xpad and xboxdrv gives the following error when executing " sudo xboxdrv"

      xboxdrv 0.8.8 - http://pingus.seul.org/~grumbel/xboxdrv/
      Copyright © 2008-2011 Ingo Ruhnke grumbel@gmail.com
      Licensed under GNU GPL version 3 or later http://gnu.org/licenses/gpl.html
      This program comes with ABSOLUTELY NO WARRANTY.
      This is free software, and you are welcome to redistribute it under certain conditions; see the file COPYING for details.

      Controller: Microsoft X-Box 360 pad
      Vendor/Product: 045e:028e
      USB Path: 003:011
      Controller Type: Xbox360

      Your Xbox/Xbox360 controller should now be available as:
      /dev/input/js0
      /dev/input/event22

      Press Ctrl-C to quit, use '--silent' to suppress the event output
      [ERROR] USBController::on_read_data(): USB read failure: 32: LIBUSB_TRANSFER_ERROR
      [ERROR] USBController::on_write_data(): USB write failure: 3: LIBUSB_TRANSFER_ERROR

      I have managed to make the controller work automatically but using ubuntu 16.04 but I just can't in ubuntu 18.04. Any help is deeply appreciated.

      1 Reply Last reply Reply Quote 0
      • mituM
        mitu Global Moderator
        last edited by mitu

        Looks like a multi-mode controller (PS3/XInput/Dinput/Android) - make sure you start it in Xinput mode. You don't need the xboxdrv driver installed, if it works as a XBox clone, then it may be recognized and configured by the xpad driver - check if it's installed.

        P 1 Reply Last reply Reply Quote 0
        • P
          pai_gorik @mitu
          last edited by pai_gorik

          @mitu Thank you for your repply. Yes indeed as you mention the gamepad seems a multicontroller. I can't start it in Xinput mode because i don't receive any input from the controller (although a generic driver is assigned to it, no input event is detected). I have tried xpad driver too and didn't work.
          The only time I managed to make it work was with the previous ubuntu released version 16.04, and it was only plug and play, but I want it to be used with ubuntu 18.04, because its a newer machine with faster characteristics, rather than my very old cpu having ubuntu 16.04 ...
          I believe something must have changed in the kernel of 18.04 version, could it be some missing driver?
          Is it possible to extract the driver for this particular controller from 16.04 and put it on 18.04? ...

          mituM 1 Reply Last reply Reply Quote 0
          • mituM
            mitu Global Moderator @pai_gorik
            last edited by

            @pai_gorik said in Xboxdrv not working with Krom Key in ubuntu 18.04:

            Is it possible to extract the driver for this particular controller from 16.04 and put it on 18.04? ...

            If you know which driver was used, then it might be possible to find a solution for a newer kernel. I don't think the driver is missing, could be that there's a change that makes it not work with your gamepad.

            P 1 Reply Last reply Reply Quote 0
            • P
              pai_gorik @mitu
              last edited by

              @mitu It seems that the correct module is joydev, since in Ubuntu 16.04 if I remove my controller stops working. I put it back and works again (recognized as SHANWAN android Gamepad), but in ubuntu 18.04 I have it active and doesn't show anything. Using xpad in ubuntu 18.04 it recognizes it as a Microsoft Xbox Controller but no input is detected. Any work around this issue?

              mituM 1 Reply Last reply Reply Quote 0
              • mituM
                mitu Global Moderator @pai_gorik
                last edited by

                (18.04) Try removing both modules (xpad and joydev) and then load only joydev. See if it works and make sure that you don't have the xboxdrv loaded while you test.
                If it doesn't, then can you post the output of cat /proc/bus/input/devices here in the topic ?

                P 2 Replies Last reply Reply Quote 0
                • P
                  pai_gorik @mitu
                  last edited by

                  @mitu I tried removing, xpad and joydev and reloading joydev as you mentioned. Xboxdrv was not longer installed. This is the output of cat /proc....

                  I: Bus=0019 Vendor=0000 Product=0005 Version=0000
                  N: Name="Lid Switch"
                  P: Phys=PNP0C0D/button/input0
                  S: Sysfs=/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0D:00/input/input0
                  U: Uniq=
                  H: Handlers=event0
                  B: PROP=0
                  B: EV=21
                  B: SW=1

                  I: Bus=0019 Vendor=0000 Product=0001 Version=0000
                  N: Name="Power Button"
                  P: Phys=PNP0C0C/button/input0
                  S: Sysfs=/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0C:00/input/input1
                  U: Uniq=
                  H: Handlers=kbd event1
                  B: PROP=0
                  B: EV=3
                  B: KEY=10000000000000 0

                  I: Bus=0019 Vendor=0000 Product=0003 Version=0000
                  N: Name="Sleep Button"
                  P: Phys=PNP0C0E/button/input0
                  S: Sysfs=/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0E:00/input/input2
                  U: Uniq=
                  H: Handlers=kbd event2
                  B: PROP=0
                  B: EV=3
                  B: KEY=4000 0 0

                  I: Bus=0019 Vendor=0000 Product=0001 Version=0000
                  N: Name="Power Button"
                  P: Phys=LNXPWRBN/button/input0
                  S: Sysfs=/devices/LNXSYSTM:00/LNXPWRBN:00/input/input3
                  U: Uniq=
                  H: Handlers=kbd event3
                  B: PROP=0
                  B: EV=3
                  B: KEY=10000000000000 0

                  I: Bus=0011 Vendor=0001 Product=0001 Version=ab41
                  N: Name="AT Translated Set 2 keyboard"
                  P: Phys=isa0060/serio0/input0
                  S: Sysfs=/devices/platform/i8042/serio0/input/input4
                  U: Uniq=
                  H: Handlers=sysrq kbd event4 leds
                  B: PROP=0
                  B: EV=120013
                  B: KEY=1100f02902000 8380307cf910f001 feffffdfffefffff fffffffffffffffe
                  B: MSC=10
                  B: LED=7

                  I: Bus=0019 Vendor=0000 Product=0006 Version=0000
                  N: Name="Video Bus"
                  P: Phys=LNXVIDEO/video/input0
                  S: Sysfs=/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/LNXVIDEO:00/input/input7
                  U: Uniq=
                  H: Handlers=kbd event5
                  B: PROP=0
                  B: EV=3
                  B: KEY=3e000b00000000 0 0 0

                  I: Bus=0011 Vendor=0002 Product=0007 Version=01a1
                  N: Name="SynPS/2 Synaptics TouchPad"
                  P: Phys=isa0060/serio1/input0
                  S: Sysfs=/devices/platform/i8042/serio1/input/input6
                  U: Uniq=
                  H: Handlers=mouse0 event6
                  B: PROP=5
                  B: EV=b
                  B: KEY=e520 10000 0 0 0 0
                  B: ABS=660800011000003

                  I: Bus=0019 Vendor=0000 Product=0000 Version=0000
                  N: Name="Intel HID events"
                  P: Phys=
                  S: Sysfs=/devices/platform/INT33D5:00/input/input11
                  U: Uniq=
                  H: Handlers=rfkill kbd event10
                  B: PROP=0
                  B: EV=13
                  B: KEY=81000300000000 5000004000 1e294000000020 0
                  B: MSC=10

                  I: Bus=0019 Vendor=0000 Product=0000 Version=0000
                  N: Name="Intel HID 5 button array"
                  P: Phys=
                  S: Sysfs=/devices/platform/INT33D5:00/input/input12
                  U: Uniq=
                  H: Handlers=kbd event11
                  B: PROP=0
                  B: EV=33
                  B: KEY=1000000000000 0 201c000000000000 0
                  B: MSC=10
                  B: SW=1000

                  I: Bus=0019 Vendor=0000 Product=0000 Version=0000
                  N: Name="Dell WMI hotkeys"
                  P: Phys=
                  S: Sysfs=/devices/platform/PNP0C14:01/wmi_bus/wmi_bus-PNP0C14:01/9DBB5994-A997-11DA-B012-B622A1EF5492/input/input13
                  U: Uniq=
                  H: Handlers=rfkill kbd event12
                  B: PROP=0
                  B: EV=13
                  B: KEY=800000000000 0 0 101500b00000c00 200300000 e000000000000 0
                  B: MSC=10

                  I: Bus=0018 Vendor=06cb Product=76af Version=0100
                  N: Name="DELL07E6:00 06CB:76AF Touchpad"
                  P: Phys=i2c-DELL07E6:00
                  S: Sysfs=/devices/pci0000:00/0000:00:15.1/i2c_designware.1/i2c-7/i2c-DELL07E6:00/0018:06CB:76AF.0005/input/input16
                  U: Uniq=
                  H: Handlers=mouse2 event13
                  B: PROP=5
                  B: EV=1b
                  B: KEY=e520 10000 0 0 0 0
                  B: ABS=260800000000003
                  B: MSC=20

                  I: Bus=0000 Vendor=0000 Product=0000 Version=0000
                  N: Name="HDA Intel PCH Headphone Mic"
                  P: Phys=ALSA
                  S: Sysfs=/devices/pci0000:00/0000:00:1f.3/sound/card0/input21
                  U: Uniq=
                  H: Handlers=event14
                  B: PROP=0
                  B: EV=21
                  B: SW=4

                  I: Bus=0000 Vendor=0000 Product=0000 Version=0000
                  N: Name="HDA Intel PCH HDMI/DP,pcm=3"
                  P: Phys=ALSA
                  S: Sysfs=/devices/pci0000:00/0000:00:1f.3/sound/card0/input22
                  U: Uniq=
                  H: Handlers=event15
                  B: PROP=0
                  B: EV=21
                  B: SW=140

                  I: Bus=0000 Vendor=0000 Product=0000 Version=0000
                  N: Name="HDA Intel PCH HDMI/DP,pcm=7"
                  P: Phys=ALSA
                  S: Sysfs=/devices/pci0000:00/0000:00:1f.3/sound/card0/input23
                  U: Uniq=
                  H: Handlers=event16
                  B: PROP=0
                  B: EV=21
                  B: SW=140

                  I: Bus=0000 Vendor=0000 Product=0000 Version=0000
                  N: Name="HDA Intel PCH HDMI/DP,pcm=8"
                  P: Phys=ALSA
                  S: Sysfs=/devices/pci0000:00/0000:00:1f.3/sound/card0/input24
                  U: Uniq=
                  H: Handlers=event17
                  B: PROP=0
                  B: EV=21
                  B: SW=140

                  I: Bus=0000 Vendor=0000 Product=0000 Version=0000
                  N: Name="HDA Intel PCH HDMI/DP,pcm=9"
                  P: Phys=ALSA
                  S: Sysfs=/devices/pci0000:00/0000:00:1f.3/sound/card0/input25
                  U: Uniq=
                  H: Handlers=event18
                  B: PROP=0
                  B: EV=21
                  B: SW=140

                  I: Bus=0000 Vendor=0000 Product=0000 Version=0000
                  N: Name="HDA Intel PCH HDMI/DP,pcm=10"
                  P: Phys=ALSA
                  S: Sysfs=/devices/pci0000:00/0000:00:1f.3/sound/card0/input26
                  U: Uniq=
                  H: Handlers=event19
                  B: PROP=0
                  B: EV=21
                  B: SW=140

                  I: Bus=0003 Vendor=0bda Product=58f4 Version=7279
                  N: Name="Integrated_Webcam_HD: Integrate"
                  P: Phys=usb-0000:00:14.0-5/button
                  S: Sysfs=/devices/pci0000:00/0000:00:14.0/usb1/1-5/1-5:1.0/input/input27
                  U: Uniq=
                  H: Handlers=kbd event20
                  B: PROP=0
                  B: EV=3
                  B: KEY=100000 0 0 0

                  I: Bus=0003 Vendor=0bda Product=58f4 Version=7279
                  N: Name="Integrated_Webcam_HD: Integrate"
                  P: Phys=usb-0000:00:14.0-5/button
                  S: Sysfs=/devices/pci0000:00/0000:00:14.0/usb1/1-5/1-5:1.2/input/input28
                  U: Uniq=
                  H: Handlers=kbd event21
                  B: PROP=0
                  B: EV=3
                  B: KEY=100000 0 0 0

                  I: Bus=0003 Vendor=1241 Product=1166 Version=0110
                  N: Name="HID 1241:1166"
                  P: Phys=usb-0000:39:00.0-1.4.4/input0
                  S: Sysfs=/devices/pci0000:00/0000:00:1c.4/0000:03:00.0/0000:04:02.0/0000:39:00.0/usb3/3-1/3-1.4/3-1.4.4/3-1.4.4:1.0/0003:1241:1166.000C/input/input34
                  U: Uniq=
                  H: Handlers=mouse1 event7
                  B: PROP=0
                  B: EV=17
                  B: KEY=1f0000 0 0 0 0
                  B: REL=103
                  B: MSC=10

                  I: Bus=0003 Vendor=1a2c Product=0e24 Version=0110
                  N: Name="SEM USB Keyboard"
                  P: Phys=usb-0000:39:00.0-1.4.3/input0
                  S: Sysfs=/devices/pci0000:00/0000:00:1c.4/0000:03:00.0/0000:04:02.0/0000:39:00.0/usb3/3-1/3-1.4/3-1.4.3/3-1.4.3:1.0/0003:1A2C:0E24.000D/input/input35
                  U: Uniq=
                  H: Handlers=sysrq kbd event8 leds
                  B: PROP=0
                  B: EV=120013
                  B: KEY=1000000000007 ff800000000007ff febeffdff3cfffff fffffffffffffffe
                  B: MSC=10
                  B: LED=7

                  I: Bus=0003 Vendor=1a2c Product=0e24 Version=0110
                  N: Name="SEM USB Keyboard"
                  P: Phys=usb-0000:39:00.0-1.4.3/input1
                  S: Sysfs=/devices/pci0000:00/0000:00:1c.4/0000:03:00.0/0000:04:02.0/0000:39:00.0/usb3/3-1/3-1.4/3-1.4.3/3-1.4.3:1.1/0003:1A2C:0E24.000E/input/input36
                  U: Uniq=
                  H: Handlers=kbd event9
                  B: PROP=0
                  B: EV=1f
                  B: KEY=300ff 0 0 483ffff17aff32d bf54444600000000 1 130c730b17c000 267bfad941dfed 9e168000004400 10000002
                  B: REL=40
                  B: ABS=100000000
                  B: MSC=10

                  1 Reply Last reply Reply Quote 0
                  • P
                    pai_gorik @mitu
                    last edited by

                    @mitu If my load back xpad the output of cat /proc/bus/input/devices detects the following (not showing the rest)...

                    I: Bus=0003 Vendor=045e Product=028e Version=0110
                    N: Name="Microsoft X-Box 360 pad"
                    P: Phys=usb-0000:39:00.0-1.4.1/input0
                    S: Sysfs=/devices/pci0000:00/0000:00:1c.4/0000:03:00.0/0000:04:02.0/0000:39:00.0/usb3/3-1/3-1.4/3-1.4.1/3-1.4.1:1.0/input/input40
                    U: Uniq=
                    H: Handlers=event22 js0
                    B: PROP=0
                    B: EV=20000b
                    B: KEY=7cdb000000000000 0 0 0 0
                    B: ABS=3003f
                    B: FF=107030000 0

                    1 Reply Last reply Reply Quote 0
                    • mituM
                      mitu Global Moderator
                      last edited by

                      According to the xpad sources (see here), the VendorID/ModelD of the gamepad are indeed from the Xbox 360 gamepad. It looks like the controller tries to mimic an original Xbox 360 controller, but it's not correctly working.

                      If you use jstest /dev/input/js0, are the buttons/joysticks recognized ?

                      P 1 Reply Last reply Reply Quote 0
                      • P
                        pai_gorik @mitu
                        last edited by

                        @mitu said in Xboxdrv not working with Krom Key in ubuntu 18.04:

                        jstest /dev/input/js0

                        Yes, I can see that gets registered as an xpad. When I execute jstest /dev/input/js0, I can see the buttons/joysticks recognized but no event input is detected, I press/touch the joysticks or any other button and nothing moves...

                        Driver version is 2.1.0.
                        Joystick (Microsoft X-Box 360 pad) has 8 axes (X, Y, Z, Rx, Ry, Rz, Hat0X, Hat0Y)
                        and 11 buttons (BtnA, BtnB, BtnX, BtnY, BtnTL, BtnTR, BtnSelect, BtnStart, BtnMode, BtnThumbL, BtnThumbR).
                        Testing ... (interrupt to exit)
                        Axes: 0: 0 1: 0 2:-32767 3: 0 4: 0 5:-32767 6: 0 7: 0 Buttons: 0:off 1:off 2:off 3:off 4:off 5:off 6:off 7:off 8:off 9:off 10:off

                        I also executed the same command: cat /proc/bus/input/devices using the same gamepad but in another pc that has ubuntu 16.04. The result was the following:

                        I: Bus=0003 Vendor=20bc Product=5500 Version=0111
                        N: Name="SHANWAN Android Gamepad"
                        P: Phys=usb-0000:00:1a.1-1/input0
                        S: Sysfs=/devices/pci0000:00/0000:00:1a.1/usb4/4-1/4-1:1.0/0003:20BC:5500.0002/input/input17
                        U: Uniq=
                        H: Handlers=event15 js1
                        B: PROP=0
                        B: EV=20001b
                        B: KEY=7fff000000000000 0 0 0 0
                        B: ABS=30627
                        B: MSC=10
                        B: FF=107030000 0
                        
                        I: Bus=0003 Vendor=20bc Product=5500 Version=0111
                        N: Name="SHANWAN Android Gamepad"
                        P: Phys=usb-0000:00:1a.1-1/input1
                        S: Sysfs=/devices/pci0000:00/0000:00:1a.1/usb4/4-1/4-1:1.1/0003:20BC:5500.0003/input/input18
                        U: Uniq=
                        H: Handlers=kbd event16
                        B: PROP=0
                        B: EV=13
                        B: KEY=1000002000000 39fad941d801 1c000000000000 0
                        B: MSC=10
                        

                        How can the same gamepad may be assigned different VendorID/ProductID numbers?

                        P 1 Reply Last reply Reply Quote 0
                        • P
                          pai_gorik @pai_gorik
                          last edited by

                          @mitu Thanks to another thread of yours I have found the solution.
                          https://retropie.org.uk/forum/topic/17492/retropie-4-4-and-tronsmart-mars-g02-with-wireless-dongle-problem

                          The issue was that the controller by default comes recognized as a X mode (Xbox), I had to change it to D-mode (Android) by pressing 5 seconds the button home. After that joydev inmediately recognized it as Sharwan model.

                          Once again, thaks a lot for your help.

                          1 Reply Last reply Reply Quote 0
                          • First post
                            Last post

                          Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.

                          Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.