|
Right there's also SpeedStep and its descendants, but it doesn't change the performance by 16 times either so that still doesn't explain how 6% goes to 100%, does it?
|
|
|
|
|
Just looking into it, but there is lots of talk from people who have failed or succeeded at overclocking the CPU and only little details. You are right, it does not appear as if it could keep the CPU so constantly at 100%. Still, it's the best candidate so far. With the CPU used so little it could indeed decide to go to its lowest setting.
At least artificial intelligence already is superior to natural stupidity
|
|
|
|
|
So, just in case this isn't caused my hardware but by software, why don't you go check how the multiplier changes when it goes into "100% mode"?
|
|
|
|
|
I will, but it must wait until tomorrow. Disabling Speedstep in the BIOS changed nothing. It still switches when core 0 reaches 46 degrees and switches back when the temperature falls back below that mark. Very interesting. And thanks for your replies.
At least artificial intelligence already is superior to natural stupidity
|
|
|
|
|
Could you accidentally have set your OS's cooling policy to passive? It would do something like that.
edit: now that I think about it, a performance difference of 16x still seems rather extreme.
|
|
|
|
|
I will take a look. Thanks!
Edit: Nope, it's set to active. I don't think I ever changed it.
At least artificial intelligence already is superior to natural stupidity
modified 29-May-12 17:31pm.
|
|
|
|
|
I am currently developing an application on Windows XPe that requires the XPe host to run a RAS server that uses a serial modem.
When XPe starts the RAS server fails to start correctly up to 50% of the time.
The log file "ModemLog_Communications cable between two computers" reads the following when the RAS server fails to come up:
05-24-2012 15:58:53.421 - File: C:\WINDOWS\system32\tapisrv.dll, Version 5.1.2600
05-24-2012 15:58:53.421 - File: C:\WINDOWS\system32\unimdm.tsp, Version 5.1.2600
05-24-2012 15:58:53.421 - File: C:\WINDOWS\system32\unimdmat.dll, Version 5.1.2600
05-24-2012 15:58:53.421 - File: C:\WINDOWS\system32\uniplat.dll, Version 5.1.2600
05-24-2012 15:58:53.437 - File: C:\WINDOWS\system32\drivers\modem.sys, Version 5.1.2600
05-24-2012 15:58:53.437 - File: C:\WINDOWS\system32\modemui.dll, Version 5.1.2600
05-24-2012 15:58:53.437 - File: C:\WINDOWS\system32\mdminst.dll, Version 5.1.2600
05-24-2012 15:58:53.437 - Modem type: Communications cable between two computers
05-24-2012 15:58:53.437 - Modem inf path: mdmhayes.inf
05-24-2012 15:58:53.437 - Modem inf section: M2700
05-24-2012 15:58:53.437 - Matching hardware ID: pnpc031
05-24-2012 15:58:53.437 - Opening the modem device failed with error 00000005
And the following when successful.
05-24-2012 16:51:00.531 - File: C:\WINDOWS\system32\tapisrv.dll, Version 5.1.2600
05-24-2012 16:51:00.531 - File: C:\WINDOWS\system32\unimdm.tsp, Version 5.1.2600
05-24-2012 16:51:00.531 - File: C:\WINDOWS\system32\unimdmat.dll, Version 5.1.2600
05-24-2012 16:51:00.531 - File: C:\WINDOWS\system32\uniplat.dll, Version 5.1.2600
05-24-2012 16:51:00.546 - File: C:\WINDOWS\system32\drivers\modem.sys, Version 5.1.2600
05-24-2012 16:51:00.546 - File: C:\WINDOWS\system32\modemui.dll, Version 5.1.2600
05-24-2012 16:51:00.546 - File: C:\WINDOWS\system32\mdminst.dll, Version 5.1.2600
05-24-2012 16:51:00.546 - Modem type: Communications cable between two computers
05-24-2012 16:51:00.546 - Modem inf path: mdmhayes.inf
05-24-2012 16:51:00.546 - Modem inf section: M2700
05-24-2012 16:51:00.546 - Matching hardware ID: pnpc031
05-24-2012 16:51:00.593 - 115200,8,N,1, ctsfl=0, rtsctl=1
05-24-2012 16:51:00.593 - Initializing modem.
05-24-2012 16:51:00.593 - Waiting for a call.
How can I debug this and figure out why Windows fails to set up the modem correctly all the time?
|
|
|
|
|
Member 8002973 wrote: Opening the modem device failed with error 00000005 There's your first clue. Error 5 is "access denied". If it works sometimes, then maybe the device is open in some other process when you fail. Is there an old instance of your process hanging around? Use tools like Task Manager and some of the Sysinternals tools (handle, etc) to see what's tied up with what.
Cheers,
Peter
Software rusts. Simon Stephenson, ca 1994. So does this signature. me, 2012
|
|
|
|
|
This is at boot time so there wont be any old processes, but you could be right in that some other process is accessing the port.
==============================
Nothing to say.
|
|
|
|
|
Erudite_Eric wrote: This is at boot time Could it be that something in the driver stack hasn't got its ducks in line yet, and a delay in OP's app might help?
Cheers,
Peter
Software rusts. Simon Stephenson, ca 1994. So does this signature. me, 2012
|
|
|
|
|
Not likely because RAS as a service will boot way later than serial.sys which is in the kernel.
==============================
Nothing to say.
|
|
|
|
|
As a test I disable the startup of the App and I still observed the RAS Connection not coming up correctly on around 45% of the Windows restarts.
I suspect that it is something in the startup sequence of the driver stack that is independent of the application itself.
|
|
|
|
|
I found a tool "Advanced Windows Service Manager" and was able to determine that the Routing and Remote Access service was not starting correctly when the RAS connection doesn't work. By manually starting the service the RAS connection appears.
Now I just need to use code to enable the service on app startup.
|
|
|
|
|
Hmm, so it looks like the modem is very slow to start. What was in the event log?
By the way, you can configure services to retry their startup, this should work.
==============================
Nothing to say.
|
|
|
|
|
I didn't see it in the event log, but the XPe image is very minimal, so it might have been excluded.
I found some code on MSDN to start a service that seems to be working, just needs more testing now.
Thanks
|
|
|
|
|
AFAIK there is a fundamental problem with serial ports in Windows in that they don't close very fast; so if your app (or another one) closes a port or crashes, then it will take an arbitrary amount of time (could be up to a minute) before the port becomes available for others to use. Any earlier attempt may result in some "port already in use" or "access violation" error. And no, I don't have a reference about this. I suggest you Google to find corroboration for this.
|
|
|
|
|
This is at boot time so there wont be any old processes, but you could be right in that some other process is accessing the port.
==============================
Nothing to say.
|
|
|
|
|
I have never encountered a problem with serial ports not closing in Windows. I have had to interface to +100 different devices through serial ports, which often means opening and closing the ports many, many times during development.
Soren Madsen
|
|
|
|
|
Some approaches,
1) Something else is opening the port. SW tends to open ports (Uses CreateFile(\\\\.\\COM1 actually) in exclusive mode, since generally data needs to go to a specific program. So is there another program acessing the port at boot time?
2) The driver is failing to load/configure the port and create the device.
So in this scenario run a program called 'symbolic links' (sysinternals I believe, if not google it) it will show all the symbolic links created by drivers so you will be looking for the modem port (probably com1).
You can also check the event log, the driver should log any errors there.
What you can also do is compile a debug serial.sys (the code for it is in the DDK) and run that but you need to have firewire debugging set up. That way you can see what the driver is doing when it gets the createfile.
3) Drivers tend to return access denied for all kinds of things, but it could actually be for security reasons, so if these turn out to be OK then you probably have to look at why the access denied is generated. So, has the port been created with some special privilege? Unlikely.
==============================
Nothing to say.
|
|
|
|
|
Anybody else having a lot more problems lately following any firmware updates over the last year?
I am seeing lockups, wifi issues etc, and need to reboot evey so often (although appears to be getting more frequent).
Currently using;
Model Name : Vigor2820Vn
Firmware Version : 3.3.7.1_2471201
Build Date/Time : Feb 6 2012 16:32:10
ADSL Firmware Version : 2471201_A Hardware: Annex A
|
|
|
|
|
Hello,
I would like to know where Windows processes execution and opening of files and programs on the computer, because I'm creating a kernel-mode execution-filter driver (basically, a driver that sits back and "spys" on every program that tries to open up on my computer, before my computer actually detects it or processes it) for security purposes, and to block it or suspend it from the settings the user choose from a GUI application that manages this centrally.
Simple Thanks and Regards,
Brandon T. H.
Been programming in Visual Basic for 4 years this point forward, and is very good at it (I can even create programs completely on code, without dragging those items from the toolbox). Programming C++ for 1 year so far and the same with C#.
Many of life's failures are people who did not realize how close they were to success when they gave up. - Thomas Edison
modified 30-Apr-12 10:27am.
|
|
|
|
|
Brandon T. H. wrote: Been programming in Visual Basic for 4 years this point forward, and is very good at it (I can even create programs completely on code, without dragging those items from the toolbox). Programming C++ for 1 year so far and the same with C#.
And you want to write a kernel file system filter driver?
Good luck!
==============================
Nothing to say.
|
|
|
|
|
Erudite_Eric wrote: Good luck!
There are driver tutroials on here, especially the firewall "Network/Ethernet Filter Driver" here, C++ and Visual Basic are fairly common in syntax, so it's not something that is completely new or very hard and complex to understand, I could look up some code blocks online and change some words around in the programming and change a network/ethernet filter driver into a execution filter driver (it is possible). But There some things to avoid or try not to make or risk and that I have converters to translate from language-to-language.
But you could be right, with the excemption that some language(s) (for example, Visual Basic or C++ CLI/CLR) does not support driver developing/creating/compiling.
Simple Thanks and Regards,
Brandon T. H.
Been programming in Visual Basic for 4 years this point forward, and is very good at it (I can even create programs completely on code, without dragging those items from the toolbox). Programming C++ for 1 year so far and the same with C#.
Many of life's failures are people who did not realize how close they were to success when they gave up. - Thomas Edison
|
|
|
|
|
Brandon T. H. wrote: I could look up some code blocks online and change some words around in the programming and change a network/ethernet filter driver into a execution filter driver
I think Eric's comment was indicating that there is far more to it than that. Changing a few words in one type of driver will not give you a different type. First you need a good understanding of how specific filters work and their interaction with the system. Then you need to understand the specifics of the area that you are trying to filter. As you say there are tutorials, but it takes more than a few hours with online tutorials to be able to understand kernel level programming fully.
Binding 100,000 items to a list box can be just silly regardless of what pattern you are following. Jeremy Likness
|
|
|
|
|
1). Drivers are written in C. C++ is not supported by Microsoft in the kernel. Yes you can use it, but be very careful, so it is best to use C. And you are going to have to use iy in its very raw form. Lots of pointers, pointers to pointers, casting pointers to ints, and so on.
2) Brandon T. H. wrote: Network/Ethernet Filter Driver" Thats an NDIS model driver. It isnt WDM, and isnt anything like a file system filter. (Yep. I have written plenty of both).
3) Brandon T. H. wrote: so it's not something that is completely new or very hard and complex to understand, I so wish I could watch your first efforts... Drivers ARE very complex and hard to understand.
Brandon T. H. wrote: I could look up some code blocks online and change some words around in the programming and change a network/ethernet filter driver into a execution filter driver (it is possible).
As stated that isnt possible, totally different model, diferent API, different everything.
Brandon T. H. wrote: I have converters to translate from language-to-language
This isnt going to work.
You need to be very very proficient in C and understand the kernel/OS/HW in detail in the particular realm you will be working in.
FSF drivers are some of the hardest to write too, so you are jumping in at the deep end. NDIS drivers are actually fairly simple (in comparison).
OK, think of this, kernel code is about 20 times more complex than user mode code. Thats the kind of mind numbing nastiness you will be working with.
You also need to use windbg to debug, so you need to be very proficient in its use.
Oh, and assembler. You are going to be debugging alot in assembler as you trace into system calls to see why your code is going wrong.
Ten there is the install. This can be a major nightmare in its own right and can have fundamental impacts on the way your driver works, or not.
==============================
Nothing to say.
|
|
|
|