[W7] SD card reader ENE Technologies - System freezes

Just

Well-known member
Joined
Jan 16, 2016
Posts
46
Hi,
Windows reports no problems with the SD card reader from ENE Technologies which is integrated to my motherboard. Driver from that manufacturer is installed and seems to be working flawlessly (see attached screenshot).

However, this is not the case. Each time I plug an SD card to the reader, NT Kernel and System process starts to monopolise 100% of the CPU, making the Windows interface and all applications mostly unresponsive. The SD card volume also never gets mounted. Pulling back the card from the reader is enough to restore the system into its previous state. Unless to say that the SD card is regularly FAT formatted and works like a charm on other computers. Capacity of the card does not come into account, as the phenomena looks similar with many different SD card involved, including that 2GB one.

A pop-up window proposes from time to time to format the card before using it. Clicking yes does not help : the operation has failed each times I tried to perform it.

Is there a way which I could seek for a fix to that problem or should I accept that an old-not-more-supported driver is the culprit and this is normal ? Sounds strange to me to accuse the driver as it actually exists for W7, it is installed, and it is reported working by the OS.


Capture.PNG

Thanks for any advice on how to better troubleshooting it.
 
Hello :)

What happens when you uninstall the driver? First, does the busy hanging still occur, and second, does the device still work?

Richard
 
I am going to follow the procedure you suggested. However, I have to postpone it as I need to get around another heavier problem. My computer does not boot anymore, and none of the Windows repair tools achieved to fix it : I tried repeatedly to boot Windows in repair mode and also from its original installation DVD, then restoring the system to a previous state; it went to the point when the Windows repair tool froze during the scan, given me no other choice than switching off the computer.

The system seems to have gotten into trouble as I removed a PCMCIA device from the slot which it was attached to. When I took that action, the computer was powered and the system running. It was an attempt to check if this would have a positive impact on the SD card reader. Actually, the two slots (PC Card slot and SD Card slot) are managed by the same ENE CB-710 chipset.

From the moment when the PCMCIA device got removed, Windows tried frantically to install NVIDIA drivers for a newly detected graphic card + audio output, supposedly attached to the ENE chipset (according to what I read from the devices management panel). A NVIDIA graphic card does exist on that computer and was running normally, but it has nothing to do with the ENE chipset of course. I made the mistake to reboot the computer when I was invited to do so, instead of removing on the fly the pseudo additional graphic card from the list of active devices. I never got back Windows booting normally.

I am trying to solve that new issue in another thread. Then I will come back and try to solve the SD card issue.

Thanks.
 
Hi Richard,

Booting problem got solved, I come back to the main issue.

First, does the busy hanging still occur, and second, does the device still work?

As soon as the ENE Card reader driver is uninstalled, there is no more hanging of the GUI. The SD card reader then cannot work as it is not seen anymore by the OS. It is not listed by the device manager anymore. Reinstalling the driver just makes the machine return to its previous state : many freezes occur in the GUI as soon as an SD Card is slotted in the reader, and the SD card reader logo is displayed among removable drives but that drive cannot be neither formatted nor read.
 
Hello again.

This is going to be a tricky problem to fix. I was rather hoping Windows was going to have a built in and more stable generic driver we could have used. No such luck.

Two distinct possibilities, the first of which is by far the most likely:
1) software (coding) fault in the ENE driver. There's nothing I can do to fix this since I don't have the source code. You'll have to contact ENE and see how good their customer support is and whether their development team are willing to fix their driver's bug. Hmmm.

2) Conflict between this and another driver on your system. Still a fault with the ENE driver since it should never conflict but maybe we'll be able to update or uninstall the other driver. Let's see if anything obvious shows up:

I would like to look into a ETL trace:

  1. Download Windows Software Development Kit (SDK) for Windows and run the setup.
  2. Select Windows Performance Toolkit feature (all the others can be unchecked) and proceed with the download/installation.
  3. Once the installation finishes, open an elevated Command Prompt by right-clicking on CMD.EXE shortcut in your start menu and selecting Run As Administrator from the context menu.
  4. Type the following command, which will start tracing, in the Command Prompt window you just opened:
    Code:
    xperf -on PROC_THREAD+LOADER+PROFILE+INTERRUPT+DPC+DRIVERS+POWER+IDLE_STATES -stackwalk Profile -BufferSize 1024 -MinBuffers 256 -MaxBuffers 256 -MaxFile 256 -FileMode Circular
    If you see a yellow warning "xperf: warning: This system is not fully configured for x64 stack tracing" after running the above command, please complete these extra steps (otherwise, proceed to the step #5):
    Read More:
    If you see a red error "xperf: error: NT Kernel Logger: A device attached to the system is not functioning. (0x1f)" after running the above command, please complete these extra steps (otherwise, proceed to the step #5):
    Read More:

    If you see a red error "xperf: error: NT Kernel Logger: Cannot create a file when that file already exists. (0xb7)", please do the following (otherwise, proceed to the step #5):
    Read More:
  5. Plug an SD card into the slot to trigger a hang for 15 seconds or so (give it enough time for there to be a clear spike in the graphs) then unplug.
  6. Run the following command, which will stop the tracing, in the command prompt window you already have opened:
    Code:
    xperf -stop -d C:\CPU.etl
  7. Compress file C:\CPU.etl
  8. Upload the compressed file to a file sharing service (e.g. OneDrive or DropBox).
  9. Share the download link here.

As I say though my hands are very tied by the fact that this is almost certainly a badly written piece of driver software and there's nothing I can personally do to fix that. Only ENE can.

Richard
 
1) software (coding) fault in the ENE driver. There's nothing I can do to fix this since I don't have the source code. You'll have to contact ENE and see how good their customer support is and whether their development team are willing to fix their driver's bug. Hmmm.

We know that such an option is a deadend. ENE do not reference anymore the chipset. Obsolescence is the beauty of closed source software.

I would like to look into a ETL trace:

First try :

20160205-0002.jpeg

Next try, here it is, attached to the post :
 

Attachments

Side note: Hurrah, I'm not going insane! I've seen that screen once in my life on a old PC and have never, ever seen it again anywhere. At least this proves I'm not imagining things :p

Those error screen are very interesting though - there's going to be no dump for that since it it's not a Windows generated screen AFAIK, I think this is from an underlying system in the BIOS/UEFI.
 
1) software (coding) fault in the ENE driver. There's nothing I can do to fix this since I don't have the source code. You'll have to contact ENE and see how good their customer support is and whether their development team are willing to fix their driver's bug. Hmmm.

We know that such an option is a deadend. ENE do not reference anymore the chipset. Obsolescence is the beauty of closed source software.

In that case I recommend you purchase a new SD card reader. There is nothing more I can do to fix this. Your trace simply shows EMCR7SK.sys sending DPC/ISR response times through the roof to the point where nvlddmkm.sys is squeezed out and unable to get a look-in. There is no apparent conflict, only a faulty driver.
 
Thank you for having investigated the case and gave a clear confirmation that the driver was the culprit. Interesting enough, an open source driver does exist for that device on Linux. It is not written by the manufacturer. On the very same machine, I was then successful at making that SD card reader working under LinuxMint 17.

This is an interesting illustration of how a motivated and independent developer might have provided much more a useful work back in 2009, likely based on reverse engineering, than a silicium manufacturer which owns all the official documentation but achieved to release a buggy driver back in 2006, digitally signed by Microsoft, and no more updates since that. Anyway, many similar computer stories likely exist everywhere.
 

Attachments

Has Sysnative Forums helped you? Please consider donating to help us support the site!

Back
Top