Yearly Archives: 2016


Hack The TMobile TM-AC1900 Router Into An Asus RT-AC68U

tm-ac1900

WARNING: YOU COULD BRICK YOUR ROUTER BY INCORRECTLY FLASHING. THIS SHOULD ONLY BE PERFORMED ON A SPARE ROUTER, NOT YOUR EXPENSIVE MAIN ACCESS POINT. I AM NOT RESPONSIBLE FOR ANY DAMAGES.

My experience comes from the original Slickdeals forums on this subject. My guide is a simplified, modified version of the various guides found there. I’ve done a few routers, so have simplified the process to what you see below.

  • The older firmware versions and mtd_write can be found here
  • The default router IP out of the box is 192.168.29.1
  • I wound up using IE and clearing its cache every reboot. Clearing the browser cache is optional, but it might save you some time with cached error pages making it seem as though the router is unresponsive.

Download these files first:

  1. Boot the router into restore mode by holding the reset button and then powering on the router.
    1. The router is in restore mode when the front power indicator light is slowly blinking. The rear ASUS logo will blink as well.
  2. In a CMD window, TFTP the older Tmobile firmware, version 1703, to the router (install TFTP via Windows add remove programs if not already installed):
    tftp -i 192.168.29.1 put TM-AC1900_3.0.0.4_376_1703-g0ffdbba.trx
  3. Reboot the router, log into the browser GUI and verify the firmware is now at 376_1703.
  4. Enable SSH under Administration/System.
  5. Putty to router and make a copy of the current CFE:
    cat /dev/mtd0 > original_cfe.bin

    1. By default, you will land in /tmp/home/root in both Putty and WinSCP
  6. Winscp to the router and copy original_cfe.bin to your desktop.
  7. Use a hex edit app to open original_cfe.bin from your desktop and find the 3 MAC addresses and secret_code number and copy to a file for the next step.
    1. The first 2 MACs should be the same. The second is different.
    2. The secret_code is an 8 digit code which is also on the back of the router listed as the WPS Pin Code.
  8. Hex edit the rt-ac68u_1.0.2.0_us.bin file and replace the 3 Mac addresses and secret_code with the ones copied above from your original_cfe.bin.
  9. Save as new_cfe.bin and copy it and mtd_write to the router via Winscp.
  10. Putty to the router and run the command:
    mtd-write -i new_cfe.bin -d boot
  11. Type exit to close the Putty session.
  12. Hold down the WPS button on the side of the router, unplug the power for 5 seconds, then plug it back in while continuing to hold the WPS button for 20 seconds.
  13. Release the WPS button. This clears your nvram, effectively a factory reset.
  14. Optional: Clear your browser cache.
  15. Once the router is back up, log into the browser GUI and verify that the title of the router is now ASUS RT-AC68U and not TM-AC1900.
  16. IMPORTANT: Install the ASUS firmware version 376.3626.
    1. The file is FW_RT_AC68U_30043763626.trx
    2. You can download it from Asus’ support site at:
      https://www.asus.com/us/Networking/RTAC68U/HelpDesk_Download/
    3. You must install this exact version in order to expand the bootfs partition from ~30M to ~60M
      1. Boot into restore mode – see step 1.
      2. Optional: Clear your browser cache.
      3. Navigate to the router GUI.
      4. You should see a ‘CFE MiniWeb Server’ page.
      5. Browse to the 376.3626 firmware and upload it.
      6. The router should upload and install the firmware, then reboot itself.
  17. Putty into the router when it comes up and run two commands:
    mtd-erase2 nvram
    reboot
  18. Optional: Clear your browser cache.
  19. Once the router reboots, log into the browser GUI and re-enable SSH in the Administration/System section.
  20. Putty into the router once more and run the command:
    df -h
  21. Verify that /dev/mtdblock is ~63M
  22. If so, you are done. Download and install the latest firmware from Asus via the GUI or pick another firmware distribution.

Masterpiece MP-36 Megatron V2 Coming In April

For a while I figured the 3rd party companies had beaten Takara to the punch with their multiple versions of a Masterpiece styled Megatron. The now official MP-36 looks near perfect if what you are looking for is G1 accuracy. This guy looks fantastic and is detailed as hell. I’m all in for this hunk of plastic!


Extend CentOS 7 VirtualBox Disk Partition

