Homepage Forums RetroPie Project Everything else related to the RetroPie Project Xbox360 Controller Issue after 1.10.1

Viewing 9 posts - 1 through 9 (of 9 total)
  • Author
    Posts
  • #7620
    Sitrane
    Guest

    So… I am at my wits end.

    I have been trying to get this controller working for 2 days and I just can’t figure out what I am doing incorrectly.

    I started with a brand new 1.10.1 download and followed all of the directions here:
    https://github.com/retropie/RetroPie-Setup/wiki/First-Installation

    Then, I followed all of the directions here for enabling the controller:

    Installation problem

    Now, ES recognizes the controller and I can navigate with it, but the light continues to flash over and over again.

    However, when I go to the panel and type in “sudo xboxdrv” i get this error:
    Error couldn’t claim the USB interface: LIBUSB_ERROR_BUSY”

    It tells me to type in “rmmod xpad” and then run “sudo xboxdrv” again. Once I do, the single light comes on.

    Now I have figured out that I need to blacklist xpad, but everything I’m finding online isn’t working; they just return different errors.

    Thanks in advance!

    #7621
    sitrane
    Participant

    Just realized I didn’t list that I was using a WIRED 360 controller.

    #7636
    Steve
    Participant

    What worked for me with a wire and wireless remote at the same time is method 3 of this
    https://github.com/retropie/RetroPie-Setup/wiki/Setting-up-the-XBox360-controller

    tell me what it says when you type
    sudo nano /etc/modprobe.d/blacklist.conf

    #7638
    RawToxic
    Participant

    I just did a install as you describe and am using the same controller. I just got this all working yesterday but started on Tuesday so I understand your woes. I did not run into the problem like you are experiencing but I’d like to try to help. I think your problem may lie with the USB bus activity itself.

    A question that needs to be asked is please explain any and all USB peripherals that you have connected to the PI device. Hub (Powered or not), controller, keyboard, etc.

    and run this command and report back the results.

    lsusb

    Maybe there is a conflict with another USB device on your bus or for some reason the bus is having power issues. If you are using a powered USB hub, check to make sure it is one that is certified for use with Raspberry Pi. Some feed power back into the bus and can cause some strange things to occur.

    #7659
    sitrane
    Participant

    Thanks for the responses guys.

    As far as the third option goes, I don’t really know how to use it; Being a total Linux noob. Is there a good walk-through on what I need to do?

    I can’t run any commands, as I’m currently at work.

    I only have my Wired Xbox360 Controller and Keyboard plugged in; No hub or anything.

    Hopefully that helps!

    #10457
    floegeolf
    Participant

    I have to pick this post up, as I am encountering a similar problem with my XBOX 360 controller, and tried about everything I could find so far.

    I have a wired XBOX 360 controller (not an original one) connected to my Retropie (directly or through a hub, it doesn’t matter) as well as a keyboard. The led on the controller is constantly blinking, it still works on emulatorstation and on some emulators… It is available on /dev/input/js0 and I can map the buttons.

    BUT: It’s not recognized by xboxdrv. Whichever method to configure it I chose, I only get a “no xbox controller connected” error message, and the led keeps blinking.

    When I start xboxdrv with the “xboxdrv –device-by-id [ID]…” (from lsusb), the LED lights up, completely, not as player 1 or player 2. But I loose the possibility to enter commands in terminal (as xboxdrv is running) and cannot start emulatorstation anyway.

    So, how can I get this controller to connect the way it is meant to be? (I installed retropie 1.10.1 from the SD Card image that’s available in the downloads section), since this version the controller is recognized by emulatorstation at startup, the previous version of retropie did not recognize it at all.

    Here’s the dmesg output about the controller:

    
    [    3.738107] usb 1-1.3: new full-speed USB device number 5 using dwc_otg
    [    3.875527] usb 1-1.3: New USB device found, idVendor=046d, idProduct=f301
    [    3.896032] usb 1-1.3: New USB device strings: Mfr=1, Product=2, SerialNumber=3
    [    3.917618] usb 1-1.3: Product: Controller
    [    3.925537] usb 1-1.3: Manufacturer: Microsoft Inc.
    [    3.933266] usb 1-1.3: SerialNumber: 103183E
    [    4.215583] udevd[156]: starting version 175
    [    6.036418] input: Generic X-Box pad as /devices/platform/bcm2708_usb/usb1/1-1/1-1.3/1-1.3:1.0/input/input1
    [    6.328113] usbcore: registered new interface driver xpad
    

    And here’s the lsusb output:

    
    Bus 001 Device 002: ID 0424:9512 Standard Microsystems Corp. 
    Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
    Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp. 
    Bus 001 Device 004: ID 413c:2003 Dell Computer Corp. Keyboard
    Bus 001 Device 005: ID 046d:f301 Logitech, Inc. 
    

    And this is what ls /dev/input gives me:

    
    by-id
    by-path
    event0
    event1
    js0
    mice
    

    Any help is more than welcome ;)

    Thanks in advance,
    Floeg

    #28445
    XFSmiles
    Guest

    I am having the same problem.
    I have `xboxdrv –trigger-as-button –wid 0 –led 2 –deadzone 4000 –silent &
    sleep 1in the/etc/rc.local` file. It is right before the exit 0.
    I have

    #! /bin/bash
    ### BEGIN INIT INFO
    # Provides:          xbox-controller
    # Required-Start:    $remote_fs $syslog
    # Required-Stop:     $remote_fs $syslog
    # Default-Start:     2 3 4 5
    # Default-Stop:      0 1 6
    # Short-Description: Start XBOX Controller Service
    # Description:       Start the xboxdrv daemon with several options
    #                    support up to 4 Controllers
    ### END INIT INFO
    
    # Author: MasteRehm
    
    PATH=/sbin:/usr/sbin:/bin:/usr/bin
    DESC="XBOX Controller Service"
    NAME=xboxdrv
    DAEMON=/usr/bin/$NAME
    DAEMON_ARGS="-D -d --deadzone 4000 --dbus disabled --detach"
    PIDFILE=/var/run/$NAME.pid
    SCRIPTNAME=/etc/init.d/$NAME
    
    # Exit if the package is not installed
    [ -x "$DAEMON" ] || exit 0
    
    # Read configuration variable file if it is present
    [ -r /etc/default/$NAME ] && . /etc/default/$NAME
    
    # Load the VERBOSE setting and other rcS variables
    . /lib/init/vars.sh
    
    # Define LSB log_* functions.
    # Depend on lsb-base (>= 3.2-14) to ensure that this file is present
    # and status_of_proc is working.
    . /lib/lsb/init-functions
    
    do_start()
    {
            if [ $CONTROLLER_NUM -gt 4 ]; then
                    echo -e "\n$CONTROLLER"; exit 1;
            fi
            start-stop-daemon -S -q -x $DAEMON -- $DAEMON_ARGS $CONTROLLER
            # Workaround: xboxdrv daemon creates /dev/input/js[4-7] device files, if /dev/input/js[0-3] created on startup.
            if [ -x /usr/bin/rename ]; then
                    sleep 1
                    if [[ <code>ls /dev/input/js*</code> =~ /dev/input/js[4-7] ]]; then rename 's/js4/js0/;s/js5/js1/;s/js6/js2/;s/js7/js3/' /dev/input/js*; fi
            fi
    }
    
    do_stop()
    {
        start-stop-daemon -K -o -q -x $DAEMON
        sleep 1
    }
    
    case "$1" in
      start)
        log_daemon_msg "Starting $DESC" "$NAME"
        do_start
         status=$?
        log_end_msg $status
        ;;
      stop)
        log_daemon_msg "Stopping $DESC" "$NAME"
        do_stop
         status=$?
        log_end_msg $status
        ;;
      status)
        status_of_proc "$DAEMON" "$NAME" && exit 0 || exit $?
        ;;
      restart)
        log_daemon_msg "Restarting $DESC" "$NAME"
        do_stop
        case "$?" in
          0|1)
            do_start
            case "$?" in
                0) log_end_msg 0 ;;
                1) log_end_msg 1 ;; # Old process is still running
                *) log_end_msg 1 ;; # Failed to start
            esac
            ;;
          *)
            # Failed to stop
            log_end_msg 1
            ;;
        esac
        ;;
      *)
        echo "Usage: $SCRIPTNAME {start|stop|status|restart}" >&2
        exit 3
        ;;
    esac

    in /etc/init.d/xboxdrv.
    I get this:

    pi@raspberrypi /etc/init.d $ sudo update-rc.d xboxdrv start
    update-rc.d: using dependency based boot sequencing
    Use of uninitialized value in string eq at /usr/sbin/update-rc.d line 490.
    update-rc.d: warning:  start runlevel arguments (none) do not match xboxdrv Default-Start values (2 3 4 5)
    update-rc.d: warning:  stop runlevel arguments (none) do not match xboxdrv Default-Stop values (0 1 6)

    I have

    # How many Controllers? (support up to 4 Controllers)
    CONTROLLER_NUM=2
    
    case $CONTROLLER_NUM in
        1) CONTROLLER="-w 0 -l 2 --trigger-as-button --dpad-as-button"
        ;;
        2) CONTROLLER="-w 0 -l 2 --trigger-as-button --dpad-as-button --next-controller -w 1 -l 3 --trigger-as-button --dpad-as-button"
        ;;
        3) CONTROLLER="-w 0 -l 2 --trigger-as-button --dpad-as-button --next-controller -w 1 -l 3 --trigger-as-button --dpad-as-button --next-controller -w 2 -l 4 --trigger-as-button --dpad-as-button"
        ;;
        4) CONTROLLER="-w 0 -l 2 --trigger-as-button --dpad-as-button --next-controller -w 1 -l 3 --trigger-as-button --dpad-as-button --next-controller -w 2 -l 4 --trigger-as-button --dpad-as-button --next-controller -w 3 -l 5 --trigger-as-button --dpad-as-button"
        ;;
        *) CONTROLLER="incorrect amount of controller specified"
        ;;
    esac

    in /etc/default/xboxdrv
    I get this:

    pi@raspberrypi /etc/default $ jstest /dev/input/js[0-3]
    -bash: jstest: command not found
    

    I get this

    pi@raspberrypi /opt/retropie/configs/all $ ./retroarch-joyconfig -o /opt/retropie/configs/all/p1.cfg -p 1 -j 0
    -bash: ./retroarch-joyconfig: No such file or directory
    

    I get this:

    
    pi@raspberrypi ~ $ sudo xboxdrv -D i 0
    xboxdrv 0.8.4 - http://pingus.seul.org/~grumbel/xboxdrv/
    Copyright © 2008-2011 Ingo Ruhnke <>
    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.
    
    [ERROR] XboxdrvDaemon::process_match(): failed to launch ControllerThread:  Error couldn't claim the USB interface: LIBUSB_ERROR_BUSY
    Try to run 'rmmod xpad' and then xboxdrv again or start xboxdrv with the option --detach-kernel-driver.
    [ERROR] XboxdrvDaemon::run(): fatal exception: failed to get unique dbus name: Connection ":1.0" is not allowed to own the service "org.seul.Xboxdrv" due to security policies in the configuration file
    

    I followed every step on this page:
    https://github.com/retropie/RetroPie-Setup/wiki/Setting-up-the-XBox360-controller
    Maybe I did too much? I’m not sure what I am supposed to do.

    #28449
    XFSmiles
    Guest

    Also, when I am in a game the A button takes me back to the menu and the RB button is pause

    #28455
    gizmo98
    Participant

    Disable retroarch autoconfig or delete all files under following path:
    /opt/retropie/emulatores/RetroArch/configs

    Then run “esconfig/basic input config”.

Viewing 9 posts - 1 through 9 (of 9 total)
  • The forum ‘Everything else related to the RetroPie Project’ is closed to new topics and replies.