RetroPie / RetroPie/RetroPie-Setup
Configuring N64 Controller USB Adapter fails in inputconfiguration.sh
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="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:
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- 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