Jump to content
Slice

RadeonMonitor problems

128 posts in this topic

Recommended Posts

this is FakeSMC v6 on the screenshot. Use my version or ask Kozlek for update his version.

 

Tried your version + Radeon sensors and it gives me a KP right after HWmonitor is loaded... 

Without radeon sensors is fine

Share this post


Link to post
Share on other sites
Advertisement

Tried your version + Radeon sensors and it gives me a KP right after HWmonitor is loaded... 

Without radeon sensors is fine

It's a pity new Radeons (polaris and up) are not supported yet.

Share this post


Link to post
Share on other sites

I doubt it possible for normal user. This is a job for reseachers.

For Hawaii I wrote

		temp = (read_ind(CG_CI_MULT_THERMAL_STATUS) & CI_CTF_TEMP_MASK) >> CI_CTF_TEMP_SHIFT;

where CG_CI_MULT_THERMAL_STATUS is Radeon register 

#define	CG_CI_MULT_THERMAL_STATUS		0xC0300014
#define		CI_ASIC_MAX_TEMP(x)			((x) << 0)
#define		CI_ASIC_MAX_TEMP_MASK		0x000001ff
#define		CI_ASIC_MAX_TEMP_SHIFT		0
#define		CI_CTF_TEMP(x)				((x) << 9)
#define		CI_CTF_TEMP_MASK			0x0003fe00
#define		CI_CTF_TEMP_SHIFT			9

But I don't know the register for new Radeons and access method.

It probably can be found in Linux sources, not in installed Linux system.

Share this post


Link to post
Share on other sites

Hi Slice ... if I used RadeonMonitor for my Radeon HD 7790.. cpu hang and then restart, any advice?

 

Tue Oct 24 15:05:02 2017

*** Panic Report ***
panic(cpu 1 caller 0xffffff800038a611): Kernel trap at 0xffffff7f83952460, type 14=page fault, registers:
CR0: 0x000000008001003b, CR2: 0x000000000000e200, CR3: 0x00000001909d410e, CR4: 0x00000000000626e0
RAX: 0x000000000000e000, RBX: 0xffffff8019442b00, RCX: 0xffffff7f83952cc0, RDX: 0xffffff8018381a00
RSP: 0xffffff912edab7a0, RBP: 0xffffff912edab7a0, RSI: 0xffffff912edab7c6, RDI: 0xffffff8018691b40
R8: 0x000000000000ffff, R9: 0x0000000000000001, R10: 0xffffff80187abc80, R11: 0x0000000000000001
R12: 0x00000000e00002c2, R13: 0xffffff8019449440, R14: 0x0000000000000000, R15: 0xffffff8019449c10
RFL: 0x0000000000010283, RIP: 0xffffff7f83952460, CS: 0x0000000000000008, SS: 0x0000000000000000
Fault CR2: 0x000000000000e200, Error code: 0x0000000000000002, Fault CPU: 0x1, PL: 0, VF: 1

