YoyPa / isw

Ice-Sealed Wyvern
GNU General Public License v3.0
383 stars 78 forks source link

isw python errors #138

Open fawqsir opened 3 years ago

fawqsir commented 3 years ago

I have a GL65_9SE and running garuda linux (arch).

I get this error after install and a reboot

╰─λsudo sudo isw -w 16U5EMS1

Writing config to EC...
Value       set @ address        Fan mode
0x8c(140)   0xf4(byte244)        Advanced

Traceback (most recent call last):
  File "/usr/bin/isw", line 323, in ec_write
    file.seek(list_cta[i])
OSError: [Errno 22] Invalid argument

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/bin/isw", line 427, in <module>
    main()
  File "/usr/bin/isw", line 424, in main
    parser.parse_args()
  File "/usr/lib/python3.9/argparse.py", line 1818, in parse_args
    args, argv = self.parse_known_args(args, namespace)
  File "/usr/lib/python3.9/argparse.py", line 1851, in parse_known_args
    namespace, args = self._parse_known_args(args, namespace)
  File "/usr/lib/python3.9/argparse.py", line 2060, in _parse_known_args
    start_index = consume_optional(start_index)
  File "/usr/lib/python3.9/argparse.py", line 2000, in consume_optional
    take_action(action, args, option_string)
  File "/usr/lib/python3.9/argparse.py", line 1912, in take_action
    argument_values = self._get_values(action, argument_strings)
  File "/usr/lib/python3.9/argparse.py", line 2443, in _get_values
    value = self._get_value(action, arg_string)
  File "/usr/lib/python3.9/argparse.py", line 2476, in _get_value
    result = type_func(arg_string)
  File "/usr/bin/isw", line 346, in ec_write
    print(Text.FOUR_COLUMN %(
OSError: [Errno 22] Invalid argument

all files are present /etc/isw.conf /etc/modprobe.d/isw-ec_sys.conf /etc/modules-load.d/isw-ec_sys.conf /usr/lib/systemd/system/isw@.service /usr/bin/isw

`╰─λ sudo sudo isw -cp 16U5EMS1

EC dump
       00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
000000 00 80 00 00 00 00 00 00 00 00 00 00 00 00 00 00  >................<
000010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  >................<
000020 00 00 00 00 00 00 00 00 00 00 00 80 c0 06 19 0b  >................<
000030 03 01 00 0d 51 0a 05 00 7a 12 6c 2a ea 01 c7 00  >....Q...z.l*....<
000040 22 0b 3b 00 41 10 00 00 78 09 09 2c e1 0b 0c 30  >".;.A...x..,...0<
000050 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  >................<
000060 00 00 00 00 00 00 00 00 2b 00 32 39 40 47 4e 55  >........+.29@GNU<
000070 64 28 00 28 2f 36 3d 44 4b 00 0a 08 08 08 08 08  >d(.(/6=DK.......<
000080 00 00 37 3c 41 46 4b 50 61 00 00 2d 36 3e 46 4e  >..7<AFKPa..-6>FN<
000090 4e 00 0a 07 07 07 07 07 02 16 7d 02 16 61 00 00  >N.........}..a..<
0000a0 31 36 55 35 45 4d 53 31 2e 31 30 30 30 36 32 35  >16U5EMS1.1000625<
0000b0 32 30 31 39 31 30 3a 32 34 3a 30 37 3e 10 00 00  >201910:24:07>...<
0000c0 00 02 23 00 00 9e 40 00 00 0b 00 00 00 c8 14 00  >..#...@.........<
0000d0 00 00 00 00 70 00 00 00 00 00 00 80 00 00 00 00  >....p...........<
0000e0 e2 02 00 25 10 00 00 00 00 00 02 00 00 9a 00 bc  >...%............<
0000f0 00 00 80 00 0c 80 05 80 00 00 00 00 00 00 00 00  >................<
000100

Profile dump
Value       set @ address        Fan mode
0xc(12)     0xf4(byte244)        Auto

-----------CPU-----------        -----------GPU-----------
Value       set @ address        Value       set @ address
0x32(50°C)  0x6a(byte106)        0x37(55°C)  0x82(byte130)
0x39(57°C)  0x6b(byte107)        0x3c(60°C)  0x83(byte131)
0x40(64°C)  0x6c(byte108)        0x41(65°C)  0x84(byte132)
0x47(71°C)  0x6d(byte109)        0x46(70°C)  0x85(byte133)
0x4e(78°C)  0x6e(byte110)        0x4b(75°C)  0x86(byte134)
0x55(85°C)  0x6f(byte111)        0x50(80°C)  0x87(byte135)

0x0(0%)     0x72(byte114)        0x0(0%)     0x8a(byte138)
0x28(40%)   0x73(byte115)        0x2d(45%)   0x8b(byte139)
0x2f(47%)   0x74(byte116)        0x36(54%)   0x8c(byte140)
0x36(54%)   0x75(byte117)        0x3e(62%)   0x8d(byte141)
0x3d(61%)   0x76(byte118)        0x46(70%)   0x8e(byte142)
0x44(68%)   0x77(byte119)        0x4e(78%)   0x8f(byte143)
0x4b(75%)   0x78(byte120)        0x4e(78%)   0x90(byte144)
`╰─λ sudo systemctl status isw@16U5EMS1.service
● isw@16U5EMS1.service - ISW fan control service
     Loaded: loaded (/usr/lib/systemd/system/isw@.service; enabled; vendor preset: disabled)
     Active: failed (Result: exit-code) since Sat 2020-12-05 16:41:47 CST; 11s ago
    Process: 109801 ExecStartPre=/usr/bin/sleep 2 (code=exited, status=0/SUCCESS)
    Process: 109802 ExecStart=/usr/bin/isw -w 16U5EMS1 (code=exited, status=1/FAILURE)
   Main PID: 109802 (code=exited, status=1/FAILURE)
        CPU: 51ms

Dec 05 16:41:47 jeremy-gl659se isw[109802]:   File "/usr/lib/python3.9/argparse.py", line 2443, in _get_values
Dec 05 16:41:47 jeremy-gl659se isw[109802]:     value = self._get_value(action, arg_string)
Dec 05 16:41:47 jeremy-gl659se isw[109802]:   File "/usr/lib/python3.9/argparse.py", line 2476, in _get_value
Dec 05 16:41:47 jeremy-gl659se isw[109802]:     result = type_func(arg_string)
Dec 05 16:41:47 jeremy-gl659se isw[109802]:   File "/usr/bin/isw", line 346, in ec_write
Dec 05 16:41:47 jeremy-gl659se isw[109802]:     print(Text.FOUR_COLUMN %(
Dec 05 16:41:47 jeremy-gl659se isw[109802]: OSError: [Errno 22] Invalid argument
Dec 05 16:41:47 jeremy-gl659se systemd[1]: isw@16U5EMS1.service: Main process exited, code=exited, status=1/FAILURE
Dec 05 16:41:47 jeremy-gl659se systemd[1]: isw@16U5EMS1.service: Failed with result 'exit-code'.
Dec 05 16:41:47 jeremy-gl659se systemd[1]: Failed to start ISW fan control service.`
╰─λ sudo isw -r 16U5EMS1
-----------CPU-----------        -----------GPU-----------
┌─Temp─┬─Fan Speed──────┐        ┌─Temp─┬─Fan Speed──────┐
│ 41°C │ 0%    0RPM     │        │ 0°C  │ 0%    0RPM     │
└──────┴────────────────┘        └──────┴────────────────┘
TurboGraphxBeige commented 3 years ago

sudo sudo isw -cp 16U5EMS1

sudo sudo ??

fawqsir commented 3 years ago

Typo my bad

fawqsir commented 3 years ago

in the isw conf file for that profile it mentions a zip file

# GL65_9SD GL65_9SDK GL65_9SE GL65_9SEK (using 2nd profile in 16U5EMS1.100.zip)

fawqsir commented 3 years ago
╰─λ sudo isw -r
usage: isw [-h] [-b B] [-c] [-f FILE] [-p P] [-r R] [-s S S] [-u USB] [-w W]
isw: error: argument -r: expected one argument

I thought this was supposed to work without another argument

╰─λ sudo isw -r 16U5EMS1
-----------CPU-----------        -----------GPU-----------
┌─Temp─┬─Fan Speed──────┐        ┌─Temp─┬─Fan Speed──────┐
│ 44°C │ 0%    0RPM     │        │ 0°C  │ 0%    0RPM     │
└──────┴────────────────┘        └──────┴────────────────┘
TurboGraphxBeige commented 3 years ago

You don't seem to have the latest version or something like that. Did you clone the repo?(git clone https://github.com/YoyPa/isw.git)

According to the errors you have and the line numbers, we don't have the same code base.

fawqsir commented 3 years ago

I installed with sudo pacman -Syu isw

fawqsir commented 3 years ago
 sudo pacman -Qs isw
local/isw 1.10-1
    Fan control tool for MSI gaming series laptops`
fawqsir commented 3 years ago

I think that you're right in pamac manager it shows that isw was last modified 2019-10-25.

as it does on aur https://aur.archlinux.org/packages/isw

fawqsir commented 3 years ago

what are the chances of updating AUR?

TurboGraphxBeige commented 3 years ago

Seems to be the latest release according to the repo here.

Trying uninstalling from your package manager and clone the repo instead. That's what I did and everything works fine.

fawqsir commented 3 years ago

Perhaps I didn't do this right.

I uninstalled with pamac. Then ran git clone https://github.com/YoyPa/isw.git

then I copied the files to the correct place and made sure their permissions were correct.

╰─λ sudo isw -cp 16U5EMS1

EC dump
       00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
000000 00 80 00 00 00 00 00 00 00 00 00 00 00 00 00 00  >................<
000010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  >................<
000020 00 00 00 00 00 00 00 00 00 00 00 80 c0 06 19 0b  >................<
000030 03 01 00 05 51 0a 05 00 7a 12 6c 2a ea 01 c7 00  >....Q...z.l*....<
000040 22 0b 3b 00 41 10 00 00 78 09 08 2c e1 0b 0c 30  >".;.A...x..,...0<
000050 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  >................<
000060 00 00 00 00 00 00 00 00 2b 00 32 39 40 47 4e 55  >........+.29@GNU<
000070 64 00 00 28 2f 36 3d 44 4b 00 0a 08 08 08 08 08  >d..(/6=DK.......<
000080 00 00 37 3c 41 46 4b 50 61 00 00 2d 36 3e 46 4e  >..7<AFKPa..-6>FN<
000090 4e 00 0a 07 07 07 07 07 02 16 7d 02 16 61 00 00  >N.........}..a..<
0000a0 31 36 55 35 45 4d 53 31 2e 31 30 30 30 36 32 35  >16U5EMS1.1000625<
0000b0 32 30 31 39 31 30 3a 32 34 3a 30 37 3e 10 00 00  >201910:24:07>...<
0000c0 00 02 23 00 00 9e 40 00 00 0d 00 00 00 00 14 00  >..#...@.........<
0000d0 00 00 00 00 70 00 00 00 00 00 00 80 00 00 00 00  >....p...........<
0000e0 e2 02 00 25 10 00 00 00 00 00 02 00 00 9a 00 bc  >...%............<
0000f0 00 00 80 00 0c 80 05 80 00 00 00 00 00 00 00 00  >................<
000100

Profile dump
Value       set @ address        Fan mode
0xc(12)     0xf4(byte244)        Auto

Value       set @ address        Charging below - stop @
0xbc(188)   0xef(byte239)        50% - 60%

-----------CPU-----------        -----------GPU-----------
Value       set @ address        Value       set @ address
0x32(50°C)  0x6a(byte106)        0x37(55°C)  0x82(byte130)
0x39(57°C)  0x6b(byte107)        0x3c(60°C)  0x83(byte131)
0x40(64°C)  0x6c(byte108)        0x41(65°C)  0x84(byte132)
0x47(71°C)  0x6d(byte109)        0x46(70°C)  0x85(byte133)
0x4e(78°C)  0x6e(byte110)        0x4b(75°C)  0x86(byte134)
0x55(85°C)  0x6f(byte111)        0x50(80°C)  0x87(byte135)

0x0(0%)     0x72(byte114)        0x0(0%)     0x8a(byte138)
0x28(40%)   0x73(byte115)        0x2d(45%)   0x8b(byte139)
0x2f(47%)   0x74(byte116)        0x36(54%)   0x8c(byte140)
0x36(54%)   0x75(byte117)        0x3e(62%)   0x8d(byte141)
0x3d(61%)   0x76(byte118)        0x46(70%)   0x8e(byte142)
0x44(68%)   0x77(byte119)        0x4e(78%)   0x8f(byte143)
0x4b(75%)   0x78(byte120)        0x4e(78%)   0x90(byte144)
╰─λ sudo isw -w 16U5EMS1

Writing config to EC...
Value       set @ address        Fan mode
0x8c(140)   0xf4(byte244)        Advanced

Traceback (most recent call last):
  File "/usr/bin/isw", line 356, in ec_write
    file.seek(bcta)
OSError: [Errno 22] Invalid argument

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/bin/isw", line 499, in <module>
    main()
  File "/usr/bin/isw", line 496, in main
    parser.parse_args()
  File "/usr/lib/python3.9/argparse.py", line 1818, in parse_args
    args, argv = self.parse_known_args(args, namespace)
  File "/usr/lib/python3.9/argparse.py", line 1851, in parse_known_args
    namespace, args = self._parse_known_args(args, namespace)
  File "/usr/lib/python3.9/argparse.py", line 2060, in _parse_known_args
    start_index = consume_optional(start_index)
  File "/usr/lib/python3.9/argparse.py", line 2000, in consume_optional
    take_action(action, args, option_string)
  File "/usr/lib/python3.9/argparse.py", line 1912, in take_action
    argument_values = self._get_values(action, argument_strings)
  File "/usr/lib/python3.9/argparse.py", line 2443, in _get_values
    value = self._get_value(action, arg_string)
  File "/usr/lib/python3.9/argparse.py", line 2476, in _get_value
    result = type_func(arg_string)
  File "/usr/bin/isw", line 391, in ec_write
    print(Text.FOUR_COLUMN %(
OSError: [Errno 22] Invalid argument
╰─λ sudo isw -r 16U5EMS1

-----------CPU-----------        -----------GPU-----------
┌─Temp─┬─Fan Speed──────┐        ┌─Temp─┬─Fan Speed──────┐

└──────┴────────────────┘        └──────┴────────────────┘
TurboGraphxBeige commented 3 years ago

Well, I'm out of ideas!

fawqsir commented 3 years ago

Thanks for helping! I really do appreciate your efforts. @YoyPa do you have any ideas? I am willing to help further. I wonder if it has to do with the kernel?

5.9.11-zen2-1-zen

fawqsir commented 3 years ago

I switched kernels to linux-tkg-pds and still getting the same errors.

venglov commented 3 years ago

Hey, i had the same problem on manjaro. Fixed it with a small script changing the symbol 'N" to 'Y' in /sys/module/ec_sys/parameters/write_support.

Firtstly just try sudo nano /sys/module/ec_sys/parameters/write_support and change N to Y and then sudo isw -w YOURMODEL

fawqsir commented 3 years ago

sudo nano /sys/module/ec_sys/parameters/write_support and change N to Y and then sudo isw -w YOURMODEL

This is the answer! Thanks so much

EDIT: After reboot the fire reverts to N. How to keep this as a Y. May I please see your script to fix this file?

fawqsir commented 3 years ago

It would be nice to add it to the isw@service.

I tried sudo sed -i 's/N/Y/g' /sys/module/ec_sys/parameters/write_support but that didn't work for me.

sudo sh -c "echo Y > /sys/module/ec_sys/parameters/write_support" works.