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

    Joystick Conflicts

    Scheduled Pinned Locked Moved Help and Support
    joystickubuntujoystick clash
    26 Posts 3 Posters 1.2k 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.
    • FoxsecF
      Foxsec
      last edited by

      @Halvhjearne

      Did some looking around and I assume I have to edit /boot/grub/grub.cfg and add the quirks line to the 'GRUB_CMDLINE_LINUX_DEFAULT=' inside?

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

        @Foxsec You can either modify the grub config file or follow the advice in the Docs and create a .conf file for to add the quirks there.

        FoxsecF HalvhjearneH 2 Replies Last reply Reply Quote 0
        • FoxsecF
          Foxsec @mitu
          last edited by

          @mitu

          Brill, I'll give that a bash and I'll report back. Thanks a bunch for your help guys.

          1 Reply Last reply Reply Quote 0
          • HalvhjearneH
            Halvhjearne @mitu
            last edited by

            @mitu

            that will not work on ubuntu any more

            @Foxsec

            you need to edit /etc/default/grub

            dont forget to run update-grub after

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

              @Halvhjearne said in Joystick Conflicts:

              that will not work on ubuntu any more

              Why is that ?

              HalvhjearneH 1 Reply Last reply Reply Quote 0
              • HalvhjearneH
                Halvhjearne @mitu
                last edited by

                @mitu

                for some reason it will not initialize usb quirks after boot time anymore.
                perhaps for security reasons? who knows

                i think i wrote a post a while back describing the problem and how to solve it? ... i cant remember tbh, but i tried every possible way, when i first got my xin-mo.
                the only way it will work is if you add the quirks to grub (as i described above).

                tbh i havent tried it on my raspberry, so idk if the way its described in the docs will work on that, but i would assume that there would be more post about it, if it didnt.

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

                  @Halvhjearne said in Joystick Conflicts:

                  for some reason it will not initialize usb quirks after boot time anymore.
                  perhaps for security reasons? who knows

                  I see, so that's your experience - but that doesn't mean will not work on ubuntu any more.
                  There were a couple of posts in the forums with similar setup (Ubuntu) that confirmed the options added to the modprobe configuration files works - after all, that's the standard way to add options to module loading - I've added the snippet in the wiki after those topics confirmed that it's working.

                  1 Reply Last reply Reply Quote 0
                  • FoxsecF
                    Foxsec
                    last edited by

                    So I added that line to GRUB and ran the updater, and it didn't pick up the extra joystick, Did a total restart and now it doesn't pick any of the joysticks up, and neither the keyboard or mouse, so I can't do anything. :s

                    HalvhjearneH 1 Reply Last reply Reply Quote 0
                    • HalvhjearneH
                      Halvhjearne @Foxsec
                      last edited by Halvhjearne

                      @Foxsec

                      sounds like you messed something up.
                      tbh i have no idea what you did, but you can most likely fix it by booting from a usb stick and reverse whatever you did wrong.

                      did you edit the vendor and product id?
                      yours should be:

                      GRUB_CMDLINE_LINUX_DEFAULT="quiet splash usbhid.quirks=0x0810:0xe001:0x040"
                      

                      also, you are not adding a line to grub, you are editing a line that is already there and adding the usbhid quirks.
                      the rest should already be there by default.

                      FoxsecF 1 Reply Last reply Reply Quote 0
                      • FoxsecF
                        Foxsec @Halvhjearne
                        last edited by Foxsec

                        @Halvhjearne

                        Hi again, I ended up having to do an entire fresh ubuntu install in the end

                        My line read as :

                        GRUB_CMDLINE_LINUX_DEFAULT="quiet splash usbhid.quirks=0x0810:0xe001:0x040"
                        

                        as the joystick is listed as Bus 001 Device 003: ID 0810:e001 ?

                        I then ran update-grub from /usr/bin and it just didn't work from there? was my quirks addition not right?

                        Edit: It looks like I had an extra 0? i will try it again with what you have suggested here.

                        HalvhjearneH 1 Reply Last reply Reply Quote 0
                        • HalvhjearneH
                          Halvhjearne @Foxsec
                          last edited by Halvhjearne

                          @Foxsec

                          no, i made a mistake and the 0x is needed indeed.

                          not sure why it isnt working for you?

                          cat /sys/module/usbhid/parameters/quirks
                          

                          if it is accepted, you should see it here or it will just return null
                          for me it returns this:

                          0x16c0:0x05e1:0x040,(null),(null),(null)
                          

                          btw, it would be nice to know if the modprobe way didnt work for you.

                          1 Reply Last reply Reply Quote 0
                          • FoxsecF
                            Foxsec
                            last edited by

                            Just redid it again, and it's come back as (null),(null),(null),(null)

                            HalvhjearneH 1 Reply Last reply Reply Quote 0
                            • HalvhjearneH
                              Halvhjearne @Foxsec
                              last edited by

                              @Foxsec

                              maybe you forgot to run update-grub?

                              either way, i suggest we take a few steps back ...

                              what is the actual make and model of this encoder (and is it a joystick or keyboard)?
                              and what happends when you run jstest?

                              FoxsecF 1 Reply Last reply Reply Quote 0
                              • FoxsecF
                                Foxsec @Halvhjearne
                                last edited by

                                @Halvhjearne

                                Deffo ran update-grub from /usr/sbin/, tried it again and the quirks are still null.

                                It's a joystick and buttons connected to a little encoder, not sure of the make or model because it isn't branded. I may just end up buying another one ;(

                                HalvhjearneH 1 Reply Last reply Reply Quote 0
                                • HalvhjearneH
                                  Halvhjearne @Foxsec
                                  last edited by

                                  @Foxsec

                                  not sure how it wouldnt work, except if you forgot to run update-grub or restart.

                                  lsusb or usb-devices commands can usually give you a clue to the make and model name.

                                  you didnt answer what happends when you run jstest?
                                  on ubuntu you can get a version with gui called jstest-gtk

                                  FoxsecF 1 Reply Last reply Reply Quote 0
                                  • FoxsecF
                                    Foxsec @Halvhjearne
                                    last edited by

                                    @Halvhjearne

                                    Just lists it as twin usb joystick. I can copy and paste all of the info from it if that helps?

                                    Did a jstest-gtk and it shows that the joysticks work but it picks up both players as player 1.

                                    HalvhjearneH 1 Reply Last reply Reply Quote 0
                                    • HalvhjearneH
                                      Halvhjearne @Foxsec
                                      last edited by Halvhjearne

                                      @Foxsec

                                      not sure what you are doing wrong, the quirks should be added, even if the joystick is not connected.
                                      it does sounds like its a clone of the xin-mo, so im guessing it should work.

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

                                        You can check that the quirks have been added to the boot command line by running

                                        cat /proc/cmdline
                                        

                                        Can you copy the output of the command and post it here ? Alternatively, as @Halvhjearne mentioned, try using modprobe to apply the options from a command line:

                                        rmmod usbhid && modprobe usbhid quirks=0x0810:0xe001:0x040
                                        
                                        1 Reply Last reply Reply Quote 0
                                        • FoxsecF
                                          Foxsec
                                          last edited by

                                          rmmod: ERROR: ../libkmod/libkmod-module.c:793 kmod_module_remove_module() could not remove 'usbhid': Operation not permitted
                                          rmmod: ERROR: could not remove module usbhid: Operation not permitted
                                          

                                          Is what I get when I run the rrmod command?

                                          And I get the below when I type the cmdline in

                                          BOOT_IMAGE=/boot/vmlinuz-5.0.0-23-generic root=UUID=9c1664a3-6dc6-4ad4-afc8-334c7e46342b ro quiet splash vt.handoff=1
                                          

                                          Think it's worth just getting another encoder so I'll have one for each joystick? seems like it just doesn't want to work, thanks a lot for you help btw guys, really appreciate it.

                                          mituM HalvhjearneH 2 Replies Last reply Reply Quote 0
                                          • mituM
                                            mitu Global Moderator @Foxsec
                                            last edited by

                                            @Foxsec said in Joystick Conflicts:

                                            rmmod: ERROR: ../libkmod/libkmod-module.c:793 kmod_module_remove_module() could not remove 'usbhid': Operation not permitted
                                            rmmod: ERROR: could not remove module usbhid: Operation not permitted
                                            

                                            Is what I get when I run the rrmod command?

                                            Yeah, forgot about that. Prefix the commands with sudo:

                                            sudo rmmod usbhid && sudo modprobe usbhid quirks=0x0810:0xe001:0x040
                                            

                                            And I get the below when I type the cmdline in

                                            BOOT_IMAGE=/boot/vmlinuz-5.0.0-23-generic root=UUID=9c1664a3-6dc6-4ad4-afc8-334c7e46342b ro quiet splash vt.handoff=1
                                            

                                            That means your Grub modifications have not added the usbquirks necessary for the joystick.

                                            Think it's worth just getting another encoder so I'll have one for each joystick? seems like it just doesn't want to work, thanks a lot for you help btw guys, really appreciate it.

                                            No, you're very close of making this one work, so there's no need to get another one.

                                            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.