Friday, October 30, 2015

How To Install Android Marshmallow (6.0) + GApps on Nexus 7 (2012)

Google announced that it would no longer be providing updates to the Nexus 7 (2012) tablet. Specifically, the WiFi version, which got updates alongside all the newer Nexus models until now. It seemed the death knell was fast approaching, and it would have if not for the unofficial Android Marshmallow ROM I'll be teaching you how to install today.




DISCLAIMER:  This is for the Nexus 7 (2012) WiFi & 3G tablet. If you decide to try this with the WiFi or mobile data version, you assume all responsibility.

Android M (6.0)
Android (M)arshmallow is the newest update for Android. It has plenty of new features, big and small. Such as rotating to landscape on the home screen, app permissions only agreed to (or declined) when the app actually needs that permission, and even a basic file manager. Not to forget the ability to use SD storage like internal storage, and even the new doze feature that should save battery during idle far trumping the amount saved from Lollipop or any version before.

There are so many new items, that it should be a welcomed milestone in Android updates.

WiFi & 3G
When news came of no more support, it was a bit devastating to me. I loved having a tablet that was "first" to get the new updates while people with Samsung, LG, HTC, Sony, etc. devices would be waiting months to get one, if they did at all.

I knew someone would eventually come to the rescue. The first person I saw was on XDA, and they did have a build of Android M. The downside was that it was "experimental", and many needed functionalities did not work.

Then Dmitry Grinberg saved us all with a working, functional version. He even noted how he was able to accomplish what others said could not be done for our unit. He initially made a WiFi version, quickly followed by the 3G version.

The two methods I will present will work for either version, just make sure you download the right file for your respective tablet.

How To Install Android M with TWRP (or CWM)
The following will assume that you have already rooted and installed a recovery to your Nexus 7 tablet. If you have not, take a look at my article here for information on how to do so. 

I should also mention that while I will be using TWRP, you can use CWM or Philz CWM recovery to do the following. The steps will be similar and the end result the same. What truly matters is that you have a recovery.

At the time of this writing, there are some other Android M ROMs for the Nexus 7. Some are identical as far as I can tell, and I have come across at least one that tries to be original (although acts buggy and fails to be a complete ROM as necessary for a daily driver). That being said, I will be going with the original as it has given me the best results.

A final note, I am using a touch version of TWRP. If you are not using a touch recovery, use the buttons to navigate and select choices.

  1. Download the Android M ROM for WiFi or 3G.
  2. Download a GApps (Google Apps), there is "Mini" or "Fix". (Both are almost identical, but "Fix" drops the Google and Now apps.)
  3. Transfer both ZIP files to the tablet, root of the internal storage is easiest. (If need be, change USB to MTP from the pull down status bar, after ensuring USB debugging is enabled).
  4. Turn off the tablet.
  5. Hold VOL DOWN + POWER buttons.
  6. When the "dead" Android appears, let go of the buttons.
  7. Use the VOL UP or VOL DOWN buttons to navigate to "Recovery mode".
  8. Press the POWER button to begin recovery mode (TWRP in this case).
  9. Click "Wipe".
  10. "Swipe to Factory Reset".
  11. Once done, push the back button until the main recovery menu.
  12. Click "Install".
  13. If the ZIP files were placed in the root of the storage device, scroll down to them and select the ROM first. If the ZIP files were placed in a folder, navigate to the folder and select it, then select the ROM.
  14. Click "Add More Zips".
  15. Find the Gapps file and select it.
  16. "Swipe to Confirm Flash".
  17. Click "Reboot System" once done.

The first boot will take some time, but even when passed the boot screen you will still have to wait for the optimization of all the Android apps. After that you will finally be ready to test out Android M on Nexus 7!

Experienced Issues
I experienced a few problems. The first I noticed was that the auto-rotate function did not always work on the home screen. What seemed to fix this was going back into recovery and wiping just the cache.

Another issue I had was I could not download BSPlayer Free from the Google Play Store. It kept throwing an error about not being able to download. I decided to download another marketplace so that I could. 

This presented another problem. The default browser would not allow me to even attempt a download of the desired marketplace. Eventually, I sideloaded the marketplace and was finally able to download BSPlayer Free. Other than that, all other downloads from Google Play Store worked without further issue. It should be noted that others have had problems trying to download certain apps from other places...

