Jump to content

VirtualSMC — SMC Emulator


vit9696
760 posts in this topic

Recommended Posts

51 minutes ago, Sherlocks said:

 

now i have 2 cycles. seems good

117032272_2019-10-1410_20_45.png.57d95c807d4971541d107218ec03de88.png

 

my battery capacity is 4553. will be fix?

I see an error with rounding in calculation of mA•h from mW•h. Voltage is converted from millivolts to volts (7600/1000 = 7) and then capacity is divided by 7, instead of being multiplied by 1000 and then divided by 7600 which is the equivalent of division by 7.6. Fixed in master (not tested as my laptop has mA•h in ACPI).

SMCBatteryManager.kext.zip

Edited by usr-sse2
Link to comment
Share on other sites

15 minutes ago, usr-sse2 said:

I see an error with rounding in calculation of mA•h from mW•h. Voltage is converted from millivolts to volts (7600/1000 = 7) and then capacity is divided by 7, instead of being multiplied by 1000 and then divided by 7600 which is the equivalent of division by 7.6. Fixed in master (not tested as my laptop has mA•h in ACPI).

SMCBatteryManager.kext.zip

 

1222715108_2019-10-1411_16_41.png.169ad83680440f9dbb710b2a4be78d27.png

 

still 4912

 

EDIT1

this line need edit?

https://github.com/acidanthera/VirtualSMC/blob/785594f2fcd60ad68479b5e0fc8fa35d09df1e45/Sensors/SMCBatteryManager/BatteryManager.cpp#L14

Edited by Sherlocks
Link to comment
Share on other sites

1 hour ago, Sherlocks said:

Yes, I fixed only current capacity and forgot about full. Thanks, fixed there too.

SMCBatteryManager.kext.zip

Edited by usr-sse2
Attach file
  • Like 1
Link to comment
Share on other sites

I have an HP probook 450 G6. My battery status, cycle count and charging information is working with acpibatterymanager but not really with smcbatterymanager.

 

And as you can see smcbatterymanager is showing in sysinfo not fully charged and isnt charging the battery. But the battery is at 100%.

 

What could be the problem?

 

 

1724881743_Screenshot2019-10-14at21_50_24.thumb.png.34dbb6c77e530bf59f795f7c8188f7f5.png

Link to comment
Share on other sites

On 10/15/2019 at 12:28 AM, usr-sse2 said:

Yes, I fixed only current capacity and forgot about full. Thanks, fixed there too.

SMCBatteryManager.kext.zip

 

@usr-sse2

i tested it about 4days.

there is a problem.

1071349922_2019-10-1910_48_59.png.e748cb7a854555e8f57f49a8dfbea0f4.png

 

1908126527_2019-10-1910_51_45.png.fe8af64052cef5c100efc381e7494684.png

 

1941502861_2019-10-1910_51_49.png.ee96154171357bd473b6cad27af7e56c.png

 

in systemprofiler, MaxCapacity is 0x118e :: 4494

but current is 0x11d6. 4566

 

maxcapacity always lower than current. there is something wrong.

 

also to debug, i added bootarg "-vsmcdbg, -liludbg"

i can get this log 

