Coder Social home page Coder Social logo

Comments (5)

jonasmalacofilho avatar jonasmalacofilho commented on May 19, 2024

Thanks for opening the issue and providing this information. Though I notice that liquidctl status has failed too. I recall that it worked before, did you ran liquidctl initialize after turning on the computer?

To be clear: I don't expect this to be the issue with the Spectrum Wave mode, but it might change the specific failure and debug output I need to investigate.

from liquidctl.

hst12 avatar hst12 commented on May 19, 2024

It works when doing liquidctl initialize first! I didn’t realise that the initialize was necessary since other modes worked okay without it.

Here is the output:

C:\WINDOWS\system32>liquidctl initialize
Exception ignored in: <function _AutoFinalizedObjectBase.__del__ at 0x0000027B0E790158>
Traceback (most recent call last):
  File "c:\program files\python37\lib\site-packages\usb\_objfinalizer.py", line 84, in __del__
    self.finalize()
  File "c:\program files\python37\lib\site-packages\usb\_objfinalizer.py", line 144, in finalize
    self._finalizer()
  File "c:\program files\python37\lib\weakref.py", line 548, in __call__
    return info.func(*info.args, **(info.kwargs or {}))
  File "c:\program files\python37\lib\site-packages\usb\_objfinalizer.py", line 104, in _do_finalize_object_ref
    obj._do_finalize_object()
  File "c:\program files\python37\lib\site-packages\usb\_objfinalizer.py", line 71, in _do_finalize_object
    self._finalize_object()
  File "c:\program files\python37\lib\site-packages\usb\backend\libusb1.py", line 604, in _finalize_object
    _lib.libusb_unref_device(self.devid)
OSError: exception: access violation writing 0x0000000000000024
C:\WINDOWS\system32>liquidctl set led color spectrum-wave
Exception ignored in: <function _AutoFinalizedObjectBase.__del__ at 0x0000024CAC0C0158>
Traceback (most recent call last):
  File "c:\program files\python37\lib\site-packages\usb\_objfinalizer.py", line 84, in __del__
    self.finalize()
  File "c:\program files\python37\lib\site-packages\usb\_objfinalizer.py", line 144, in finalize
    self._finalizer()
  File "c:\program files\python37\lib\weakref.py", line 548, in __call__
    return info.func(*info.args, **(info.kwargs or {}))
  File "c:\program files\python37\lib\site-packages\usb\_objfinalizer.py", line 104, in _do_finalize_object_ref
    obj._do_finalize_object()
  File "c:\program files\python37\lib\site-packages\usb\_objfinalizer.py", line 71, in _do_finalize_object
    self._finalize_object()
  File "c:\program files\python37\lib\site-packages\usb\backend\libusb1.py", line 604, in _finalize_object
    _lib.libusb_unref_device(self.devid)
OSError: exception: access violation writing 0x0000000000000024

from liquidctl.

jonasmalacofilho avatar jonasmalacofilho commented on May 19, 2024

It works when doing liquidctl initialize first! I didn’t realize that the initialize was necessary since other modes worked okay without it.

I did not know that either! I mostly run initialize anyway to use (or test) the fan channels.

The requirement probably has something to do with the device needing to know the exact length of the strip to render this effect; the type and number of LED accessories is also learned during the initialization.

I will add to the documentation that some effects require the device to be fully initialized.


The access violation errors from _lib.libusb_unref_device(self.devid) are probably caused by a know issue between PyUSB and libusb. I assume you are running libusb 1.0.22 or later, am I correct?

from liquidctl.

hst12 avatar hst12 commented on May 19, 2024

That makes sense. Where the number of LEDs are specified for example:
liquidctl set led color super-fixed 000000 000000 000000 000000 000000 000000 000000 000000 000000 000000 202020 202020 202020 202020 202020 202020 202020 202020 202020 202020
This works without needing the initialize and I'm using it in a startup script.

I'm using libusb 1.0.22

from liquidctl.

jonasmalacofilho avatar jonasmalacofilho commented on May 19, 2024

For future readers, here is the TL; DR...

While some features might work before that, it is necessary to initialize the Smart Device or Grid+ V3 after powering on or if there have been hardware changes.

# liquidctl initialize

The latest commits (most notably 73ea48c) should have improved the documentation around the original issue, as well as the access violation with PyUSB ✕ libusb v1.0.22.

from liquidctl.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.