Thursday, September 28, 2017

A Few Updates

Febuary, March, April, May, June, July... oh shit it's already July!? Where did summer go? ...and this post sat around for another two months before I got around to finishing it, so it's now September.


Anyway, in those intervening months I have done a number of things that relate to the blog, so here they are.

1] I made an attempt to reflow the wifi chip on the Sony Xperia Z3C.
2] I now have many spare parts for the Sony Xperia Z3C, if anyone is interested.

When I was reflowing it, I put it on top of a bunch of aluminum foil, took off the EMI shielding (and there was quite a lot of it), and pointed a 1500 watt heat gun at it. I didn't have a laser thermometer on hand to check temps, and I got a little carried away. There was a sharp *pop* and when I plugged the phone into an outlet, it didn't boot. From what I understand, I nuked the phone's built in memory. Oh well, next time I'll get a thermometer.

In other news, I have improved the performance of the Mac Pro by removing bits!

A bit of explanation: I've made the somewhat slow desktop framerates increase by a significant amount by removing the GeForce 7300 video card that I had in there as a fallback/boot menu card. I haven't got the slightest clue as to why that helped, but the idea came to me in the middle of the night and when I tried it, it worked. I've updated the Mac Pro Upgrade 2] Hardware post to reflect this discovery.

I have acquired new hardware! And lost temporary access to most of what I had since I've moved off to college.

1. 17" Macbook Pro 2010. 2.66 GHz Intel i7, 8 GB RAM, 500GB HDD
2. Moto G4 Play, Amazon software variant (it's got ads)
3. Motorola Droid 3 (upcoming series)

Lost access to:
Literally everythign else on the "My Gear" page except for the TI 84 Plus CE, which I've brought with me. Unfortunately this means that any problems people may have regarding some of my projects won't be able to be resolved with anything other than my memory and some google wizardry. 

I also did very, very little work on the Macintosh Classic mod, but I have nothing to show for it as I didn't take pictures.

In a slight departure from the more "computerey" stuff that I normally toss up here, I've rebuilt a go-kart. Contrary to the Mac Classic, I took loads of pictures and will probably be posting them in a more "photo album with comments" way here in the near future. I'm also looking to do more car and engine stuff in general, because that's quite fascinating and lots of that sort of content is relegated to YouTube videos and forum posts as opposed to written instructions.

That's a short list of what to expect in the coming months, and I'll probably hopefully get around to making another post before December.

Saturday, February 11, 2017

Android's Interesting Problem

Some months back, the wifi in my Sony Xperia Z3 Compact stopped working. I had assumed it was a software problem at the time, because these sorts of things usually are. This led me down a miserable, annoying little rabbit hole of forum posts, spec sheets, and eventually a talk with Sony customer service.
Photo credit:

It all began one fateful afternoon, when I was dorking around on my phone instead of doing my homework. I was probably looking at dank memes on imgur or something equally pointless. Regardless, the wifi disconnected from my home network, and the wifi shut off. I thought nothing of it, as our home wifi serves upwards of 25 devices and does that from time to time. So I go around and shut off all of the stuff I'm not using (iPad, Vita, Desktops) and try to reconnect. It would reconnect, but then disconnect shortly after. I restart it, and the connection holds until the next morning. "Ah well", I thought, "I can't connect to the school's wifi anyway, so I'll fix it when I get home". I come home after school and do a factory reset. This holds for about an hour, then fails. Try it again, it doesn't work at all. I try using the Xperia PC Companion, and the same thing happens. Five minutes or so, then fails, never to work again. I try using the "Testing Menu" code from the calling app, and the same thing happens. I try FXR Wifi Fix and Rescue, and that will get about halfway through and the app will hang. I run the diagnostics thing in "Settings > About > Diagnostics" or something like that, and it says bluetooth is bad but Wifi is a-OK. Which it clearly isn't, I might add. I then twiddled my thumbs for a bit, and gave up. This was about a month ago, and the problem still hasn't been fixed, through my efforts or any other supreme being.

I decided to broaden my search. Previously, all of my google entries had been something along the lines of "Fix sony xperia z3c wifi" or "xperia z3c wifi problem" or "sacrifice goats to fix wifi" (no goats were harmed). All this turned up were a bunch of discontented people bitching on the Sony Forums, and a bunch of Sony bots/moderators that were spewing the same three cut and paste answers. Anyhoo, I thought I'd see if the problem was related only to Sony devices. I found a thread on the Google forums about the Nexus and some others that proved to me the problem was not local only to Sony (don't have the link, I'm afraid). Now theoretically, this should mean that the problem is in software, right? I mean, it's a problem across several different manufacturers, with different wifi chips and the like. Well, the multiple reinstallations of the OS and reports by several people that installing/removing custom roms not fixing it seem to say otherwise, that it is a hardware problem. What could cause a fairly widespread hardware problem across multiple manufacturers and devices? Is it even a hardware problem?

I have a theory. I think it is a hardware problem. Most of the forum posts said that the wifi stopped working shortly after a large software update. Updates where the wifi chip is used a lot, and gets fairly warm. Updates where, if not properly ventilated, the phone could get hot enough to reflow solder. I know for a fact that my phone got really, really hot during my meme browsing homework sessions, and it certainly wasn't helped by the fact that the back glass had cracked and was covered in electrical tape in my attempt to fix it. Nor was the fact that it had a case on it helping the matter. My theory is that, during heavy loads, the solder holding the wifi chip to the board melts *just enough* that it can disconnect one or two pins on the BGA and thus break the wifi and possibly bluetooth connectivity, if the right pins are broken. This theory is helped by several reports of people applying "percussive maintenance" to their device, or even going as far as to reflow the wifi chip and getting it to work again.

The fact that this happens on what appears to be a wide range of devices is still a bit befuddling. I'll also admit that it is pure speculation beyond this point (and really a lot before now, too). I think that the phones are not designed to disperse as much heat as they give off with a case on. That last part is important, and you can tell because it's italicized. The cases people use hold in a lot of heat, and make wonderful insulators. I can confidently say this because I used my phone several times without a case and it nearly burned my hand, but never even came close to doing that with a case on under similar loads. I'm not suggesting you go and throw out whatever cases you have, I would however suggest that you take off the case and put it in a cool area when doing a lot of downloading to prevent accidental reflowing of the wifi chip.

Again, this is all pure speculation, and if you have any other theories about why this happens so frequently please do not hesitate to leave a comment. The best way to figure this thing out is to do it together.

Monday, January 2, 2017

Mac Pro Upgrade 3] Software