Timestamp                       (process)[PID]    
2019-10-19 23:01:15.744375+0900  localhost kernel[0]: (kernel) SMCBatteryManager:  smcbus @ (DBG) startRequest is called
2019-10-19 23:01:15.744382+0900  localhost kernel[0]: (kernel) SMCBatteryManager:  smcbus @ (DBG) startRequest is called, address = 0xb, command = 0xb, protocol = 0x9, status = 0xff, sendDataCount = 0x0, receiveDataCount = 0x2
2019-10-19 23:01:15.797776+0900  localhost kernel[0]: (kernel) SMCBatteryManager:  smcbus @ (DBG) startRequest is called
2019-10-19 23:01:15.797783+0900  localhost kernel[0]: (kernel) SMCBatteryManager:  smcbus @ (DBG) startRequest is called, address = 0xa, command = 0x2, protocol = 0x9, status = 0xff, sendDataCount = 0x0, receiveDataCount = 0x2
2019-10-19 23:01:15.797795+0900  localhost kernel[0]: (kernel) SMCBatteryManager:  smcbus @ (DBG) startRequest is called
2019-10-19 23:01:15.797801+0900  localhost kernel[0]: (kernel) SMCBatteryManager:  smcbus @ (DBG) startRequest is called, address = 0xa, command = 0x1, protocol = 0x9, status = 0xff, sendDataCount = 0x0, receiveDataCount = 0x2
2019-10-19 23:01:15.798230+0900  localhost kernel[0]: (kernel) SMCBatteryManager:  smcbus @ (DBG) startRequest is called
2019-10-19 23:01:15.798236+0900  localhost kernel[0]: (kernel) SMCBatteryManager:  smcbus @ (DBG) startRequest is called, address = 0xb, command = 0x0, protocol = 0x8, status = 0xff, sendDataCount = 0x2, receiveDataCount = 0x0
2019-10-19 23:01:15.798244+0900  localhost kernel[0]: (kernel) SMCBatteryManager:  smcbus @ (DBG) startRequest sendData contains kBExtendedPFStatusCmd or kBExtendedOperationStatusCmd
2019-10-19 23:01:15.898873+0900  localhost kernel[0]: (kernel) SMCBatteryManager:  smcbus @ (DBG) startRequest is called
2019-10-19 23:01:15.898893+0900  localhost kernel[0]: (kernel) SMCBatteryManager:  smcbus @ (DBG) startRequest is called, address = 0xb, command = 0x0, protocol = 0x9, status = 0xff, sendDataCount = 0x0, receiveDataCount = 0x2
2019-10-19 23:01:15.898942+0900  localhost kernel[0]: (kernel) SMCBatteryManager:  smcbus @ (DBG) startRequest is called
2019-10-19 23:01:15.898958+0900  localhost kernel[0]: (kernel) SMCBatteryManager:  smcbus @ (DBG) startRequest is called, address = 0xb, command = 0x20, protocol = 0xb, status = 0xff, sendDataCount = 0x0, receiveDataCount = 0x0
2019-10-19 23:01:15.898984+0900  localhost kernel[0]: (kernel) SMCBatteryManager:  smcbus @ (DBG) startRequest is called
2019-10-19 23:01:15.898999+0900  localhost kernel[0]: (kernel) SMCBatteryManager:  smcbus @ (DBG) startRequest is called, address = 0xb, command = 0x23, protocol = 0xb, status = 0xff, sendDataCount = 0x0, receiveDataCount = 0x0
2019-10-19 23:01:15.899030+0900  localhost kernel[0]: (kernel) SMCBatteryManager:  smcbus @ (DBG) startRequest is called
2019-10-19 23:01:15.899044+0900  localhost kernel[0]: (kernel) SMCBatteryManager:  smcbus @ (DBG) startRequest is called, address = 0xb, command = 0x70, protocol = 0xb, status = 0xff, sendDataCount = 0x0, receiveDataCount = 0x0
2019-10-19 23:01:15.899073+0900  localhost kernel[0]: (kernel) SMCBatteryManager:  smcbus @ (DBG) startRequest is called
2019-10-19 23:01:15.899089+0900  localhost kernel[0]: (kernel) SMCBatteryManager:  smcbus @ (DBG) startRequest is called, address = 0xb, command = 0x21, protocol = 0xb, status = 0xff, sendDataCount = 0x0, receiveDataCount = 0x0
2019-10-19 23:01:15.899112+0900  localhost kernel[0]: (kernel) SMCBatteryManager:  smcbus @ (DBG) startRequest is called

 

but. i can't get this line 

for example