linux-floppies

I recently had need to extend my Centos 7 volume from 8GB to 16GB. I used the Gparted live CD for this project which made it a little easier.

Use the command df -h to view your current partition. Below is my original 8GB partition, roughly 6.7GB after the swap space and Linux itself.

linux_before_resize

  1. The first step is to increase the size of the VirtualBox VDI file. Shutdown the VM if it’s running and resize the disk. In the below example I increased a 8192MB volume to 16384MB via the Windows CMD.
    • vboxmanage modifyhd "D:\VM\CentOS7\CentOS7.vdi" --resize 16384
  2. Next, attach the Gparted live CD to the VM from within VirtualBox Settings of the VM. Leave the primary VDI attached as SATA. Boot the VM into Gparted and hit Enter to select the default whenever a boot option prompt appears.
    • virtualbox-livecd
  3. Resize the partition by highlighting the /dev/sda2 lvm2 partition and clicking Resize/Move. Click and drag the black triangle to the max size and click Resize. Click Apply to save the new partition and exit out of Gparted.
    • gparted-increase-partition
  4. Shutdown the VM and remove the Gparted live CD from your VM configuration from within settings.
  5. Next, extend the volume from within CentOS. Boot the VM and extend the partition by the difference in the space added, in this case, around 8GB.
    • [root@localhost ~]# lvextend -L+8G /dev/centos/root
  6. Finally, extend the Linux filesystem. In order for the OS to utilize the new space, the filesystem must be extended onto it.
    • [root@localhost ~]# xfs_growfs /dev/mapper/centos-root

Now you should see the new, larger volume from within Linux.

linux_after_resize


Transformers: The Movie 30th Anniversary Edition Blu-ray Review

tftm30thtitleI am so excited about the Shout! Factory 30th Anniversary Edition of Transformers: The Movie! This is not Bayformers, but rather an actual GOOD Transformers movie. This Blu-ray edition of the film comes with two disks, each containing a different version of the film. One is the original full frame 1.35:1 version, the other the widescreen 1.85:1 format. This is a true blessing curse for fans as it allows us to compare the widescreen version of the film we’ve grown up with to its original, full frame counterpart.

This print is sourced from a 4K transfer and it looks magnificent. It is far superior to the DVD versions I own, but that’s to be expected considering their age and the inherent low resolution of DVD. The DTS audio track is a wonderful bonus. There is also the Steelbook limited edition that comes bundled in a metal case and includes a poster. Since I consolidate to movie sleeves, the metal case would just be a waste.

I’ve done comparisons below of some scenes from both the full frame and widescreen versions. You can see that, while the widescreen copy cuts off a significant portion of the upper and lower pieces of the frame, the full frame shots have some slight cropping of their own on the sides. Although the widescreen version crops a good deal of the top and bottom of the frame, it looks like this was taken into consideration by the director. Most of the top and bottom of the scenes in the film simply contain more matte painting background as opposed to important characters or information.


Hyper-V Backup Script In Powershell

Hyper-V-logo

This script sets a path variable to your backups folder, recursively deletes any backups older than 1 day, creates a new directory and backs up running VMs to it. Written for Hyper-V 5.0 on Windows 2012 R2 to backup running VMs.

Set backup path variable:

$backups = “C:\HyperVBAK\DAILYBU”

Recursively search the backup path for existing backups more than a day old and delete:

Get-ChildItem $backups -Recurse | Where {$_.creationtime -lt (Get-Date).adddays(-1)} | Remove-Item -Recurse -Force

Create a dated directory for the new backup:

$datepath = new-item -itemtype directory -path $backups\”.\$((get-date).tostring(‘MMddyyyy’))” -Force

Run a backup on running VMs:

get-vm | where {$_.state -eq ‘running’} | export-vm -path $datepath\

Full script:

$backups = "C:\HyperVBAK\DAILYBU"
Get-ChildItem $backups -Recurse | Where {$_.creationtime -lt (Get-Date).adddays(-1)} | Remove-Item -Recurse -Force
$datepath = new-item -itemtype directory -path $backups\".\$((get-date).tostring('MMddyyyy'))" -Force
get-vm | where {$_.state -eq 'running'} | export-vm -path $datepath\

RetroPie Configuration

RetroPieLogo

