Category Archives: Technology Fixs

How to fix computers, phones and technology problems in general.

How to recover IMEI on a Moto G5 Plus

Need help to recover the IMEI on a Moto G5 Plus after reflashing the stock ROM? If your IMEI is showing as zero and you need help fixing it keep reading.

I recently purchased a Moto G5 Plus XT1687 64GB / 4GB used phone to replace my Galaxy S5. Without making an EFS backup, I flashed various Potter custom Android ROMs to the device which failed to work with the MVNO I use (Tello) on the Sprint network. After several frustrating hours, I followed the instructions here: and ended up without a cell signal. A quick look at the IMEI number showed it was zero from the Android “Settings->About phone->Status->IMEI Information” menu. This is a well known problem although the solution isn’t well documented.

Here is how I fixed the empty IMEI number on my G5 Plus and restored service on Sprint MVNO Tello network.

IMPORTANT: this guide is for a US based phone. There are different FW images for non-US phones. Only proceed with a US based unlocked retail (non-Amazon ad) phone.
DISCLAIMER – Proceed at your own risk and peril – don’t blame me if you brick your device.

1) First follow this guide to restore stock ROM
2) If you have service, just stop here and be glad. You are done. If you don’t have service, continue on.
3) Check your IMEI by navigating as follows: Settings->About phone->Status->IMEI Information
4) If your IMEI isn’t zero, then stop and start googling for another solution, what follows won’t help you.
5) If you have a backup of your EFS partition from when things worked, congrats, you just saved yourself a bunch of work and can skip down to step 12
6) You’ll need to flash the potter pixel image over the stock ROM. XDA Potter Pixel Experience ROM
7) With potter experience, you will likely not have service, but you’ll have an IMEI. Check it now to make sure it isn’t zero and continue.
7) Also flash TWRP recovery TWRP Potter Official Download page
8) From power off state, boot into the recovery image (TWRP) by holding down volume and power until fastboot menu appears. Then choose Recovery to get into TWRP.
9) Make a backup of your EFS partition from within TWRP.
10) Use ADB to copy it from your phone to your PC (adb pull)
11) Now reinstall the stock Moto G5 Android image again. You should be back to where you were at step 1, but now with a good EFS backup.
12) You’ll probably need to reflash TWRP (see step 7) again since stock reflash wipes that out.
13) Boot into TWRP recovery and push your EFS backup using adb push to the phone.
14) From within TWRP restore the EFS partition you just copied back to your phone.
15) Take a deep breath, and reboot your phone. You should now boot back into stock rom with a proper IMEI showing in the device and service should resume.

Good luck, I hope this might help you. Leave me a comment if you need help or have questions.

How to convert CD to mp3 command line linux

These days it isn’t very often I have a need to load a CD anymore. But occasionally I will end up with a new CD for one reason or another that needs to be converted to something I can load onto my phone. Here is my quick method for a command line way to convert an audio CD to mp3s.