A final problem was the absence of a camera app (due to the version of GApps being used). I found that most official (and official-based) camera apps could be downloaded but did not open or work properly (including the Android M camera). However, I found that any camera I tried from the author Moblynx worked as expected.

Root?
At this point in time it looks like there is no root. I was hoping if I waited a bit to publish this article, someone would come up with the solution, but this has not yet come to pass.

The bootloader can be unlocked, but without a modified boot image, rooting is not yet possible. All officially supported Nexus devices have received modified boot images, which will allow them to root, so I will update this section once we do have a modified boot image to use for root.

Hidden Fun!
There are some hidden items that you can enable and mess about with within Android M. The first I took a look at was System UI Tuner. It's actually fairly simple to make appear. Pull down the status bar, then click and hold the small gear. Wait a few moments then let go. A message will appear stating that the System UI Tuner is now a part of the Settings menu.

System UI Tuner does not allow too much more freedom for the Nexus 7, but it can be useful. There are ways to turn off/on and rearrange icons for the status bar, the ability to place the percentage of battery within the battery icon, and a (useless) Demo mode.

Another secret is the multi-window function for Android M. Those of you with Galaxy devices may already be used to this feature since it is similar. (In my opinion, it is actually easier to use on Android M.) The best part about this is that the user is meant to jump through a few hoops in order to enable to the feature (and if your device has an official Android M firmware loaded, you will have to), and you must be able to achieve root. Thanks to the creator of this ROM, the process has already been taken care of without the need for root!

Go to your Developer options and look for the section called Drawing. The last entry will be Multi-window mode. Enable it and use the soft buttons to show a view of all open apps. There will now be a target-frame next to each large "X". Click on it and you will receive options as to how to show the window alongside others.

Do Android M's Dream of Electric Sheep?
Great section title, but it only lends to the fact that I wanted to state how beneficial Android M can be to the Nexus 7. There are a lot of features, ones I believe will help Google build to even better versions. Most of all, I found the doze feature most impressive.

When I was messing about with my Android--attempting to get the Android M camera to play nice--I decided to put it away in my room. I unknowingly forgot that it was still on, and 8-10 hours later, when I retired to my room, I found that the battery was still at 100%!

Unofficial Sign Off
This should keep us happy for a while (until the next version of Android comes about). It is a great step up and I see almost no reason to ever downgrade. Once you have spent some time delving into it, it makes the tablet seem like new again.

I believe the next happy endeavor will be when a successful root method has been created. We can then enjoy some of the amazing apps privy to us only when root can be done. But for now, we'll have to make do.

Sunday, October 18, 2015

Mac/Windows/Linux HDD Dead? Use Linux or Windows!

As most of my readers may know, I am not the biggest fan of Apple or its products. However, that does not mean I rigidly hate Apple or that I do not work with their products from time-to-time. The following is one of my experiences and how it may helps others out there in similar circumstances.


Background
I randomly got an invitation to visit my dad, which I willingly accepted. Upon my arrival one of my tasks was to see if I could find a way to fix his two iMacs. Apparently, they were on the fritz.

I took a look at both and tried what I could without ripping them open. Essentially, they both had faultering hard drives. The iMacs could turn on and get to the boot screen (apple logo), but then they would just hang. Unless we did a hard drive transplant, the iMacs would become all but useless, or so it seemed...

Different OS
In my searches I found two possible methods that could help keep the iMacs "alive" until they could get new hard drives. One involved using Linux, the other Windows. As for the Windows, I will explain more on that later since it is not a free OS.

As a side note, the steps I will be using will strictly involve a dying iMac. Yet, most of the steps described will be the same if trying to use a dying or dead Windows or Linux system. The only difference should be how to get to the respective boot managers of each OS. 

Linux
The Linux method involved downloading a Linux flavor ISO (I prefer Ubuntu or Mint, Mint of which I found to be the faster of the two through my tests), then making a Live CD or a bootable USB flash drive with the ISO. Sounded simple enough.

I first tried to see if I could partition any of the iMacs hard drives and install Linux on the partition. Of course, being that the hard drives were failing, this was not possible.

In short, it took me a bit of time and work, but I was able to find a way to make the iMacs run Linux without issue.