Backtrace (CPU 1), Frame : Return Address
0xffffff912edab260 : 0xffffff800026d366
0xffffff912edab2a0 : 0xffffff8000398494
0xffffff912edab2e0 : 0xffffff800038a429
0xffffff912edab360 : 0xffffff800021f190
0xffffff912edab380 : 0xffffff800026cd8c
0xffffff912edab4b0 : 0xffffff800026cafc
0xffffff912edab510 : 0xffffff800038a611
0xffffff912edab690 : 0xffffff800021f190
0xffffff912edab6b0 : 0xffffff7f83952460
0xffffff912edab7a0 : 0xffffff7f83952c8e
0xffffff912edab7f0 : 0xffffff8000877386
0xffffff912edab840 : 0xffffff7f839483b4
0xffffff912edab870 : 0xffffff7f839487f0
0xffffff912edab8b0 : 0xffffff7f839489e1
0xffffff912edab8f0 : 0xffffff7f81f9cace
0xffffff912edab930 : 0xffffff7f81f9d441
0xffffff912edab980 : 0xffffff7f81f9ce28
0xffffff912edab9b0 : 0xffffff80008a5878
0xffffff912edaba20 : 0xffffff7f81f9ccc4
0xffffff912edaba70 : 0xffffff7f81fa3ab9
0xffffff912edabac0 : 0xffffff80008cdc79
0xffffff912edabb20 : 0xffffff80008cbe10
0xffffff912edabb70 : 0xffffff80008d4a97
0xffffff912edabcb0 : 0xffffff8000345d84
0xffffff912edabdc0 : 0xffffff80002725ee
0xffffff912edabe10 : 0xffffff800024fbdd
0xffffff912edabe60 : 0xffffff8000262c6b
0xffffff912edabef0 : 0xffffff80003750fd
0xffffff912edabfa0 : 0xffffff800021f996
Kernel Extensions in backtrace:
com.apple.driver.AppleSMC(3.1.9)[C988D068-D92E-35CD-ACD0-22CF6E8150FA]@0xffffff7f81f95000->0xffffff7f81fb3fff
dependency: com.apple.iokit.IOACPIFamily(1.4)[8794C760-FDD9-3664-ADED-4A9BBEC6E517]@0xffffff7f811a4000
dependency: com.apple.iokit.IOPCIFamily(2.9)[DF1517A2-32C4-328E-9890-03E6C546604A]@0xffffff7f80a94000
org.netkas.FakeSMC(3.5)[8F36EF78-E2BD-3B4F-AB1A-8545F12F247B]@0xffffff7f83946000->0xffffff7f83950fff
dependency: com.apple.iokit.IOACPIFamily(1.4)[8794C760-FDD9-3664-ADED-4A9BBEC6E517]@0xffffff7f811a4000
org.slice.RadeonMonitor(1.3)[D69B6252-699C-3203-8989-07AC8789F13C]@0xffffff7f83951000->0xffffff7f83956fff
dependency: com.apple.iokit.IOPCIFamily(2.9)[DF1517A2-32C4-328E-9890-03E6C546604A]@0xffffff7f80a94000
dependency: org.netkas.FakeSMC(3.5.0)[8F36EF78-E2BD-3B4F-AB1A-8545F12F247B]@0xffffff7f83946000

BSD process name corresponding to current thread: HWMonitorSMC
Boot args: slide=0 dart=0

Mac OS version:
17A405

 

Share this post


Link to post
Share on other sites

There is also new kext for Radeon, if someone want to test

attachicon.gifRadeonMonitor.kext.zip

unfortunately in my machine still get hang and then reboot

 

edited: or maybe because HWmonitorSMC ?

Tue Nov 28 07:04:56 2017

 

*** Panic Report ***

panic(cpu 2 caller 0xffffff8000388e21): Kernel trap at 0xffffff7f839f61fc, type 14=page fault, registers:

CR0: 0x000000008001003b, CR2: 0x000000000000e6b0, CR3: 0x000000010869b0d5, CR4: 0x00000000000626e0

RAX: 0x000000000000e000, RBX: 0xffffff8019665400, RCX: 0xffffff7f839f6a40, RDX: 0xffffff8018563710

RSP: 0xffffff8107ebb7a0, RBP: 0xffffff8107ebb7a0, RSI: 0xffffff8107ebb7c6, RDI: 0xffffff80188dd5f0

R8:  0x000000000000ffff, R9:  0x0000000000000001, R10: 0xffffff8018a8f480, R11: 0x0000000000000001

R12: 0x00000000e00002c2, R13: 0xffffff8019672800, R14: 0x0000000000000000, R15: 0xffffff8019672820

RFL: 0x0000000000210287, RIP: 0xffffff7f839f61fc, CS:  0x0000000000000008, SS:  0x0000000000000000

Fault CR2: 0x000000000000e6b0, Error code: 0x0000000000000002, Fault CPU: 0x2, PL: 0, VF: 1

 

Backtrace (CPU 2), Frame : Return Address

0xffffff8107ebb250 : 0xffffff800026b6f6

0xffffff8107ebb2a0 : 0xffffff8000396f54

0xffffff8107ebb2e0 : 0xffffff8000388c39

0xffffff8107ebb360 : 0xffffff800021d190