This is a two step process


  • Linux with a bash shell
  • Have cdparanoia installed. $ sudo apt install cdparanoia
  • First Step: Convert the CD to WAV files using cdparanoia

    You should end up with some output as follows:

    Second Step: Convert the WAV files to MP3 using lame

    what we will do here is execute a simple bash loop that will find all wav files in the folder and iterate on converting them to mp3 via the lame tool.

    Now you should have your output files in mp3 format. At this point you can delete the wav files since they are no longer needed.

    There are a lot of possibilities for the above tools (lame and cdparanoia). I recommend reading the man pages if you want to encode files with more advanced options such as different bit rates, file formats etc.

    Ubuntu 14.04 USB Wifi that works

    Recently moved to an apartment in a new state, found local wifi that is open but my workstation desktop (HP Z600) doesn’t have built in wifi. So after some initial research I decided to get a USB Wifi adapter. I did some looking around to figure out what vendors had the best built in support as well as which adapters had drivers that would allow for monitor mode / packet injection. Much of the conventional wisdom was to buy the Alfa AWUS036H adapter. The reviews of the adapter were solid but I was only able to get it to work intermittently with Ubuntu with the built in 8187 drivers that are pre-installed. I tried building updated drivers but met build errors and gave up on that path. Ultimately I found there is a Frys electronics nearby and just picked up a few others to try.

    The next adapter I bought was the TP-Link TL-WN727N. I plugged it in, turned on the workstation but the device wasn’t working. It was appearing in a lsusb log but that was it. Since I bought three I pulled the next one out of the box to see if I’d get lucky and I did. It was the TP-LINK TL-WN823N

    After plugging it in, it immediately was detected and working within seconds. I’m going to return the others and stick with this one. I don’t know if it will support aircrack-ng or not, but at least now I have working wifi.

    Chromebook experience in China

    I recently purchased a HP Chromebook to replace my personal travel computer. In the US it’s been excellent for light casual browsing, email, youtube, etc use. The weight (< 3 lbs) and battery life (4-5 hrs avg) make it super portable. Well, I'm taking it to China today and I'm not overly optimistic about how it will perform there. Having lived in China for 2 years I quickly realized that the great firewall of China degrades google's services. At one time, they outright blocked it, but eventually (I believe around 2009 or 2010) changed their internal policy to instead just cripple it. It effectively makes the Google services unreliable and therefore frustrating to use. Very clever approach to deter people from using Google and to instead use Baidu and other cloned business of successful western companies. While living there, I setup a personal VPN running from a server in the US. It worked wonderfully for the time we lived in China. I still use it when I travel to harden the security for my network connections overseas. The day before my trip, I tried setting up my Chromebook with OPenVPN. To be fair, I only spent about a half an hour trying to figure out how to make it work and was ultimately unsuccessful. I've had little trouble getting various clients on just about every other OS (Windows, Linux, OSX) to work. I just couldn't get it to connect properly so here I am headed to China without a VPN for my chromebook. I'll have more information on the experience over the next few days after I reach the mainland which I'll post below soon. If you have suggestions on how to get OpenVPN working on a chromebook please post a commment below.

    Dell mini 10v performance upgrades

    My mini 10v has been going strong for several years. I used to run Snow Leopard, but got tired of that and eventually returned to linux (currently Xubuntu). I’ve needed to make a few upgrades along the way to keep up with the times. Here are my suggestions if you want to pimp your mini 10v

    1) Upgrade to 2GB of RAM. There is only one slot for a ram card and you can only max it out at 2Gbytes.

    2) Install a SSD – these have come way down in price. The boot performance will knock your socks off. Make sure you get a 2.5 inch drive so it fits in your mini. The one below is what I would buy.

    3) Get the high capacity battery – 6 cell. I get about 5 hours on my laptop with this battery.

    SOLVED: Easy way to view unread messages in Outlook 2010

    A quick method to search for unread messages in Outlook 2010 is to use the search bar with appropriate syntax (see below) for a quick view of unread messages in your inbox.

    If you type “read:no” into the search box in Outlook 2010 you will be shown all unread messages.

    I find this much faster and more convienent than clicking the “View menu” then clicking “View Settings” then choosing the “Filter” button then selecting the “More Choices” tab and finally selecting the “Only items that are: Unread” checkbox.

    What follows are some other useful search box commands as a bonus. They are self explanatory.

    “from: Michael Harmon”
    “michael or harmon”
    “subject: TPS reports”
    “read: no” – as mentioned above, shows only emails that are unread.
    “has attachment: yes” – shows emails with attachments only

    Do you have additional useful shortcuts you use? Please drop me a comment to share.

    Ubuntu doesn’t recognize Canon Rebel XTi Camera

    If you are having trouble getting the USB connection between your Ubuntu to Canon Rebel XTi to work, and don’t want to find a windows machine to use, you might use gphoto2 to download the photos from your camera.

    Note: I’ve tried this on on my Dell Mini 10v 1011 running XUbuntu Precise release 12.04 with success

    1) Check if gphoto2 is installed

    ~$ which gphoto2

    2) Install if necessary gphoto2

    ~$ sudo apt-get install gphoto2

    3) Turn on your digital camera, and plug it into the USB port on your computer

    4) Check to make sure it shows up with the command as follows

    ~$ gphoto2 –auto-detect

    5) Download the photos (assuming step 4 worked)

    ~$ gphoto2 –get-all-files

    Hope this works as well for you as it did for me.

    How to print to a file for HP printers

    Recent print drivers for HP printers no longer have the handy “print to file” option for the user to save driver output to a file. What follows are some instructions based on windows 7 and the HP M251 model laserjet printer PCLXL driver to explain how to print to a file. These instructions and the general process should work with other HP printers which do not offer the Print to File checkbox in the driver UI.

    1. In windows, open the “Devices and Printer’s folder” (Start Button -> Devices and Printers)
    2. Right click on the printer and select “Printer properties”
    3. Go to the Ports tab
    4. Note which port is currently being used. We are going to change this and you will eventually need to reset it (see step 9) to return to normal printing mode (as opposed to print to file).
    5. Click on the “Add Port…” button
    6. Choose “Local Port” then click “New Port…”
    7. For the port name, enter a path to save the .prn file to. Use a directory under the C:\Users\ to ensure there will be no permission issues.(ie I use C:\Users\\Desktop\capture.prn)
    8. Print the file just like normal
    9. Reset the port back to its original value. If you don’t do this, subsequent print jobs will overwrite the capture.prn file on your hard drive and not be delivered to the actual printer.

    If you have problems, please post a comment including the printer model and your version of windows and I’ll do my best to help.