This is the third post of a 3 part series in which I upgrade my Mac Pro 1,1. Since the 1,1 and the 2,1 are essentially identical, this guide will apply to both. I will be writing under the assumption that you are using similar parts to me and are upgrading a 1,1. I take no responsibility if you screw something up, but I can try to help if you post it in the comments.

The software could have easily been the easiest part of this build, but due to my stubborn behaivour, it quickly dissolved into being the most difficult. All of my frustrations came from my refusal to use the inferior GT640 I mentioned in the previous post. If you want just get on with it, skip about half way down the post.

EVGA GTX750ti on the left, GT 640 on the right.
I will explain all of this to the best of my ability, however, the reason the reference 750ti did and will not work in the Mac Pro is still unclear and my best googling efforts have not turned up any useful results.

I'll start at the begninning, and what made the software so tricky in the first place. Before I had done any of the hardware, I had planned on installing Mac OS 10.10.5 Yosemite. "But those old macs can't go past 10.7 Lion", you say. You are nearly correct. From the factory, the Mac Pro 1,1 and 2,1 have 64 bit compatable hardware, from the CPUs to the Frontside Bus to the Northbridge to everything. All of it. Everything is 64 bit compatable, which is required for the use of Mac OS 10.8 and above. However, Apple, being the small minded goons they are, decided to put a 32 bit efi firmware on the motherboard. That is the only thing that breaks compatability with the newer Mac OSs. That narrow minded thought process is what locked the plenty powerful Mac Pro 1,1 into "Lion and Lower". To fix that, a glorious enterprising mind over on the MacRumors forums has created a new boot.efi that you can insert into the installer of any of the new Mac OSs and it should work. That's the theory, anyway. I had quite some difficulty in getting this to work at all. Once I understood the process, though, it is quite simple. I'm not going to repeat it here, because there are loads of other tutorials, but I will link to the thread where all of this is explained in thorough detail as well as the process that it took to get them there. I will warn you that the first 100 pages or so of posts are outdated, as a result of better methods becoming available and newer files that need to be used. That being said, I do recommend you take some time to read a lot of it. It's about two day's nonstop reading at my pace (YMMV), so it's quite the long haul, but it is well worth it and you might even feel somewhat enlightened.

