RetroPie / RetroPie/RetroPie-Setup

Configuring N64 Controller USB Adapter fails in inputconfiguration.sh

Open
#1,955 9 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Shell
Stars
10.4k
Forks
1.4k
Avg merge
2d 12h
Merged PRs (30d)
11

Description

Trying to configure an USB Adapter for N64 Controllers, identified as 0079:1879 DragonRise Inc. by lsusb, fails. The following error is printed several times to the console:

input config finish command:
/home/pi/.emulationstation/es_temporaryinput.cfg:3.36: xmlParseCharRef: invalid xmlChar value 24
    <inputConfig type="joystick" deviceName="&#24;USB GamePad USB GamePad" deviceGU

The problem appears to be, that the adapter has an invalid character in the deviceName, which can also be seen in the output of udevadm monitor when attaching the adapter:

KERNEL[15869.043710] add      /devices/pci0000:00/0000:00:10.0/usb3/3-1/3-1.4/3-1.4:1.0/0003:0079:1879.001E (hid)
ACTION=add
DEVPATH=/devices/pci0000:00/0000:00:10.0/usb3/3-1/3-1.4/3-1.4:1.0/0003:0079:1879.001E
HID_ID=0003:00000079:00001879
HID_NAME=USB GamePad USB GamePad
HID_PHYS=usb-0000:00:10.0-1.4/input0
HID_UNIQ=
MODALIAS=hid:b0003g0001v00000079p00001879
SEQNUM=3083
SUBSYSTEM=hid

KERNEL[15869.044378] add      /devices/pci0000:00/0000:00:10.0/usb3/3-1/3-1.4/3-1.4:1.0/0003:0079:1879.001E/input/input44 (input)
ABS=30027
ACTION=add
DEVPATH=/devices/pci0000:00/0000:00:10.0/usb3/3-1/3-1.4/3-1.4:1.0/0003:0079:1879.001E/input/input44
EV=1b
KEY=ffff00000000 0 0 0 0
MODALIAS=input:b0003v0079p1879e0110-e0,1,3,4,k120,121,122,123,124,125,126,127,128,129,12A,12B,12C,12D,12E,12F,ra0,1,2,5,10,11,m4,lsfw
MSC=10
NAME="USB GamePad USB GamePad"
PHYS="usb-0000:00:10.0-1.4/input0"
PRODUCT=3/79/1879/110
PROP=0
SEQNUM=3084
SUBSYSTEM=input
UNIQ=""

The full es_temporaryinput.cfg:

es_temporaryinput.cfg

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reading inputconfiguration.sh and tracing how the udev device name becomes the inputConfig entry in es_temporaryinput.cfg. Use the reported 0079:1879 adapter and its udevadm output to reproduce the invalid character, then verify that configuration completes without invalid XML for this device.

Written by the indexing model from the issue text.

Assessment

Tech stack
shell
Domain
cli
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.