Category Archives: hardware

Getting More Into Cryptography, Part 1

I’ve been studying up on various methods for improving my home network security across devices, internet privacy, and encryption methods for a few months now (pretty casually though). After hearing about the awesome community-driven site, I decided to finally start trying to break some old habits.

The first objective I have is to break free of Google services, at least primarily. For the most part, I rely heavily on Chrome Sync, Google Voice, Gmail, Google+, and YouTube.

For Gmail, I figure I can simply just switch to another provider, and update email addresses accordingly. Two services I have in-mind are ProtonMail and Tutanota. ProtonMail seems to have a waiting list currently due to the a large volume of sign-ups lately, but Tutanota is instant-access. Both providers offer a free service, end-to-end encryption, and 1GB of storage. I don’t use email heavily for “important” matters, so 1GB should be more than enough (I’m only using about 0.6GB on Gmail currently). I want to give ProtonMail a go before deciding on which provider I want, but my short time with Tutanota was pleasant.

Update: One advantage that Tutanota has over ProtonMail is that it is open-source. ProtonMail’s waiting list is also apparently somewhat random when it comes to wait times. With both of those in-mind, I’ll accept Tutanota as my main email provider.

For a social network, I’m highly considering Friendica on a local, self-hosted machine. At quick glance, it seems all I would need is an Apache and MySQL server, and a general GUI setup process, which doesn’t seem too bad at all (I’ve set-up some WordPress and Joomla servers in the past), but I’ll have to figure out some more details on this.

I mainly used Chrome Sync for passwords, and I never really got into using things like LastPass. Two services that seem really interesting are Master Password and SuperGenPass. The idea behind those two services is that you take a “master password”, add some details to it (like a website name), and you get a hash-generated password to use. The generated passwords should be the same across all devices, and you don’t need to rely on a sync service or password vault (so basically, as long as you remember your master password, you’re good to go).

My browser of choice for a good while was Google Chrome, mainly for Chrome Sync, but also because it worked well with pretty much anything I threw at it. Firefox in-comparison has/had bad hardware-acceleration support and inconsistent video playback abilities on Linux. As I’m typing this however, I’m running Firefox 38 on Fedora 22, and my experience for the most part has been pretty good with minor issues. I may give IceWeasel a try in the future (due to some more questionable Firefox additions by Mozilla), but it being pretty behind Firefox in versions is somewhat concerning.

So pretty much, I’m in a planning phase currently. Transitioning data to new services and trying to get used to them will take a bit of time, but I’m sure it’ll pay off in the end along with being a great learning experience.

As for what I’ve done so far, I flashed my D-Link DSL-2750B modem from Verizon firmware to stock firmware. Verizon hasn’t updated the firmware on these modems since 2013, but D-Link does release updates occasionally for this device (the latest update being on 2015-03-25). Updates are nice and all, but generally speaking, I trust D-Link a little bit more than Verizon when it comes to modem firmware from a security-standpoint.

I’ve also blocked outside access to and from my Seagate NAS. I only use the NAS locally, so this isn’t a problem at all, but according to a reviewer, Seagate “reserves the right” to upload files from the NAS without consent according to the license agreement. Not sure on the validity of this claim, but better to be safe than sorry I suppose. I want to upgrade to a FreeNAS solution at some point in the future.

And finally, I’ve stopped using Windows as a primary operating system. I mainly used Windows because of gaming, but PC gaming is meaning less and less to me nowadays. I’ve been using Linux primarily for a bit now, and my distro of choice currently is Fedora.

StarCraft II CPU Benchmarking with AMD CPU vs Spoofed Intel CPU