0xffffff8107ebb380 : 0xffffff800026b1cc

0xffffff8107ebb4b0 : 0xffffff800026af4c

0xffffff8107ebb510 : 0xffffff8000388e21

0xffffff8107ebb690 : 0xffffff800021d190

0xffffff8107ebb6b0 : 0xffffff7f839f61fc

0xffffff8107ebb7a0 : 0xffffff7f839f6a0c

0xffffff8107ebb7f0 : 0xffffff8000876956

0xffffff8107ebb840 : 0xffffff7f839ec3b4

0xffffff8107ebb870 : 0xffffff7f839ec7f0

0xffffff8107ebb8b0 : 0xffffff7f839ec9e1

0xffffff8107ebb8f0 : 0xffffff7f80e6da4a

0xffffff8107ebb930 : 0xffffff7f80e6e3bd

0xffffff8107ebb980 : 0xffffff7f80e6dda4

0xffffff8107ebb9b0 : 0xffffff80008a4e48

0xffffff8107ebba20 : 0xffffff7f80e6dc40

0xffffff8107ebba70 : 0xffffff7f80e74aab

0xffffff8107ebbac0 : 0xffffff80008cd3f9

0xffffff8107ebbb20 : 0xffffff80008cb590

0xffffff8107ebbb70 : 0xffffff80008d4237

0xffffff8107ebbcb0 : 0xffffff8000344514

0xffffff8107ebbdc0 : 0xffffff8000270d9e

0xffffff8107ebbe10 : 0xffffff800024dc2d

0xffffff8107ebbe60 : 0xffffff8000260d1b

0xffffff8107ebbef0 : 0xffffff800037388d

0xffffff8107ebbfa0 : 0xffffff800021d996

      Kernel Extensions in backtrace:

         com.apple.driver.AppleSMC(3.1.9)[631D2C99-C8C2-3272-84FC-C49338D09C31]@0xffffff7f80e66000->0xffffff7f80e84fff

            dependency: com.apple.iokit.IOACPIFamily(1.4)[8794C760-FDD9-3664-ADED-4A9BBEC6E517]@0xffffff7f80e5d000

            dependency: com.apple.iokit.IOPCIFamily(2.9)[1A5661CA-0F8F-3EC1-B3B4-5A9ADDAE360F]@0xffffff7f80a94000

         org.netkas.FakeSMC(3.5)[8F36EF78-E2BD-3B4F-AB1A-8545F12F247B]@0xffffff7f839ea000->0xffffff7f839f4fff

            dependency: com.apple.iokit.IOACPIFamily(1.4)[8794C760-FDD9-3664-ADED-4A9BBEC6E517]@0xffffff7f80e5d000

         org.slice.RadeonMonitor(1.3.1)[C99A9FFA-F042-37AC-B2D0-4A20148121CD]@0xffffff7f839f5000->0xffffff7f839f9fff

            dependency: com.apple.iokit.IOPCIFamily(2.9)[1A5661CA-0F8F-3EC1-B3B4-5A9ADDAE360F]@0xffffff7f80a94000

            dependency: org.netkas.FakeSMC(3.5.0)[8F36EF78-E2BD-3B4F-AB1A-8545F12F247B]@0xffffff7f839ea000

 

BSD process name corresponding to current thread: HWMonitorSMC

Boot args: slide=0  dart=0  darkwake=0

 

Mac OS version:

17B48

 

log

2017-11-28 07:02:58.015808+0700  localhost kernel[0]: (kernel) RadeonMonitor: found Radeon chip id=665c

2017-11-28 07:02:58.019698+0700  localhost kernel[0]: (kernel)  Common ATI Radeon SeaIsland/Polaris DID=665c

 

2017-11-28 07:37:14.148053+0700  localhost kernel[0]: (kernel) RadeonSensors (pci1): found ATI Radeon ID: 0x665c, ATOM BIOS: BONAIRE

2017-11-28 07:37:14.148062+0700  localhost kernel[0]: (kernel) RadeonSensors (pci1): using device-id to resolve temperature sensor type