Note I: This should work for either a Mac or iMac.

Note II: If the (i)Mac you are attempting to use has full-disk encryption, this may cause problems for rEFInd, which we will need to use.

How To Install Demo Linux to USB/HDD/CD

The prerequisite for this method is to have at least two USB flash drives, or two external hard drives, or one of each (or just a blank CD and a USB flash drive or external hard drive). One needs to be at least 8GB, while the other should be much larger (20GB+) depending on how much stuff you want to save for later use.

So there is no confusion, an external SSD will work too, but I will be referring to an external HDD as that is what I used for this process.

Another major component is the use of a separate computer. Otherwise, there is no way to burn images to devices, unless your Mac still works and you are doing this for fun.

You will also need a program like Rufus to make a bootable USB flash drive or external drive from an ISO. There are plenty of other programs, but this is extremely small and fast (fastest according to its own description and my own experience). For this tutorial I will be using Rufus, if you are using a blank CD instead, use something like ImgBurn to the burn the ISO.

  1. Download a Linux ISO (e.g. Ubuntu, Mint, etc.).
  2. Insert a USB flash drive or external HDD to your computer.
  3. Download Rufus (portable is fine).
  4. Open Rufus.
  5. Change "Device" to the USB flash drive or external HDD inserted earlier.
  6. Click on the small CD/ROM icon.
  7. Find and select your Linux ISO.
  8. Press "Open". (Rufus will automatically select the necessary options according to the ISO.)
  9. Change the "New volume label" (optional).
  10. Press "Start".

Note: Rufus may ask if you wish to choose between "ISO" or "DD". It should recommend "ISO", if not, select it and continue. 

Once Rufus has finished, the first part is done.

Why Not Stop Here?
At this point, the Linux USB flash drive or an external HDD will just have a copy of Linux to test with, but not save to. Meaning, files can be saved but are not persistent on later boots (the files will disappear after shutdown).

In essence, one could use cloud services and save any files or items there. But the bigger problem is that programs (i.e. Skype, Chromium, etc.) need to be saved to the device being used. So every time a person booted into the Demo Linux, they would need to reinstall all of the applications they wish to use.

How to Install rEFInd
This step is important for later, and needs to be done. Unless there is an external USB CD/DVD drive at your disposal, I would suggest using a USB flash drive or an external HDD.

The following steps will use Rufus as well...

  1. Download the USB flash drive image of rEFInd.
  2. Insert a USB flash drive or external HDD to the computer.
  3. Open Rufus.
  4. Change "Device" to the USB flash drive or external HDD inserted earlier.
  5. Click on the small CD/ROM icon.
  6. Find and select your rEFInd image.
  7. Press "Open". (Rufus will automatically select the necessary options according to the image.)
  8. Press "Start".

Note: Rufus may ask if you wish to choose between "DD" or "ISO". It should recommend "DD", if not, select it and continue.

rEFInd originally started as rEFIt. It is a boot manager, and perfect for our purposes. I will explain why later.

How to Install Linux to USB/HDD
While a USB flash drive will work fine for this, I do recommend an external HDD since they are cheaper and carry much more storage space for equivalent prices.

One problem that may come about is if the USB flash drive or external HDD is using MBR instead of GPT. There are plenty of free programs that should be able to convert a drive from MBR to GPT, and Ubuntu and Mint both come with GParted, which should be able to do this. However, I received an error when attempting to convert from MBR to GPT. As an alternative, I used Windows' DiskPart.

If Windows is available to you, insert your USB flash drive or external HDD first [important!]. Open up a Command Prompt (WinKey + R, then type "cmd", push ENTER key), then type "diskpart" > "list disk" > "select disk #" > "clean" > "convert gpt". After each quoted term push enter. The disk list should show you the available devices and their corresponding sizes. This will help for which number to type in place of "#".

