Skip to content
This repository has been archived by the owner on Apr 19, 2024. It is now read-only.

Program exits with "cannot get dependencies" #73

Open
Darkyenus opened this issue Oct 27, 2021 · 10 comments
Open

Program exits with "cannot get dependencies" #73

Darkyenus opened this issue Oct 27, 2021 · 10 comments

Comments

@Darkyenus
Copy link

Running latest release v0.4.3 on ROG Zephyrus G14 GA401QM_GA401QM (2021 model with Anime Matrix) immediately fails with following output and exit code 1:

2021/10/27 19:17:43 G14Manager version: v0.4.3-debug
2021/10/27 19:17:43 [supervisor] cannot get dependencies

All relevant Asus system services are disabled and stopped.

Device manager shows "Armoury Crate Control Interface" and "ASUS System Control Interface v3" both installed (Readme mentions v2, not v3, maybe that is the problem?). atkwmiacpi64.sys is shown with version 2.1.29.0.

@zllovesuki
Copy link
Owner

The 2021 year model G14 is not validated to be used with G14Manager (I don't have one to test it out).

@Darkyenus
Copy link
Author

Is there anything I can do to help with extending support for it? If you don't have time to do it, could you please give me some pointers to where should I start my investigation?

@hasan-hasanov
Copy link

I have the same issue.

2021 Model with exact same problem. I am here to help too if I can provide something.

@zllovesuki
Copy link
Owner

Let me get back to you all next week sometime. Been very busy lately.

However, this is the function returning the error: https://github.com/zllovesuki/G14Manager/blob/main/controller/cmd.go#L40

You could recompile a build that prints the error message. It was an oversight on my part (forgetting to do that)

@bbtra
Copy link

bbtra commented Mar 21, 2022

The 2021 year model G14 is not validated to be used with G14Manager (I don't have one to test it out).

I can ask you some questions about how to change the background to white on Armory Crate?Can you help me?

@zllovesuki
Copy link
Owner

The 2021 year model G14 is not validated to be used with G14Manager (I don't have one to test it out).

I can ask you some questions about how to change the background to white on Armory Crate?Can you help me?

There's a proof of concept under poc/matrix. You can give it a try

@ffgrep
Copy link

ffgrep commented Jul 15, 2022

I also ran into this issue. I took a look, and it seems that the code is looking for a HID device with vendor ID = 0x0b05 and product ID = 0x1866, which is not found on my system (GA401Q). However, \Device\ATKACPI is present in WinObj.

asusctl (the equivalent of this project for Linux) supposedly supports this laptop, and has a slightly different product ID matching:

ENV{ID_MODEL_ID}=="1[89][a-zA-Z0-9][a-zA-Z0-9]|193b"

On my machine (GA401Q), I seem to have 2 products:

  • 193b
  • 19b6

If I change the product ID to 0x193b, the hid_enumerate function seems to hit the code path that recognizes the device and does things with it, but I haven't had time to investigate further. It doesn't seem to work yet, but it's a step in the right direction.

Edit: the correct product ID might be 19b6; searching for that product ID yields several device paths, but none that match exactly kbControlDevice = "mi_02&col01".

@zllovesuki
Copy link
Owner

I also ran into this issue. I took a look, and it seems that the code is looking for a HID device with vendor ID = 0x0b05 and product ID = 0x1866, which is not found on my system (GA401Q). However, \Device\ATKACPI is present in WinObj.

asusctl (the equivalent of this project for Linux) supposedly supports this laptop, and has a slightly different product ID matching:

ENV{ID_MODEL_ID}=="1[89][a-zA-Z0-9][a-zA-Z0-9]|193b"

On my machine (GA401Q), I seem to have 2 products:

* 193b

* 19b6

If I change the product ID to 0x193b, the hid_enumerate function seems to hit the code path that recognizes the device and does things with it, but I haven't had time to investigate further. It doesn't seem to work yet, but it's a step in the right direction.

Edit: the correct product ID might be 19b6; searching for that product ID yields several device paths, but none that match exactly kbControlDevice = "mi_02&col01".

You might be able to improve the matching logic with regex. Implemented hard-coded comparison because at the time I only had the 2020y model

@ffgrep
Copy link

ffgrep commented Jul 25, 2022

@zllovesuki I fixed the matching logic, but it still fails. The initBufs bytes have been updated and are now incorrect (e.g. 5A 89 is changed to 5D B9 etc), but even after fixing these and after receiving the following message:

device: \\?\hid#vid_0b05&pid_19b6&mi_00&col03#8&3a080f36&0&0002#{4d1e55b2-f16f-11cf-88cb-001111000030} (721297) write input buffer [0:8]: [93 185 0 0 0 0 0 0]
device: write output buffer [0:8]: [0 0 0 0 0 0 0 0]
device: \\?\hid#vid_0b05&pid_19b6&mi_00&col03#8&3a080f36&0&0002#{4d1e55b2-f16f-11cf-88cb-001111000030} (721297) write input buffer [0:8]: [93 65 83 85 83 32 84 101]
device: write output buffer [0:8]: [0 0 0 0 0 0 0 0]
device: \\?\hid#vid_0b05&pid_19b6&mi_00&col03#8&3a080f36&0&0002#{4d1e55b2-f16f-11cf-88cb-001111000030} (721297) write input buffer [0:8]: [93 5 32 49 0 8 0 0]
device: write output buffer [0:8]: [0 0 0 0 0 0 0 0]
keyboard control plugin initialized successfully.

...it still fails when applying the configuration with:

[controller] Recoverable error in controller loop: [controller] error applying configurations: Incorrect function.
[supervisor] event: controllerSupervisor: Failed service 'Controller' (4.905327 failures of 5.000000), restarting: true

I'm still looking into it - if I manage to fix it, I'll send you a PR.

@zllovesuki
Copy link
Owner

@ffgrep appreciate it 🙏 I don't have an G14 to test anymore and work is busy 🥲

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

No branches or pull requests

5 participants