2017-11-28 07:37:14.148067+0700  localhost kernel[0]: (kernel) RadeonSensors (pci1): adding Sea Islands (CI) thermal sensor

2017-11-28 07:37:14.148121+0700  localhost kernel[0]: (kernel) RadeonSensors (pci1): started

Share this post


Link to post
Share on other sites

KP. also SMC_util3 -l

 

 

$ log show --last boot --predicate 'subsystem == "kernel"'

 

kernel: (kernel) RadeonMonitor: found Radeon chip id=67ef

kernel: (kernel)  Common ATI Radeon SeaIsland/Polaris DID=67ef

Share this post


Link to post
Share on other sites

No problem in HWMonitorSMC. The problem is still in RadeonMonitor with new Radeon cards.

Thanks!

 

Yep.

Thanks for working on this! Slice the legend.

Share this post


Link to post
Share on other sites

Make, please, registers dump with the utility

http://www.insanelymac.com/forum/topic/317915-clover-test-and-patches-for-polaris-gpu/page-8?do=findComment&comment=2339709

in range 6A0,40

If crash then 6B0,10


I see.

The kext should be revised for this chip.

Share this post


Link to post
Share on other sites

Make, please, registers dump with the utility

http://www.insanelymac.com/forum/topic/317915-clover-test-and-patches-for-polaris-gpu/page-8?do=findComment&comment=2339709

in range 6A0,40

If crash then 6B0,10

Hi, Slice.

I think the working RadeonPCI.kext (for use with that RadeonDump) is a few posts later. http://www.insanelymac.com/forum/topic/317915-clover-test-and-patches-for-polaris-gpu/page-8?do=findComment&comment=2340126 (otherwise all results are zeros)

How do you mean your range: in range 6A0,40 ... If crash then 6B0,10

In the examples the command looks:

RadeonDump2 -r 0,200 , how are the parameters for in range 6A0,40 (you mean start=6A0 and 40 length, so 6A0, 6EF would be OK ?

RX 460 0x67ef , Sierra working (for this test: no RadeonMonitor in use, only kextutil  RadeonPCI.kext, in Clover Lilu + whatevergreen )

RadeonDump2 -r 6A0,6FF

Found a device of class RadeonPCI: IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/PEG0@1/IOPP/GFX0@0/RadeonPCI
it matched on name "ATY_GPU"
0x06A0:  00000000 AAAA5555 00000000 AAAA5555 0003F010 0001E083 00000000 AAAA5555
0x06C0:  00000000 AAAA5555 00000000 AAAA5555 00000000 AAAA5555 00000000 00000064
0x06E0:  00000002 00000000 00000000 00000000 00000000 00000000 00000000 00000000
 
/RadeonDump2 -r 1700,1750  (found that you looked for that range in the past : ) )
Found a device of class RadeonPCI: IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/PEG0@1/IOPP/GFX0@0/RadeonPCI
it matched on name "ATY_GPU"
0x1700:  00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
0x1720:  00000000 00000000 00000000 00000000 00000000 00010000 00000000 00000000
0x1740:  00000200 00000000 00000000 00000000 00000000 00000000 00000000 000
 
​RadeonDump2 -r 5400,5450 (found that you looked for that range in the past : ) )
Found a device of class RadeonPCI: IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/PEG0@1/IOPP/GFX0@0/RadeonPCI
it matched on name "ATY_GPU"
0x5400:  00000000 00000001 00000000 00000000 00000000 0000001A 00000002 00000002
0x5420:  00000000 00000000 00000800 80000000 00000100 00040000 00000000 00000000
0x5440:  00000000 00000000 00000000 00000000 00018003 00000000 00040040 4010E110
 
PS: attached the used two tools.
Usage:
sudo chown -R root:wheel ~/Downloads/RadeonPCI.kext

sudo chmod -R 755 ~/Downloads/RadeonPCI.kext

sudo kextutil -v ~/Downloads/RadeonPCI.kext

..

~/Downloads/RadeonDump2 -r start,end 

RadeonPCI.kext.zip

RadeonDump.zip

Share this post


Link to post
Share on other sites

Good!

