GithubHelp home page GithubHelp logo

aedalzotto / asrrgb Goto Github PK

View Code? Open in Web Editor NEW
21.0 21.0 1.0 40 KB

Control ASRock's B550 and TRX40 motherboard series RGB LEDs

License: GNU General Public License v2.0

Makefile 4.11% C++ 91.45% Meson 4.44%

asrrgb's People

Contributors

aedalzotto avatar zhamlin avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

zhamlin

asrrgb's Issues

Reverse Engineering - B550M ITX/AC

B550M-ITX/AC board received this reply with a Read Header Command. This board only has 4 LEDs. This might be the number of programable LED. There was 100 ARGB attached to it. With Bios 1.50.
Max LED Count Command
Read Header 02 : 14 00 02
Reply: A6 00 00 02 01 01 64 50 1e 1e 1e 1e

LED in order are:
RGB1 RGB2 ARGB1 ARGB2 IO PCH PCB AUDIO
B550 Steel 01 01 50 50 05 07 1E 1E
B550M-ITX/AC 01 01 64 50 1E 1E 1E 1E
The B550 was tested with ARGB that has 100 . And I think IO has 5 and PCH has 07 respectively. 1E is for unusable is interesting because that corresponds to 30. Not sure what happens if max addressable led is set to 30 (1E).

RGB Swap Command
Read Header 03: 14 00 03
Reply : A6 00 00 00 03 1C

The reply format is 1C on B550M vs 4. B550M (with 4 zones) 1C = 01 1100 vs Steel Legend (with 6 zones) 4C = 0100 1100 .
This is probably a bit wise evaluation in the following order with a terminating 1 based on max zones from Read 02 command.
Audio PCB PCH IO ARGB2 ARG1 RGB2 RGB1
With 1 being RGB Swap ON

Unknow Header Read Command
Read Header 01 : 14 00 01
Reply: A6 00 00 01 05
The reply is 05 for B550M-ITX/AC vs 3F for B550 Steel Legend
In bits 05 = 0101 vs 3F = 11 1111 But this doesn’t seem to correspond to anything. Maybe firmware version or model?

Reverse Engineering Corrections

Correction#1:

10 Write does not always generate an A6 response (even if successfully written). If you write in linux the answer can be 00 (or maybe that an A4 wasn't sent initial and there changes aren't written to the eeprom after power down.)
The response in this case is 00 00 00 05

The 00 can vary depending on what error state that it has gotten into last (if no A4 command issued).

Example:
Zone write: 10 00 01 0E 00 C6 FF 38 FF 00
Zone Response : 00 00 00 05 00 00 00 00 00 00

Correction #2:

11 Read Command response has a different format. There are two 00 bytes that are replied - not just one as documented.
Example:
Writing: 11 00 01 00 00 00 00 00 00 00
Reading: 00 00 00 01 09 00 C6 FF FF FF

Both commands are used within OpenRGB B550 driver. Not sure how to command or read ARGB.

Correction #3

A4 Command sequence has wrong number of 00. It should be:
A4 00 00 00 01 00 00 00 01

Correction #34

12 is Save Command
Writing this will ensure configuration is saved to EEPROM? so that it will the zone configurations will not be lost after power down.

Shared Libraries error on Arch Linux

Hello.Thank you so much for putting in the work and releasing this. I recently got my B550 Steel Legend up and running and was ecstatic when I found your project. It works great and does exactly what I need. I ran into an issue when updating my Arch Linux system for the first time. I feel like this might be an Arch related issue but considering it is a brand new system I figured I would report it here as well as on the AUR. The issue I ran into is complaining about shared libraries:

'asrrgb: error while loading shared libraries: libboost_program_options.so.1.72.0: cannot open shared object file: No such file or directory'

I was able to fix this for now, although dirty, by linking to the existing libboost_program_options library:

'sudo ln -s /lib64/libboost_program_options.so.1.75.0 /lib64/libboost_program_options.so.1.72.0'

Again I'm not sure if the issue is hard coded into your project or an issue with Arch. Regardless I figured I would report it. Thanks again for your work on this project!

Fedora

I have a TRX40 Creator running Fedora. I don't see any visual response when using your tool. This is after installing rule that matches device present. Perhaps I need to boot into windows and update the firmware. I was hoping to avoid buying/booting Windows and doing the tracing, but I think I may need to.

In addition to the documented protocol, it would be good to have Wireshark traces for each of the example transactions.

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.