Thanks to tear and the rest of the Area 51 crew for this list. 8/28/2012 - Updated to TPC version 0.43 2/19/2013 - Updated to TPC version 0.44-rc2 (previously) 10/9/2013 - remove i2c-tools/i2c-dev references Here are some basic things to have installed and to check for with a 2p/4p G34 system. Please continue to join the irc channel for more specific help. You need these basics in place first, though. Packages If you plan to use TurionPowerControl prior to a reboot, the following modules need to be activated via modprobe: Code: sudo modprobe cpuid sudo modprobe msr Adding the modules to /etc/modules will activate them when your system loads the OS, so you will not need to modprobe them after each reboot. Code: sudo nano /etc/modules You should see something like this: Code: # /etc/modules: kernel modules to load at boot time. # # This file contains the names of kernel modules that should be loaded # at boot time, one per line. Lines beginning with "#" are ignored. lp rtc Add msr and cpuid to this list: Code: # /etc/modules: kernel modules to load at boot time. # # This file contains the names of kernel modules that should be loaded # at boot time, one per line. Lines beginning with "#" are ignored. lp rtc msr cpuid Exit and save. The next time you reboot, these modules will load with the OS. The build-essential package will give you the compilers you will need. You may have downloaded part of this package (gcc) when you installed thekraken. Go ahead and get the rest of it. Code: sudo apt-get install build-essential TurionPowerControl is a very useful utility for system information on any AMD-based system. Version 0.41 was the most recent as of this post. To install this, we are going to: 1. Download the tarball 2. Un-tar the tarball 3. move to the src directory 4. compile it (make and sudo make install) 5. Make a hard link from TurionPowerControl to tpc First, make sure you have the ncurses-dev package installed. With Ubuntu, use apt-get install: Code: sudo apt-get install ncurses-dev Then go through the install steps: Code: cd ~ wget http://turionpowercontrol.googlecode.com/files/tpc-0.44-rc2.tar.gz tar xvf tpc-0.44-rc2.tar.gz cd tpc-0.44-rc2/src make sudo make install One common use case - show your current CPU temperatures: Code: sudo tpc -temp Just type 'tpc' to see a list of all of the options. Configuration Temps - need to be under 70C, else you will run into thermal throttling Code: sudo tpc -temp Memory - populated evenly, 4 sticks/CPU minimum - if your board has 8 slots/CPU, the slot closest to each CPU should not be populated - run Code: grep MemTotal /sys/devices/system/node/node[0-9]*/* Make sure that: 1. There are 8 nodes total 2. Each node has the correct amount of memory (they should normally be the same amount unless you have an odd memory configuration) Example output - 16 x 1Gb memory modules: Code: sys/devices/system/node/node0/meminfo:Node 0 MemTotal: 2096696 kB sys/devices/system/node/node1/meminfo:Node 1 MemTotal: 2095744 kB sys/devices/system/node/node2/meminfo:Node 2 MemTotal: 2097152 kB sys/devices/system/node/node3/meminfo:Node 3 MemTotal: 2097152 kB sys/devices/system/node/node4/meminfo:Node 4 MemTotal: 2097152 kB sys/devices/system/node/node5/meminfo:Node 5 MemTotal: 2097152 kB sys/devices/system/node/node6/meminfo:Node 6 MemTotal: 2097152 kB sys/devices/system/node/node7/meminfo:Node 7 MemTotal: 2097152 kB - Check memory timings: Code: sudo tpc -dram All timings should be identical across all nodes and DCTs (MaxRdLatency values may vary a little, which is fine) Sample ouput - basic 1333 C9 memory (most memory should default to something close to this by default) Code: Turion Power States Optimization and Control - by blackshard - v0.41 DRAM Configuration Status Node 0 --- DCT0: memory type: DDR3 frequency: 1332 MHz Tcl=9 Trcd=9 Trp=9 Tras=24 Access Mode:1T Trtp=5 Trc=33 Twr=9 Trrd=4 Tcwl=7 Tfaw=20 TrwtWB=8 TrwtTO=7 Twtr=5 Twrrd=2 Twrwr=4 Trdrd=3 Tref=2 Trfc0=0 Trfc1=2 Trfc2=0 Trfc3=0 MaxRdLatency=52 DCT1: memory type: DDR3 frequency: 1332 MHz Tcl=9 Trcd=9 Trp=9 Tras=24 Access Mode:1T Trtp=5 Trc=33 Twr=9 Trrd=4 Tcwl=7 Tfaw=20 TrwtWB=8 TrwtTO=7 Twtr=5 Twrrd=2 Twrwr=4 Trdrd=3 Tref=2 Trfc0=0 Trfc1=2 Trfc2=0 Trfc3=0 MaxRdLatency=52 Node 1 --- DCT0: memory type: DDR3 frequency: 1332 MHz Tcl=9 Trcd=9 Trp=9 Tras=24 Access Mode:1T Trtp=5 Trc=33 Twr=9 Trrd=4 Tcwl=7 Tfaw=20 TrwtWB=8 TrwtTO=7 Twtr=5 Twrrd=2 Twrwr=4 Trdrd=3 Tref=2 Trfc0=0 Trfc1=2 Trfc2=0 Trfc3=0 MaxRdLatency=50 DCT1: memory type: DDR3 frequency: 1332 MHz Tcl=9 Trcd=9 Trp=9 Tras=24 Access Mode:1T Trtp=5 Trc=33 Twr=9 Trrd=4 Tcwl=7 Tfaw=20 TrwtWB=8 TrwtTO=7 Twtr=5 Twrrd=2 Twrwr=4 Trdrd=3 Tref=2 Trfc0=0 Trfc1=2 Trfc2=0 Trfc3=0 MaxRdLatency=51 Node 2 --- DCT0: memory type: DDR3 frequency: 1332 MHz Tcl=9 Trcd=9 Trp=9 Tras=24 Access Mode:1T Trtp=5 Trc=33 Twr=9 Trrd=4 Tcwl=7 Tfaw=20 TrwtWB=8 TrwtTO=7 Twtr=5 Twrrd=2 Twrwr=4 Trdrd=3 Tref=2 Trfc0=0 Trfc1=2 Trfc2=0 Trfc3=0 MaxRdLatency=52 DCT1: memory type: DDR3 frequency: 1332 MHz Tcl=9 Trcd=9 Trp=9 Tras=24 Access Mode:1T Trtp=5 Trc=33 Twr=9 Trrd=4 Tcwl=7 Tfaw=20 TrwtWB=8 TrwtTO=7 Twtr=5 Twrrd=2 Twrwr=4 Trdrd=3 Tref=2 Trfc0=0 Trfc1=2 Trfc2=0 Trfc3=0 MaxRdLatency=51 Node 3 --- DCT0: memory type: DDR3 frequency: 1332 MHz Tcl=9 Trcd=9 Trp=9 Tras=24 Access Mode:1T Trtp=5 Trc=33 Twr=9 Trrd=4 Tcwl=7 Tfaw=20 TrwtWB=8 TrwtTO=7 Twtr=5 Twrrd=2 Twrwr=4 Trdrd=3 Tref=2 Trfc0=0 Trfc1=2 Trfc2=0 Trfc3=0 MaxRdLatency=49 DCT1: memory type: DDR3 frequency: 1332 MHz Tcl=9 Trcd=9 Trp=9 Tras=24 Access Mode:1T Trtp=5 Trc=33 Twr=9 Trrd=4 Tcwl=7 Tfaw=20 TrwtWB=8 TrwtTO=7 Twtr=5 Twrrd=2 Twrwr=4 Trdrd=3 Tref=2 Trfc0=0 Trfc1=2 Trfc2=0 Trfc3=0 MaxRdLatency=50 Node 4 --- DCT0: memory type: DDR3 frequency: 1332 MHz Tcl=9 Trcd=9 Trp=9 Tras=24 Access Mode:1T Trtp=5 Trc=33 Twr=9 Trrd=4 Tcwl=7 Tfaw=20 TrwtWB=8 TrwtTO=7 Twtr=5 Twrrd=2 Twrwr=4 Trdrd=3 Tref=2 Trfc0=0 Trfc1=2 Trfc2=0 Trfc3=0 MaxRdLatency=51 DCT1: memory type: DDR3 frequency: 1332 MHz Tcl=9 Trcd=9 Trp=9 Tras=24 Access Mode:1T Trtp=5 Trc=33 Twr=9 Trrd=4 Tcwl=7 Tfaw=20 TrwtWB=8 TrwtTO=7 Twtr=5 Twrrd=2 Twrwr=4 Trdrd=3 Tref=2 Trfc0=0 Trfc1=2 Trfc2=0 Trfc3=0 MaxRdLatency=51 Node 5 --- DCT0: memory type: DDR3 frequency: 1332 MHz Tcl=9 Trcd=9 Trp=9 Tras=24 Access Mode:1T Trtp=5 Trc=33 Twr=9 Trrd=4 Tcwl=7 Tfaw=20 TrwtWB=8 TrwtTO=7 Twtr=5 Twrrd=2 Twrwr=4 Trdrd=3 Tref=2 Trfc0=0 Trfc1=2 Trfc2=0 Trfc3=0 MaxRdLatency=50 DCT1: memory type: DDR3 frequency: 1332 MHz Tcl=9 Trcd=9 Trp=9 Tras=24 Access Mode:1T Trtp=5 Trc=33 Twr=9 Trrd=4 Tcwl=7 Tfaw=20 TrwtWB=8 TrwtTO=7 Twtr=5 Twrrd=2 Twrwr=4 Trdrd=3 Tref=2 Trfc0=0 Trfc1=2 Trfc2=0 Trfc3=0 MaxRdLatency=49 Node 6 --- DCT0: memory type: DDR3 frequency: 1332 MHz Tcl=9 Trcd=9 Trp=9 Tras=24 Access Mode:1T Trtp=5 Trc=33 Twr=9 Trrd=4 Tcwl=7 Tfaw=20 TrwtWB=8 TrwtTO=7 Twtr=5 Twrrd=2 Twrwr=4 Trdrd=3 Tref=2 Trfc0=0 Trfc1=2 Trfc2=0 Trfc3=0 MaxRdLatency=52 DCT1: memory type: DDR3 frequency: 1332 MHz Tcl=9 Trcd=9 Trp=9 Tras=24 Access Mode:1T Trtp=5 Trc=33 Twr=9 Trrd=4 Tcwl=7 Tfaw=20 TrwtWB=8 TrwtTO=7 Twtr=5 Twrrd=2 Twrwr=4 Trdrd=3 Tref=2 Trfc0=0 Trfc1=2 Trfc2=0 Trfc3=0 MaxRdLatency=52 Node 7 --- DCT0: memory type: DDR3 frequency: 1332 MHz Tcl=9 Trcd=9 Trp=9 Tras=24 Access Mode:1T Trtp=5 Trc=33 Twr=9 Trrd=4 Tcwl=7 Tfaw=20 TrwtWB=8 TrwtTO=7 Twtr=5 Twrrd=2 Twrwr=4 Trdrd=3 Tref=2 Trfc0=0 Trfc1=2 Trfc2=0 Trfc3=0 MaxRdLatency=51 DCT1: memory type: DDR3 frequency: 1332 MHz Tcl=9 Trcd=9 Trp=9 Tras=24 Access Mode:1T Trtp=5 Trc=33 Twr=9 Trrd=4 Tcwl=7 Tfaw=20 TrwtWB=8 TrwtTO=7 Twtr=5 Twrrd=2 Twrwr=4 Trdrd=3 Tref=2 Trfc0=0 Trfc1=2 Trfc2=0 Trfc3=0 MaxRdLatency=49 Done. - PowerNow - this should be disabled for all ES and MC systems. It should be enabled for all non-ES LI and AD systems so you can get the turbo multipliers. Run the following: Code: ls -l /sys/devices/system/cpu/cpu[0-9]*/cpufreq This should return 'ls: cannot access /sys/devices/system/cpu/cpu[0-9]*/cpufreq: No such file or directory' if you have PowerNow diabled. If this returns something else, you have PowerNow enabled. BIOS settings to check - PowerNow set to Disabled (see above for the check) - NUMA/SRAT set to Enabled - Node Interleaving set to Disabled - Bank/channel interleaving set to Auto or Enabled - Tyan boards - Ungang DCTs set to Always If you have any problems or questions, please join our irc channel for assistance. Several people that frequent the channel are familiar with all of this, and it will be easier to help you there.
I just learned more about Linux commands by reading this than I have learned in a year of running it. Thanks musky
What you all don't realize is that he makes these guides so he knows what to do the next time he sets up a system! Very useful stuff. Thanks for compiling it all together musky.
Musky, Thanks for sharing this guide with us. I just printed it out for my own use, and I'm in the process of putting together a 2P unit right now. Robert
I'm trying to update my tpc 0.41 to the 0.44-rc2 I'm get the follow error on the make statement: Code: bowlinra@amd4p:~/tpc-0.44-rc2/src$ make /bin/sh: 1: svn: not found /bin/sh: 1: svnversion: not found g++ -O2 -MMD -MF obj/x86_64/.sysdep-linux.d -MT obj/x86_64/sysdep-linux.o -c -o obj/x86_64/sysdep-linux.o sysdep-linux.cpp sysdep-linux.cpp:2:18: fatal error: term.h: No such file or directory compilation terminated. make: *** [obj/x86_64/sysdep-linux.o] Error 1 bowlinra@amd4p:~/tpc-0.44-rc2/src$ Any Ideas?
How do you run tpc at startup, with predefined OC settings? I know I saw a script once, but couldn't find it now.
I run my simple tpc vcore command within /etc/rc.local If there are multiple lines I add a "sleep 1" command line between each.
ok, so I can put the sleep command in rc.local... good to know. Does the order in rc.local matter? Like, OC settings first, maybe langouste next and so on?
As long as whatever you put there doesn't hang, sequence won't matter. I start langouste, refresh the fah directory, then apply the overclock in my rc.local.
Seems to work thanks. I remember I had issues related to this on the (now fried) 2P ASUS setup I tried before getting my 4P rigs.
I had a similar issue as bowlinra with the following error: I have tried to install ncurses-dev, but it gives me this message: Any ideas what else I should try to get around this?
Hmm, I tried 10.10 VM and it worked fine. Given the repos have been shut down I had to download missing packages manually but otherwise there were no issues. Your APT is saying it already has libcurses5-dev so I would expect things to "just work". I suspect something may have corrupted your ncurses installation. What does this return: Code: ls -l $(dpkg -L libncurses5 libncurses5-dev | grep /lib/.*libncu) I get: Code: $ ls -l $(dpkg -L libncurses5 libncurses5-dev | grep /lib/.*libncu) lrwxrwxrwx 1 root root 17 2012-12-17 21:23 /lib/libncurses.so.5 -> libncurses.so.5.7 -rw-r--r-- 1 root root 278488 2010-07-05 19:45 /lib/libncurses.so.5.7 -rw-r--r-- 1 root root 572340 2010-07-05 19:45 /usr/lib/libncurses.a -rw-r--r-- 1 root root 179088 2010-07-05 19:45 /usr/lib/libncurses++.a lrwxrwxrwx 1 root root 20 2013-03-30 16:46 /usr/lib/libncurses.so -> /lib/libncurses.so.5 $
I got this in return; Code: $(dpkg -L libncurses5 libncurses5-dev | grep /lib/.*libncu) lrwxrwxrwx 1 root root 17 2013-03-30 00:37 /lib/x86_64-linux-gnu/libncurses.so.5 -> libncurses.so.5.9 -rw-r--r-- 1 root root 133808 2011-11-19 00:30 /lib/x86_64-linux-gnu/libncurses.so.5.9 -rw-r--r-- 1 root root 294004 2011-11-19 00:30 /usr/lib/x86_64-linux-gnu/libncurses.a -rw-r--r-- 1 root root 157584 2011-11-19 00:30 /usr/lib/x86_64-linux-gnu/libncurses++.a -rw-r--r-- 1 root root 31 2011-11-19 00:30 /usr/lib/x86_64-linux-gnu/libncurses.so
Is sudo ln -sf /usr/bin/TurionPowerControl /usr/bin/tpc still relevant in v0.44? I noticed in the history log, the compiled application has now included tpc for convenience.
How do I get into the IRC? I have built a watercooled 4P 6386SE system but I am a noob at Ubuntu. I am having issues with getting some stuff to work (TPC and OCNG) so any help will be amazing.
If your system is built with production CPUs (not samples), then OCNG is typically the only knob you'll turn. TPC is good for diags but is not a prerequisite. For OCNG: start there: http://hardforum.com/showthread.php?t=1836265 If you're not familiar with IRC, the easiest option is using web client: http://webchat.freenode.net/ Type your handle and channel name: hardfolding