• Recent
  • Tags
  • Popular
  • Home
  • Docs
  • Register
  • Login
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

gamecon_gpio_rpi - Fails to open any GPIO except GPIO4

Scheduled Pinned Locked Moved Help and Support
gpiogamecon drivernes controller
3 Posts 1 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.
  • L
    lbrockman
    last edited by 25 Dec 2016, 00:37

    Hola all.

    I am using:

    RPi 3 with Raspbian 8 Jessie
    RetroPie 4.16 - Installed manually ontop of existing OS.
    Using the gamecon_gpio_rpi driver with original NES controllers.

    I have wired the controllers using the shared clock / latch ports through existing NES controller ports from the NES shell. I have noticed that whichever port / controller I wire to GPIO4 (Gamepad3 in the gameconf.conf) is always opened properly / recognizable. I can setup the controller, the configuration is copied to the ~/configs/all/retroarch file, and the controller works wonderfully with the retroarch backend for the NES emulator.

    However, I cannot seem to get Gamepad4-6 to register any input. Even if I remove gamepad3 from the gameconf.conf and try to setup a single controller on 4 to 6, it is as if emulationstation never opens the associated GPIO pin for that gamepad.
    For reference, what I mean is i am:

    cd /etc/modprobe.d
    sudo nano gameconf.conf

    options gamecon_gpio_rpi map=0,0,2,0,0,2 #default config

    Configuration settings I have also tried for the driver:

    options gamecon_gpio_rpi map=0,0,0,0,0,2 #option 1
    options gamecon_gpio_rpi map=0,0,0,2,0,0 #option 2
    options gamecon_gpio_rpi map=0,0,0,0,2,0 #option 3


    I have attempted to (from the shell)

    modprobe gamecon_gpio_rpi

    and then check the /var/logs/kernel.log (edit* recalling from memory here -- not typing this as I try it so I may be slightly off) but I never see anything pushed to the log that indicates that the driver tried to start.

    Will gladly grab more information as required, or try more steps.

    Thanks for any help!

    1 Reply Last reply Reply Quote 0
    • L
      lbrockman
      last edited by 25 Dec 2016, 06:08

      Update -

      Tried a second flash card with a fresh image of Raspbian Jessie and a new install of RetroPie, setting up the core packages, with only the ls-fcedu (NES emulator) and gamecon_gpio_rpi driver.

      I am having the same problem where I do not see the second NES controller (while the first works fine).

      This time, however, I do see exact lines in /var/logs/kern.log

      input: NES pad as /devices/virtual/input/input2
      GPIO4 configured for NES pad data pin
      input: NES pad as /devices/virtual/input/input3
      GPIO3 configured for NES pad data pin

      I can paste bin more (if something else in here is useful) but right now atleast I know it is trying to map to the appropriate pin (never could see that).

      Is this an instance where maybe I can never autoconfigure player2 to work in emulationstation? If I copy the input parameters for player1 to player2 in the /opt/retropie/configs/all/retroarch.cfg maybe it will work in the emulator? (I did try this step on the other SD card referenced in my OP, but I did not have any luck with it).

      Has anyone else had luck configuring two of the gamepads button layouts using emulationstation?

      1 Reply Last reply Reply Quote 0
      • L
        lbrockman
        last edited by 25 Dec 2016, 16:27

        From the RetroPie-Setup I uninstalled unnecessary components -- remove WolfRam, SonicPi, etc. Nothing more than a boot to emulator, so I figured I would get some clutter out of the way.

        I then went back to trying to different gamepad configurations through the driver config file. I enabled all four ports and through sheer dumb luck GPIO7 (gamepad4) started reading. I still cannot get GPIO2 / GPIO3 to read the data from the controller, but I have two working NES controllers right now!

        I also tweaked the /opt/retroarch/configs/all/retroarch.cfg

        There is a setting for joypad input scan cycle -- something along those lines -- that I opted to put at a value of 0 (I am trying to recall this from memory as the NES is now wrapped under the tree for dad) so that it would update controller state on demand. It was defaulted to 2 and the notes in the file were about adjustments for latency issues.

        I also had to copy the configuration for player1_input* and update it for player2 within /opt/retroarch/configs/all/retroarch.cfg.

        Also removed the override line from /opt/retroarch/configs/nes/retroarch.cfg

        Still no idea why I cannot access GPIO3 / GPIO2 -- if anyone has any troubleshooting ideas I would be happy to jump through the hoops. I have the other SD card and another Pi3 at home I can run through.

        1 Reply Last reply Reply Quote 0
        1 out of 3
        • First post
          1/3
          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.

          This community forum collects and processes your personal information.
          consent.not_received