Skip to content
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

Add support for Razer Blackwidow v3 Pro wireless #1901

Closed

Conversation

nicfix
Copy link

@nicfix nicfix commented Aug 29, 2022

Added partial support for BlackWidow V3 Pro wireless

What works:

  • The device is detected (tested on polychromatic)
  • All the effects work apart from ripple (disabled)

What doesn't work:

  • Ripple effect

What works meh:

  • Battery level, I still get several notifications of empty battery, same behavior as my basilisk ultimate though.

This PR is heavily inspired by the one from @GeoDoX (#1623), I thought about forking from that branch but rebasing @GeoDoX's branch proved more difficult than starting from scratch.

Partially fixes #1279

@nicfix nicfix marked this pull request as ready for review August 29, 2022 21:26
@andriinuts
Copy link

@z3ntu please have a look at this PR as the previous one was stuck

@nicfix
Copy link
Author

nicfix commented Oct 10, 2022

@z3ntu any news for this PR?

@nicfix nicfix changed the title Razer blackwidow v3 pro wireless Add support for Razer Blackwidow v3 Pro wireless Oct 10, 2022
case USB_DEVICE_ID_RAZER_BLACKWIDOW_V3_MINI_WIRELESS:
report.transaction_id.id = 0x9F;
break;
default:
report.transaction_id.id = 0x1f;
break;
Copy link
Member

Choose a reason for hiding this comment

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

Why is this block added?

Copy link
Member

Choose a reason for hiding this comment

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

removed it for now, still keeping this "conversation" open, maybe it was super important for something

@@ -1533,7 +1549,11 @@ static ssize_t razer_attr_write_matrix_effect_reactive(struct device *dev, struc
case USB_DEVICE_ID_RAZER_BLACKWIDOW_V3_PRO_WIRED:
report = razer_chroma_extended_matrix_effect_reactive(VARSTORE, BACKLIGHT_LED, speed, (struct razer_rgb*)&buf[1]);
break;

case USB_DEVICE_ID_RAZER_BLACKWIDOW_V3_PRO_WIRELESS:
razer_set_device_mode(usb_dev, 0x00, 0x00);
Copy link
Member

Choose a reason for hiding this comment

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

If the daemon likes to switch the device to driver mode (which I didn't check now), then maybe that should be removed if reactive effect doesn't work with it.
Overwriting the device mode here isn't great at all...

@@ -1699,7 +1718,7 @@ static ssize_t razer_attr_write_matrix_effect_static(struct device *dev, struct
report.transaction_id.id = 0x1F;
razer_send_payload(usb_dev, &report);
break;

Copy link
Member

Choose a reason for hiding this comment

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

Please revert all these unrelated whitespace changes in this file

Copy link
Member

Choose a reason for hiding this comment

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

done it myself

'set_custom_effect', 'set_key_row', 'get_game_mode', 'set_game_mode', 'get_macro_mode', 'set_macro_mode',
'get_macro_effect', 'set_macro_effect', 'get_macros', 'delete_macro', 'add_macro',
'set_starlight_random_effect', 'set_starlight_single_effect', 'set_starlight_dual_effect',
# 'set_ripple_effect', 'set_ripple_effect_random_colour',
Copy link
Member

Choose a reason for hiding this comment

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

Remove the comment if it doesn't work?

@stat1x
Copy link

stat1x commented Nov 4, 2022

Would be cool if it gets merged.
Thanks.

@YoMamasNerd
Copy link

Nice, Id love to test this. Ive just got this keyboard.

Happy Holidays

@z3ntu
Copy link
Member

z3ntu commented Jan 9, 2023

@andriinuts @YoMamasNerd Does this PR work for you? See https://github.com/openrazer/openrazer/wiki/Building-a-package

@nicfix There's still some open comments, could you resolve them?

@YoMamasNerd
Copy link

I'll try it this weekend probably.
Thank you for your response @z3ntu 🙂

@YoMamasNerd
Copy link

YoMamasNerd commented Jan 14, 2023

@z3ntu I may need some further help to get this working. Do you have a discord or something?
The Keyboard is working in wireless mode. Sleep mode settings do not work.

Traceback (most recent call last):
  File ’/usr/lib/python3.10/site-packages/polychromatic/controller/devices.py’, line 429, in _slider_dropped
    option.apply(slider.value())
  File ’/usr/lib/python3.10/site-packages/polychromatic/backends/openrazer.py’, line 1339, in apply
    self._rdevice.set_idle_time(int(new_value) * 60)
  File ’/usr/lib/python3.10/site-packages/openrazer/client/devices/__init__.py’, line 460, in set_idle_time
    self._dbus_interfaces[’power’].setIdleTime(idle_time)
  File ’/usr/lib/python3.10/site-packages/dbus/proxies.py’, line 141, in __call__
    return self._connection.call_blocking(self._named_service,
  File ’/usr/lib/python3.10/site-packages/dbus/connection.py’, line 652, in call_blocking
    reply_message = self.send_message_with_reply_and_block(
dbus.exceptions.DBusException: org.freedesktop.DBus.Python.PermissionError: Traceback (most recent call last):
  File ’/usr/lib/python3.10/site-packages/dbus/service.py’, line 715, in _message_cb
    retval = candidate_method(self, *args, **keywords)
  File ’/usr/lib/python3.10/site-packages/openrazer_daemon/dbus_services/dbus_methods/mamba.py’, line 51, in set_idle_time
    with open(driver_path, ’w’) as driver_file:
PermissionError: [Errno 13] Permission denied: ’/sys/devices/pci0000:00/0000:00:01.3/0000:02:00.0/usb1/1-3/1-3:1.2/0003:1532:025C.0006/device_idle_time’

Battery reporting is working with the keyboard.

And my mouse (Deathadder v3 Pro) is not getting recognized anymore. May be a result of being so far behind the official repo.

@z3ntu
Copy link
Member

z3ntu commented Jan 15, 2023

@YoMamasNerd Telegram or Matrix (or IRC if necessary): https://github.com/openrazer/openrazer/wiki/Community-chat

Regarding this error, looks like the device declares it supports set_idle_time but device_idle_time is not implemented in kernel driver so it fails. This should be corrected (how depends on whether the firmware supports this command or not)

@z3ntu z3ntu force-pushed the razer_blackwidow_v3_pro_wireless branch from c5c0a37 to 03ed6d0 Compare January 15, 2023 15:05
What is not working:
- Battery level in the notification
- Ripple effect (all the others work correctly)
@z3ntu z3ntu force-pushed the razer_blackwidow_v3_pro_wireless branch from 03ed6d0 to 4d241d9 Compare January 15, 2023 15:10
@YoMamasNerd
Copy link

Things that work

  • Effects
  • changing brightness
  • updating battery level
  • low power mode settings

Things that does not work

  • setting "Sleep mode after"
  • updating charging status without reloading Polychromatic
  • Battery warning shows Labeled tag

@z3ntu
Copy link
Member

z3ntu commented Apr 27, 2023

Has there been any progress on the non-working items?

@YoMamasNerd
Copy link

Not yet. I've been too busy to fix the issues since they are not breaking anything for me.
I might be able to look into resolving the issues this weekend.

@z3ntu
Copy link
Member

z3ntu commented Apr 30, 2023

Closing in favor of #2056

@z3ntu z3ntu closed this Apr 30, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Development

Successfully merging this pull request may close these issues.

Support for BlackWidow V3 Pro [1532:025c]
5 participants