Ultimarc Mini-PAC Spinner not working
I have a Mini-PAC Standard board from 2013-02-27, and it works fine on my old Windows PC running MAME, including the spinner and trackball. I'm trying to set up a RetroPie, and I'm running into trouble with the spinner.
Original Tempest spinner > Mini-PAC (2013) > USB > RasPie 3B
When running lr_mame2003 and Tempest, the spinner doesn't work at all. I edited /opt/retropie/configs/all/retroarch-core-options.cfg and added:
mame2003-mame_current_mouse_enable = "enabled"
...(from the suggestion on this thread) and still nothing. Although I noticed that it makes an audio sound when I spin it now. Although I believe the problem is somewhere outside of the RetroArch configuration - since I can't get it to register with the cat command.
The Pi recognizes the Mini-Pac spinner as a mouse when I plug it in - it shows up as /dev/input/mouse0. But when I try to watch the output using "cat /dev/input/mouse0" and spin it, I get no indication that it's working - there's no terminal output from the cat command.
What can I do for next steps to troubleshoot? The spinner guide doesn't help when the cat finds no output.
Ultimarc (Andy) said that he knows no reason why it wouldn't work. I looked in to upgrading the firmware, but there is none for pre-2015 Mini-Pacs.
Pi Model 3; 3.1A USB Power Supply; RetroPie v4.5.1; Pre made SD Image; USB Devices: Mini-Pac, Keyboard, USB drive; Custom Controller w Mini-Pac; Spinner, Trackball, Mouse Guide
Are you sure this is the only mouse detected by the system ? Can you run
and post the output ?
EDIT: I can't find any reference for the
mame2003-mame_current_mouse_enablein the Mame2003 core options ?
I don't have another mouse plugged in. Here's what I get:
cat /proc/bus/input/devices I: Bus=0003 Vendor=d208 Product=0310 Version=0111 N: Name="Ultimarc MINI-PAC Ultimarc MINI-PAC" P: Phys=usb-3f980000.usb-1.2/input0 S: Sysfs=/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.2/1-1.2:1.0/0003:D208:0310.0001/input/input0 U: Uniq= H: Handlers=sysrq kbd leds event0 B: PROP=0 B: EV=120013 B: KEY=e080ffdf 1cfffff ffffffff fffffffe B: MSC=10 B: LED=1f
lsusb Bus 001 Device 005: ID 04ca:004b Lite-On Technology Corp. Keyboard Bus 001 Device 004: ID d208:0310 Ultimarc Mini-PAC Arcade Control Interface
I plugged in another mouse, which came up as mouse1, and when I run cat /dev/input/mouse1 I do see a response, but I get nothing from the spinner via Mini-Pac.
@benret In the output you posted I don't see any mice being shown. When you plug in a mouse device, you should also have an entry for it, something like
I: Bus=0003 Vendor=046d Product=4055 Version=0111 N: Name="Logitech Wireless Mouse" P: Phys=usb-0000:01:00.0-1.1:1 S: Sysfs=/devices/platform/scb/fd500000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0/usb1/1-1/1-1.1/1-1.1:1.2/0003:046D:C52B.0005/0003:046D:4055.0006/input/input7 U: Uniq=4055-9f-ea-2e-22 H: Handlers=mouse0 event3 B: PROP=0 B: EV=17 B: KEY=ffff0000 0 0 0 0 0 0 0 0 B: REL=143 B: MSC=10
If you run the command when you plug in a 2nd mouse, you should an entry like that. Maybe there's an extra configuration that needs to be done on the IPAC to enable the mouse ?
Try this - unplug the Mini-PAC, then run
sudo dmesg -c. Plug it in again, then run
dmesgand post the output. This should give an idea on what's detected by the OS when the device is plugged in.
I plugged in the Mini-PAC to an entirely different non-RetroPie Raspberry Pi, and then ran cat /dev/input/mouse0 and it still did not register. I also tried a different power supply, because I know how often that is the source of trouble. Still no go.
Here's dmesg after clearing it and plugging in the Mini-PAC:
$ dmesg [ 103.015958] usb 1-1.2: new full-speed USB device number 6 using dwc_otg [ 103.159087] usb 1-1.2: New USB device found, idVendor=d208, idProduct=0310 [ 103.159101] usb 1-1.2: New USB device strings: Mfr=1, Product=1, SerialNumber=0 [ 103.159111] usb 1-1.2: Product: Ultimarc MINI-PAC [ 103.159120] usb 1-1.2: Manufacturer: Ultimarc MINI-PAC [ 103.172486] input: Ultimarc MINI-PAC Ultimarc MINI-PAC as /devices/platform/soc/3f980000.usb/usb1/1-1/1-1.2/1-1.2:1.0/0003:D208:0310.0003/input/input2 [ 103.236996] hid-generic 0003:D208:0310.0003: input,hidraw2: USB HID v1.11 Keyboard [Ultimarc MINI-PAC Ultimarc MINI-PAC] on usb-3f980000.usb-1.2/input0 [ 103.243725] input: Ultimarc MINI-PAC Ultimarc MINI-PAC as /devices/platform/soc/3f980000.usb/usb1/1-1/1-1.2/1-1.2:1.1/0003:D208:0310.0004/input/input3 [ 103.244247] hid-generic 0003:D208:0310.0004: input,hidraw3: USB HID v1.11 Mouse [Ultimarc MINI-PAC Ultimarc MINI-PAC] on usb-3f980000.usb-1.2/input1 [ 103.254873] input: Ultimarc MINI-PAC Ultimarc MINI-PAC as /devices/platform/soc/3f980000.usb/usb1/1-1/1-1.2/1-1.2:1.2/0003:D208:0310.0005/input/input4 [ 103.316666] hid-generic 0003:D208:0310.0005: input,hidraw4: USB HID v1.11 Device [Ultimarc MINI-PAC Ultimarc MINI-PAC] on usb-3f980000.usb-1.2/input2
And for additional info:
ls -l /dev/input/ total 0 drwxr-xr-x 2 root root 160 Oct 12 02:23 by-id drwxr-xr-x 2 root root 160 Oct 12 02:23 by-path crw-rw---- 1 root input 13, 64 Oct 12 02:20 event0 crw-rw---- 1 root input 13, 65 Oct 12 02:20 event1 crw-rw---- 1 root input 13, 66 Oct 12 02:23 event2 crw-rw---- 1 root input 13, 67 Oct 12 02:23 event3 crw-rw---- 1 root input 13, 68 Oct 12 02:23 event4 crw-rw---- 1 root input 13, 63 Oct 12 02:20 mice crw-rw---- 1 root input 13, 32 Oct 12 02:23 mouse0
It shows up as mouse0. But when I run cat /dev/input/mouse0 there is no indication that it is working.
Also, I reconnected it to my Windows PC just to make sure it works, and it does. No problem running in Windows. So I think I can rule out the spinner.
Well, since RetroPie uses Raspbian Lite underneath and doesn't change any OS settings, testing on barebones Raspbian should yield the same result.
It looks like the device driver is not attached to mouse endpoint. Maybe forcing the bind of
usbmouseto the device ID (
0003:D208:0310.0004) might help (see option2 on this page).
Thanks for the tip. I'm no Linux expert, but that looks like it assumes that there's a Mini-PAC driver for Linux. The Mini-PAC is actually supposed to use the generic mouse driver. It doesn't have its own.
The only drivers in ls -l /sys/bus/hid/drivers:
but that looks like it assumes that there's a Mini-PAC driver for Linux
My suggestion was to use the - common -
usbmousedriver to handle it, not depending on having a Mini-PAC driver (there is none, AFAIK).
There is a Linux program used to query/configure the Ultimarc products - https://github.com/katie-snow/Ultimarc-linux - but I'm not sure it would help since you already configured your device in Windows.
Does the device has some firmware updates you can apply ? Maybe that would change how it's detected by Linux.
I spent the last hour getting the Katie Snow utility compiled (regardless of some incorrect instructions), only to find that it doesn't work - and there's very little documentation. And I don't think it would help anyway.
I unplugged the Mini-IPAC and plugged it back in:
[ 4762.143314] usb 1-1.2: USB disconnect, device number 4 [ 4767.602533] usb 1-1.2: new full-speed USB device number 6 using dwc_otg [ 4767.745618] usb 1-1.2: New USB device found, idVendor=d208, idProduct=0310 [ 4767.745640] usb 1-1.2: New USB device strings: Mfr=1, Product=1, SerialNumber=0 [ 4767.745650] usb 1-1.2: Product: Ultimarc MINI-PAC [ 4767.745661] usb 1-1.2: Manufacturer: Ultimarc MINI-PAC [ 4767.760319] input: Ultimarc MINI-PAC Ultimarc MINI-PAC as /devices/platform/soc/3f980000.usb/usb1/1-1/1-1.2/1-1.2:1.0/0003:D208:0310.0006/input/input5 [ 4767.823786] hid-generic 0003:D208:0310.0006: input,hidraw0: USB HID v1.11 Keyboard [Ultimarc MINI-PAC Ultimarc MINI-PAC] on usb-3f980000.usb-1.2/input0 [ 4767.831224] input: Ultimarc MINI-PAC Ultimarc MINI-PAC as /devices/platform/soc/3f980000.usb/usb1/1-1/1-1.2/1-1.2:1.1/0003:D208:0310.0007/input/input6 [ 4767.831891] hid-generic 0003:D208:0310.0007: input,hidraw1: USB HID v1.11 Mouse [Ultimarc MINI-PAC Ultimarc MINI-PAC] on usb-3f980000.usb-1.2/input1 [ 4767.842271] input: Ultimarc MINI-PAC Ultimarc MINI-PAC as /devices/platform/soc/3f980000.usb/usb1/1-1/1-1.2/1-1.2:1.2/0003:D208:0310.0008/input/input7 [ 4767.913538] hid-generic 0003:D208:0310.0008: input,hidraw2: USB HID v1.11 Device [Ultimarc MINI-PAC Ultimarc MINI-PAC] on usb-3f980000.usb-1.2/input2
I apologize - I don't know how to bind/unbind it. I'm new to Linux - only been using it for a few years :) I can get around in it, but I really don't know what I'm doing most of the time.
I'm beginning to think there's an issue with the board. I bought it in 2013, so there are no firmware updates for it.
stoney66 last edited by
@benret If you still have a windows machine, maybe check winipac tool. I use a trackball and it shows up as a regular mouse, nothing special needed.
Here you configure the selected pin as the required device type and assign values to it.
You can select one of the radio buttons to define the pin as the following:
Switch (which includes keyboard key, gamepad button and mouse buttons)
Trackball/Spinner (includes optical steering wheels etc). This is only relevant to certain pins on the Ultimate I/O board.
NOTE: Trackball/Spinner uses 2 pins per axis. The partner pin will also automatically be assigned. You can select X, Y or Z (wheel) axis.Trackballs use two axes (4 pins).
Only the appropriate pins on the top two smaller connectors on the I-PAC Ultimate I/O can be assigned as trackball and spinner. It is recommended that you assign trackball on the left connector and spinner on the right otherwise you cannot use the special connectors for the U-Trak or Spintrak devices. The connectors for these devices are not unique. They use two or 4 of the total 48 input pins available.
The I-PAC 2 and Mini-PAC also support trackball and spinner but these use dedicated pins.
pre 2015 boards I don't think can be updated.
OK - I have a second Mini-PAC that is unused in bubble wrap that I had plans to use but instead just sat in a box for a few years. I connected the spinner to this second Mini-PAC and got the same results - that is, nothing from the spinner using cat /dev/input/mouse0 as my test. I plugged it in a second Windows PC and it works like a mouse - moves the cursor left and right, as expected.
I'm not sure where to go from here except to buy another interface. I don't really want to do that if I can help it.
If I plug in an actual mouse, then run cat /dev/input/mouse1 - it outputs characters. But still nothing from the Mini-PAC. Similarly, if I run cat /dev/input/mice the USB mouse displays characters but the spinner with the Mini-PAC does nothing.
I wonder if I'm the first to find that a 2013 Mini-PAC mouse output is incompatible with Linux.
maybe check winipac tool
Unfortunately, the old version of WinIPAC that I have to use with the Mini-IPAC 2013 version doesn't have any options for the spinner/trackball like the lates WinIPAC v2 does for the I-PAC.
Does anyone have some last ditch actions I could try? If it requires rebinding drivers, as mentioned above, I'll need some hand holding - but I'd be eager to try anything.
Just to test compatibility with Linux and to eliminate any Raspberry specific issues, I'd load a live distro on an USB stick (like Ubuntu/Lubuntu) and test it on a PC.
That's a great idea - I used Linux Mint (Ubuntu).
It doesn't work in the GUI, but the mouse does. It's hard to believe that I'm the first to find that the older Mini-PAC doesn't support the spinner in Linux...
So that's Mint on PC, RetroPie on Raspberry Pi, and Raspbian Stretch on Raspberry Pi: triple fail using two different Mini-PACs.
Wow - I have an Ultimarc IPAC 2 in my shopping cart and was about to check out, but did a search on IPAC2 + Spinner + RetroPie and found that I AM NOT ALONE.
It appears that someone else has had a VERY SIMILAR PROBLEM with the IPAC 2. In January of this year: user, arcades states:
"I was able to reach out to U-HID support and confirm that that spinners are not being recognized as mouse devices in Linux, there for this feature on the U-HID device is not available to use in retropie :( All functionality works as expected on Windows platform."
And user, tsl said that he moved the spinner wires from J4 group to J5 group and it works. I'm not sure if he means the Mini-PAC, because I don't see "J*" groups on the standard IPAC. The J4 group on the Mini-PAC is reserved for my #1 joystick, however.
I also discovered that Ultimarc is just the retail end of "U-HID".
Has anyone gotten an original Tempest spinner to work with RetroPie? If so, what encoder did you use?
stoney66 last edited by
@benret Have you tried emailing Andy at Ultimarc?
Yes. Ultimarc (Andy) said that he knows no reason why it wouldn't work and didn't provide any troubleshooting advice.
And I've run out of ideas for getting it to work. Now I'm just trying to find an encoder that DOES work, and I'm not confident that any of the Ultimarc encoders do after reading this other post about the IPAC 2.
I got it working, but I can't say exactly what I did to fix it. The only thing I can think of is that the Mini-PAC needs to be plugged in before any other controller - so no mouse, no keyboard, just the controller USB. Then plug in a keyboard. I'm not sure if this is what fixed it, since I was attempting other remedies concurrently.