Anyhow, I created a Yosemite install USB (as I have my reasons for not wanting the latest Mac OS), and booted it up, and promptly formatted my installation of Mac OS Lion. To make this mistake even better, I don't have the DVDs that came with the computer, so I was shit outta luck. This in and of itself was not a big setback, but the unforseen consequence of my actions was that I did not realize my GTX 750 was not compatable with the Mac Pro for whatever odd reason. It should have been, and that specific EVGA model was confirmed to work by several sources, so I'm not sure what went on there. I wasted three whole days making trying to force that card to work, but it refused. Allow me to explain what I mean by not working; I had both graphics cards installed and hooked into my monitor as per my instructions in the previous post, and had the monitor set to the GeForce 7300's outpout. I could boot into Yosemite, I could piddle around with the slow refresh rates that the card offered (as it's not supported by Yosemite), but the second I installed the nVidia web drivers and rebooted, nothing. The fans would rev to wind tunnel speeds, creating an unholy racket, but no graphics output from either card. I wasted 3 days, 5 reinstallations of the OS, and countless PRAM resets figuring out that I needed to use the GT640, as the 750ti wouldn't work. Popped in the 640, everything went smooth as butter. Oh well, lesson learned

=~= Actual Instructions Start Here =~=
First things first: DO NOT GET RID OF YOUR LION PARTITION/DISK. Save it, it's helpful beyond belief. I made this needlessly more difficult on myself because of the way I did things, you don't have to. You can find tutorials on how to shrink Mac OS partitions all over the internet if you only have one hard drive.

Before starting this process, I highly recommend reading the first post of this:

To install Yosemite the easy way (this can be done with only the Mac Pro):
Simply go to the first post of this thread. Download the file seen in the picture below (it's pretty huge, about 5 GB. Go outside and take a break or something).

The first link in the red box is the one you want.
Once you've downloaded the file, you can then head on over to disk utility. Grab an 8GB or larger USB stick, and erase it. Make sure it is the one that's selected in the sidebar, else you could erase the OS.

 You'll want to make sure the format is set to "Mac OS Extended (Journaled)". This is default, so it shouldn't be different unless you've messed with it, in which case you'll know how to change it back. Once it's done formatting, select the "Restore" tab at the right:

Then change the source to be the installer image you downloaded earlier, by clicking "Image" and 
navigating to wherever you've saved it.

Then change the destination to be the USB disk, by dragging it over from the left. At the end, it should look something like this:

Where "Install OSX Yosemite" is the file name of the installer, and YOSEINSTALL is the name of the USB disk. Click restore in the bottom right, and wait for it to do its work.

Once its finished, plug the USB into one of the back USB plugs in the machine. The boot USB won't be recognized in the front ports every time, for whatever reason. Shut it all the way down, and hold the "Option/Alt" key until you hear the chime, select the USB drive from the menu, and boot from it. You are then free to install OSX as normal.

To install Yosemite the more complex way (this should also work for other unsupported versions of Mac OS, but no promises. Requires another supported mac):

First thing you'll want to do is make an install USB as shown in this guide. That will leave you with an installer that will work on supported macs only. Next, you'll want to have another, Yosemite supported mac handy (I'll refer to this as the Macbook, cause that's what is most likely), and a firewire cable that works in both computers. Most newer Macbooks will have FireWire 800 ports, which are the faster of the two on the front of the Mac Pro. Reboot the Mac Pro into "target disk mode" by holding down "T" until it chimes and shows the FireWire symbol on the screen. Plug the firewire cable into both computers and check to make sure the Macbook sees the drive(s) in the Mac Pro. Plug the install USB into the Macbook, and restart the Macbook, holding the option key while it boots, select the install USB, and install OSX to the drive in the Mac Pro. It is absolutely essential that you select one of the Mac Pro's hard drives, or you will erase your laptop. Finish the installation as normal.

Once it is done installing, reboot the Macbook, but keep it plugged in to the Mac Pro. Next we'll need several things: the updated PikerAlpha boot.efi, and the ability to see hidden files in OSX. The PikerAlpha boot.efi can be found on his page, here. Download either one, the only difference they make is the color of the boot screen, grey or black. Next, you'll want to open up the "terminal" application on the Macbook. You can find it in Applications > Utilities, or under spotlight. Next, paste the following comand into terminal: 

defaults write AppleShowAllFiles YES

Then type or paste:

killall Finder

The Finder will restart, and you will be able to see some stuff you weren't previously. Next, open a new Finder window and navigate to "System/Library/CoreServices/" and paste a copy of the boot.efi there. It will ask to overwrite the old one, agree. Then navigate to "usr/standalone/i386/" and do the same. You should now be able to reboot the Mac Pro into OSX Yosemite. To hide the files again, just paste the two commands in the terminal, replacing YES with NO in the first command.

Once you've booted into OSX, you'll notice that it is running indescribably slow. This is because OSX does not support the old graphics card at all, and the new one is likely not supported out of the box either if it's and nVidia card. Do not fear, however, because the new card is still supported by nVidia. Simply navigate to MacVidCards* and download the driver for your build of OSX. Do note that there are different builds even within releases, for example 10.10.5 has 5 individual builds. It is easy enough to find the build though, just click "About This Mac" in the Apple menu, click the version number and the build number will appear where the box is.

You can then download the correct driver from MacVidCards or the nVidia website. MacVidCards is the easier one to navigate, as they're all listed on one page there. Download, run the package, reboot, and you're nearly set. Do note that the above is not required if you have a Radeon/AMD graphics card.

The last thing we'll be doing is upgrading the efi firmware so the computer recognizes the CPUs and can take full advantage of the sleep functions and the like. Plus it makes the System Report look pretty by listing the actual names of the CPU instead of "3.0 GHz unknown". Navigate to this post on the netkas forums, and download the attatched tool (shown by the red box) to the Mac Pro.

Run the tool, and follow the instructions it mentions in the popup that it shows when it's done, and you'll be all set. Some people reported that it took more than one reboot for the Mac Pro to recognize the CPUs, so if you only see one CPU in system report you'll want to restart it again.

That should be it, as far as I can remember. Links I found helpful are below, as well as some screens of my About This Mac.

*MacVidCards is a wonderful resource if you want to buy a flashed card, however a lot of the graphics card options they list are limited to the Mac Pro 3,1 or above. This is because the operator/owner of the site assumes that you are running only the supported operating systems of the graphics card. Assuming you do end up installing 10.8/x or higher, you can get those cards and they will work fine. I found that information, posted by MacVidCards on the MacRumors forums, so it is likely to be accurate. Due to the latest releases of the GTX 10-series cards and the Radeon 56 and 64 cards, I can no longer verify this information as accurate. Purchase at your own risk


Further Research and Helpful things:
nVidia Web Driver Updater - Automatically updates nVidia Web Drivers to the latest compatable one

PikeYoseFix - Allows you to update the OS without replacing the boot.efi externally every time

Sunday, January 1, 2017

Mac Pro Upgrade 2] Hardware

This is the second post of a 3 part series in which I upgrade my Mac Pro 1,1. Since the 1,1 and the 2,1 are essentially identical, this guide will apply to both. I will be writing under the assumption that you are using similar parts to me and are upgrading a 1,1. I take no responsibility if you screw something up, you know the drill by now.