There should be no problems, and if there are, then you may have a faulty device. (Worst case scenario, download MiniTool Partition Wizard Free Edition and try formatting the device to NTFS or FAT32 to see if it becomes operational.) If successful, the drive should be clean. DO NOT FORMAT the drive if asked by Windows, Demo Linux will do that for us later on.

  1. Ensure the (i)Mac is turned off.
  2. Insert the blank USB flash drive or external HDD into the (i)Mac.
  3. Insert the Linux USB flash drive or external HDD into the (i)Mac.
  4. Turn on the (i)Mac.
  5. Hold the ALT/OPTION key as soon as the computer dings.
  6. Let go of the ALT/OPTION key once the boot manager screen appears.
  7. Select "EFI Boot", right of the (i)Mac HDD if nothing else is plugged in.
  8. A screen with options for Linux will appear. Choose "Try Ubuntu without Install", or the respective option if using a different Linux flavor.
  9. Once Linux boots, on a flavor like Ubuntu, there should be an icon on the desktop that states "Install Ubuntu...". Double-click on it.
  10. The usual options of selecting a language, connecting to a network, etc. should occur. Pick the options that best suit your preference.* (Stop when you reach the "Installation type" page...)
  11. At the "Installation type" page choose "Something else".
  12. The next page will show a list of connected devices and their sizes. Double-click the check box for your USB flash drive or external HDD.** A small window will appear with options for partitioning the USB flash drive or external HDD.
  13. Change "Type for the new partition:" to "Logical".
  14. Change "Use as:" to "Ext4 journaling file system" if it is not already selected by default.
  15. For "Mount point:", place just a "/", and nothing else.
  16. Click "Install Now".

*If you want the fastest install possible, do not connect to a network. Connecting to a network allows Linux to download items through the install process. This can be done after the install, as Linux should prompt you when it needs additional packages.

**To discern which device is yours, check the size. It should also be sda#; # being the highest of the ones available is the safest bet, but not always correct depending on how many external storage devices are connected.

Note I: This can be done with a computer other than a (i)Mac. The steps to access the bootable media will be different, but all other steps will remain the same.


Note II: For step 13 "Primary" always gave me an error. I was only able to change it to "Primary" after first installing through "Logical", then going back through the process and choosing "Primary" and reinstalling. Making this change seems to add no benefit and is thus unnecessary.

Linux should now be installed on a USB flash drive or an external HDD.

The Reason For rEFInd
The reason we need to use rEFInd instead of the Mac boot manager is because the Mac boot manager is unable to see any drive with Linux already installed. It will recognize that the drive is available, but not that it should be bootable.

The same thing happens with Windows, however, it does not even recognize that the drive exists.

How To Boot Into Linux
This will show you how to boot into Linux and use it as a daily driver.

  1. Ensure the (i)Mac is turned off.
  2. Insert the CD/USB/HDD with the installed Linux OS into the (i)Mac.
  3. Insert the USB/HDD with rEFInd into the (i)Mac.
  4. Turn on the (i)Mac.
  5. Hold the ALT/OPTION key as soon as the computer dings.
  6. Let go of the ALT/OPTION key once the boot manager screen appears.
  7. Select "EFI Boot", right of the (i)Mac HDD if nothing else is plugged in.
  8. rEFInd will start. The far right option will show a Linux flavor icon with a smaller external HDD icon inside it. Click it. (Other options shown should have different smaller icons displayed, like an internal HDD.)

This will start Linux and anything downloaded or saved will persist on future startups. The only problem some might find is that the boot process can be long and tedious if having to constantly reboot for whatever reason.

Windows, Why Not?
If I had been given the choice between Linux or Windows, I would have installed a fresh copy of Windows 7. Unfortunately, iMacs from 2008 or before do not recognize Windows To Go drives. I believe one iMac I was working with is from 2008, and the other from a couple years before. Because of this, I could not use the Windows route as a possible solution for my situation. However, others can...

How To Install Windows 7/8/10
The prerequisites for using making a Windows To Go drive is to have a USB flash drive or an external hard drive with ample amount of space (8GB or more suggested).

An external HDD is the way to go here. Never mind that purchasing an external HDD can gain you massive amounts of storage space inexpensively. The issue here is that there are certified Windows To Go USB flash drives that make this process painless. However, a "normal" USB flash drive can take forever to install Windows on. An external HDD does not have this problem.

