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

RetroPie 4.1, with mkjoystick works only one GPIO controller



  • Hi all
    this is my configuration:

    Pi Model: 3 model B
    RetroPie Version Used: 4.1
    Built From: Pre made SD Image on RetroPie website
    USB Devices connected: wireless keyboard
    Controller used: "arcade" Joystick and buttons

    When I configure mkarcadejoystick I see:

    root@retropie:/home/pi/RetroPie-Setup# ./retropie_packages.sh mkarcadejoystick
    
    = = = = = = = = = = = = = = = = = = = = =
    Installing dependencies for 'mkarcadejoystick' : Raspberry Pi GPIO Joystick Driver
    = = = = = = = = = = = = = = = = = = = = =
    
    /home/pi/RetroPie-Setup/tmp/build/mkarcadejoystick /home/pi/RetroPie-Setup
    
    = = = = = = = = = = = = = = = = = = = = =
    Getting sources for 'mkarcadejoystick' : Raspberry Pi GPIO Joystick Driver
    = = = = = = = = = = = = = = = = = = = = =
    
    /home/pi/RetroPie-Setup
    
    = = = = = = = = = = = = = = = = = = = = =
    Building 'mkarcadejoystick' : Raspberry Pi GPIO Joystick Driver
    = = = = = = = = = = = = = = = = = = = = =
    
    
    -------- Uninstall Beginning --------
    Module:  mk_arcade_joystick_rpi
    Version: 0.1.5
    Kernel:  4.4.34-v7+ (armv7l)
    -------------------------------------
    
    Status: Before uninstall, this module version was ACTIVE on this kernel.
    
    mk_arcade_joystick_rpi.ko:
     - Uninstallation
       - Deleting from: /lib/modules/4.4.34-v7+/updates/dkms/
     - Original module
       - No original module was found for this module on this kernel.
       - Use the dkms install command to reinstall any previous module version.
    
    depmod.....
    
    DKMS: uninstall completed.
    
    ------------------------------
    Deleting module version: 0.1.5
    completely from the DKMS tree.
    ------------------------------
    Done.
    
    Creating symlink /var/lib/dkms/mk_arcade_joystick_rpi/0.1.5/source ->
                     /usr/src/mk_arcade_joystick_rpi-0.1.5
    
    DKMS: add completed.
    
    Kernel preparation unnecessary for this kernel.  Skipping...
    
    Building module:
    cleaning build area....
    make KERNELRELEASE=4.4.34-v7+ all KVERSION=4.4.34-v7+.....
    cleaning build area....
    
    DKMS: build completed.
    
    mk_arcade_joystick_rpi.ko:
    Running module version sanity check.
     - Original module
       - No original module exists within this kernel
     - Installation
       - Installing to /lib/modules/4.4.34-v7+/updates/dkms/
    
    depmod....
    
    DKMS: install completed.
    /opt/retropie/supplementary/mkarcadejoystick /home/pi/RetroPie-Setup
    
    = = = = = = = = = = = = = = = = = = = = =
    Configuring 'mkarcadejoystick' : Raspberry Pi GPIO Joystick Driver
    = = = = = = = = = = = = = = = = = = = = =
    
    /home/pi/RetroPie-Setup
    root@retropie:/home/pi/RetroPie-Setup# cd /dev/input/
    root@retropie:/dev/input# ll
    total 0
    drwxr-xr-x  4 root root     200 Dec 17 20:16 .
    drwxr-xr-x 15 root root    3.3K Dec 17 15:00 ..
    drwxr-xr-x  2 root root     100 Dec 17 15:00 by-id
    drwxr-xr-x  2 root root     100 Dec 17 15:00 by-path
    crw-rw----  1 root input 13, 64 Dec 17 15:00 event0
    crw-rw----  1 root input 13, 65 Dec 17 15:00 event1
    crw-rw----  1 root input 13, 66 Dec 17 20:16 event2
    crw-rw----  1 root input 13,  0 Dec 17 20:16 js0
    crw-rw----  1 root input 13, 63 Dec 17 15:00 mice
    crw-rw----  1 root input 13, 32 Dec 17 15:00 mouse0
    root@retropie:/dev/input# cat /etc/modules
    # /etc/modules: kernel modules to load at boot time.
    #
    # This file contains the names of kernel modules that should be loaded
    # at boot time, one per line. Lines beginning with "#" are ignored.
    
    uinput
    mk_arcade_joystick_rpi
    root@retropie:/dev/input# sudo modprobe mk_arcade_joystick_rpi
    root@retropie:/dev/input# dmesg | tail -16
    [18972.114753] mk_arcade_joystick_rpi: pad type : 1
    [18972.114767] mk_arcade_joystick_rpi: pad type : 1
    [18972.114781] GPIO = 4
    [18972.114785] GPIO = 17
    [18972.114790] GPIO = 27
    [18972.114793] GPIO = 22
    [18972.114797] GPIO = 10
    [18972.114802] GPIO = 9
    [18972.114806] GPIO = 25
    [18972.114810] GPIO = 24
    [18972.114813] GPIO = 23
    [18972.114817] GPIO = 18
    [18972.114821] GPIO = 15
    [18972.114825] GPIO = 14
    [18972.114850] GPIO configured for pad0
    [18972.115622] input: GPIO Controller 1 as /devices/virtual/input/input3
    root@retropie:/dev/input# sudo modprobe mk_arcade_joystick_rpi
    

    Everything looks working but.. there are 2 controller connected and only one is recognized :/
    What I have to do for configure second controller ?
    Thanks to all

    Matteo
    Gas

    --
    Sorry for my poor english O:)


  • administrators

    Check the documentation here - https://github.com/recalbox/mk_arcade_joystick_rpi

    and edit /etc/modprobe.d/mk_arcade_joystick_rpi.conf and change the map parameter to map=1,2



  • @BuZz Thanks so much, I didn't saw this part of configuration. Now it works ! :)



  • Hello,

    I follow all steps bellow. But still I can´t configure the player 2 controller. Only player 1 is working.
    What am I missing?

    If you have two joysticks connected on your RPi B+ version you will have to run the following command :

    sudo modprobe mk_arcade_joystick_rpi map=1,2

    Auto load at startup
    Open /etc/modules :

    sudo nano /etc/modules
    and add the line you use to load the driver :

    mk_arcade_joystick_rpi
    Then create the file /etc/modprobe.d/mk_arcade_joystick.conf :

    sudo nano /etc/modprobe.d/mk_arcade_joystick.conf
    and add the module configuration :

    options mk_arcade_joystick_rpi map=1,2


  • administrators

    @DELAMAREE Did you install the driver from the retropie-setup menu or manually ?

    When posting for help please provide details of set-up as mentioned when registering / at the top of the forum. Also please start a new topic for issues, as your issue may be due to another cause (and this topic was resolved).

    Please post the output of (using code block to format it - http://commonmark.org/help/)

    cat /etc/modules
    grep "mk_arcade_joystick_rpi" /etc/modprobe.d/*
    


  • @BuZz Sorry. I´m very new on raspberry and it was my first contact in a forum for this subject.

    Actually I managed to make the second player work. But every time I start the retropie I have to write the code below again

    Sudo modprobe mk_arcade_joystick_rpi map = 1,2

    I followed the whole step by step but it still did not work. Is there any argument left?

    Sudo nano / etc / modules
    Mk_arcade_joystick_rpi
    Sudo nano /etc/modprobe.d/mk_arcade_joystick.conf
    Options mk_arcade_joystick_rpi map = 1,2


  • administrators

    @DELAMAREE please provide me the output I asked for in the previous most



  • I am having the same problem getting this to work in RetroPie 4.1 with two players. It works fine with one player.
    I installed driver v0.1.4. manually back in RetroPie 3.8 and got it to work with two players no problem. But now for some reason I can't seem to get it to work with two players.

    I installed this driver automatically from RetroPie Setup drivers install. So it was not a manual install this time around.

    I then ran sudo nano /etc/modules to verify that mk_arcade_joystick_rpi was added. It was.

    Then I ran sudo nano /etc/modprobe.d/mk_arcade_joystick.conf and added the line options mk_arcade_joystick_rpi map=1,2 Making it the only line in the file. Saved the file and exited.

    Performed a reboot and BAM! Joystick 0 is detected and works, but Joystick 1 is not.

    Is there some other thing I need to do to make this work? Thanks in advance.

    EDIT: I reposted to a new thread since this one is marked as solved, but does not solve my problem.



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.