Skip to content

Support for G923 (PS4/PC version only) #50

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 11 commits into from
Sep 6, 2022
Merged

Conversation

JacKeTUs
Copy link

@JacKeTUs JacKeTUs commented Jun 22, 2021

Added support for Logitech G923 Racing Wheel for Playstation 4 and PC (0x046d:0xc267, 0x046d:0xc266)

What works:

  1. Force Feedback (setting range (40-900), spring feedbacks, etc..)
  2. Steering
  3. H gear shifting
  4. Pedals
  5. FF autocentering
  6. LEDs (similar to G29)
  7. All buttons on the wheel
  8. Configuration with Oversteer with patch (dirty build with added support for g923)

What not works (or not fully tested):

  1. Switching between wheel modes in driver (G29/G923)
  2. Not all games support g923 out of the box. In DIRT 4/Rally, for example, you need to add your wheel model to ./share/inputdevices.json relative to game folder
  3. TrueForce. In FF v1.6 specifications there are no word about it, no examples etc. Idk if it is just a fancy word for FF, or really a software feature that needed to be implemented in driver as well.

To switch from PS to PC mode you will need tool usb_modeswitch and udev rule:

ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="046d", ATTRS{idProduct}=="c267", RUN+="/usr/sbin/usb_modeswitch -v 046d -p c267 -m 03 -r 03 -M 30f8090701010000"

To reload udev rules: udevadm control --reload-rules
After connecting, wheel will reconnect with 0x046d:0xc266, and will be probed by new-lg4ff.
UPD (2021-11-18): Now switching from PS mode to Classic implemented in driver, so no more need to manually call usb_modeswitch or create udev rules.

Similar to G29, wheel only could work with 1st interface. Attempts to initialize all interfaces all ends up in kernel panics.

In PR: Added copies of lines with G29, because they are similar wheels. Added command for switch to the G923 mode if anyone in the future will try to implement switching modes.

Should close #44

@berarma
Copy link
Owner

berarma commented Jun 22, 2021

Great! I'll merge it as soon as possible after testing.

I guess mode switching should work very similar to a G29. Could you test it?

Some games don't even recognize the G29. That's what the compatilibity modes are good for.

AFAIK, TruForce consists of two rumble motors in the wheel rim. It might be treated like another effect type, (maybe FORCE_TYPE 0x0f?) with two possible arguments: strong force and weak force.

@isopix
Copy link

isopix commented Jun 22, 2021 via email

@berarma
Copy link
Owner

berarma commented Jun 22, 2021

@JacKeTUs Have you tried without the usb_modeswitch?

According to the document it should be required on the G29 too, but it works without it. I've tried doing the mode switch on my G29 and the wheel is unusable after that.

@berarma
Copy link
Owner

berarma commented Jun 22, 2021

On 6/22/21, Bernat @.***> wrote: AFAIK, TruForce consists of two rumble motors in the wheel rim. It might be treated like another effect type, (maybe FORCE_TYPE 0x0f?) with two possible arguments: strong force and weak force.
Could you give links to some source of this information? Logitech explained in the past that this new rumble effects, related to engine revving(game sends engine soundwave to logitech drivers) are possible to new electronics and 1000Hz. I've tried now to google about your news, and cannot find anything about additional rumble motors in wheel rim. Maybe you've disassembled wheel yourself, (or knows someone that did that) and can confirm it's the case?

My sources are the reviewers' descriptions. I haven't found anyone who's disassembled the rim but almost everyone describes it in the same way, a rumbling under their palms. I could be wrong though. Maybe it's just a gimmick using the main motors. I don't really know.

@JacKeTUs
Copy link
Author

JacKeTUs commented Jun 23, 2021

@JacKeTUs Have you tried without the usb_modeswitch?

According to the document it should be required on the G29 too, but it works without it. I've tried doing the mode switch on my G29 and the wheel is unusable after that.

Hello!
Without usb_modeswitch wheel probes, but steering and most of the buttons does not work.

I guess mode switching should work very similar to a G29. Could you test it?

I tried to send various switch commands, but wheel doesn't reconnect with target PIDs. May be I just don't understand how compatibility modes supposed to work.
In Oversteer compatibility modes are grayed out. In usb fs file "alternate_mode" does not exists.

AFAIK, TruForce consists of two rumble motors in the wheel rim. It might be treated like another effect type, (maybe FORCE_TYPE 0x0f?) with two possible arguments: strong force and weak force.