The other prerequisite is using WinToUSB. Microsoft has its own proprietary software to perform a Window To Go install. But there are two downsides to Microsoft's software: 1) The software is only available on Windows 8 or higher, and will also not allow a Windows 7 install. 2) WinToUSB is said to be faster in terms of the install procedure.

  1. Download a Windows ISO from here.
  2. Download the free version of WinToUSB.
  3. Open WinToUSB.
  4. Click the small folder icon on the upper-right corner.
  5. Find and select your Windows ISO.
  6. Click "Open".
  7. Highlight the Windows version (that should now appear) by clicking it.
  8. Click "Next".
  9. Click the drop-down arrow in the upper-right corner.
  10. Select the USB flash drive or external HDD to be used.*
  11. In the next window there will be radio buttons to choose the system and boot partition. There should only be one option for each. Select both the radio buttons.
  12. Select "Legacy" for an external HDD, and "VHD" for a USB flash drive. (Either should be the defaulted option depending on the storage device.)
  13. Click "Next".

*If you chose a USB flash drive, it will ask if using a non-certified drive is desired. If so, click "OK". If not, click "Cancel". "OK" will format the drive and then bring up the next page.

The process will proceed showing a percentage until 100% is reached. Once done, the USB flash drive or external HDD will have Windows installed and ready for use.

First Time Windows Use
Before the Windows To Go drive is completely ready, you will need to boot it up. The process is just like installing any Windows OS. It will run through the choices and options and then begin setting up.

I had an interesting problem where (twice) the Windows setup would hang when finalizing the setup. What seemed to make it work was waiting about 15-20 minutes, just to be sure that everything was finalized, then rebooting the system. On reboot, Windows would boot up and work like a charm.

Finalizing Thoughts
This should work on other systems than an iMac, I just happened to go through it because of an iMac. Of course the steps may vary slightly, but not too much as to be difficult in performing.

Linux works quite well on the iMac. I found Mint a bit faster in reacting than Ubuntu, but not enough to matter greatly. I also found the Windows To Go drive (with Windows 7) a bit slow to startup on a MacBook Pro. However, once booted, it seemed to operate decently.

This is also a great way to bring an entire OS with you wherever you go. The benefits of this are portability and the ability to use programs others may not have available or be able to afford. In either case, at the very least, it is a great way to have a backup system waiting and ready to go.

Furthermore, if a multi-boot situation is out of the question, this may be of help. I have done some dual-boots in my time but stopped once a debilitating issue prevented me from getting into either OS. I now prefer virtualization, but that can be costly in terms of RAM usage.

Saturday, July 4, 2015

Amazon: 5 Things They Should Take Responsibility For!

If you've perused my articles then you know how big of a fan I am of Amazon. I think they have fair deals, and their support is second-to-none. But every so often there is something I don't like that they do or don't do. It seems like the problems are too small for Amazon to take heed of, but I've come across them a few too many times where I think there could and should be easy fixes to solve them. This article will explain some of those issues.

Fake Products
One of the biggest issues I have come across is misleading advertising. It happens. However, many of the ones I have seen are knowingly misleading.

A good example of this are Chinese clones or knockoffs smartphones. The fake iPhones are easy enough to spot, but Android smartphones are a lot harder to notice if you don't know the specs. I have come across several fake Galaxy clones or knockoffs that seem like the real deal. After I read the specifications only then do I realize that this is not a true Samsung Galaxy smartphone. One problem is most people don't realize "Clone" is not part of the Samsung nomenclature. And what's worse is that these phones are not clones, if they were, they would be identical in their specifications. So really this is just false advertising. Other listings don't even mention "Clone", they say something else much more subtle in an attempt to trick a buyer.

Unfortunately, it's just another tactic of how to make a buck off of unassuming foreigners. There may be other (domestic) sellers doing the same, but I have no recollection of coming across any.

Item's Out-of-Stock, No Notification
I hate when this is done, whether it's by Amazon or any other company. You purchase a product that gives no indication of low stock and then you wait days, possibly weeks, wondering what happened.

There was an occurrence like this where I had bought a small electronic device and was due to fly overseas less than a week later. I have Prime shipping, so it should've arrived with plenty of time to spare. The item never came. I called Amazon a couple days before I was going to leave and asked what the hold up was. They informed me that the item was a specialty item and had just been shipped. I explained how I was never notified of such and that it would need to be returned since I wouldn't be around to get or use it. In the end, the item never came, so I just requested a refund that I did receive.

Amazon, and all companies, should know that if something is up with their order, they need notify the purchaser quickly and immediately. Customers shouldn't be the ones having to call Amazon to find out if and what trouble there is.