SYSLOG("acpib", "battery %d has no remaining capacity reported (%u)", id,

DBGLOG("binfo", "battery voltage %d,%03d", mV / 1000, mV % 1000);

SYSLOG("binfo", "battery reports mWh but uses mAh (%u)", designCapacity);

 

just only show log related in "smcbus"

 

thanks in advance

 

EDIT1

SMCBattery

1016508136_2019-10-2011_58_56.png.fba81b72aa30b0bd05cca2859bde803e.png

 

ACPIBattery

1998526775_2019-10-2011_56_34.png.8a7844ade29090dd98559fe79ece874c.png

Edited by Sherlocks
Link to comment
Share on other sites

  • 1 month later...
On 4/4/2019 at 6:06 AM, Modmike said:

I just fixed NCT6798D and added NCT679BD to VirtualSMC for Z370 & Z390 support.  Can you guys please test it?  It works great for me so far.

 

I only have 1 pump, fans are on a noncontrollable hub.

 

1900403_ScreenShot2019-04-04at12_28_23AM.png.993aaa9f4646e4324f177b94c6c34e7e.png

 

Nuvoton.zip

@Modmike

my board using NCT6776D

can you add it too?

 

 

image0.jpeg

Edited by margono
edit
Link to comment
Share on other sites

@vit9696

Trying for the first time VirtualSMC 1.0.9 with iStat Menus 6.40, I've read the docs and I found them very useful. Since VirtualSMC seems to be reading correctly the GPU temperature in the CPU & GPU drop-down menu, is it possible to display that value even in GPU-Proximity, which currently displays a "-" ?

And for CPU frequency monitoring installing Intel power Gadget is sufficient? I found some users having issues with that, maybe because the .pkg was able to write/damage permissions in the preboot volume or something causing an instant reboot across many platforms right after logins...

 

Anyway good job guys for keeping VirtualSMC clean and stable. I hope new features are coming in the next updates

Edited by 1Ale1
Link to comment
Share on other sites

  • 2 weeks later...

Hi Guys,

 

First off, thank you to all for a super job with VirtualSMC and SMCBatteryManager.

 

have tried FakeSMC with ACPIBatteryManager without any success to show the battery status.

I have switch over to VirtualSMC and SMCBatteryManager.kext. and thus drop ACPIBatteryManager and FakeSMC.

My kernel log shows "(AppleSmartBatteryManager) Failed to read key rc:0x87".

NOTE: 
1. With FakeSMC and ACPIBatterManager AppleSmartBattery does NOT even feature in the kernel log files, suggesting it is not loading ?
2. While VirtualSMC and SMCBatteryManager seems to try and load AppleSmartBatterManager.

Therefore my battery status is not showing under menubar and when activated it disappears quickly.

Can someone please provide insight or guidance ? See attached clover files and debug logs. and 
sys info for battery manager

 

Battery.png.1d0d31d42ea6bbde9ac99d1e2a1a9dc3.png


Much appreciated.

 

 

 

debug_8112.zip

Edited by Beefcat
Link to comment
Share on other sites

On 1/1/2020 at 5:45 AM, Beefcat said:

Hi Guys,

 

First off, thank you to all for a super job with VirtualSMC and SMCBatteryManager.

 

have tried FakeSMC with ACPIBatteryManager without any success to show the battery status.

I have switch over to VirtualSMC and SMCBatteryManager.kext. and thus drop ACPIBatteryManager and FakeSMC.

My kernel log shows "(AppleSmartBatteryManager) Failed to read key rc:0x87".

NOTE: 
1. With FakeSMC and ACPIBatterManager AppleSmartBattery does NOT even feature in the kernel log files, suggesting it is not loading ?
2. While VirtualSMC and SMCBatteryManager seems to try and load AppleSmartBatterManager.

Therefore my battery status is not showing under menubar and when activated it disappears quickly.

Can someone please provide insight or guidance ? See attached clover files and debug logs. and 
sys info for battery manager

 

Battery.png.1d0d31d42ea6bbde9ac99d1e2a1a9dc3.png


Much appreciated.

 

 

 

debug_8112.zip

You should look here - write the unnominable tonymac and follow this /threads/guide-how-to-patch-dsdt-for-working-battery-status.116102/

Link to comment
Share on other sites

I think that VirtualSMC has good concept compared to FakeSMC. Lack of sensors etc is huge  disadvantage currently.  Of course these aren’t that important on early development stage, but from users perspective it’s good to check that comp is running safely.

Link to comment
Share on other sites

Hello, I was upgrading my desktop after a long break. It was running like OC 0.3 and VirtualSMC 1.0.5 (around June) on Catalina 10.15 GM. I tried just upgrade the system but there's a KP in the middle. Then I upgrade them to OC 0.5.3 as well as all other kexts. But there's still something wrong, with Lilu, VirtualSMC and IOACPIFamily in the log.

 

Although I have read that these kind of problem might be other kexts' issue. I have trimmed all unnecessary kexts but didn't help. The log hints there might be something wrong when loading VirtualSMC and no other custom kexts are loaded at this early stage. I hope if you can give me some suggestions.

IMG_20200106_210054_180.jpg

Link to comment
Share on other sites

8 hours ago, holyfield said:

 

Could you post even more blurry image? And thank you for being very secretive about your system, that helps a lot to make suggestions! 

Thank you for your kind remind. I thought I have put it somewhere like signature but it's not there.

The machine is a HP Prodesk 400 G3 SFF (H110 chipset) with i5-6500 and HD530. The drive is a SanDisk SATA SSD and a disabled DVD writer which suffered from setPowerState issues before.

 

The photo got compressed during transmission, and I took another one.

17130..jpg

Link to comment
Share on other sites

18 minutes ago, gongzhen said:

Thank you for your kind remind. I thought I have put it somewhere like signature but it's not there.

The machine is a HP Prodesk 400 G3 SFF (H110 chipset) with i5-6500 and HD530. The drive is a SanDisk SATA SSD and a disabled DVD writer which suffered from setPowerState issues before.

 

I reccomend to read about ACPI. Also I reccomend ALWAYS to have ready Ubuntu Live USB, so you can boot into Ubuntu and extract lspci list when posting help requests. Also do I really shall google all about your comp? Me or others are not clairvoyants. 

 

Seems power management issue at a first glance . Have you tried to boot with AppleIntelCPUPowerManagement.kext?

Link to comment
Share on other sites

1 hour ago, holyfield said:

 

I reccomend to read about ACPI. Also I reccomend ALWAYS to have ready Ubuntu Live USB, so you can boot into Ubuntu and extract lspci list when posting help requests. Also do I really shall google all about your comp? Me or others are not clairvoyants

 

Seems power management issue at a first glance . Have you tried to boot with AppleIntelCPUPowerManagement.kext?

 

Thank you for your patience. Since it also seems not a VirtualSMC issue, maybe I should open another thread elsewhere?

 

In my old OC configuration, I did a lot of ACPI modification like CPU PLUG, DeepIdle, HPET SSDTs. I thought these are not related so I left ACPI section blank when debugging the KP after updating these kexts. Currently I only have Lilu vsmc alc weg and nothing's blocked.

 

I haven't modified PM before so maybe it's working by default? I'm a little bit confused recently upgrading this one and another laptop to newer OC with other kexts, and both failed after reading difference.pdf several times.

 

And sorry for the unclear specs, the lspci output is attached below.

lspci.txt

opencore-2020-01-07-080634.txt

Edited by gongzhen
Missing attachment
Link to comment
Share on other sites

20 minutes ago, gongzhen said:

Thank you for your patience. Since it also seems not a VirtualSMC issue, maybe I should open another thread elsewhere?


Yes, you are correct!

Edited by holyfield
Link to comment
Share on other sites

×
×
  • Create New...