I’ll document the configuration for my RetroPie use case. Once RP is running, these are the things I change to satisfy my needs.

Setup a keyboard

Upon initial boot of RetroPie, you’ll need to configure an input device. I recommend configuring a keyboard first and then a controller. A keyboard can be valuable for deep configuration in the CLI menu.

  1. Hold down a key on the keyboard to open the Configuration screen.
  2. For a keyboard, all you need are the arrow keys, Start, Select, A, and B.
  3. Hold down any key for 2 or 3 seconds to skip past all other input items.

Update RetroPie

  1. Boot into RetroPie, go to the RetroPie menu and select ‘RETROPIE SETUP‘.
    1. You can accomplish the same thing by exiting RetroPie via the Quit menu option to the CLI and running these commands:
      1. cd RetroPie-Setup
      2. sudo ./retropie_setup.sh
  2. Choose ‘Update All Installed Packages‘ to update RetroPie to the latest version.

Add a bluetooth controller

  1. This is done through RetroPie_Setup.sh.
  2. Select ‘Configuration / Tools‘.
  3. Select ‘bluetooth – Configure Bluetooth Devices‘.
  4. Select ‘Register and Connect to Bluetooth Device‘.
  5. Select your device and accept it. I am using the 8bitdo SNES30 controller and it paired up easily. I set the ‘8bitdo mapping hack’ option to OFF since my firmware is up to date.
  6. You can find a great updated guide for RetroPie v.4 and the 8bitdo controller here which is more in depth than mine. The steps should apply to any Bluetooth controller.

Set video_smooth to TRUE

  1. From within RetroPie, enter the RetroPie menu and select ‘CONFIGURATION EDITOR‘.
  2. Choose option 1 – ‘Configure basic libretro emulator options‘.
  3. Choose option 0 – ‘Configure default options for all libretro emulators‘.
  4. Choose option 0 – ‘Video Smoothing (false)‘.
  5. Set the value to ‘0 true‘.

ROMs

  • The path for ROMs is /home/pi/RetroPie/roms/
  • Each console emulator should have a directory here, e.g., snes, mastersystem, pcengine, nes, etc.
  • By default, RetroPie enables SMB, so you can easily connect over the network via Windows Exploder.
  • SSH and SFTP are available as options.
  • A USB stick is another option to transport ROMs.
  • You must restart EmulationStation after adding ROMs. This is quickly accomplished by hitting Start and selecting Quit -> Restart EmulationStation. No need to completely reboot the system.

NeoGeo Roms

In order to run NeoGeo games, aside from the ROMs you will need the neogeo.zip BIOS file. Put this file in the same directory where your NeoGeo ROMS reside, i.e., /home/pi/RetroPie/roms/neogeo. This BIOS file is not impossible to find, but it takes some digging.


8Bitdo SNES30 Bluetooth Controller

snes30-1

I ordered the 8Bitdo SNES30 controller with slight trepidation. When it arrived I was blown away with its presentation. The quality of the container is maybe half its cost. The printing on the box is excellent. The box itself is sturdy and lined with very protective padding. All in all it is a very professional package with solid construction.

Opening the box and grabbing the controller, I was brought back to my SNES days. The build quality of this thing is excellent. Holding it and pressing its buttons communicated to me that my purchase was not wasted. It is light, yet very sturdy. The buttons deliver very positive and solid feedback. The D-pad is tactile and mashable. The R and L buttons connect with your index fingers. Start and Select are right where they should be – duh.

I’ve traveled with my SNES30 a few times now. I charge it prior to travel and have not yet needed to recharge it. Total play time on my trips has been maybe 6 to 10 hours total. Given the advertised play time of 20 hours, I have maybe hit it’s half life.

Compatibility with devices has been excellent. It pairs well with a Raspberry Pi 3 on RetroPi, Lakka and RecalBox. Windows 10 pairing is flawless. My Nexus 6P accepts it like a sibling. So far, I’ve yet to be disappointed with this controller.

Charging is easy – use the supplied USB to MicroUSB cable in a PC or wall adapter. Updating its firmware is just as easy – download the latest firmware, unzip it, boot up the controller by holding START+L+R, plug in the controller to the PC and run the EXE firmware updater.