Tried 0x0f, wheel does not respond. According to the docs FORCE_TYPE 0x0a, 'square wave', or 'vibration' exists. Tried that, but I also got no reaction.
Reviewers says that "trueforce connects to the audio engine" and "trueforce vibration sounds like sounds from the game". May be wheel got another interface like sound card and 'hums' their input? Sounds funny, but who knows. I will try to sniff usb with windows games with trueforce enabled later.

hid-lg4ff.c Outdated
@@ -248,6 +253,9 @@ static const struct lg4ff_multimode_wheel lg4ff_multimode_wheels[] = {
{USB_DEVICE_ID_LOGITECH_G29_WHEEL,
LG4FF_MODE_NATIVE | LG4FF_MODE_G29 | LG4FF_MODE_G27 | LG4FF_MODE_G25 | LG4FF_MODE_DFGT | LG4FF_MODE_DFP | LG4FF_MODE_DFEX,
LG4FF_G29_TAG, LG4FF_G29_NAME},
{USB_DEVICE_ID_LOGITECH_G923_WHEEL,
LG4FF_MODE_NATIVE | LG4FF_MODE_G923 | LG4FF_MODE_G29,
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Here you should add the other modes supported by the G29.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Added in new commit

@@ -303,10 +312,26 @@ static const struct lg4ff_wheel_ident_info lg4ff_g29_ident_info2 = {
USB_DEVICE_ID_LOGITECH_G29_WHEEL
};

static const struct lg4ff_wheel_ident_info lg4ff_g923_ident_info = {
Copy link
Owner

@berarma berarma Jun 23, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The second and third values are the mask and result. Since we're using the same values as the G29 there won't be any match. Appendix A.2 of the Logitech document explains the process to identify the wheel but doesn't cover all models. I'd use the same masks as the G29 but adjust the bcdDevice values to your wheel. These values can be taken from lsusb output. Here, use the bcdDevice value when connecting the wheel for the first time without the module switching to native mode.

Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Also, the others modes should be added for the wheel to work correctly in multi-mode.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Modes added, bcdDevice changed to real. Unfortunately, wheel does not changing modes with commands...

hid-lg4ff.c Outdated
USB_DEVICE_ID_LOGITECH_G923_WHEEL
};

static const struct lg4ff_wheel_ident_info lg4ff_g923_ident_info2 = {
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same here but the third value should be the bcdDevice value after the wheel has switched to native mode.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

info2 deleted, because bcdDevice value does not change, stays 0x3800

@berarma
Copy link
Owner

berarma commented Jun 23, 2021

I guess mode switching should work very similar to a G29. Could you test it?

I tried to send various switch commands, but wheel doesn't reconnect with target PIDs. May be I just don't understand how compatibility modes supposed to work.
In Oversteer compatibility modes are grayed out. In usb fs file "available_modes" does not exists.

The file is "alternate_modes". I've added some comments to your changes, I think there's an error and some omissions. Please, try those changes, it might work.

AFAIK, TruForce consists of two rumble motors in the wheel rim. It might be treated like another effect type, (maybe FORCE_TYPE 0x0f?) with two possible arguments: strong force and weak force.

Tried 0x0f, wheel does not respond. According to the docs FORCE_TYPE 0x0a, 'square wave', or 'vibration' exists. Tried that, but I also got no reaction.
Reviewers says that "trueforce connects to the audio engine" and "trueforce vibration sounds like sounds from the game". May be wheel got another interface like sound card and 'hums' their input? Sounds funny, but who knows. I will try to sniff usb with windows games with trueforce enabled later.

I've found some more information. No, it doesn't use any additional motors. It seems to be just another effect on top of the normal ones. They've just used a different controller and circuitry so that the rumbling is modulated by the electronics. Still I don't think your wheel has an audio processor implemented inside, that will be done in software.

Links:

The square wave type should have worked. How are you sending the commands? Personally, I don't find that feature interesting, we could just ignore it, but in case you'd like to try to include it we can keep trying.

@JacKeTUs
Copy link
Author

JacKeTUs commented Jun 23, 2021

Hello!

bcdDevice does not change between PC and PS modes... It stays 0x3800. Wheel disconnects and reconnects after switching commands, but appears again as the 'PC' PID - 0xc266. After changes file alternate_modes appears with modes from the driver, as it should be.

TrueForce settings from G Hub (Windows machine) does not send any commands to the wheel, so we need to sniff USB traffic with a real game... May be driver/GHub connects to the games that supports TF, and sends some additional commands related to what it sees from the game?

@berarma
Copy link
Owner

berarma commented Jun 23, 2021

Hello!

bcdDevice does not change between PC and PS modes... It stays 0x3800. Wheel disconnects and reconnects after switching commands, but appears again as the 'PC' PID - 0xc266. After changes file alternate_modes apperas with modes from the driver, as it should be.

It's the change between compatible mode and native mode that needs to be observed. The wheel starts in compatibility mode as a DFGT and the driver changes it to native mode on initialization. All this happens after the usb_modeswitch command. So you need the bcdDevice value after the modeswitch but before the module loads, and also the value after the module loads.

Have you tested the compatibility modes?

TrueForce settings from G Hub (Windows machine) does not send any commands to the wheel, so we need to sniff USB traffic with a real game... May be driver/GHub connects to the games that supports TF, and sends some additional commands related to what it sees from the game?

I have no idea, but the games that support it might be using it through the Logitech SDK. The G Hub settings will be stored in the driver since that's where almost everything happens. The driver won't send commands to the wheel until the game sends TruForce data.

@JacKeTUs
Copy link
Author

JacKeTUs commented Jun 24, 2021

It looks like starting and initializing sequence for the g923 is different from g29.

G29 connects with DFGT productID first. Driver probes it, sees that and checks bcdDevice mask (appendix a.2 in Logitech docs). After that driver sends "switch to g29 mode" command, and wheel reconnects with real g29 productID, and finally probes with driver.

G923 connects with 0xc267 productID, not DFGT's, and "switching to native mode" command is different. bcdDevice stays the same (0x3800) before modeswitch, after modeswitch and before and after module (new-lg4ff) loads.
After modeswitch it reconnects to 0xc266. bcdDevice is the same.

Have you tested the compatibility modes?

About compatibility modes: in "Classic" mode after sending any command with any other mode (g29, g25 etc) wheel reconnects with the same productID as it was before (0xc266), and nothing changed. May be compatibility commands are not the same with g923...

I will try to implement different initializing sequence, like with DFGT -> Native, but "PSFFB -> Classic". Then usb_modeswitch will become obsolete.

@berarma
Copy link
Owner

berarma commented Aug 11, 2021

Any news on this?

@berarma
Copy link
Owner

berarma commented Nov 15, 2021

@JacKeTUs, @ZRtmWrJqXcjbqBLIMBYMCeUw, can someone help with this?

I think we would need to do something similar to what it's done here: https://patchwork.kernel.org/project/linux-input/patch/20210527134104.217865-3-rickytaylor26@gmail.com/

G923 needs 0x30 as report id (first byte in HID data).
Added function to send commands with custom report id
Added function to detect G923 PS mode PID and sending switch command with custom id
Added PS mode PID into hid_device_id[]
@JacKeTUs
Copy link
Author

JacKeTUs commented Nov 17, 2021

Hello!
Sorry for the long delay, it was a hard time in my life.

I implemented switch from G923 PS to Classic mode. Now usb_modeswitch and udev rules does not needed.
G923 PS probes with c267 PID, driver goes to hid-lg4ff.c:2195, sends command 30f8090701010000 (where first byte is report ID), and then wheel resets and probes again with c266 PID and works as usual.

Sadly, it did not help with other compatibility modes (G29, G27/G25, etc). May be G923 is not a multimode wheel and can not change modes at all?

@ZRtmWrJqXcjbqBLIMBYMCeUw

@berarma This patch here: https://patchwork.kernel.org/project/linux-input/patch/1447345535-2912-2-git-send-email-simon@mungewell.org/ discusses adding HID-mode switching for the G920, where the final conclusion is that it will not be added to the kernel. This may or may not be a problem, since the method used for the G920 and the G923 (PS4 version) are very different, but I thought I would bring it up anyway. Note that the method mentioned is identical to that implemented in the patch you linked.

I will try testing the latest code later to make sure it works as expected, though I have no doubt it will. Thanks @JacKeTUs!

@berarma
Copy link
Owner

berarma commented Nov 17, 2021

@JacKeTUs, don't worry, life's always first, this could wait. Thanks for your work!

@ZRtmWrJqXcjbqBLIMBYMCeUw, it would be nice having someone else test it before merging since I can't test it myself. I've looked at that thread and the reasons to reject the G920 patch don't apply here at all. The issue isn't in the method itself but in the way it was implemented. Thanks for linking the thread though, it's interesting info.

@0x7CFE
Copy link

0x7CFE commented Nov 18, 2021

it would be nice having someone else test it before merging since I can't test it myself

@JacKeTUs, I have G923 PS version and would like to help you guys with testing. However, I've never built these drivers before, so would appreciate any instructions on how to do so.

@JacKeTUs
Copy link
Author

JacKeTUs commented Nov 18, 2021

However, I've never built these drivers before, so would appreciate any instructions on how to do so.

Hello! Thanks for your help!
You need to follow these instructions: https://github.com/JacKeTUs/new-lg4ff#manual-method

  1. Clone my repo with branch g923:
    git clone https://github.com/JacKeTUs/new-lg4ff --branch g923
  2. cd to directory with repo, then type make. You may be need to install linux-headers-$(uname -r) and build-essential
  3. After building you need to insert module. There is some catch: it depends from ff-memless, so you need to modprobe it first:
    sudo modprobe ff-memless
    After that type sudo insmod hid-logitech-new.ko

In the end you could plug wheel to PC and see if it works :)
You could use lsusb and dmesg to see if the wheel reconnects correctly.

Also you could check out https://github.com/berarma/oversteer project, it supports G923 since couple weeks ago.

For tests in games you could use ETS2 (native) as it support g923 out of the box (with disabled Steam Input), or something like Assetto Corsa (remapping needed), or Assetto Corsa Competizione (supports g923 out of the box with disabled Steam Input)

@0x7CFE
Copy link

0x7CFE commented Nov 18, 2021

So yeah, I've built and inserted the module.

When I plugged the USB in, the wheel jerked ~45° to the right from neutral position, LEDs blinked and turned off, and then it froze for like a minute. After that it started the wheel calibration thing.

During the froze period lsusb was hanging dead. Afterward it quickly showed the listing.

Bus 003 Device 042: ID 046d:c266 Logitech, Inc. G923 Racing Wheel for PlayStation 4 and PC
[570316.675658] hid-generic 0003:0424:274C.0012: hiddev0,hidraw0: USB HID v1.10 Device [Microchip Tech Hub Controller] on usb-0000:00:14.0-4.3.5/input0
[570327.574120] usb 3-4.3.4: reset high-speed USB device number 36 using xhci_hcd
[574159.050988] usb 3-7: new full-speed USB device number 38 using xhci_hcd
[574159.200112] usb 3-7: New USB device found, idVendor=046d, idProduct=c267, bcdDevice=38.00
[574159.200120] usb 3-7: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[574159.200125] usb 3-7: Product: G923 Racing Wheel for PlayStation 4 and PC
[574159.200128] usb 3-7: Manufacturer: Logitech
[574159.200131] usb 3-7: SerialNumber: CIDUHAKICYRANOZOHUFOZIVALY
[574159.202556] logitech 0003:046D:C267.0013: ignoring exceeding usage max
[574159.203033] input: Logitech G923 Racing Wheel for PlayStation 4 and PC as /devices/pci0000:00/0000:00:14.0/usb3/3-7/3-7:1.0/0003:046D:C267.0013/input/input48
[574159.203377] logitech 0003:046D:C267.0013: input,hiddev1,hidraw1: USB HID v1.10 Gamepad [Logitech G923 Racing Wheel for PlayStation 4 and PC] on usb-0000:00:14.0-7/input0
[574189.935705] usbhid 3-7:1.2: can't add hid device: -110
[574189.935746] usbhid: probe of 3-7:1.2 failed with error -110
[574189.935972] usb 3-7: USB disconnect, device number 38
[574190.255672] usb 3-7: new full-speed USB device number 39 using xhci_hcd
[574190.405145] usb 3-7: New USB device found, idVendor=046d, idProduct=c266, bcdDevice=38.00
[574190.405154] usb 3-7: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[574190.405158] usb 3-7: Product: G923 Racing Wheel for PlayStation 4 and PC
[574190.405162] usb 3-7: Manufacturer: Logitech
[574190.405165] usb 3-7: SerialNumber: CIDUHAKICYRANOZOHUFOZIVALY
[574190.407296] input: Logitech G923 Racing Wheel for PlayStation 4 and PC as /devices/pci0000:00/0000:00:14.0/usb3/3-7/3-7:1.0/0003:046D:C266.0015/input/input49
[574190.407520] logitech 0003:046D:C266.0015: input,hidraw1: USB HID v1.11 Joystick [Logitech G923 Racing Wheel for PlayStation 4 and PC] on usb-0000:00:14.0-7/input0
[574190.407700] logitech 0003:046D:C266.0015: Force feedback support for Logitech Gaming Wheels (0.3.1)
[574190.407703] logitech 0003:046D:C266.0015: Hires timer: period = 2 ms
[574610.467028] usb 3-7: USB disconnect, device number 39
[574633.040527] usb 3-7: new full-speed USB device number 40 using xhci_hcd
[574633.189590] usb 3-7: New USB device found, idVendor=046d, idProduct=c267, bcdDevice=38.00
[574633.189599] usb 3-7: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[574633.189603] usb 3-7: Product: G923 Racing Wheel for PlayStation 4 and PC
[574633.189606] usb 3-7: Manufacturer: Logitech
[574633.189609] usb 3-7: SerialNumber: CIDUHAKICYRANOZOHUFOZIVALY
[574633.191882] logitech 0003:046D:C267.0018: ignoring exceeding usage max
[574633.192391] input: Logitech G923 Racing Wheel for PlayStation 4 and PC as /devices/pci0000:00/0000:00:14.0/usb3/3-7/3-7:1.0/0003:046D:C267.0018/input/input50
[574633.192785] logitech 0003:046D:C267.0018: input,hiddev1,hidraw1: USB HID v1.10 Gamepad [Logitech G923 Racing Wheel for PlayStation 4 and PC] on usb-0000:00:14.0-7/input0
[574668.921298] usbhid 3-7:1.2: can't add hid device: -110
[574668.921333] usbhid: probe of 3-7:1.2 failed with error -110
[574668.921510] usb 3-7: USB disconnect, device number 40
[574674.833381] usb 3-7: new full-speed USB device number 41 using xhci_hcd
[574674.982577] usb 3-7: New USB device found, idVendor=046d, idProduct=c267, bcdDevice=38.00
[574674.982586] usb 3-7: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[574674.982590] usb 3-7: Product: G923 Racing Wheel for PlayStation 4 and PC
[574674.982593] usb 3-7: Manufacturer: Logitech
[574674.982596] usb 3-7: SerialNumber: CIDUHAKICYRANOZOHUFOZIVALY
[574674.984972] logitech 0003:046D:C267.001A: ignoring exceeding usage max
[574674.985506] input: Logitech G923 Racing Wheel for PlayStation 4 and PC as /devices/pci0000:00/0000:00:14.0/usb3/3-7/3-7:1.0/0003:046D:C267.001A/input/input51
[574674.985756] logitech 0003:046D:C267.001A: input,hiddev1,hidraw1: USB HID v1.10 Gamepad [Logitech G923 Racing Wheel for PlayStation 4 and PC] on usb-0000:00:14.0-7/input0
[574705.786040] usbhid 3-7:1.2: can't add hid device: -110
[574705.786070] usbhid: probe of 3-7:1.2 failed with error -110
[574705.786241] usb 3-7: USB disconnect, device number 41
[574706.114013] usb 3-7: new full-speed USB device number 42 using xhci_hcd
[574706.267407] usb 3-7: New USB device found, idVendor=046d, idProduct=c266, bcdDevice=38.00
[574706.267418] usb 3-7: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[574706.267422] usb 3-7: Product: G923 Racing Wheel for PlayStation 4 and PC
[574706.267425] usb 3-7: Manufacturer: Logitech
[574706.267428] usb 3-7: SerialNumber: CIDUHAKICYRANOZOHUFOZIVALY
[574706.269579] input: Logitech G923 Racing Wheel for PlayStation 4 and PC as /devices/pci0000:00/0000:00:14.0/usb3/3-7/3-7:1.0/0003:046D:C266.001C/input/input52
[574706.269783] logitech 0003:046D:C266.001C: input,hidraw1: USB HID v1.11 Joystick [Logitech G923 Racing Wheel for PlayStation 4 and PC] on usb-0000:00:14.0-7/input0
[574706.269983] logitech 0003:046D:C266.001C: Force feedback support for Logitech Gaming Wheels (0.3.1)
[574706.269992] logitech 0003:046D:C266.001C: Hires timer: period = 2 ms

@0x7CFE
Copy link

0x7CFE commented Nov 18, 2021

Aside of that all buttons, levers, pedals and controls are now detected by the system 🎉 (KDE's Input Devices widget in settings). Wheel axis is also detected correctly. Haven't tried in game yet.

@JacKeTUs
Copy link
Author

@berarma, big thanks for possible solution!
But isn't it supposed to be HID_QUIRK_HAVE_SPECIAL_DRIVER instead of ignorance?
https://elixir.bootlin.com/linux/latest/source/drivers/hid/hid-quirks.c#L212
So like.. modprobe option will be like usbhid quirks=0x046d:0xc267:0x80000?
I can't test this rn, but i will update comment after tests :)

@berarma
Copy link
Owner

berarma commented Nov 26, 2021

@berarma, big thanks for possible solution!
But isn't it supposed to be HID_QUIRK_HAVE_SPECIAL_DRIVER instead of ignorance?
https://elixir.bootlin.com/linux/latest/source/drivers/hid/hid-quirks.c#L212
So like.. modprobe option will be like usbhid quirks=0x046d:0xc267:0x80000?
I can't test this rn, but i will update comment after tests :)

Ah, yes, it looks like it is. Don't forget to set it for both device modes.

Thanks for fixing my mistakes.

@JacKeTUs
Copy link
Author

@ZRtmWrJqXcjbqBLIMBYMCeUw, @ydallilar, @0x7CFE

Please, try the following and test for delays after mode-switching.

Write a file /etc/modprobe.d/g923.conf with contents:

# G923 support (added HID_QUIRK_HAVE_SPECIAL_DRIVER)
options usbhid quirks="0x046D:0xC267:0x080000,0x046D:0xC266:0x080000"

After that you will need to update initramfs for your distro. For Debian-based it is update-initramfs -u, for RedHat-based it is dracut -f.
After that you can reboot your system and check if quirks were added to the kernel:
cat /sys/module/usbhid/parameters/quirks

Now wheel will stop probing without a driver (new-lg4ff in our case) and will not probe by hid-generic.

@ydallilar
Copy link

Logs are same with no quirk.

cat /sys/module/usbhid/parameters/quirks
0x046D:0xC267:0x080000,0x046D:0xC266:0x080000,(null),(null)

@berarma
Copy link
Owner

berarma commented Nov 28, 2021

Logs are same with no quirk.

cat /sys/module/usbhid/parameters/quirks
0x046D:0xC267:0x080000,0x046D:0xC266:0x080000,(null),(null)

Did you rebuild the initramfs?

@ydallilar
Copy link

Yes, I did.

@berarma
Copy link
Owner

berarma commented Nov 29, 2021

What should we do now? Do I merge it even if it isn't completely fine for everyone or wait until a solution is found?

@ydallilar
Copy link

I will be off the grid for a while.

If you merge we may be able to get more feedback on the issue. faeb74f + udev rule work great for me to recover old functionality. No errors whatsoever. One can put this to FAQ as a workaround for the time being.

@alemunter

This comment was marked as off-topic.

@writequit

This comment was marked as off-topic.

@Chr1s70ph
Copy link

Is it still planned to merge this? My G923 is recognized by lsusb but thats about it. Not even showing up in /proc/bus/input/devices. Also its not recognized as an input. Don't quite know how to deal with this.

@berarma
Copy link
Owner

berarma commented Jun 24, 2022

Is it still planned to merge this? My G923 is recognized by lsusb but thats about it. Not even showing up in /proc/bus/input/devices. Also its not recognized as an input. Don't quite know how to deal with this.

Absolutely, but I don't have the wheel and I need someone to test the changes. Could you try this branch and report your results?

@Chr1s70ph
Copy link

Chr1s70ph commented Jun 25, 2022

I have installed the patched version now.
Still, no changes. The module is loaded, but it does not even show up in dmesg like it is said to do in the README.
I have installed it using dkms and manually, no change in behavior.

I forgot to mention, that I have the xbox version of the wheel btw.

- Logitech MOMO Racing
- Logitech Speed Force Wireless Wheel for Wii

This module is not compatible with the Logitech G920 Driving Force that already
has full effects support implemented by firmware and uses the HID++ driver.
This module is not compatible with the Logitech G920 Driving Force and Logitech G923 for XBOX and PC (046d:c26d, 046d:c26e), that already has full effects support implemented by firmware and uses the HID++ driver.
Copy link

@Chr1s70ph Chr1s70ph Jun 25, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is not the case (at least not for me). I have the G923 XBOX and PC version, and it is not even recognized as an input device. As far as I can tell, only the G920 XBOX and PC version is supported.

@berarma
Copy link
Owner

berarma commented Jun 25, 2022

I have installed the patched version now.
Still, no changes. The module is loaded, but it does not even show up in dmesg like it is said to do in the README.
I have installed it using dkms and manually, no change in behavior.

I forgot to mention, that I have the xbox version of the wheel btw.

This driver won't work for your wheel. You need an updated version of the logitec-hidpp module.

@berarma berarma changed the title Support for G923 Support for G923 (PS4/PC version only) Jun 25, 2022
@Lars-Saetaberget
Copy link

Is it still planned to merge this? My G923 is recognized by lsusb but thats about it. Not even showing up in /proc/bus/input/devices. Also its not recognized as an input. Don't quite know how to deal with this.

Absolutely, but I don't have the wheel and I need someone to test the changes. Could you try this branch and report your results?

I have this wheel (G923 PS4/PC) and the patch works for me. Anything in particular you want me to test?

@berarma berarma merged commit d5d5e06 into berarma:master Sep 6, 2022
@berarma
Copy link
Owner

berarma commented Sep 6, 2022

Is it still planned to merge this? My G923 is recognized by lsusb but thats about it. Not even showing up in /proc/bus/input/devices. Also its not recognized as an input. Don't quite know how to deal with this.

Absolutely, but I don't have the wheel and I need someone to test the changes. Could you try this branch and report your results?

I have this wheel (G923 PS4/PC) and the patch works for me. Anything in particular you want me to test?

Thanks. I've merged it, please, update to master and report any issue.

@Ghido03
Copy link

Ghido03 commented Feb 15, 2023

I have G923 Xbox version, and would likes ti help you guys whit testing. But im not a kernel writer so, i need ant instruction on how to do. :)

@berarma
Copy link
Owner

berarma commented Feb 15, 2023

I have G923 Xbox version, and would likes ti help you guys whit testing. But im not a kernel writer so, i need ant instruction on how to do. :)

This is already in the latest release. Follow the instructions in the README to install.

@Ghido03
Copy link

Ghido03 commented Feb 15, 2023

I have G923 Xbox version, and would likes ti help you guys whit testing. But im not a kernel writer so, i need ant instruction on how to do. :)