There’s been quite a bit of fuss in the past about Intel’s C++ compiler and how it unfairly performs worse on non-Intel hardware, and it’s been proven in quite a few scenarios. The most popular discussion area about this is Agner`s CPU blog.

So out of curiosity, I decided to check if StarCraft II was affected by this. I installed VMware Player, installed a copy of Windows 8 (64-bit; didn’t have a 32-bit image lying around), did some minor tweaking, figured out how to CPU spoof (pro-tip: you need Virtualization enabled under host BIOS), and installed StarCraft II. Specific hardware and software testing conditions can be found at the bottom of this post.

I did three different tests. The first test was me first observing the framerate when looking right at the main base without moving the camera, and just selecting the nearest mineral node. The first test also included me creating 25 Zealots and moving them into a corner. StarCraft II had an unfinished update during this process, and I also had all my normal background applications opened on the host operating system.

The second test was the same, but StarCraft II was fully updated, and all background applications on the host operating system were closed.

The third test was me observing 208 Zerglings in a corner, with all background applications closed.

I chose those methods of testing because I wanted a simple test that was both consistent and reproducible without too much room for variance.

The framerates did vary a good bit between processors. The framerates reported on the graph is the average framerate. These are particularly interesting results, considering the Intel processor I was spoofing was actually worse than the FX-8350.

Now for the specifics. Here is the hardware and software present on the host operating system:

Graphics: MSI R7850 Twin Frozr 2GD5/OC (1120MHz Core, 1200MHz Memory, Xtreme-G 14.12 Omega drivers)
Processor: AMD FX-8350 (8 cores @ 4.5GHz, no Turbo Core)
Power Supply: Rosewill Green Series RG630-S12 630W
Monitors: Acer S201HL (3x all at 1600×900@75Hz)
Operating System: Microsoft Windows 10 Pro Technical Preview Version 10.0.9926 (64-bit)
Memory: G.SKILL Sniper 8GB (2x4GB, F3-10666CL9D-8GBSR, default speed/timings)
Audio: ASUS Xonar DG (UniXonar drivers)
VMware: Player (7.0.0 build-2305329)

And the hardware and software present on the guest operating system:

Memory: 3GB
Processors: 4 cores
Graphics: VMware SVGA 3D (1GB VRAM, driver version)
Display: 1024×768
Operating System: Microsoft Windows 8.1 Pro Version 6.3.9600 (64-bit)
CPU-Z Report for AMD CPU
CPU-Z Report for Spoofed Intel CPU

StarCraft II Specifics:

Graphics: 1024×768, Low Texture Quality, Low Graphics Quality
Sound: 128 Sound Channels
Voice: Disabled Voice Chat
Map: $$$Fastest TvB$$$ v1.1 by truenoob

Test 1 Specifics:

– All background applications (Steam, Evolve, Plex Media Server, MSI Afterburner + RTSS, puush) were running on the host operating system.
– StarCraft II was playable, but had an incomplete update (was last updated in middle of December 2014).
– Test occurred during solo-play on the bottom-section of the map.
– Played as Protoss.
– First test involved selecting the nearest mineral node, centering the mouse cursor on it, and observing the frame rate. The camera was not moved at all.
– Second test involved creating 25 Zealots. I put all builders on the same mineral node, took one builder, moved straight-down from the Nexus, built 5 Pylons, and put 3 Gateways on the sides of the Pylons (6 altogether). Builder was placed in the middle of the buildings. I then created Zealots until I reached the population limit (50). All 25 Zealots were then moved to the bottom-left corner of the map until they spread out and filled the corner and the area like a triangle. Frame rate was observed for a few minutes.

Test 2 Specifics:

– All background applications on the host operating system were closed.
– StarCraft II was fully updated.
– Test was exactly the same as Test 1 after that (bottom of map, 25 Zealots).

Test 3 Specifics:

– Same as Test 2 initially (background applications closed on host, up-to-date SC2).
– Played as Zerg.
– Played on top-section of map.
– Had one geyser, 9 drones on mineral node, and 1 drone on vespene.
– 13 Overlords (all moved to top-right of map) for a population limit of 112.
– 4 Hatcheries each with their own Queen.
– Continued creating Zerglings from each Hatchery until population limit was reached.

Wired a ATX Power Supply to a Xbox 360

So I recently picked up a Xbox 360 off of eBay (got a really good deal on it for $25). Has a tiny bit of cosmetic damage, but it seems to run fine. The console didn’t come with any cables however, but I had a spare HDMI cable and controller lying around. What I didn’t have was a spare power brick though, nor a regular ATX power supply with appropriate output power.

The Xbox 360 I received is a late-model Jasper unit (last unit before the Slim models). Mine also seems to be one of the rarer ones with internal memory (512MB of it), which is pretty nice. There was save data from the previous owner on both storage devices though, so once I got the console up and running, I did a factory-reset on it (more on that in a little bit).

So, the Xbox 360 was in good looking condition, but having nothing to power it wasn’t really helpful. I started asking some people about whether they had a spare power brick, and even ran downtown to see if a few thrift stores happened to have any (unfortunately all the stores I checked were closed). Eventually a friend of mine finds a relatively decent ATX power supply that I could borrow, so I ran down his place to pick it up, along with a game. The power supply ended up being a Antec EarthWatts EA-500, and has more than enough power to run the Xbox 360 (the Jasper unit needs at least 150W, 12A on the 12V rail and 1A on 5V).

I then did a little bit more research into how to actually hook the PSU up, and found that it was actually relatively simple to just use the power from the Molex adapters (preferably more than one so load can be distributed). You could also use power from the CPU power connectors, or the 20+4 cable itself if you know what you’re doing.

I used two molex connectors from the PSU, and made sure that both connectors were on separate cables. Since this wasn’t my PSU, I couldn’t just splice the wire, so I cut some female molex adapters I had lying around and used those.

On a standard molex connector, you have a yellow wire, two black wires, and a red wire. You could probably find more definite answers elsewhere as to what they do (and you probably should), but my limited understanding is that the yellow wire is positive, and the black wires are negative. Red is said to be the 5V standby.

Inside the Xbox 360 power port, you have a bottom row of three holes. Above that is another row of three holes. And on the top, you have two pins (at least on Jasper; I think early models have a single bar). The general idea is to hook the black wires on the molex connector to the bottom three holes, the yellow wires to the three holes above, and a red wire to the left pin. The right-top pin is unused (I’m unsure what it does, but similar guides seem to ignore it as well). For the six holes, jamming a thick wire into the hole should be all that’s needed for a snug connection. For the pin at top, I had to fold the wire over once to make it a little bit thicker, then I just pushed it in the space.

Since there isn’t an actual motherboard controlling the PSU on the 20+4 connector, you have to power it on via the pin short trick (aka the paper clip test method). It involves connecting the green wire to a nearby black wire.

So once everything was securely hooked up, I turned on the PSU (switch on the back), and then pushed the power button on the Xbox itself. No explosions, pops, or smoke were seen, and the Xbox powered on. Played a little bit of some Need for Speed game just to make sure the PSU could handle load, and it did without issue.

Overall, this mod turned out great, and was a nice learning process. I’m unsure how it will hold up overtime, and the general consensus from others who’ve done the mod is that such a setup shouldn’t be ran long-term for some reason. I plan on ordering a power brick at some point in the near future though, so I likely won’t keep such a setup long-term either, but it is nice to know that this is easily possible.

Now back to the factory-reset. After I verified the console works and I got it in an ideal location, I decided to try factory-resetting the Xbox, erase all content on the storage devices, and restore my profile onto it. Erasing the storage devices was simple enough. Factory-resetting however was a bit more difficult.

With a bit of searching, it seems you can factory-reset a Xbox 360 by pressing a ten-length button combination on the System Info screen. The catch is, it seems this button combination isn’t consistent between users and devices, so searching online for this combination is a gamble. May get lucky with the first combination you try, maybe the fifth, or maybe none at all.

The standard button combination begins with LT, RT, X, Y, LB, RB. The next four buttons after is what varies. I called up Xbox support and after verifying my account ownership and giving the representative my console’s serial number, I was provided with a button combination that worked (LT, RT, X, Y, LB, RB, Left, Left, Down, X; use the D-pad to enter arrow directions). I’m unsure what determines this button combination, or whether or not it changes over-time.

Once that was handled, I restored my gamer profile, and all was well after that. At some point, I plan on grabbing a copy of Warriors Orochi 3 and possibly Diablo III and playing them.

As for how I got the Xbox for $25, I decided to check eBay one day when I saw a friend selling his console, and wanted to get a general price on it. Was total luck that I saw the $25 listing, and was lucky I even got the order in for it (there was a quantity of 20 listed, I bought one, and then someone came by and bought the last seven). The seller claims he was trying to get rid of old stock to make-room for a new batch. This was the listing here.

My Terrible RMA Experience With ASRock

This is my first attempt at doing an RMA with ASRock, and it may very well be the last time I do business with them.

A couple of months back, I was looking to purchase a new motherboard, as the BIOSTAR A880G+ I had was starting to show it’s age, along with not having too much room for future upgrades. The main features I was looking into when deciding on what motherboard to purchase were:

– AM3+
– Support for AMD’s highest-end FX processors (at the time).

There was a decent motherboard from MSI I had my eye on, but due to reviews, it seemed to of had mixed reviews on higher-end FX processor compatibility. So that’s when I settled for the ASRock 970 Extreme3 motherboard. At the time of purchase, this motherboard on ASRock’s product page had listed support for the FX-8350.

So I get the motherboard, and all is well for a couple of months. I finally got enough money gathered up, and decided I wanted to get that FX-8350 I planned on buying. I wanted to see how good this motherboard was with overclocking higher-end FX processors, so I went to check out some reviews from other people. That’s when the problems began.

To my surprise, there were plenty of mixed-results about how the FX-8350 performed on the 970 Extreme3. There were reviews ranging from the processor working fine at stock clocks, throttling under load, not having much overclocking room, down to the motherboard just not posting at all (to be fair, I’m pretty sure a BIOS update could resolve posting issues). I also noticed a review that said that ASRock removed the processor support note for the FX-8350.

I had to see it for myself, so I went over to ASRock’s product page, and sure enough, the FX-8350 was no longer on the support list for the 970 Extreme3. I didn’t think ASRock would originally list support for that processor without first checking it for themselves,so I decided to contact their tech support and inquire more into the matter.

The tech I spoke to was pretty helpful. He explained that the FX-8350 draws a large amount of power, and thus generates a good bit of heat. Depending on the environment, this could cause the VRM chips to overheat, and cause the processor to throttle. He also recommended that if I were to buy such a processor, to put a chassis fan over the VRM area to help prevent such overheating. So, turns out the processor would “work”, but not as ideally as I was originally led to believe.

I asked if I could exchange the motherboard for one that had true FX-8350 compatibility, and was told that customer support would contact me within 24-hours. Sadly, that’s the extent of how great ASRock’s customer support seems to be.

Five days have passed, and I haven’t heard from customer support yet. I send an email to the tech I was speaking to stating I would call up customer support later that day, and asked if he had a reference number or something. He said to just let them know I already spoke to tech support so they don’t redirect back to them. Seemed slightly sketchy that they don’t just communicate better, but alright.

Called up ASRock’s customer service, and eventually was able to speak to a person. I explained my situation fully along with mentioning I spoke to tech support already, and was told that I would receive an email with instructions to begin the RMA process. No problem; got the email a short time later, filled it out (once again detailing my situation fully), and also asked that the replacement motherboard be a Fatal1ty 990FX Killer (may of been a bit greedy with that request), but also said that it was ultimately up to them to decide what I get. At the least, I expected the 970 Extreme3 R2.0 board, which does advertise FX-8350 compatibility.

Two days go by and I haven’t heard anything. I call up customer support again, and can’t get a hold of the original person I spoke to. Was able to talk to another representative though, and I re-explained my situation. He then told me to email him a copy of the RMA request form along with the invoice. I sent it over, and waited a bit, but since I didn’t hear anything with the first request, I decided to call-in again just to confirm they can receive the emails. Was able to confirm they got the email that time.

Later on that day I get approved for the RMA, and get sent instructions as to how to send the motherboard. I send off the motherboard, and it gets to ASRock about six days later.

Three days pass, and I haven’t heard anything more from customer support, so I send them an email. Didn’t hear anything back that same day, but the next day I call them up and ask about it. Was told that it would take some time to test a new motherboard to verify it works, and was also told that I would be emailed when they shipped it out with a tracking number. I thought everything would be fine after that, so I just decided to wait until I got my new motherboard.

Eleven days pass now, without any updates from ASRock as to when they would ship my new motherboard. Getting concerned, I decide to try to call up ASRock today and ask what was going on, but was only able to get their general mailbox (during office hours). I went off to do some other things, and to my surprise, a package from FedEx arrives. Checked it out, and it was from ASRock. Was strange they didn’t even bother giving me an email that they shipped the thing, but that was fine, because I finally got the motherboard.

I open the box up, and noticed the motherboard looked awfully familiar. Looked at it up and down in full detail, and confirmed it was the same model (but not the same exact) motherboard that I sent in originally. I was baffled by this discovery, but then I thought that maybe ASRock just modified the board in some way to meet my original request (which was to get a new motherboard that could truly handle the FX-8350 processor). I called up ASRock once again just to see if this was the case.

The customer support representative I spoke to wasn’t entirely helpful, just said that I should have received a replacement motherboard. I asked if it was modified in any way, and she offered to transfer me to the tech that handled the RMA request. I accepted the offer, and was put on hold for about 5-10 minutes before the customer support rep came back and said that the tech was busy, and asked if I wanted to wait (with no ETA), or just get a call back from the tech. I took the latter, and went off to do other things.

Got a call back later in the day from the tech, and explained my situation yet again. The tech however didn’t seem to care, and along with stating “the FX-8350 won’t work on that motherboard” also threw the assumption that I “just wanted a free motherboard”. Seriously? Why was my RMA request even accepted if it wasn’t even going to be honored? He also said I could just pay the difference for a new motherboard, but wasn’t aware of any pricing or anything. I re-explained the situation again, and he put me on hold to talk to customer support. Was on hold for about 5 minutes before a customer support rep came on the line and without apologizing, told me that they could do an exchange for the 970 Extreme3 R2.0 board, but I had to send the original customer support rep I spoke to my new motherboard’s serial number (you would think they would just know). Was also told that I had to ship the motherboard I received back to them first too.

I’m not made of money. I paid to ship the motherboard to ASRock originally, and expected them to honor my RMA request, and they didn’t. So along with wasting my time, I now have to pay for shipping once again to give them the motherboard back? I sent the email with the serial number, and also requested a prepaid shipping label, but I wouldn’t be surprised if they denied such a request.

There is some serious lack-of communication down in ASRock America’s office, and it’s not something I would want anyone to have to deal with. I’ll still be keeping in-contact with ASRock to get this ordeal settled (and will update here accordingly), but I won’t be purchasing from them in the future, or recommending them to others. This was probably my most frustrating RMA process yet.

Update: I have detailed the rest of the experience over on reddit and pastebin. It’s been a bit of time since the ordeal, so I’m not certain I can really detail how the rest of the experience played out like I did here up until now without essentially copy and pasting. To quickly sum-up as to what happened though, ASRock sent me a prepaid label (with some difficulty), dropped contact for a while once again, then told me I had to pay $50 to upgrade my board out of nowhere. Ended up calling back later to decline, and they told me they couldn’t do the paid upgrade anyway, so there was wasted effort all around. Got the BBB involved (led nowhere except another negative mark on ASRock America’s BBB profile), and Newegg involved (with a bit of pushing, they agreed in the end to refund my motherboard, but I had already gotten rid of it).

My advice is to not buy products from ASRock. They don’t check their hardware to be fully compatible with components they state, and they clearly don’t have the customer’s best interest in-mind. I can also say the two motherboards I’ve owned from ASRock were pretty questionable quality-wise too. I had a Fatal1ty H97 Killer (relatively newer board), and the board was incredibly flexible in the middle.

Story of my Gateway VX1120 and Custom Refresh Rates on Windows and Linux

A few months ago I picked up a Gateway VX1120 from a computer store in town for $5, not knowing if it would work or not. I was always a fan of CRT monitors, and seeing something of this size, I had to jump on it.

Got it home, plugged it in, and found out that it worked fine. Instantly replaced the Acer S201HL I was using without regrets. Colors were more vibrant, and animations are much smoother (one of my favorite things to do when switching from LCD to CRT is to move a window across my desktop to observe the smoothness). Plus the resolutions available were extensive, so I was sure I could find the right resolution to use daily. The other CRT monitors I have in the house were limited to around 1024×768, or something slightly higher at a lower refresh rate, so they weren’t too ideal.

After some time, I found that the resolution of 1280×960 suited perfectly as a default resolution. It’s not high enough to make text hard to see, and at the same time, it’s large enough for the desktop not to feel cramped. The highest stock refresh rate for this resolution was 85Hz, which was great and all, but I soon looked into a way to improve that.

On Windows, I used a tool called Custom Resolution Utility (CRU). It allowed me to generate custom resolutions and refresh rates. I wanted to run at 120Hz just to be able to claim I had such a monitor, so that was the first refresh rate I tried. It didn’t work; and the monitor complained about the frequency being out-of-range.

After a little bit of research, I found that my horizontal scan frequency could go as high as 121kHz. So going by that, I then had the idea to keep trying resolutions with CRU until my horizontal scan frequency was just under that limit. Lucky me, 119Hz seemed to have worked fine.

So in Windows, the refresh rate wasn’t too hard to handle. Things got a bit more interesting when I went over to Linux however. I use an AMD Radeon HD 7850 graphics card (this specifically), so I have the choice of either using AMD’s proprietary driver (fglrx), or the open-source drivers. The refresh rate on my screen however seems to act differently depending on which driver I use though.

If I recall correctly, I was able to use the CVT-generated 119Hz with fglrx without issue (it’s been a while since I used fglrx with this monitor), but this wasn’t the case with the open-source driver.

Looking back at cvt, I noticed that my hsync value was 122.59 for 119Hz. Definitely over the 121kHZ limit, so then I tried going to 118Hz. It ended up at 121.45, which was still over the limit. I wasn’t sure if 121kHZ was a hard limit, so I added the refresh rate and tried it anyway. Both 119Hz and 118Hz failed to work; so I tried 117Hz. Got the hsync value of 120.31, which was safely under the limit, and worked fine.

I’m unsure how CRU and cvt generate the numbers they do, but a comparison at some point would be a great idea, whenever I find the time to do so.

So far, this monitor is still working great, and I have no plans of replacing it anytime soon, unless I go back to my standing desk setup.