Getting dspad to work (freezes, doesn't seem to connect)

Discussion in 'NDS - Emulation and Homebrew' started by VeniaSilente, Sep 22, 2014.

  1. VeniaSilente

    VeniaSilente Advanced Member

    Sep 6, 2014
    Cote d'Ivoire
    I don't know if dspad (turns DS into wireless gamepad) has seen any development post-2007 or if it is even in use, but I guess I'd rather ask. Has anyone used it (successfully) with a relatively recent Linux machine at the server side?

    I have the following setup:

    * Server side:
    Debian Wheezy, wireless card with Broadcom chipset with static IP, iptables rules cleaned, ss reports required ports open. A wireless connection in mesh mode is set up on the wireless card, can confirm it works correctly (can AltWfc / Homepass with it). udev rules have been edited to grant world write permission to /dev/uinput for the duration of the tests.
    * Client side:
    NDS and N3DS both running a Supercard DSTWO with dspad 0.2b.nds installed, WFC connection settings set to the same wireless network with static IP within the range..

    When I run the server I get the expected output that is documented in several places:

    --- Starting DSPad Server v0.2 ---
    Loading "DSPad_server.xml"
    Reading "DSPad_server.xml" OK
     [0] Creation of service:
     [0]  Joystick device OK
     [0]  Socket on port 22201 OK
     [0] Creation of service: OK
     [1] Creation of service:
     [1]  Joystick device OK
     [1]  Socket on port 22202 OK
     [1] Creation of service: OK
    Furthermore, jstest and syslog show the virtual joypads in place.

    ss shows the port open and I can netcat into it (though I'd rather not, as it can cause a mess with mouse movements, which at least proves the server works correctly! :P)

    UNCONN     0      0                               *:22201                            *:*       
    UNCONN     0      0                               *:22202                            *:*  
    I've also setup the client of course, via the following XML file deposited at the root of the microSD:

    <!-- Auto generated file -->
        <!-- Network config -->
        <!-- Power config -->
        <!-- Turbo keys config -->
    However, when I run DSPad, I can only get up to the screen where I choose the gamepad number to connect to - 1 or 2. The upper screen shows that the config file is loaded and the device is ready to connect:

    DLDI Init: Success
    Loading "/DSPad.xml" Success
    Reading "/DSPad.xml" Success
    But as soon as I tap either of the Pad Nums to connect, DSPad and the entire handheld freeze.

    This is what I can get:

    DLDI Init: Success
    Loading "/DSPad.xml" Success
    Reading "/DSPad.xml" Success
    Selected player 2
    On some *very rare* occasions when I choose player 2 a message of "Network init OK" appears then the IP of my server and I can get to a screen with a yellow... face-thing with some crosshairs trained on it, but at that point the entire thing freezes again.

    Anyone has any idea of what could be going wrong, or if perhaps dspad is simply not compatible with newer uinput / SDL versions? In which case, does anyone know if there is interest to get a new version of dspad rolling?

    I'm very interested in getting this particular software to work so that I can more or less complete my DS experience. Would welcome all sorts of help.

    BTW, rtDS at least functions perfectly around here, but I'm looking for a joypad not a keyboard, and in gaming respects rtDS is very lacking.