Battery Miniclass Driver for Windows 7

Hi guys,

I have a battery device on some product with a custom hardware with Windows XP on it.
The battery driver is Battery Miniclass driver designed like this:

http://msdn.microsoft.com/en-us/library/ff536322(v=VS.85).aspx?ppud=4

Now, I have to upgrade the operating system to Windows 7 32 bit.
I tried to install this driver on Windows 7 but I got eventually an error: “The operation returned because the timeout period expired”, then I tried to do a restart but Windows get stuck…
Then I just plugged of the device and turned it on but Windows gets stuck on Boot Screen with the Windows logo.
The only way to uninstall the driver is to enter Safe Mode and uninstall it from the device manager.

I’ve been looking for a solution, but it appears from some threads that Windows 7 doesn’t support the Battery Miniclass Driver, and I need to use ACPI implementation.

Unfortunately, I don’t have any experience in developing drivers for Windows but I do have experience in C and C++.
Can someone please guide me how to convert this driver in order to install it on Windows 7?

The battery miniclass driver consists all the functions it needs plus some functions especially written for this specific battery device.

Just attach windbg and see where it stuck

On Thursday, October 23, 2014, Or Mizrahi <javascript:_e>> wrote:

> Hi guys,
>
> I have a battery device on some product with a custom hardware with
> Windows XP on it.
> The battery driver is Battery Miniclass driver designed like this:
>
> http://msdn.microsoft.com/en-us/library/ff536322(v=VS.85).aspx?ppud=4
>
> Now, I have to upgrade the operating system to Windows 7 32 bit.
> I tried to install this driver on Windows 7 but I got eventually an error:
> “The operation returned because the timeout period expired”, then I tried
> to do a restart but Windows get stuck…
> Then I just plugged of the device and turned it on but Windows gets stuck
> on Boot Screen with the Windows logo.
> The only way to uninstall the driver is to enter Safe Mode and uninstall
> it from the device manager.
>
> I’ve been looking for a solution, but it appears from some threads that
> Windows 7 doesn’t support the Battery Miniclass Driver, and I need to use
> ACPI implementation.
>
> Unfortunately, I don’t have any experience in developing drivers for
> Windows but I do have experience in C and C++.
> Can someone please guide me how to convert this driver in order to install
> it on Windows 7?
>
> The battery miniclass driver consists all the functions it needs plus
> some functions especially written for this specific battery device.
>
>
> —
> NTDEV is sponsored by OSR
>
> Visit the list at: http://www.osronline.com/showlists.cfm?list=ntdev
>
> OSR is HIRING!! See http://www.osr.com/careers
>
> For our schedule of WDF, WDM, debugging and other seminars visit:
> http://www.osr.com/seminars
>
> To unsubscribe, visit the List Server section of OSR Online at
> http://www.osronline.com/page.cfm?name=ListServer
></javascript:_e>

Google is your friend:

http://www.osronline.com/showthread.cfm?link=260639

Peter
OSR
@OSRDrivers

xxxxx@osr.com wrote:

Google is your friend:

http://www.osronline.com/showthread.cfm?link=260639

OK, in fairness, there are two or three locations on the web where Doron
has said “if I recall correctly” that battery miniclass drivers were
deprecated post Vista, but Doron is the ONLY source of that
information. While trying to help folks, I have done some fairly deep
searching, and I have never seen anything on any official document that
even hints at such a thing.

It may very well be true, because Doron’s memory is prodigious and he
very rarely leads us astray, but the lack of any formal validation is
somewhat disturbing.


Tim Roberts, xxxxx@probo.com
Providenza & Boekelheide, Inc.

Currently I am using it for windows 8 it should work for windows 7 also.

On Friday, October 24, 2014, Tim Roberts wrote:

> xxxxx@osr.com <javascript:> wrote:
> > Google is your friend:
> >
> > http://www.osronline.com/showthread.cfm?link=260639
>
> OK, in fairness, there are two or three locations on the web where Doron
> has said “if I recall correctly” that battery miniclass drivers were
> deprecated post Vista, but Doron is the ONLY source of that
> information. While trying to help folks, I have done some fairly deep
> searching, and I have never seen anything on any official document that
> even hints at such a thing.
>
> It may very well be true, because Doron’s memory is prodigious and he
> very rarely leads us astray, but the lack of any formal validation is
> somewhat disturbing.
>
> –
> Tim Roberts, xxxxx@probo.com <javascript:>
> Providenza & Boekelheide, Inc.
>
>
> —
> NTDEV is sponsored by OSR
>
> Visit the list at: http://www.osronline.com/showlists.cfm?list=ntdev
>
> OSR is HIRING!! See http://www.osr.com/careers
>
> For our schedule of WDF, WDM, debugging and other seminars visit:
> http://www.osr.com/seminars
>
> To unsubscribe, visit the List Server section of OSR Online at
> http://www.osronline.com/page.cfm?name=ListServer
></javascript:></javascript:>

How do i know where to put breakpoint?

xxxxx@comm-it.com wrote:

How do i know where to put breakpoint?

Don’t put a breakpoint. When the system gets to a supposedly hung
state, break in with Ctrl-Break and look around to see what the CPUs are
doing. If you have 4 CPUs, you can do ~0kb ~1kb ~2kb ~3kb to see
the current call stacks for the four CPUs. Hopefully, one of them will
look familiar.


Tim Roberts, xxxxx@probo.com
Providenza & Boekelheide, Inc.

I see it is stuck on “nt!KiIdleLoop+0x1a” according to the Call Stack window, on both CPUs

Right. So, your driver is waiting on some sort of synchronization event?

I’ll help you all I can here via the forum, but I’m not sure how much help that can be. For example, your next step is to get a dump of all the threads on the system, find the thread in YOUR driver, and see where it’s waiting. Show us the call stack for your driver, and we can TRY to help you from there. But unless you have some Windows driver experience, I’m not sure how effective we can be in helping you in the long run.

What I really recommend is that you contact Microsoft WDK support to get a definitive answer as to whether Battery MiniClass drivers *should* work on Windows 7. If so, they can probably help you get this problem sorted out. The folks there are very nice and also very helpful. And for stuff like this they charge a lot less than we do :wink:

Peter
OSR
@OSRDrivers

I entered !process command and I saw all the threads.
I’ve passed each one of them with the command !thread but I havn’t seen a call that related to my driver

To repeat myself:

Peter
OSR
@OSRDrivers