Wrong Prices
This one isn't so bad, but it does aggravate me when prices are advertised lower than what is actually advertised. A lot of times I check the prices for what's used, refurbished, and new. Many times you will find items much cheaper than the Amazon price.

Lately I noticed that prices were off more than $100 for iPhone 6's, and some iPhone 5S cases were actually $10 higher than what was stated. It seems like Apple products are having some problems on Amazon... This does occur with many other products though.

What's even more alarming is that the wrong price is still shown as the lowest prices when checking all the offers, and there is clearly no item at that price! This is probably just a glitch in the system, but one they need to take seriously. People like me, who purchase a lot from Amazon, don't appreciate wasting our time because of incorrect pricing.

No Product AFTER Purchase
From what I can recall, this has happened to me only once. You purchase a product from Amazon and then the item is suddenly unavailable and a refund is automatically processed.

When this happened to me I had gone ahead and purchased a graphic card from a third-party through Amazon. I got a good deal, so I was satisfied. The next day I find out that the graphic card is no longer available and I was given a refund.

This is just bad business practice. I assume the company sells not only online, but in an actual store. If that's true, you really need to learn how to organize inventory for online and in-person sales. It's not that hard, you setup a database or whatnot that denotes when something is sold online or in-store. Or, you divvy up so much inventory for online and in-store to avoid these type of situations.

What if I desperately needed that graphic card for some scientific number-crunching (for example). But I was unable to do it causing a chain of events that got me into a lot of trouble??? Amazon should force third-parties to send all their products to them in order to avoid this, but that'll never happen.

Overseas (Return) Shipping
Amazon does ship overseas, but if you bought a product and it doesn't work or breaks within the 30-day refund period while in the US or UK (or wherever they're stationed), then it must be returned to the country of origin.

Understandably, if you get something while already overseas, then you take the risk of having to ship it back. There may be some recourse, but I doubt it. However, if you picked up an item while in that country, it worked for some time, you left, and then it broke, the rules still apply.

This is garbage in my eyes. If you bought a product from someone, it worked, and then you have to go on a long business trip, then the fault should lie with Amazon, as well as the delivery prices to return the item. In some countries you may be able to ship items fairly inexpensively, but there are more where that is just not an option.

I had a similar experience myself. My Samsung Galaxy S3 had been lost so I went ahead and ordered a Galaxy S4 to replace it. I made sure it was unlocked as I would be traveling a week or two later. The phone arrived and it worked without flaw. Once I was overseas the phone died after approximately one week. Needless to say, I was irate.

I called Amazon and explained the situation and how it was still under the 30 days, and of course they wanted me to pay for the shipping charges. Had I used the local mail it would've been rather cheap, but most people knew that trusting the local mail service was downright risky, not to mention I could not track the item internationally. My alternative was to use a courier like DHL, but even for such a small item, it would cost at least $100! So I spent an hour yelling at some outsourced support representative about how they sold me a product that broke and that was their problem, where I go after I purchase an item should not be a concern. Eventually I wore them down and got a supervisor to note and agree to reimbursing the shipping costs once the item was back with Amazon. I got lucky.

Most people who will go through this will never be so lucky. They will be forced to pay a huge shipping amount for something that may cost much less! Amazon, as big as they are, doesn't seem to have any type of deals in play for international couriers. You would think they would be smart enough to ensure that all places receive the same type of customer service.

Lost Time
As mentioned before, a lot of these troubles can cause time loss. Sometimes it's not a huge deal, but what about those times when it is? Amazon should be at the ready to give credits to those who have truly been screwed.

Sure, it wouldn't be easy to discern if someone truly got screwed because of lost time, but I'm sure there are plenty of people who would have no problem proving it in order to get a $5 credit.

People like me, who have Amazon Prime, really get pissed off because we pay for a premium shipping service and expect no time to be wasted. And while most items will come in a timely manner, the times they don't can and do affect us. This is not just about shipping times, but time wasted for the same reasons written above and more.

Oh, Amazon
I still love Amazon. I don't plan on stopping myself from buying from them unless they pull something really crazy. Even then, it may be hard to get away because they offer the cheapest prices on so many items. My hope is that even though they do very well in how they operate, they take time to evaluate what could be done better rather than trying to progress themselves before doing so.