Closed ccalhoun1999 closed 1 month ago
Hello!
What game are you trying to make wheelbase work with? May be it's the issue with the game and/or Proton compatibility layer
Can you send dmesg
kernel logs, when you connect the wheel to the PC, please?
What firmware version are you on right now?
Is the wheelbase working in ETS/ATS? (there is free demo available)
Can you try launch https://github.com/berarma/ffbtools with some random parameters? Like from example, tests/constant.ffb
from that repo?
Also, we are in the process of merging multiple similar drivers into 'universal' one. If you can, please, test if https://github.com/JacKeTUs/universal-pidff/pull/9 works for you (i.e. wheelbase detects / ffb works)
The game I tested in was automoballista 2. I just tried assetto corsa content manager and euro truck simulator 2 and had the same issue.
Firmware is latest last I checked (4 days ago or so) but I don't recall the exact number. I booted into windows to run the tool and no upgrade was available.
Additionally, dmesg is as follows so it looks like it is loading the driver? I don't know much about dmesg output.
[233009.757304] usb 1-3: new full-speed USB device number 5 using xhci_hcd
[233009.921796] usb 1-3: New USB device found, idVendor=0483, idProduct=a355, bcdDevice= 1.00
[233009.921805] usb 1-3: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[233009.921809] usb 1-3: Product: VRS DirectForce Pro Wheel Base
[233009.921813] usb 1-3: Manufacturer: Smarty Co.
[233009.921816] usb 1-3: SerialNumber: 000745094
[233009.951354] input: Smarty Co. VRS DirectForce Pro Wheel Base as /devices/pci0000:00/0000:00:01.2/0000:02:00.0/0000:03:08.0/0000:07:00.1/usb1/1-3/1-3:1.0/0003:0483:A355.000B/input/input26
[233009.951639] vrs-ff 0003:0483:A355.000B: input,hiddev98,hidraw3: USB HID v1.11 Joystick [Smarty Co. VRS DirectForce Pro Wheel Base] on usb-0000:07:00.1-3/input0
[233009.951650] vrs-ff 0003:0483:A355.000B: implement() called with too large value 4 (n: 1)! (kworker/0:0)
[233009.952831] vrs-ff 0003:0483:A355.000B: implement() called with too large value 4 (n: 1)! (kworker/0:0)
[233009.963802] vrs-ff 0003:0483:A355.000B: device has unknown autocenter control method
[233009.963811] input input26: Force feedback for VRS DFP wheelbase
With regards to ffbtools, Ill try and get working on packaging that for nix so I can test it.
Finally, when I have more time I'll give the universal driver a shot, it would be awesome if that project can take off!
So driver works, it picks up the wheelbase and initializes FFB
Did you disable Steam Input for these games?
Can you try to modify game launch command as: SDL_JOYSTICK_WHEEL_DEVICES=0x0483/0xa355 %command%
? May be NixOS have old SDL without VRS in the whitelist...
Can you try launch VRS application through modified Wine prefix as written in README?
something I'm noticing now, but in lshw I have the following:
*-usb:1
description: Human interface device
product: Smarty Co. VRS DirectForce Pro Wheel Base
vendor: Smarty Co.
physical id: 3
bus info: usb@1:3
logical name: input12
logical name: /dev/input/event9
logical name: /dev/input/js0
version: 1.00
serial: 000745094
capabilities: usb-2.00 usb
configuration: driver=usbhid maxpower=100mA speed=12Mbit/s
is that normal? I'd expect it to list driver=hid-vrs-ff or something?
yup, it is normal your kernel logs clearly says that FFB is initialized, so don't worry about the driver
Sorry it took so long to respond.
Sadly disabling steam input and using the following command to launch games didn't work for me.
SDL_JOYSTICK_WHEEL_DEVICES=0x0483/0xa355 %command%
~I'll try to work through using the wine prefix but wine confuses the hell out of me and it might take a while.~
running WINEPREFIX=$HOME/vrs-wine wine vrs.exe
is leading to the following for me and the config tool doesn't launch.
007c:fixme:hid:handle_IRP_MN_QUERY_ID Unhandled type 00000005
007c:fixme:hid:handle_IRP_MN_QUERY_ID Unhandled type 00000005
007c:fixme:hid:handle_IRP_MN_QUERY_ID Unhandled type 00000005
Application could not be started, or no application associated with the specified file.
ShellExecuteEx failed: Bad EXE format for Z:\home\ccalhoun\Downloads\vrs.exe.```
Thanks for the help!
Also, I was able to get it to actually register input in jstest-gtk which I don't think it was doing before so maybe setting up a udev rule helped, not too sure. Either way, still working on getting it recognized in game.
Can you, please, test the force feedback with https://github.com/berarma/ffbtools ?
Something like ./build/ffbplay -d /dev/input/by-id/YOUR_DEVICE_EVENT_FILE -t tests/sine.ffb
Yah, I'm still working on getting ffbtools built on nix.
Using ffbplay in interactive isn't providing any feedback. I tried autocenter and effect 1.
@ccalhoun1999 I am sorry for replying to older issue, but were you able to make the VRS wheel base working in the end?
@ccalhoun1999 I am sorry for replying to older issue, but were you able to make the VRS wheel base working in the end?
I haven't been able to get it working and don't really know where to go from here. I'm thinking my hid rule might be at fault, but I don't really know how Linux drivers work so could very well be wrong.
I am just blindly trying help here. Looking at your dmesg output, seems there are 2 input devices detected:
[233009.951354] input: Smarty Co. VRS DirectForce Pro Wheel Base as /devices/pci0000:00/0000:00:01.2/0000:02:00.0/0000:03:08.0/0000:07:00.1/usb1/1-3/1-3:1.0/0003:0483:A355.000B/input/input26
[233009.951639] vrs-ff 0003:0483:A355.000B: input,hiddev98,hidraw3: USB HID v1.11 Joystick [Smarty Co. VRS DirectForce Pro Wheel Base] on usb-0000:07:00.1-3/input0
Also these dmesg lines are suspicious:
[233009.952831] vrs-ff 0003:0483:A355.000B: implement() called with too large value 4 (n: 1)! (kworker/0:0)
[233009.963802] vrs-ff 0003:0483:A355.000B: device has unknown autocenter control method
Your udev rule is this one right?
KERNEL=="hidraw*", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="a355", MODE="0666", TAG+="uaccess"
Could you please get output from these commands?
ls -ltr /dev/input/by/id/
(your new input devices should have rwx access set for owner/group and others)sudo lsusb -d 0483:a355 -v
If you are executing all the commands as normal user (no root or sudo), make sure that you have read access to /dev/input/by-id/<vrs devices>
.
Try to execute again:
ffbplay -d /dev/input/by-id/YOUR_DEVICE_EVENT_FILE -t tests/sine.ffb
If you have more input files created, try all of them. Maybe try to play other effects from ffbplay tests/ folder?
@patchkez Thanks for the help, ffblay with the sin wave file worked! End-stops work as well. Still haven't managed to get ffb in any games yet though (trying in acc I can't even bind the controller). Also, ffbplay required sudo in order to run, it gets permission denied otherwise. Is there a group my user has to be in maybe? Or a way to assign the device to a group other than root?
output from the requested commands is as follows: dmesg
[ 730.838314] usb 1-3: new full-speed USB device number 3 using xhci_hcd
[ 731.002099] usb 1-3: New USB device found, idVendor=0483, idProduct=a355, bcdDevice= 1.00
[ 731.002104] usb 1-3: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 731.002107] usb 1-3: Product: VRS DirectForce Pro Wheel Base
[ 731.002109] usb 1-3: Manufacturer: Smarty Co.
[ 731.002111] usb 1-3: SerialNumber: 000745094
[ 731.031088] input: Smarty Co. VRS DirectForce Pro Wheel Base as /devices/pci0000:00/0000:00:01.2/0000:02:00.0/0000:03:08.0/0000:07:00.1/usb1/1-3/1-3:1.0/0003:0483:A355.000C/input/input26
[ 731.031282] vrs-ff 0003:0483:A355.000C: input,hiddev98,hidraw11: USB HID v1.11 Joystick [Smarty Co. VRS DirectForce Pro Wheel Base] on usb-0000:07:00.1-3/input0
[ 731.031288] vrs-ff 0003:0483:A355.000C: implement() called with too large value 4 (n: 1)! (kworker/0:1)
[ 731.033100] vrs-ff 0003:0483:A355.000C: implement() called with too large value 4 (n: 1)! (kworker/0:1)
[ 731.046106] vrs-ff 0003:0483:A355.000C: device has unknown autocenter control method
[ 731.046113] input input26: Force feedback for VRS DFP wheelbase
lshw, really long but I only see this related to the wheel base
*-usb:1
description: Human interface device
product: Smarty Co. VRS DirectForce Pro Wheel Base
vendor: Smarty Co.
physical id: 3
bus info: usb@1:3
logical name: input26
logical name: /dev/input/event25
logical name: /dev/input/js0
version: 1.00
serial: 000745094
capabilities: usb-2.00 usb
configuration: driver=usbhid maxpower=100mA speed=12Mbit/s
ls -ltr /dev/input/by-id/
lrwxrwxrwx 1 root root 10 10月 16 20:38 usb-Smarty_Co._VRS_DirectForce_Pro_Wheel_Base_000745094-event-if00 -> ../event25
sudo lsusb -d 0483:a355 -v
us 001 Device 003: ID 0483:a355 STMicroelectronics VRS DirectForce Pro Wheel Base
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 0 [unknown]
bDeviceSubClass 0 [unknown]
bDeviceProtocol 0
bMaxPacketSize0 64
idVendor 0x0483 STMicroelectronics
idProduct 0xa355 VRS DirectForce Pro Wheel Base
bcdDevice 1.00
iManufacturer 1 Smarty Co.
iProduct 2 VRS DirectForce Pro Wheel Base
iSerial 3 000745094
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 0x0029
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 4 Default Configuration
bmAttributes 0xc0
Self Powered
MaxPower 100mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 3 Human Interface Device
bInterfaceSubClass 0 [unknown]
bInterfaceProtocol 0
iInterface 5 Default Interface
HID Device Descriptor:
bLength 9
bDescriptorType 33
bcdHID 1.11
bCountryCode 0 Not supported
bNumDescriptors 1
bDescriptorType 34 Report
wDescriptorLength 932
Report Descriptors:
** UNAVAILABLE **
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 1
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x01 EP 1 OUT
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 1
Device Status: 0x1780
(Bus Powered)
It looks like the rest of my issues are covered in https://github.com/JacKeTUs/vrs-ff/issues/3 . I'll try and get it working following along there and in the vrs discord. It's clear this isn't an issue with the driver anymore so I will close this issue.
I had a typo in my udev rule and needed to run proton games with 'PROTON_ENABLE_HIDRAW=0x0483/0xa355 %command%' in order to be able to use the wheel. can confirm it is now working! Thanks a ton!
@ccalhoun1999, i rebased patches on universal-pidff here, can you please try that branch? Because i'm planning not to keep separate repos of the same patches for different vendors, it's easier to maintain in one place
@ccalhoun1999, i rebased patches on universal-pidff here, can you please try that branch? Because i'm planning not to keep separate repos of the same patches for different vendors, it's easier to maintain in one place
I'll try and give it a shot this weekend. I'm on nixos so if the build process differs from this pr it may take some time to get a nix-build working again.
@ccalhoun1999 afaik, some passionate guys made nixos pkg for it https://github.com/NixOS/nixpkgs/pull/334445
But i don't know how to use other branch with it (sorry, i'm debian guy :D)
I got the driver built and loaded on nixos, however when I plug the wheel in, it doesn't seem to be selecting the driver. Launching a game and trying to bind steering doesn't work.
modinfo hid-vrs-ff: