Giter Club home page Giter Club logo

borealis's People

Contributors

philpax avatar

Stargazers

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

Watchers

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

borealis's Issues

Granular/scripted control over LEDs

Currently, Borealis only allows users to set the entire system's LEDs to the same colour (specified via CLI). Ideally, more granular control would be offered, including being able to control individual controllers and LEDs.

Additionally, given that people love their RGB animations, some kind of animation or scripting interface would be good. I'm thinking Lua; I've been looking for an excuse to play with rlua...

Can't connect to Aura MB controller

I need to change my laptop keyboard backlight.

Here's my HW probe result:
https://linux-hardware.org/?probe=27bb2f0366
There I see my i2c_piix4 vendor is AMD and my keyboard is PS/2.

I've patched the i2c-piix4 module and here's the result of calling sudo i2cdetect -l:

i2c-3	smbus     	SMBus PIIX4 adapter port 2 at 0b00	SMBus adapter
i2c-10	i2c       	NVIDIA i2c adapter 5 at 1:00.0  	I2C adapter
i2c-1	i2c       	NVIDIA GPU I2C adapter          	I2C adapter
i2c-8	i2c       	dmdc                            	I2C adapter
i2c-6	smbus     	SMBus PIIX4 adapter port 1 at 0b20	SMBus adapter
i2c-4	smbus     	SMBus PIIX4 adapter port 3 at 0b00	SMBus adapter
i2c-2	smbus     	SMBus PIIX4 adapter port 0 at 0b00	SMBus adapter
i2c-0	i2c       	Synopsys DesignWare I2C adapter 	I2C adapter
i2c-9	i2c       	NVIDIA i2c adapter 1 at 1:00.0  	I2C adapter
i2c-7	i2c       	AMDGPU DM i2c hw bus 0          	I2C adapter
i2c-5	smbus     	SMBus PIIX4 adapter port 4 at 0b00	SMBus adapter

I've called chmod 777 to all the SMBus PIIX4 adapters (/dev/i2c-6, etc.).

When I run Borealis:

smbus: /sys/bus/pci/devices/0000:00:14.0
i2c-sys: /dev/i2c-2
i2c-aux: /dev/i2c-6
thread 'main' panicked at 'Can't connect to Aura MB controller. If using an AMD system, have you applied the kernel patch?: I2CError(Nix(Sys(EIO)))', src/libcore/result.rs:999:5
note: Run with `RUST_BACKTRACE=1` environment variable to display a backtrace.

My kernel info:

$ uname -r
5.2.0-1-MANJARO

$ dkms status
deepin-anything, 0.1.0, 4.19.56-1-MANJARO, x86_64: installed
deepin-anything, 0.1.0, 5.2.0-1-MANJARO, x86_64: installed
i2c-piix4, 1.0, 5.2.0-1-MANJARO, x86_64: installed

failed to locate auxiliary controller

I have a Zenith Extreme and borealis doesn't seem to be able to find the I2C interfaces.

smbus: /sys/bus/pci/devices/0000:00:14.0
i2c-sys: /dev/i2c-3
thread 'main' panicked at 'failed to locate auxiliary controller for MB Aura', src/libcore/option.rs:1038:5
note: Run with `RUST_BACKTRACE=1` environment variable to display a backtrace.

Some more info.

$ i2cdetect -l
i2c-3	unknown   	SMBus PIIX4 adapter port 3 at 0b00	N/A
i2c-10	unknown   	NVIDIA i2c adapter 8 at 41:00.0 	N/A
i2c-1	unknown   	SMBus PIIX4 adapter port 0 at 0b00	N/A
i2c-8	unknown   	NVIDIA i2c adapter 6 at 41:00.0 	N/A
i2c-6	unknown   	NVIDIA i2c adapter 2 at 41:00.0 	N/A
i2c-4	unknown   	SMBus PIIX4 adapter port 4 at 0b00	N/A
i2c-11	unknown   	NVIDIA i2c adapter 9 at 41:00.0 	N/A
i2c-2	unknown   	SMBus PIIX4 adapter port 2 at 0b00	N/A
i2c-0	unknown   	Synopsys DesignWare I2C adapter 	N/A
i2c-9	unknown   	NVIDIA i2c adapter 7 at 41:00.0 	N/A
i2c-7	unknown   	NVIDIA i2c adapter 4 at 41:00.0 	N/A
i2c-5	unknown   	NVIDIA i2c adapter 1 at 41:00.0 	N/A

thread 'main' panicked at 'failed to parse port: ParseIntError { kind: InvalidDigit }', src/libcore/result.rs:999:5

[id:~/.dev/borealis] master(+2/-0) ± cargo run 120 0 120
    Finished dev [unoptimized + debuginfo] target(s) in 0.01s
     Running `target/debug/borealis 120 0 120`
smbus: /sys/bus/pci/devices/0000:00:1f.4
thread 'main' panicked at 'failed to parse port: ParseIntError { kind: InvalidDigit }', src/libcore/result.rs:999:5
note: Run with `RUST_BACKTRACE=1` environment variable to display a backtrace.
[id:~/.dev/borealis] master(+2/-0) 101 ± RUST_BACKTRACE=1 cargo run 120 0 120
    Finished dev [unoptimized + debuginfo] target(s) in 0.01s
     Running `target/debug/borealis 120 0 120`
smbus: /sys/bus/pci/devices/0000:00:1f.4
thread 'main' panicked at 'failed to parse port: ParseIntError { kind: InvalidDigit }', src/libcore/result.rs:999:5
stack backtrace:
   0: std::sys::unix::backtrace::tracing::imp::unwind_backtrace
   1: std::sys_common::backtrace::print
   2: std::panicking::default_hook::{{closure}}
   3: std::panicking::default_hook
   4: std::panicking::rust_panic_with_hook
   5: std::panicking::continue_panic_fmt
   6: rust_begin_unwind
   7: core::panicking::panic_fmt
   8: core::result::unwrap_failed
             at /usr/src/rustc-1.36.0/src/libcore/macros.rs:18
   9: core::result::Result<T,E>::expect
             at /usr/src/rustc-1.36.0/src/libcore/result.rs:827
  10: borealis::i2c::find_i2c_adapters
             at src/i2c.rs:53
  11: borealis::main
             at src/main.rs:35
  12: std::rt::lang_start::{{closure}}
             at /usr/src/rustc-1.36.0/src/libstd/rt.rs:64
  13: std::panicking::try::do_call
  14: __rust_maybe_catch_panic
  15: std::rt::lang_start_internal
  16: std::rt::lang_start
             at /usr/src/rustc-1.36.0/src/libstd/rt.rs:64
  17: main
  18: __libc_start_main
  19: _start
[id:~/.dev/borealis] master(+2/-0) 101 ± sudo modprobe i2c-dev
[id:~/.dev/borealis] master(+2/-0) ± cargo run 120 0 120
    Finished dev [unoptimized + debuginfo] target(s) in 0.01s
     Running `target/debug/borealis 120 0 120`
smbus: /sys/bus/pci/devices/0000:00:1f.4
thread 'main' panicked at 'failed to parse port: ParseIntError { kind: InvalidDigit }', src/libcore/result.rs:999:5
note: Run with `RUST_BACKTRACE=1` environment variable to display a backtrace.
[id:~/.dev/borealis] master(+2/-0) 101 ± 

More consistent initialisation from cold boot

Currently, whether or not the required I2C addresses are present on the bus is almost entirely dependent on whether they have been initialised by Aura Sync on Windows prior. While it sort of works right now, it'd be preferable to actually initialise them from Borealis.

Doesn't work on Gigabyte x570 I aurous Pro Wifi

Probably not surprising but it doesn't seem to work on Gigabyte x570 motherboards.

🤷‍♀️ Eh... It was worth trying... I mean Aurous sounds a bit like aura... Right?

I wondered if they might be using the same controller and/or protocol, but the program never got as far as testing that, the failure was: thread 'main' panicked at 'failed to locate AMD system SMBus', src/libcore/option.rs:1188:5

i2c-dev loaded, binary run as root.

You can close this issue when you are done laughing at me for trying.

Testing

Hey,

I am running an ASUS TUF H310-Plus with Aura and I get the following error:

cargo run 127 0 127 Finished dev [unoptimized + debuginfo] target(s) in 0.02s Running target/debug/borealis 127 0 127smbus: /sys/bus/pci/devices/0000:00:1f.4 thread 'main' panicked at 'failed to parse port: ParseIntError { kind: InvalidDigit }', src/libcore/result.rs:997:5 note: Run withRUST_BACKTRACE=1 environment variable to display a backtrace.

Can I collect any information to help troubleshoot?

i2cdetect -l i2c-0 i2c i915 gmbus dpb I2C adapter i2c-1 i2c i915 gmbus dpc I2C adapter i2c-2 i2c i915 gmbus misc I2C adapter i2c-3 i2c i915 gmbus dpd I2C adapter i2c-4 i2c DPDDC-E I2C adapter i2c-5 smbus SMBus I801 adapter at efa0 SMBus adapter

# lspci 00:00.0 Host bridge: Intel Corporation 8th Gen Core Processor Host Bridge/DRAM Registers (rev 08) 00:02.0 VGA compatible controller: Intel Corporation 8th Gen Core Processor Gaussian Mixture Model 00:14.0 USB controller: Intel Corporation Cannon Lake PCH USB 3.1 xHCI Host Controller (rev 10) 00:14.2 RAM memory: Intel Corporation Cannon Lake PCH Shared SRAM (rev 10) 00:16.0 Communication controller: Intel Corporation Cannon Lake PCH HECI Controller (rev 10) 00:17.0 SATA controller: Intel Corporation Cannon Lake PCH SATA AHCI Controller (rev 10) 00:1c.0 PCI bridge: Intel Corporation Cannon Lake PCH PCI Express Root Port #5 (rev f0) 00:1c.6 PCI bridge: Intel Corporation Cannon Lake PCH PCI Express Root Port #7 (rev f0) 00:1f.0 ISA bridge: Intel Corporation Device a303 (rev 10) 00:1f.3 Audio device: Intel Corporation Cannon Lake PCH cAVS (rev 10) 00:1f.4 SMBus: Intel Corporation Cannon Lake PCH SMBus Controller (rev 10) 00:1f.5 Serial bus controller [0c80]: Intel Corporation Cannon Lake PCH SPI Controller (rev 10) 00:1f.6 Ethernet controller: Intel Corporation Ethernet Connection (7) I219-V (rev 10) 02:00.0 PCI bridge: ASMedia Technology Inc. ASM1083/1085 PCIe to PCI Bridge (rev 04)

ls /sys/bus/pci/devices 0000:00:00.0 0000:00:02.0 0000:00:14.0 0000:00:14.2 0000:00:16.0 0000:00:17.0 0000:00:1c.0 0000:00:1c.6 0000:00:1f.0 0000:00:1f.3 0000:00:1f.4 0000:00:1f.5 0000:00:1f.6 0000:02:00.0

Regards,

Not working on ASUS ROG Strix H270F

Hi, I downloaded this program to stop the lights from flashing on my Ubuntu box, however I keep getting this error whenever I run it.

warning: use of deprecated item 'std::error::Error::description': use the Display impl or to_string()
  --> src/aura_error.rs:33:45
   |
33 |             AuraError::I2CError(ref e) => e.description(),
   |                                             ^^^^^^^^^^^
   |
   = note: `#[warn(deprecated)]` on by default

warning: use of deprecated item 'std::error::Error::description': use the Display impl or to_string()
  --> src/aura_error.rs:34:44
   |
34 |             AuraError::IOError(ref e) => e.description(),
   |                                            ^^^^^^^^^^^

    Finished dev [unoptimized + debuginfo] target(s) in 0.01s
     Running `target/debug/borealis 127 0 127`
smbus: /sys/bus/pci/devices/0000:00:1f.4
thread 'main' panicked at 'failed to locate AMD system SMBus', src/main.rs:37:19
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
 %  thelmgn@Cana  ~/borealis    i2cdetect -l                                                                                                                                                                                           57.7s  Tue 08 Dec 2020 16:33:55 UTC
i2c-3	unknown   	i915 gmbus dpd                  	N/A
i2c-1	unknown   	i915 gmbus dpc                  	N/A
i2c-4	unknown   	DPDDC-B                         	N/A
i2c-2	unknown   	i915 gmbus dpb                  	N/A
i2c-0	unknown   	SMBus I801 adapter at f040      	N/A

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.