• Announcements

    • Brian

      Introducing T|I Marketplace/Classifieds!   11/24/16

      After a long wait, Tech|Inferno now has a Marketplace/Classifieds section where all registered (promoted and above) members can participate in selling, trading and seeking out items. This service is free to all members to use as they wish. Currently all ads last for a period of 14 days before they expire for promoted users. Those users belonging to T|I Elite, Contributor, Developer and Moderator have access to 30 day ad periods that are featured   Some easy rules to remember: Do not post multiple ads of the same product. Do not advertise here if you are a retailer or business. You must contact Tech|Inferno for advertising space. Keep ads civil, do not try to lowball members. You may contact them in private via PM if you feel their price is not to your liking. Harassing members will result in an infraction. It is recommended you have Heatware/eBay feedback to establish trading credibility.    Tech|Inferno assumes no liability for any sales posted in the Classified section. Always use common sense when buying/selling with traders and ask for their heatware/ebay feedback!   Enjoy!

PE4x series: understanding CLKREQ# and PERST# delay

3 posts in this topic

My L502x + PE4C + GTX970 setup has some annoying boot up problem, so I spent some time doing experiments and some research, here's what I found regarding these two special signal lines.


Basically they are related to how a motherboard initialize a device. Per https://pcisig.com/sites/default/files/specification_documents/MiniEx_M2_ECR_PERST_CLKREQ_Power-up-Reqts_20140918_Final.pdf, we can learned that for a normal motherboard + pcie device, when you press the power button the 3.3V power is firstly established. When the device probes the 3.3V power, it will issue CLKREQ# by lowering its voltage to ground. When the motherboard detects a CLKREQ, it will try to establish the reference clock, then issue PERST# by raise it to 3.3V to let the device know it. After that the device will pick the reference clock and start communicating with the motherboard.


For PE4c semantics (http://www.bplus.com.tw/PDF/PE4C_V30_20150129A.pdf), the CLKREQ# is not connected to the GPU at all. It will simply connected to the CLKREQ# delay circuit, which, allowing you to choose how many seconds you want before it lower the wire to ground. However, for PERST#, it connects the motherboard, the GPU and the PERST# delay circuit all together. The PERST# delay circuit will try to raise the signal only after your specific delay time, but it is easy to realize that when the motherboard raise the line to 3.3V first, it doesn't matter anymore how PERST# delay circuit behave.

The problem my laptop (L502x) has is, its motherboard doesn't 100% honor the PCIe standard. More specifically, it uses a global PERST# line, so it will be raised to 3.3V after about 0.5s after power up, globally, including the port you used to connect GPU. Moreover, its BIOS is buggy that it can't support external GPU during boot so enabling GPU while booting will hang the laptop. Also, raising PERST# before CLKREQ# goes to ground is an undefined behavior, and will result the GPU freeze and becoming undetectable.


So it looks like a dilemma: If we don't delay any signal, the GPU will be correctly connected upon power up, then BIOS hangs. If we delay CLKREQ# using the on-board circuit, the laptop will still issue PERST# 0.5s after power up so the GPU will freeze. If we try to change PERST# delay switch, I'm sorry, the laptop motherboard is faster than the delay circuit so nothing will change at all.


However, right now you might also come up with the solution yourself. If we simply put a small piece of electric tape, on line 22 on the bottom side (PCI Express Mini Card (Mini PCIe) pinout diagram @ pinoutsguide.com) of the mPCIe connector, which blocks motherboard's PERST# signal. We can successfully enable PE4C's PERST# delay circuit. Then, pick a combination that CLKREQ# will goes down before PERST# raise up, you are done! Now the GPU would be detected automatically upon boot without any hot plugging!


ps. PE4L has similar PERST# delay circuit implementation, its CLKREQ# is named as DETECT# but it doesn't offer any delay circuit. The 1x/(2x,4x,8x,16x) switch would either connect CLKREQ# to the card, or to the ground at the very first.

1 person likes this

Share this post

Link to post
Share on other sites

The perst delay prob was the only issue that i faced.Thanks to this post, i finally got my got my pe4c 3.0 running....

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