G14Manager icon indicating copy to clipboard operation
G14Manager copied to clipboard

Program exits with "cannot get dependencies"

Open Darkyenus opened this issue 3 years ago • 10 comments

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.

Darkyenus avatar Oct 27 '21 17:10 Darkyenus

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

zllovesuki avatar Oct 27 '21 17:10 zllovesuki

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?

Darkyenus avatar Oct 27 '21 18:10 Darkyenus

I have the same issue.

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

hasan-hasanov avatar Oct 31 '21 18:10 hasan-hasanov

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)

zllovesuki avatar Oct 31 '21 23:10 zllovesuki

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?

bbtra avatar Mar 21 '22 17:03 bbtra

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

zllovesuki avatar May 22 '22 10:05 zllovesuki

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".

ffgrep avatar Jul 15 '22 17:07 ffgrep

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

zllovesuki avatar Jul 25 '22 13:07 zllovesuki

@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.

ffgrep avatar Jul 25 '22 18:07 ffgrep

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

zllovesuki avatar Jul 25 '22 19:07 zllovesuki