C90S MXM Upgrade
This guide is intended as a helpful resource, it is not guaranteed to be 100% accurate, nor do I make any claims or guarantees that ANYTHING listed in this guide will be compatible with any product you may own. I cannot be held responsible for any mistakes people may make following it as it is meant only as a educational reference and not as professional advice! In other words, if you screw something up or if it doesn't work for you, don't blame me! I'm only trying to help :)
Brief F.A.Q. regarding MXM modules and upgrades:
There is a lot of discussion about MXM modules and quite a bit of confusion as to what is and isn't possible concerning upgrading a MXM equipped laptop. I am going to do my best to try and clear up a few of the common misconceptions that have been discussed throughout this thread. This is by no means a complete guide to all MXM information or upgrades, it's more like an F.A.Q. regarding MXM modules and the C90 series.
What is an MXM module?
Simply put, an MXM module is a removable PCI-e card designed to give the same general functions as a desktop graphics card. The cards can be removed and replaced with a card of the same "type". This allows manufacturers to design laptops that can have their graphics cards (MXM modules) upgraded in the future with newer versions by NVIDIA and ATI. Each specific type of MXM module is designed to a certain form factor and has it's own set of thermal capacities. MXM modules also have their own independent video bios on the module itself.
What is an MXM "type"? *This information regarding types is listed for MXM version 2.1 only*
MXM modules have multiple different "types" and names associated with them. There currently are the following MXM types available: MXM-I, MXM-II, MXM-III, MXM-HE, and MXM-IV. Each "type" designates a specific form factor for the card and also it's maximum thermal capacity (power requirements). In other words, MXM-I modules have the smallest form factor and the lowest amount of thermal capacity, whiles MXM-IV have the biggest form factor and highest thermal capacity.
What about MXM "versions"
MXM modules have undergone some changes since their initial design and each major revision has had a generation number assigned to it. Such as MXM v1.3, 2.1, and 3.0. There is no guarantee if your laptop was designed to be MXM v1.3 that an MXM v2.1 card or newer will work as an upgrade. People have had mixed results and it is mostly a trial and error process with each individual laptop.
MXM types in relation to upgrades:
Each laptop designed to be MXM compliant is built around a specific MXM type by the manufacturer. If you bought an "MXM-II" laptop then that is the highest type of card you are able to use in that laptop due to power, form factor, and in some instances connector differences between the different types. So in other words, you cannot install an MXM-III card in an MXM-I or MXM-II laptop. You can, in most cases, install an MXM card of a lower type into a laptop though. For instance an MXM-II card in an MXM-III laptop.
There are slight differences between the MXM-HE and MXM-IV connector so I am not completely positive if backwards compatibility exists with the MXM-III and lower cards in a MXM-HE or MXM-IV laptop.
Cards that look like MXM modules but are not
Yes, it's true. Certain models of laptops have removable graphics card modules that have nearly the exact same form factor and connector as a traditional MXM module. However, these cards are not true MXM modules due to a number of different reasons. Some models have the video bios built into the system bios itself and lack a video bios on the module (Asus mv50 series), some are the same form factor but the card and connector are reversed, some will be a completely unique design built specifically for a certain manufacturer, and the list does on.
MXM modules or laptops that are "vendor locked".
This is quite possibly the most important subject I want to discuss about MXM modules in general. Even if you have confirmed 100% that your laptop is in fact a true MXM compliant design it may still be unable to be upgraded due to a software lock. Certain laptop manufacturers will sometimes design their laptops system bios to check for a "flag" from the MXM's video bios letting it know it is okay to boot. What this means is that both the laptop and MXM bios' were written to "talk" to each other during the system's initial "POST". If either one does not see the other flag the laptop will not boot. This is a very dirty trick in my opinion and it was designed to keep you buying cards only from a certain manufacturer.
So lets say your laptop is completely unlocked and doesn't have a bios that checks for these kinds of flags and you want to upgrade the MXM module. You will have to find an MXM module that has a video bios that is also completely unlocked and free of any checks. If you try to use a locked card in an unlocked laptop you will more than likely run into either a "30 second post delay" (for the C90), or an inability for the laptop to POST at all. It may be possible to flash a locked MXM module with a video bios from the exact same card of a different vendor to defeat this. However, this is extremely risky and if the cards do not have the exact same brand of memory, among other things, it can brick your card completely.
If you try to upgrade a laptop that is locked in the system bios with an unlocked MXM module it will almost always fail. In some instances the laptop will display a warning during POST and then continue to boot, but more than likely it will not POST at all. The only way around this would be to find and completely remove this check from the system bios itself. Obviously this is hardly an easy task and not plausible for most people.
It is extremely important when upgrading an MXM equipped laptop that you stay within the correct MXM "types" and that you are 100% certain both your laptop and the replacement MXM module you are purchasing are not locked!!! Failure to do so will almost certainly result in an unsuccessful upgrade.
For even more information on MXM modules visit this great website: http://www.mxm-upgrade.com/
This guide is meant to show you how to upgrade your C90S GPU to a 9600M GT 512MB DDR3. I take absolutely NO responsibility for any damage caused by following this guide AT ALL. It is your decision to choose to follow this guide and attempt this upgrade! I am providing this guide as a helpful tool to those people who wish to finally upgrade to a decent GPU in their C90S. If you do not agree with this then DO NOT follow this guide or attempt this!
Everyone who has bought a C90S has been waiting, desperately I might add, for a GPU upgrade. Well, this guide will show you how to upgrade your C90S from the extremely hot and poorly performing 8600m GT (DDR2 or DDR3 version) to the cooler running and better performing 9600m GT 512mb DDR3 card.
This upgrade can be done in two different ways, one relatively quick way that will yield less benefits, and one time consuming harder way that will yield some very impressive results. I will outline both of them, however I am not going to get that in depth with the "easy" way because I feel it is not a permanent solution and shouldn't be used for a prolonged time.
Okay, so before we get going too far there's a few things you are going to need to do this the right way. I'll break it down into the things you NEED as well as the things that would make the job much easier.
Saw with a "metal" blade
Drill and drill bits
A couple of very small computer screws
Thermal pads (size/thickness depends on method used)
Patience and a steady hand
Things that make the job much easier:
Cut off wheel
Dremel or other rotary tool
Gather up/borrow all the tools, order a pizza, grab some soda, and get ready for about 4 hours of work.
Step 1 - Buy what you need:
Well, first you'll need the card, it can be bought from a company named "Zepto". Here's a link: www.dennedusa.com or just search for "Zepto USA". These are the people I bought my Samsung chipped card from. They also have 9650M GT cards available that should also work. I suggest you buy some decent thermal paste and also thermal pads. You will also NEED a 120W AC adapter! Here's a picture of my card when I received it:
Step 2 - Figuring out what modifications need to be done:
As you will quickly notice upon inspection of your new card, the "heatsink mounting plate" is completely different from the one Asus uses. It uses smaller screws and it sits higher up then the Asus plate.
This will in turn make the the "heat spreader" from the 8600m GT sit higher as well and not make contact with the GPU core or memory.
Further more, the plates CAN NOT be swapped because Asus' plate is of a much thicker design and will not fit the 9600m card. So basically, we're stuck with working around this mounting plate, which isn't too bad of a thing because it seems to be the standard size plate used for most other MXM-II cards as well.
This is the plate I'm referring to, and the area that is different than the Asus plate:
There are two ways to overcome this problem both with there own set of benefits and drawbacks listed below.
Method 1: The "easy" way. NOT recommended:
1. The modifications necessary are easy, and should be able to be completed in under an hour.
1. Due to the memory chips being slightly closer to the core, and the heat spreader not being designed for the 9600m, only half of each memory chip will be cooled.
2. Even modified, the mounting screws for the VGA heatsink will sit dangerously close to the electrical components/circuits on the 9600m.
3. You are still using the god awful aluminum 8600m heatspread.
Now that the positives and negatives are out of the way, let's move on. As I previously stated, I'm not going to get very in depth with this method because I really don't recommend it and consider it a potential danger for short circuits if done incorrectly. However, if you are extremely impatient and don't mind risking a brand new graphics card, or you absolutely can't find a way to do the other method, here's what needs to be done..
Basically, all you need to do is grind down one corner of the heatspreader so that it clears one of the circuits on the 9600m. I didn't bother to take a picture of what the heatspreader looks like BEFORE the modification because you'll be staring at your own. However, here's what the heatspreader should look like AFTER you are done grinding:
The spot highlighted shows the area we just ground down. Also, be sure to test fit the heatspreader on the 9600m multiple times and if it's making contact with ANY electrical components, remove it and grind that area down.
If everything is okay after you are done test fitting it then find some tiny screws (the stock ones will not even come close to working) and install the heatspreader onto the 9600m, while still checking for any contact with electrical components. By this point you should see what I was talking about when I said only half of each memory chip would be cooled. There isn't much you can do about this, just make sure you applied decent thermal pads before you install the heatspreader for the last time and be sure to monitor your temps.
Also, when you go to install the VGA heatsink onto the heatspreader be sure to only tighten the screws down about half way. If you tighten them down all the way they can make contact with some of the electrical components on the 9600m.
That's really all there is to this method, I never ran my system for longer than about 10 minutes with it like this so I couldn't tell you what the idle temps will be, however I'm sure they won't be that great. If you absolutely must use this method, I suggest you use it with a laptop cooler at the very least.
Method 2 - "The ultra cool, super shiny, pain in the butt method":
1. When you are done you will have an 1/8" thick all copper heatspreader!
2. Complete cooling solution that will be 100% plug and play with the C90S' VGA heatsink, except for one screw
3. The heatsink should be compatible with other "standard mounting plate" MXM-II cards.
4. If done correctly, you won't have to worry about short circuits or not being able to tighten screws completely.
5. Significant idle temperature drops.
6. It's shiny.
1. Time consuming.
2. Difficult to fabricate and actually make.
3. Lots of various tools needed to complete the job.
Okay, so we've gone over the benefits and drawbacks again and if you think you're up for this project here's a few pictures of what you will end up with if you do it correctly:
If you're still up for it, you'll need to start off by purchasing an 1/8" thick, 4" long, and 3" wide piece of copper. You can purchase a longer or wider piece of copper, just be sure its at least 4" long, 3" wide, and an 1/8" thick. Also, stick with an 1/8" for thickness. Any bigger and it WILL NOT fit, any smaller and you will probably have less cooling.
For reference I purchased an 8" long, 6" wide, 1/8" thick piece of copper on eBay for, if I remember correctly, about $30 shipped. This is what I worked with and it's what's pictured, but stay within the specifications given above and you should be fine.
You're going to start off with this (or something similar):
You will first need to get some paper and build a "template" of what the heatsink needs to look like by tracing your 9600m and removing any areas that may come in contact with any of the 9600m's electrical components.
Since I'm such a nice guy and have already done this myself I'm going to save you about 45 minutes worth of work and let you print out the template I have already made and scanned. You can download the template image from here: heatsink template Just be sure NOT to resize the image!
Now you should be left with a paper template that looks like this:
The next step is to trace the outline of the template onto the copper plate. I used a pencil for doing this and pressed down very hard to make an impression. When you get done your copper plate should look like this:
The picture isn't the best but in person the trace was more then visible. Now we have to cut the shape of our new heatspreader out from the piece of copper stock. I used a large clamp to hold the copper in place, a cut off wheel for the smaller areas that needed to be cut, and a saw with a metal cutting blade for the larger areas. You will need to rotate the copper multiple times and probably curse a half dozen times to get the job done.
When you get done cutting you should be left with a very jagged piece of copper that looks like this:
Next step is to sand down all the jagged edges and top and bottom sides of the heatspreader. I used an air compressed rotary tool with a few sanding bits to get the edges nice and smooth and an electric sander on the top and bottom sides. A dremel will work as well, and if all else fails, a piece of sand paper and some elbow grease. When you get done with this step your new heatspreader should look like this:
Now we will need to drill the necessary holes to mount the heatspreader to the 9600m. First you will need to place your paper template on top of your newly designed copper heatspreader and mark the areas that need to be drilled with a pencil like this:
This part is a little tricky, and I'll do my best to explain what needs to be done clearly. You will need to "double drill" the holes, and by that I mean you will need to drill HALFWAY through the copper with a drill bit two sizes bigger then the screws needed to secure the heatspreader to the 9600m's "mounting plate". The reason you need to do this is to give the heads of the screws an area to sit that will keep them flush with the top of the heatspreader. In other words, you are keeping the heads of the screws from protruding above the top of the heatspreader and causing the VGA heatsink not to make proper contact with it.
So, use a drill bit two sizes bigger than the screw ( bigger than the screw NOT the "head" of the screw) and drill HALFWAY through the heatspreader. Drill SLOWLY!! If you drill too fast and go straight through the heatspreader, you will have just wasted all this time and work!
When you get done drilling halfway through, you will then need to use a drill bit the same size as the screw and drill another hole completely through the heatspreader. This second hole is for actually connecting the heatspreader to the 9600m's "mounting plate". When you get done drilling your new heatspreader will almost be complete and should look like this:
Now you will need to install the heatspreader onto the 9600m, then install the 9600m into your C90S and screw it down. Now line the VGA heatsink up and you will notice right away that one screw cannot be used. This is fine however, because it's not needed and the heatsink stays secured without it. With the VGA heatsink lined up and sitting how it would if it was screwed down, trace the two VGA screw mounting areas with a pencil onto your heatspreader.
Disassemble the heatspreader from the 9600m and drill the final two holes necessary. Be sure to use a drill bit the same size as the VGA mounting screws. Use the spare VGA mounting screw you have to make "threads" in your two newly drilled VGA mounting holes. This can be done by slowly turning the screw down into the hole. You might have to elongate the hole a little, but try not to.
After you get done threading the holes check and make sure there are no jagged edges or little pieces of copper left in the drill holes. Sand down the top and bottom sides one more time to remove any jagged copper on the top or bottom sides. Clean the entire heatspreader up and you will finally be done with the fabrication stage! Use "Lairdtech Thermal Thermagon Gap Pad Material T-flex 6200" thermal pads and cut them in half to fill the gap between the heatspreader and memory chips.
All that's left to do is install it onto the 9600m and put everything back together in your C90S. When you get done this is what you'll be left with:
If you've made it this far, pat yourself on the back, you just did a heck of a job!
Step 3 - Installing the drivers and testing everything:
This is the easy part lol, I used drivers from laptopvideo2go.com and they worked just fine. Here's a GPU-Z screen capture:
Step 4 - 9600M GT Bios Flash:
Those of you who followed my previous thread know that the 9600M GT will not operate at full speed right off the bat! It took me a total of 22 days and countless hours of research to finally figure out the necessary settings that had to be tweaked in the bios to make the card operate at full (and overclocked) speeds.
I have provided the necessary bios file to allow the 9600M GT 512MB DDR3 MXM-II card to boot at full speed on the C90S. HOWEVER, this bios file will ONLY work with the cards that I linked to in the beginning of this thread. The correct cards use "Samsung" memory chips that are placed horizontally across the card! DO NOT, I REPEAT, DO NOT USE THIS BIOS FILE WITH A DIFFERENT VERSION OF THE 9600M GT CARD!! If you do, you run a VERY high risk of bricking the card!
The only other 9600M GT cards I have seen use "quimodo" memory and have the memory chips placed vertically. If you have one of these cards send me your bios and I'll see if I can modify it to work with the C90S.
Download the the modified VGA bios file here "Bios file" and use "nvflash" (if you don't know how to use this program Google it) to flash the modified bios file to your new 9600M GT! You will now be running at full speed!
Step 5 (optional) - Manually modify your 9600M GT's bios:
For those of you who would like to perform the modification yourselves or would just like to know what settings finally got this card running at full speed here's a quick walk through of how to manually modify the 9600M GT's bios.
Okay, so the first step is to acquire your unmodified original bios file from your 9600M GT. Use "nvflash" or GPU-Z to do this. When you've finished this, load the original bios file into Nibitor and it should look like this:
Now click on "Tools", "Perf. Table Entries", "Show Entries". Like this:
You will be presented with a screen showing a bunch of code in four separate windows labeled "Perf. entry table 1", "Perf. entry table 2", and so on. The trick to make the card operate at full speed is to rewrite the contents of "Perf. entry table 2" and "Perf. entry table 3" with the code listed in "Perf. entry table 4". So, in other words we are going to copy this entire bit of code:
And paste this code into these two tables:
When you get done it should look like this:
You might be asking yourself why you need to do this and also why I have the same clocks for"extra", "3D, and "thrtl" modes. Well, to put it simply, the C90S for some reason or other can not "switch" into "3D" or "Extra" modes with this card. It will only work with the "thrtl" and "2D" clocks. This is why I always change all three of those clocks to whatever speed I want to run at when I'm gaming and leave "2D" mode set really low so powermizer will still downclock the card when I'm not gaming. I believe this is also the reason why software programs such as RivaTuner do not work with this card.
This isn't an issue for me because the card will run FULL power and FULL speed after you change the "Perf. Table Entries". Basically what you are doing is "tricking" the card into thinking that "thrtl mode" (the mode the C90S makes the card upclock to when you open a 3D application) is actually "extra mode". This doesn't cause any problems and since we are leaving "Perf. entry table 1" alone we can still use the "169/338/100" powermizer clocks when a 3D application isn't open.
The fact that you can't really use more then 2 modes (powermizer clocks and gaming clocks) might bother some people, but it isn't an issue for me. I have my power saving clocks and my gaming clocks which is really all I need. If anyone else figures out a way to make the other clocks work go ahead and post it but believe me, I have TRIED just about everything else, and really I'm not too concerned with the other modes being operational.
Well, that's all you need to do!
Step 5 - How to overclock this card with the C90S:
The only drawback present with using this card in the C90S is you will no longer be able to use any software programs to overclock it, at least I haven't found a way to make them work. This really isn't an issue to me because I have always just reflashed my card with the higher clocks I want to use.
You will need to change ALL of these clocks to the new speeds you would like to use:
Leave "2D" at 169/338/100 so the card will still downclock and save power/lower your temps when you are not running 3D applications. When you are done, save the file and then reflash your card with "nvflash". That's all you need to do to change the clocks.
So, after all this hard work you must be wondering what the results are by now.. Well let's just say they are pretty awesome! At the stock clocks of 500/1250/800 I scored 5049 points and my max load temps were 80*.
I then overclocked the card to 650/1700/900 and reached a score of 6178 points and my max load temps topped out at 86*.
These two tests were done using 174.90 drivers from laptopvideo2go.com. I haven't even tried to see just how high I can overclock this card yet because I'm already running stably at ridiculous speeds! I will continue to tweak the clocks and post new scores up!
Conclusion and final thoughts:
Well there you go, that's the guide! I am extremely happy with this card so far, now that I worked out the previous issue I was experiencing! I also hope that this puts to rest the question of if the C90S' GPU is upgradable! As you can see, it most certainly is, but to do it correctly will require a little bit of patience! Good luck guys and if anyone else uses this guide to upgrade there C90 please leave a comment here!