To begin with, the Mac Pro had a pair of slower CPU's that I seem to have misplaced (I am writing this after the fact), but I do know they were clocked at 2.0 GHz. Not bad, but could be far better. 3.0 GHz kind of better. Additionally, the RAM could use upgrading from 2 GB to 10 GB, as could the graphics card. I was planning on using the GPU from my Windows PC, but that will all be explained later.

First, and easiest, is the RAM. There are two riser cards, card A and card B. As far as I can tell, they are electrically identical and thus interchangeable. However, the RAM has to be installed in a specific order, as per this picture which is (upside down) on the door of the system.

And here is a picture of the riser cards as they came installed.

So the top card (A) is on the right, and bottom (B) is on the left. You'll notice a discrepancy here. Installed in card A are the four 512 meg sticks with Apple heatsinks that it came with, not installed in accordance with the instructions. Odd, but it showed 2 gigs in the system report, so I wasn't going to question it. BUT WAIT, THERE'S MORE! The two silver heatsinked sticks in riser B are each 4 gigs. The genius that owned the system before me had upgraded it wrong, so it only showed 2 gigs total, but actually had 10 installed. Nice, now I have 18 total gigs that I hadn't planned on. So I reordered the RAM to have the newer 8 gig sticks in slots 1 and 2 of each riser card, and the 512 meg sticks in slots 3 and 4. If you do something other than this, make sure you install the RAM in matched pairs according to the side panel. I left the riser cards out for the next bit of installation, just to make it easier on myself.

Next up were the CPUs. Getting access to the CPU's is a bit of work, a result of the "beautiful industrial design" that Apple loves so much. There is a metal panel of sorts that sits in the way, seen right here:

However, you will notice that I have already removed it, which was a royal pain. I had to unscrew the two screws you can see in the RAM cage to give me enough wiggle room to get it out. Also, a handy peice of information that I could not find anywhere on the internet for the life of me was that the whole fan cage assembly, that grey box on the left, slides right out of the case. I didn't find this out until I had already removed the silver panel. The way I should have done it, and the way I would recommend you do it, is:

1] Remove RAM riser cards A and B
2] Loosen the two screws in the riser cage, seen below. Don't worry about loosing them, they're captive.

3] Take out these little screws here, they're not captive and will get lost if you aren't careful.

4] Slide the whole fan cage assembly out, wiggling the silver panel away from the RAM cage as you go. It'll be a little stiff, so just take it slow, and you might need to take out hard drive bays 1 and 2.

You can do it other ways, but you're likely to end up with a cut finger like I did.