0x06A0:  00000000 AAAA5555 00000000 AAAA5555 0003F010 0001E083 00000000 AAAA5555
0x06C0:  00000000 AAAA5555 00000000 AAAA5555 00000000 AAAA5555 00000000 00000064
0x06E0:  00000002 00000000 00000000 00000000 00000000 00000000 00000000 00000000

This is what I wanted to see. Thus I know that registers 6B0 and 6B4 will not lead to crash. They are readable.

Next question if they are writable.

I am not sure in write command syntax

RadeonDump -w 6b0 c0300014

RadeonDump -r 6b4

There will be temperature

Share this post


Link to post
Share on other sites

HD 7790

Picos-Mac-Pro:Downloads pico$ ./RadeonDump2 -r 0,100
Found a device of class RadeonPCI: IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/PEGP@1/IOPP/GFX1@0/RadeonPCI
it matched on name "ATY_GPU"
0x0000: BFFF7E5C 00000000 00000000 00000000 00000000 00000000 00000000 00000000
0x0020: 00000000 00000000 00000000 00000000 100100A2 00D816E6 100100A2 00D816E6
0x0040: 00000000 00000000 00010000 00010000 00000000 00000000 00000000 00000000
0x0060: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
0x0080: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
0x00A0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
0x00C0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
0x00E0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
0x0100: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
Picos-Mac-Pro:Downloads pico$ ./RadeonDump2 -r 0,200
Found a device of class RadeonPCI: IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/PEGP@1/IOPP/GFX1@0/RadeonPCI
it matched on name "ATY_GPU"
0x0000: BFFF7E5C 00000000 00000000 00000000 00000000 00000000 00000000 00000000
0x0020: 00000000 00000000 00000000 00000000 100100A2 00D816E6 100100A2 00D816E6
0x0040: 00000000 00000000 00010000 00010000 00000000 00000000 00000000 00000000
0x0060: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
0x0080: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
0x00A0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
0x00C0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
0x00E0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
0x0100: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
0x0120: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
0x0140: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
0x0160: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
0x0180: 00000000 00000000 00000000 00000000 00000000 00000002 00000000 00000000
0x01A0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
0x01C0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
0x01E0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
0x0200: 80000370 00036604 C0100038 0000000C 00000000 E0008040 C030000C 08006869
Picos-Mac-Pro:Downloads pico$ ./RadeonDump2 -r 1700,1750
Found a device of class RadeonPCI: IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/PEGP@1/IOPP/GFX1@0/RadeonPCI
it matched on name "ATY_GPU"
0x1700: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
0x1720: 00000000 00400000 0100C000 00000000 00000400 00000000 00000689 00001000
0x1740: 41D40301 00000000 00000000 0000F905 00000000 00000000 00000000 00000000
Picos-Mac-Pro:Downloads pico$ ./RadeonDump2 -r 5400,5450
Found a device of class RadeonPCI: IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/PEGP@1/IOPP/GFX1@0/RadeonPCI
it matched on name "ATY_GPU"
0x5400: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 000108AA
0x5420: 00000000 0000000D 00000400 80000000 00000100 00040000 00000000 00000000
0x5440: 00000000 00000000 00000000 00000000 00000003 00000000 00040040 4010E110
Picos-Mac-Pro:Downloads pico$

 

 

 

RadeonDump -w 6b0 c0300014

RadeonDump -r 6b4

 

Picos-Mac-Pro:Downloads pico$ ./RadeonDump2 -w 6b0 c0300014
Found a device of class RadeonPCI: IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/PEGP@1/IOPP/GFX1@0/RadeonPCI
it matched on name "ATY_GPU"
Segmentation fault: 11
Picos-Mac-Pro:Downloads pico$ ./RadeonDump2 -r 6b4
Unable to read range:  6b4
Usage: ./RadeonDump2 [-d] [regnum] [-r start,end] [-i]
    -d        dump Radeon card BIOS ROM
    regnum        dump Radeon card IO register values at regnum
    -r start,end    dump Radeon card IO register values in the range of [start,end]