This is already in the latest release. Follow the instructions in the README to install.

oh, great. Then the README should be updated because it is still written that the Xbox version of the g923 is not supported. Thank you for the job. One last question, but is it also compatible with the https://github.com/gamingdoom/beamng-shifting-leds.git tool for the operation of the gear leds on BeamNG?

@berarma
Copy link
Owner

berarma commented Feb 15, 2023

I have G923 Xbox version, and would likes ti help you guys whit testing. But im not a kernel writer so, i need ant instruction on how to do. :)

This is already in the latest release. Follow the instructions in the README to install.

oh, great. Then the README should be updated because it is still written that the Xbox version of the g923 is not supported. Thank you for the job.

That's true, the XBox version isn't supported.

One last question, but is it also compatible with the https://github.com/gamingdoom/beamng-shifting-leds.git tool for the operation of the gear leds on BeamNG?

I don't know.

@leillo1975
Copy link

One question, is the G923 XBOX supported by Oversteer?

@berarma
Copy link
Owner

berarma commented Feb 15, 2023

One question, is the G923 XBOX supported by Oversteer?

It is but it just means Oversteer will recognize the wheel, it doesn't add support for any hardware features on this or any other wheel. Anyway, this PR is for new-lg4ff.

@leillo1975
Copy link

I know it, but I made this question to know if this user could help to give support to this wheel on Oversteer in case it did not work. That would be my next message

@berarma
Copy link
Owner

berarma commented Feb 15, 2023

@Ghido03, @leillo1975 Sorry, I had mistakenly read it was a PS version.

This module won't work for your wheel. Sorry again.

@leillo1975
Copy link

Perhaps @Ghido03 could help to give support for G923 Xbox on Oversteer

@Ghido03
Copy link

Ghido03 commented Feb 15, 2023

Perhaps @Ghido03 could help to give support for G923 Xbox on Oversteer

Yea, that's what i meant, giving all details for help you to give support for the g923 Xbox version too.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

G923 support