Included in the package:

  • 8Bitdo SNES controller
  • 3ft USB Type-A to MicroUSB cable
  • SNES30 metal keychain
  • Mobile device adhesive stand
  • Instruction booklet

Raspberry Pi 3 Official Black Case

Official Pi 3 Case Black

The Raspberry Pi Foundation has a few official accessories. I purchased the official Pi 2 case for my Pi 3. At the time they had not released a case for the Pi 3. The only real difference in the cases is the location of the LED ports – the Pi 2 has its power and status LED’s on the left side, the Pi 3 on the right. There are other, more exciting and innovative cases out there, but the official case is much cheaper and is of very high quality.

The case is very modular. You have the option to use or not either of the side covers. If you’re going to be using a GPIO device, the case will allow it via an optional side panel next to the GPIO pins. You also have the option of two lids; one is a partially open view port to accommodate a touch screen, the other a full cover which fits over the partial lid with the Pi logo engraved.

The entire case is tool-less. It is dirt simple to assemble and disassemble. The Pi itself snaps safely and securely into the base. All port openings are perfectly positioned and clearly labeled. The package comes with four clear rubber feet which adhere to indentations on the bottom of the base to keep the unit from sliding around on surfaces.

The latest official case is black! This is very welcome as I think most modders would prefer black to the original white and red any day.


Raspberry Pi 3

Raspberry_Pi_3_Model_B

The Raspberry Pi Foundation has just sold it’s 10 millionth unit since having begun the manufacture of their original Raspberry Pi device four and a half years ago. Their original, wildly optimistic plan to reach 10,000 units at most was far surpassed soon after they shipped the first units.

The tiny computers were originally planned and designed around education – a small, affordable, easy to use computer to get children interested in technology and subsequently more deeply involved in school. Little did they know that all children, from pre-teens to old farts like me, would be attracted to its promise of a tiny world of infinite fun.

Right now I’ve got a Pi 3 dual booting OSMC and RetroPie on a 32GB micro SD card. The uses for the Pi are not yet infinite, but there are many open source projects, so many that you would need a good deal of free time to tackle them all. If you’re a part time hacker like me, you owe it to yourself to pay the $35 for a Pi and begin having fun. Hint: MicroCenter sometimes has them on sale for $29.99. 🙂

If you’re interested in the differences between the two “versions” of Raspberry Pi, below are both distributors’ boxes – RS Components/Allied Electronics and Premier Farnell/Element14. These are the two official distributors of the Pi devices. The more noticeable difference I’ve been able to surmise is that each distributor has their own box art. The other visual anomaly is on the board itself. The Alliance Technologies board reads ‘Made in UK‘ and the Element 14 reads ‘Made in PRC‘.


Dual Boot OSMC And RetroPie With BerryBoot

osmc-retropie-logo

Both BerryBoot and NOOBS are nice for dual booting a Raspberry Pi, but neither provides both of the OS options I want; OSMC and RetroPie. However, you can use BerryBoot and 2 separate OS IMG files to create a dual boot environment with OSMC and RetroPie. To accomplish this you’ll need the latest BerryBoot image along with the OSMC and RetroPie BerryBoot images. Thanks to alexgoldcheidt for the OSMC image!

This dual boot method is capable of being updated unlike other solutions I’ve found.

Prerequisites

Format your SD card (16GB and up is recommended)

  1. Run SDFormatter and verify the correct drive is selected.
  2. Click on Options and set the FORMAT SIZE ADJUSTMENT option to ON.
  3. Format the card and you’re done – ready to copy over the BerryBoot image files.
    1. sdformatter
  4. Move on to creating your dual boot image.

If you’re in Windows and SDFormatter does not recoup the full card capacity, use RUFUS instead.

    1. Download Rufus
      1. I use the portable version – no installation required
    2. Run Rufus and it should immediately detect your SD card.
      1. Make sure you choose the correct drive!
    3. Set the options as below:
      1. rufus_format