Picos-Mac-Pro:Downloads pico$ ./RadeonDump2 -w 6b4
Found a device of class RadeonPCI: IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/PEGP@1/IOPP/GFX1@0/RadeonPCI
it matched on name "ATY_GPU"
0x06B4:  00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
Picos-Mac-Pro:Downloads pico$

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • By Slice
      Guys,
      Don't mix 6.18 and 3.41.
       
      There are three different projects for monitoring temperatures, voltages, fans speed and other hardware parameters:
      Initially it was FakeSMC with plugins for producing SMC keys for hardware parameters for different hardware. But sometimes ago Kozlek separated own version of FakeSMC and producing new set of plugins while I stay with good working version 3. So..
      1. FakeSMC v3 with Hardware Sensors3  which I still supported.
      2. FakeSMC v6 (rev1800) by Kozlek and supported by Rehabman. AFAIK both are abandoned and the project is not supported. Or may be maintained by coauthors.
      3. New VirtualSMC by vit9696 with own set of sensors kexts. It depends on Lilu.kext. The project is in active development.
      All three project have incompatible interfaces sensors<->SMC so they are incompatible with each other.
       
      There are applications for monitoring hardware parameters and they commonly depends on these projects.
      1. iStat, iStatMenu, iStatPro compatible with real Macs because they use SMC keys just like those presents in real Macs.
      2. HWMonitorSMC by Navi (initial codes from Kozlek)  used in my HWSensors3.
      3. HWMonitor by Kozlek with graphics like in IntelPowerGadget used in his HWSensors version.
      4. HWMonitorSMC2 by Vector_Sigma tends to be universal supporting all project. It also may use sensors information produces by Apple graphics and by IntelPowerGadget.
       
      Let us discuss here differences and common ideas for this projects.
       
    • By Slice
      This thread devoted to share information about different SMC keys found or investigated anywhere.
       
      What are they?
      SMC keys is a somehow language to speak between macOS and hardware microcontroller presented in real Mac and absent in Hackintosh.
      They inform macOS about Hardware ID and current status. Moreover macOS can write something through SMC protocol to control hardware.
      FakeSMC ( ©Netkas) is the driver to emulate this microcontroller on PC having no such device which is necessary to boot macOS here.
      But FakeSMC contain only ~20 keys while real Mac answers ~200 keys.
      Some keys we added by HWSensors project reporting temperatures, FAN speeds, voltages etc.
      Some keys are model dependent was added by Clover to be sure if user changed model in GUI then corresponding keys will be changed automatically.
      Clover sets
      LogDataHub(&gEfiMiscSubClassGuid, L"RPlt", &gSettings.RPlt, 8);
      LogDataHub(&gEfiMiscSubClassGuid, L"RBr", &gSettings.RBr, 8);
      LogDataHub(&gEfiMiscSubClassGuid, L"EPCI", &gSettings.EPCI, 4);
      LogDataHub(&gEfiMiscSubClassGuid, L"REV", &gSettings.REV, 6);
      LogDataHub(&gEfiMiscSubClassGuid, L"BEMB", &gSettings.Mobile, 1);
      BEMB - is a mobility sign. =0 -desktop, =1 - mobile.
      REV - SMC hardware revision, changes sometimes with Apple updates.
      RPlt, RBr and EPCI is hardware capabilities, noticed used in Intel HD drivers.
       
      Structure.
      All SMC keys consists of name 4 ascii chars as 32bit integer, type and value.
      Types:
       "flag", len 1
       "ui8 ", len 1
       "ui16", len 2
       "sp78", len 2
       "ui32", len 4
      "fp2e", len 2
      "fpe2", len 2
      "{rev", and others...
       
      List of known keys
      SMC_list.plist.zip
      More keys will be discussed in the thread
       
       
      Feel free to share you knowledge and ask about noticed keys.
    • By Slice
      As I see many novices in the forum ask "How to make my Radeon working? I have bad resolution, no QE/CI...." and so on. They come to the section and have no find an answer here because all Radeons are different and they don't know where else they read about this.
      I want to explain all steps needed for launching the Radeon family of videocards.
       
      Bootloader.
      I will speak about Clover because I maintain this bootloader to know recent hardware and modern OSX. Not sure if you will have the same result with other bootloaders. I am carefully checking the injecting of ATI card and correcting it times to times. I am also accessible for bug reports.
       
      OSX version.
      Older card require older system, newer cards require new system.
      ATIRadeon9000 is possible to launch under Tiger.
      ATIRadeonMobilityX1400 requires 10.5-10.6. See RadeonHD topic.
      As I see RadeonHD3xxx was successful only in 10.5
      For new AMDRadeonHD7xxx there must be 10.8.3+ system.
       
      DeviceID.
      This must be the first question before asking about the card.
      You may know the device-id from Windows->DeviceManger->VideoCard.properties->compatibleIDs
      You may boot into system in safe mode (key -x) and see system profiler
       
      And you may boot into Clover GUI, press F2 and get preboot.log. Find here something like
      2:709 0:000 PCI (00|01:00.00) : 1002 6758 class=030000 2:709 0:000 Found Radeon model=AMD Radeon HD 6670 Series It means my DeviceID=6758 (these are hex numbers)
      Then you must check that Apple's drivers support your DeviceID. If not then add it!
      For example HD7850 has DeviceID=6819. If we look into ATI7000Controller (AMD7000... in new systems) we find 6818 here but no 6819!
       
       
      I show you how to do this with terminal commands. Launch /Application/Utilities/Terminal.app. Type in opened window:
       
      cp /System/Library/Extensions/ATI7000Controller.kext/Contents/Info.plist ~/Desktop So you get a copy of the Info.plist on Desktop. Edit it with TextEdit. Change 68181002 -> 68191002.
      Don't edit this file directly in the system folder! 
      Then copy back by terminal. Don't use finder to copy kexts! They will have wrong permissions in this case.
      sudo cp ~/Desktop/Info.plist /System/Library/Extensions/ATI7000Controller.kext/Contents/ sudo rm -r -v /System/Library/Caches/com.apple.kext.caches/* Second command make sure next reboot the kext will use your edited info.plist.
      The same operation you must do with a kext AMDRadeonAccelerator or ATIRadeonX2000 or other one. Check all candidates if they contain such list of possible IDs and choose closest to you.
       
      FakeID
      Since Clover revision 1971+ you may just inject new DeviceID into DSDT instead of correcting kexts. See instruction here.
       
      GraphicsEnabler or Injector
      OSX needs to know some properties (Model name, Family, etc...) that must be somehow injected at boot time. Yes, also real Macs got DeviceProperties string from firmware.
      Alternatives:
      1. Set InjectATI=Yes in Clover (same as GE=y in Chameleon).
      2. Use custom string made with gfxutil. For whom who knows.
      3. Write _DSM into DSDT. You should know what to write.
      4. Use some kext like ATY_init.kext or Natit.kext. If you are sure that the kext is for your card namely.
      I want to say that all this methods make the same thing. Differencies in their tuning.
      The Clover do this automatically for most known cards at this moment.
       
      Connectors.
      As you may see to start HD5000-7000 some strange names used: Pithecia, Orangutan, Elodea... What are they?
      They are configs for framebuffer. Predefined configs how connectors are solded for cards used in real Macs. Strange but these configs rear coincide with PC card. Usually gurus make advice "choose a framebuffer that most appropriate for your card". The chances 1:10. In most cases you may find a FB name that gives you main monitor working. Or nothing at all.
      Great respect to bcc9 who gives us a method to correct one of config to be exactly for you. See here.
      My retelling for Clover is here
      Success example in the thread in posts 44-52
       
      Radeon Mobility
      I tested Clover's methods with two users having Mobility Radeon HD5470 and HD5650M. We found that full memory and QE/CI will be achieved if we set in Clover's config
      LoadVBios=Yes
      even thou no file with bios is provided. This is the key to make Radeon Mobility working!
      Other problem is bad gradients or artifacts. For this case Clover accept the key
      InjectEDID=Yes
      and sometimes you also need to inject CustomEDID.
      See Clover instructions for details.
       
      And my results.
      Gigabyte Radeon HD6670
      <key>Graphics</key> <dict> <key>GraphicsInjector</key> <true/> <key>InjectEDID</key> <true/> <key>FBName</key> <string>Ipomoea</string> <key>LoadVBios</key> <false/> <key>VideoPorts</key> <integer>3</integer> <key>PatchVBios</key> <true/> </dict> <key>KernelAndKextPatches</key> <dict> <key>KernelCpu</key> <false/> <key>ATIConnectorsController</key> <string>6000</string> <key>ATIConnectorsData</key> <string>000400000403000000010000120401050008000004020000000100001102040310000000100000000001000000000002</string> <key>ATIConnectorsPatch</key> <string>040000000403000000010000100001061000000010000000000100000000000100080000040200000001000012040403</string> VTX Radeon HD5570
      <key>Graphics</key> <dict> <key>PatchVBios</key> <false/> <key>FBName</key> <string>Baboon</string> <key>VideoPorts</key> <string>3</string> <key>GraphicsInjector</key> <string>Yes</string> <key>LoadVBios</key> <string>No</string> </dict> <key>KernelAndKextPatches</key> <dict> <key>Debug</key> <false/> <key>KernelCpu</key> <false/> <key>ATIConnectorsController</key> <string>5000</string> <key>ATIConnectorsData</key> <string>040000001400000000010000010201030008000000020000007100002205020110000000100000000001000000100002</string> <key>AppleRTC</key> <true/> <key>ATIConnectorsPatch</key> <string>040000001400000000010000010001040008000000020000007100002200020510000000100000000001000000000002</string> <key>AsusAICPUPM</key> <false/> <key>KextsToPatch</key> <array> <dict> <key>Name</key> <string>AppleAHCIPort</string> <key>Find</key> <data>RXh0ZXJuYWw=</data> <key>Replace</key> <data>SW50ZXJuYWw=</data> </dict> </array> </dict> See PatchVBios=No
      for this card "yes" leads to black screen. Use with precautions.
       
      A sample for Radeon R7 240
       
      UPDATE for ElCapitan.
      It seems has more problems. My HD6670 is not working in ElCapitan OOB unlike Mavericks.
      I had to set FakeID=0x67401002 as correspond to real iMac12,2 and set this model in SMBIOS section.
      It related to GraphicsPM or GraphicsControl.
      Look these kexts to decide what you can do for your configuration.
       
      HighSierra requires change these kexts by version from Sierra 10.12.6
      for Radeon HD6xxx
      AMDRadeonX3000.kext AMDRadeonX3000GLDriver.bundle IOAccelerator2D.plugin IOAcceleratorFamily2.kext .  for Radeon HD7xxx and up AMDRadeonX4000.kext AMDRadeonX4000GLDriver.bundle IOAccelerator2D.plugin IOAcceleratorFamily2.kext .    Black screen after wake problem resolved by follow method radeon_bios_decode.0.2.zip
      ati-personality.pl.0.15.zip
      ati-personality.pl.0.15a.zip
    • By Slice
      Hi all,
       
      I created an installer for my version of FakeSMC with plugins and applications latest revision.
       
      Compatibility from 10.6 up to 10.15.
      Test, please.

      Download here: HWSensors.pkg.zip
      See my signature
       
      02.11.2019
      New project home
      https://github.com/CloverHackyColor/FakeSMC3_with_plugins
      FakeSMC v3.5.3 and plugins
       
      HWMonitorSMC2 at
      https://github.com/CloverHackyColor/HWMonitorSMC2
       
       
      FakeSMC 3.4.0 revision 751
      HWSensors.pkg-751.zip
       
      New project home is
      https://sourceforge.net/projects/hwsensors3.hwsensors.p/
      where you can download most recent versions.
      Now it is FakeSMC 3.4.1
       
      Explanations about the difference between versions 3 and 6
        #137 
       
      20.05.2016
      Revision 32 with explanation at    #220 
       
      10.10.2017
      FakeSMC is 3.5.0 compatible with High Sierra.
      New plugin VoodooBatterySMC created on the base of VoodooBattery by Superhai but with SMC keys generating to show Battery voltage and amperage. As well it created key BATP needed for right speedstep and FileVault2.
      Other kexts revised.
×