Anyhow, being Apple, they couldn't just let you use a regular allen wrench for the absolutely humongous heatsinks they slapped on there. You'll need a really long one, or a longer screwdriver with changeable heads and a smallish hex bit. The screws are located down in the holes on either side of the heatsinks (there are eight in total, four to each heatsink. I don't know how single CPU systems are laid out). Again, these screws are captive, which is awesome.

If you did it the way I described above, the fan cage will be gone. If you didn't, you'll wish you did because it has to come out next to get the heatsinks out. Here I have removed both heatsinks, the fan cage, and one CPU. This gives a pretty decent view of the surrounding area.

The astute among you will notice that I have moved the plastic bit in the drive cage. It's not necessary, just something I did when trying to remove the heatsinks without taking out the fan cage. It didn't work. Next up I cleaned off the heatsinks (and the old CPUs too), and reassembled the whole disaster (of note, I used the Xeon x5360 3.0 GHz CPU's, found on ebay).

I used Arctic Silver thermal paste. It's a bit spendy, but worth it on an old machine that puts out a lot of heat. Here's a fancy picture of it, along with the cleaning chemicals that I got. You can honestly just use Isopropyl alcohol (found at walgreens or your chosen pharmacy) instead, as this was pretty expensive too.

If you've never upgraded Intel CPU's before, there is a small metal lever held in place by a small metal catch. Push it down, then out, and lift it up. The metal bracket should come up easily. When installing the processor, you must line up the gold arrow on the CPU with the notch / arrow on the plastic holder. It will only fit in one way, and it won't close right if you force it to fit incorrectly. Put a little dab of thermal paste on it, then seal it up. Various people on various sites will tell you that the thermal paste must be a certain size, shape, whatever, but it doesn't make any appreciable difference. No really, see for yourself. Reassemble everything in the opposite order you took it apart, making sure to remember any small screws.

The graphics card is the easiest part of this, just make sure to google "[your graphics card] mac pro compatable" to see if it is supported by the nvidia web drivers and what Mac OS you need. I will go more into drivers in the next post.

I had a choice of two graphics cards (read: I had a spare lying around and one in my PC): an nVIDIA GT640, and an nVIDIA GTX 750ti. These are both nVIDA EVGA licensed reference models, which is apparently important for cards of certain architectures (I think it only applies really to maxwell cards, but just buy a card that uses the reference design. A quick google search would serve you well in this respect).

I've also heard rumors that the port arrangement matters as well, but I don't have enough cards to test this theory. From what I've seen circulating around the web, any old PC compatable PCIe card will work fine, but you can get it flashed through services like MacVidCards to get a boot screen, or you can do the bodge that I've done. Anyway, it's easy enough to put in a new graphics card. This picture was taken after installation, but it will do for explaining.

On the far right, you'll see a bar with two (again captive) thumbscrews. Take these out, and the bit of metal they're attatched to, and set it aside. Then look at the back end of the PCIe slot that the card sits in, and locate a small, black, plastic lever. To remove a card, pull this lever up gently, and rock the card back and forth out of the slot. To put a new one in, just line it up and push until it is seated, and reattatch the metal bit. Make sure to remove any of the small slats that cover the extra card slots at the back and keep them for later (you never know). I've chosen to put my 750ti in slot 1, and the original GeForce 7300 in slot 3 so I can have a boot screen. I chose slot 3 because it gets 8 PCIe lanes as opposed to the 4 from slots 2 and 4. The easiest way to make the boot screen trick work is to plug both cards into one display, set your display to accept input from the original card, boot the computer, then do whatever you need to do (like choose the startup disk) and let it boot. Once you're into the OS, you can then unplug the older card and switch input to the new card. It's a massive bodge, but if you don't use the boot screen, you can just leave the old card unconnected and boot normally, you just won't have a boot screen.

I wouldn't suggest just leaving the card in the system, as it causes some funny business with regards to the refresh rates with the monitor, among other things. I'd suggest keeping the card though, in case you need to do something in the boot menus once in a while

Since you're done with the CPU's and GPU(s), you can put the RAM risers back in, making sure the configuration matches that shown on the side panel. Make sure you've seated everything properly, plug it in, press the power button and pray. If all goes well, you'll be at your login screen in no time. Login, and check the 'About this Mac' dialog.

If you used the same CPUs as I did, you'll notice that it doesn't recognize them. This is due to the fact that the Mac Pro 1,1 was built before these processors existed. The 2,1 doesn't have this problem. I'll explain how to fix that in part 3 of this series. The main thing you want to check is the RAM.

This is the easiest to screw up, as it really does matter what order you put the RAM into the slots. If your computer won't boot, it is most likely the RAM (unless you have no OS installed). To check the RAM, open the side panel and watch the outermost edge of the RAM risers when booting. They have a lovely array of diagnostic LEDs sitting in the outer center of the riser cards. If one (or more) LEDs stays lit for more than 10 seconds after you boot the Mac, then try moving the matched pair to another position, or maybe the other card, making sure to stay within the ordering constraints listed on the side panel. If that doesn't work, install only that RAM, and if it still doesn't solve the problem, it's likely you have bad sticks. Do not try to mix and match the RAM, it will not work. I tried this just to see what it would do, and a lovely christmas tree of LEDs on the riser cards lit up.

Assuming you've got all of the hardware sorted, you can enjoy the system in all of its (probably low refresh rate) glory. Or, for further optimizations, you can head on over to part 3 of this guide, in which I will go over the software side of things, and post links to any (of the many) forum threads I found helpful.