Create a dual boot image

  1. Extract the BerryBoot image using 7-Zip or equivalent, then copy the files to your SD card and plug it into the Pi.
  2. Copy the OSMC and RetroPie images to a USB stick and plug it into the Pi. Do not extract these IMG files.
  3. Power up and boot the Pi.
  4. Cancel out of the initial BerryBoot Add OS window and allow it to reboot to the BerryBoot Menu Editor.
  5. Click and hold the ‘ADD OS‘ button and choose ‘Copy OS from USB stick‘.
  6. Choose one of the images to install, wait for the installation to complete, then install the other.
    1. Note that you could install RetroPie from within BerryBoot, but having the latest versions of the OSes on hand is much quicker. The official BerryBoot RetroPie image is much older – v.3.6 vs v.4.0.2.
    2. BerryBoot otherwise needs to download the installation files for the OSes which takes a while.
  7. Set one of the OSes as default.
  8. Reboot and you’re done.

That’s it! Finally, an easy, dual boot Pi solution for OSMC and RetroPie via BerryBoot. I’ve updated both OSes on my image to the latest and greatest versions with no issues. I’ve restored an OSMC backup from another image to this one and it was successful.


The Transformers: The Movie 30th Anniversary Edition Coming to Bluray!

tf30th-sf-brcase

It’s hard to believe 30 years have passed since the release of the original Transformers movie (The only good one, some might argue… I will argue). Shout Factory is finally releasing a remastered Blu-ray version in September. There will be a special metal case edition as well as one in the normal clam shell packaging.

Transformers the Movie is not the best animated flick out there, but as a whole it is an achievement of hand drawn animation that is second to none. Essentially a 1 hour 30 minute toy commercial, this flick was simply a medium to kill off (quite literally) a large portion of the Transformers toy line in order to introduce new product to refresh Hasbro’s line. Some of the deaths, one in particular, actually angered parents after they were forced to explain the concept to their weeping children.

Original 1986 trailer!

YOU’VE GOT THE TOUCH!


Star Wars Silver Screen Edition

sw_sse_banner

Harmy’s Despecialized Editions of the original Star Wars trilogy were brilliant and refreshing, but Team Nagative One’s Silver Screen Edition, created from an original 35mm print from (purportedly) 1977 after 4 years of restoration, is the crowning achievement of fan dedication to seeing Lucas’ original vision untouched. It looks like the team that dedicated so much time to this has now disbanded due to all the press. I think it’s wonderful that folks care so much about something and have given back to the community what Lucas would not. He could have made another billion dollars simply by doing this himself. Oh well, his loss.

If you haven’t heard, the Silver Screen Edition is a digital copy of the film literally recorded from an entire original print. A team of fans took the 35mm film, digitized it and spent years cleaning it up. The process included touching up the video noise, enhancing the audio, color correction and other improvements. The result is a stunning full HD 23GB copy of the original film in its entirety, unedited, including the original title sequence prior to the addition of “Episode IV – A New Hope”.

http://thestarwarstrilogy.com

https://www.facebook.com/The-Star-Wars-Trilogy-441501702602041/


Free SSL Certificates

If you need a SSL certificate and don’t have the cash, check out startssl.com. They provide free SSL certs for up to 5 domains – for free!

  1. https://startssl.com
  2. Sign up for a free SSL cert
  3. Provide your email address
  4. You’ll receive a code in an email
  5. Copy this code and paste it into the verification field
  6. Now follow the instructions to install a client cert into your browser
  7. You can now take the StartAPI link to begin your domain verification
  8. Once verified, you can issue certs for the domain(s)

startssl-api


Dedicated NIC on Windows 10 for VirtualBox

After some headaches and trial and error I finally figured out how to provide VirtualBox its own dedicated NIC in Windows 10 without it causing network anomalies with the system.

  • Properties of the dedicated NIC:
    • Uncheck all items except the ‘VirtualBox Bridged Networking Driver’ and IPv4
  • IPv4 properties:
    • Set the IP of the NIC to a different subnet than the host PC
    • Do not set a gateway
    • Do not set DNS servers
  • IPv4 Advanced properties:
    • Uncheck the ‘Register thsi connection’s addresses in DNS’ option

Additionally, if you want to disallow VirtualBox using your default host NIC, uncheck the ‘VirtualBox Bridged Networking Driver’ in the host NIC properties.

Uncheck all but the VirtualBox Bridged Networking Driver & Internet Protocol Version 4

Uncheck all but the VirtualBox Bridged Networking Driver & Internet Protocol Version 4

Set IP Address to a different subnet, leave Default Gateway blank, leave DNS blank

Set IP Address to a different subnet, leave Default Gateway blank, leave DNS blank