Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

can't set speed for mroe then 10 cards #13

Open
xz013 opened this issue Sep 13, 2017 · 7 comments
Open

can't set speed for mroe then 10 cards #13

xz013 opened this issue Sep 13, 2017 · 7 comments

Comments

@xz013
Copy link

xz013 commented Sep 13, 2017

i have 13 card and code set fan speed for only 10 cards ;( how it can set for all 13 cards !

@uaktags
Copy link

uaktags commented Sep 13, 2017

so I'm confused, you have 13 physical cards that are AMDs, but the system only has card0-9 showing up in the directory mentioned previously?
what are the cards that are not being detected? to me it sounds like they aren't compatible with the DRM structure that's being used in
/sys/class/drm/.

@uaktags
Copy link

uaktags commented Sep 13, 2017

No guarantees that this will run, but perhaps try running this and posting the output. Just some "debug" information to show me how far the script is going. This may also be one of the big reasons the developer stopped supporting doing this all via a BASH script and instead opted to go the route of a low-level application.

Put this into a file, call it whatever, chmod +x on it, and then run it. As you can see in the code, it's just going to echo out the /sys/class/drm/card# and then echo out everytime it enters into a hardware monitor section of that card. If it fails to do either of these for that card, that tells me that that card is not supported by this for whatever reason.

#!/usr/bin/env bash

cardcount="0";
for CurrentCard in  /sys/class/drm/card?/ ; do
	 echo "Found: $CurrentCard" # &>/dev/null
	 for CurrentMonitor in "$CurrentCard"device/hwmon/hwmon?/ ; do
		  cd $CurrentMonitor # &>/dev/null
		  echo "CD'd into $CurrentMonitor" # &>/dev/null
	 done
	 cardcount="$(($cardcount + 1))"
done
exit;

@DominiLux
Copy link
Owner

Interesting. Can you provide me with the output of the following command:
ls /sys/class/drm

P.S. I haven't been on here in a while, I stay pretty busy these days.

@jawkhan
Copy link

jawkhan commented Dec 7, 2017

I found a way to get it to work for more than 10, if you change line 53 to the following:

for CurrentCard in /sys/class/drm/card?/ -o /sys/class/drm/card??/ ; do

That fixed the issue for me.

Hope it helps :)

@exeex
Copy link

exeex commented Dec 30, 2017

@DominiLux if the card nunber is over 10
the path would be /sys/class/drm/card11/
which can't be catch by
/sys/class/drm/card?/

@uaktags
Copy link

uaktags commented Jan 11, 2018

@exeex
I believe @jawkhan already answered this. The single wildcard "?" is looking for a single character, it's not looking for a two character value.

@minzak
Copy link

minzak commented Jul 24, 2018

Just need replace hwmon? to hwmon* and work with 10+ card

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

No branches or pull requests

6 participants