Tips for MotoWpNoMo

MotoWpNoMo is a utility to disable the write protection on Motorola phones with locked boot loaders.  You can read more about it here:

 

  1. First you need to root your phone.  If you have a Droid Maxx/Ultra/etc you could follow this post.  If have a Droid Maxx (non developer) without root and are already on KitKat - you are out of luck (as of this writing).
  2. Next, Download MotoWpNoMO (windows)and extract the files
  3. Run wpbegone.exe as administrator.

What are some issues?

  • Be sure to pay attention to phone when this is running... it will prompt asking for root privileges.
  • If you get an error about not being rooted, your root is not working.  Try re-installing and/or verifying your root is fully working
  • if you get part way through and get something that looks like [TTTT*******************] try re-running the application.  (be sure you gave it root access)
  • If you get a fatal error downloading be sure you are running as administrator.
  • Be sure your firewall and antivirus are turned off.

People have tried several times only to succeed on 3rd or 4 try, or trying from a different computer.

A successful run will look like this:

C:\DroidMaxx\>wpbegone.exe

 ==================== Moto-WP-NoMo 0.0.4 ==============================

Moto-WP-NoMo comes with NO WARRANTY (express or implied)
and NO GUARANTEE OF FITNESS for any particular task.
We have made every effort we can to make this a safe process for users
however the authors disclaim any liability for damage to your phone
or other materials or devices used during this process.

The entire risk of running Moto-WP-NoMo lies with you, the user.
By using this software you acknowledge and accept that the authors
are not liable for any loss, material or otherwise howsoever caused.

Do you understand the implications of this warning?
(Yes/No)
Yes

Dear User: We will expect that YOU:
(1) Know how to use ADB and FASTBOOT binaries
---- [Yes, use these tools to test USB connection BEFORE running Moto-WP-NoMo] ----
(1) Know how to enable USB-debugging on YOUR device(Yes, do that now)
(2) Understand that you may NOT repack or redistribute Moto-WP-NoMo

Ok?
(Yes/No)
Yes
!! Do NOT for any reason bite, punch, or molest your device !!
Please wait....
..........
Checking for updates......
Test 1: Rebooting into bootloader
Waiting for fastboot (3/120)
Waiting
Test 2: Booting device
Waiting for ADB (36/120)
must play a little while longer...

it's so cold in here
hmm, hold please
..............................................
[---------------------------------------------]
doing some *stuff*..................
this is getting boring, let's go ahead and get started..

clobbering (1)..................................
clobbering (2)......
Waiting for ADB (36/120)
must play a little while longer...

lets put some things back in place...
installing root stuff, thanks chainfire
wait for it.........
yep, done.bye bye pesky write protection!
send your money, ALL OF YOUR MONIES to - motowpnomo@gmail.com
Press ENTER to exit

C:\DroidMaxx\>adb shell getprop ro.boot.write_protect
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
0

C:\DroidMaxx\>

 

that last command (adb shell...) is me testing that it worked - the return value of 0 indicates write protection has been removed.  if you get a 1 instead, you did something wrong.

 

Wireless car charger

FinalMount.png

I decided I wanted a wireless car charger for my Droid Maxx - it annoyed me that I that could stream music and handsfree telephone/nav etc via blutooth but I still had to plug it in to a wire AND mount it to a holder.  I had a charging pad already that I replaced with the Tylt so I decided to recycle it rather than buy a new car accessory.  No modification was necessary to the charging pad, so I can easily remove it and use it in the house if I want.  Total time was about 30 minutes all-in.

 

 

 

 

Parts I used:

Charging Pad.png
  • Samsung Wireless Charging Pad $49.99 at a local sprint store.  I like this charging pad because its power source is micro-USB which means I can use any old 12vold micro usb cigarette adapter to power it in the car.  It does NOT come with a cigarette adapter.  Also with my Droid Maxx, the bottom of the maxx has to be aligned with the bottom of the charging pad rather than centered vertically. 
     

 

Bracket.jpg

 

  • Bracketron Suction Cup Holder: $15 at Best Buy.  The updated one I have has a ball joint but is basically the same as below.  I think I could have source something that would have worked equally well for about $8.

 

 

 

 

 

A large medicine bottle: This is what I used to go in the cup holder.  Anything you have that fits in your cup holder that you could screw into the top of would work (an old travel mug with a Top for example

One long  screw - I used a 1 1/2" drywall screw.

Rapid Set Cement (Concrete).  If you use something for your cupholder that has a strong top and fits tightly so it wont tip over, you might not need this. Its your call.

I don't have any pictures in progress, but it was really easy and seeing the final product you can figure it out.  FYI - this would have worked as a Wireless suction cup mount but I just don't like stuff stuck to my window.  You also could use the Bracketron vent mount or dash mount I suppose.

First I took the ball joint mount off the adjustable arm of suction cup.  This was held in by a single screw and just slid off.

bottle.png

I then took the large wood screw (about a 1.5" sheetrock screw) and screwed it down through the mount into the top of the medicine bottle.  The top of the bottle isn't super strong but it didn't matter for me since the screw tip stuck down about 1/2 inch into the bottle. 

II filled the bottle with cement to the brim, then screwed the cap on.  The end of the screw now goes 1/2 into the cement which is why the strength of the bottle top didn't matter but the length of the screw did.

Next  increased the size of the support arms using an piece of an old cd case I trimmed to size. The fact that my Droid Maxx had to line up with the bottom of the charging pad is perfect.

The I trimmed away the padding on the holder itself to make a little room for the charging pad.    I also had to build out the padding a bit since the charging pad is so much wider than my phone.

Extra Support

Extra Support

See trimmed and added padding

See trimmed and added padding

Finally I just put the mount on my medicine cup holder and I'm done.

Yes I am going to dress up the medicine bottle and the replace the padding with something black - I just didn't have anything handy at the time.

Miracast or More-aches - headaches that is

So I had previously tried to use Miracast to project from my Droid Maxx.  In summary, I finally got it to work switching to 2.5ghz on both devices but it was heavily pixelated and basically useless.  The requirement to switch to 2.5 from 5ghz seems really odd to me since people recommend using 5ghz for miracast for bandwidth reasons and since it sets up an Ad-Hoc network independent of your current WiFi, what difference should it make.  But it does - and ultimately I'm not even sure which frequency it is using - maybe it was using the 5ghz after I freed it up by switching Internet to 2.5.

Anyway, I recently needed a new (actually my first) blu-ray player, so I got the Panasonic DMP-BDT230.  It was on sale for about 80 bucks and it too supported Miracast.  I review it separately but figured I'd test it and at the same time try projecting from my first generation Surface Pro running windows 8.1.

Before starting, I made sure that all devices were up to date for drivers, firmware, etc.

The good news on  the droid front was it paired up quickly with the blueray player (also only on the 2.5ghz network) and didn't exhibit any of the pixilation problems the TV had.  Furthermore, it didn't screw up its network connection using it.  The DMP-BD230 also has a miracast button right on the remote to quickly launch it without diving into its settings.

The bad news was on the MS Surface side: I couldn't get it to pair with either the Panasonic VIera tv or the Blu-Ray player.  

  • When connecting to the TV, as soon as I went to connect, Windows prompted me to enter the WPS pin of the TV. Well the TV doesn't have a WPS pin, at least not one I could find in the manual or on the Internet.
  • When connecting to the BluRay player, Windows would either prompt me to press the WPS button on the bluray player (it doesn't have one), or just time out trying to connect.

Whose fault is it - Panasonic or Microsofts?  Well since Miracast sets up an ad-hoc network, which in turn is probably using something like WPS, I might point the finger at Panasonic for not having the option to supply a PIN code.  Of course on the flip side, my Droid will pair without a PIN so perhaps Microsoft is at fault for requiring one before you can click next.  I know people have successfully paired the Surface with Netgear's Push2TV (PVT3000), but I also know when they do the Netgear shows a PIN they can enter.  I also know people have had trouble with Sony TVs becase they don't have a PIN.  For know I'll blame both - Panasonic because even with it working on the Droid, its flaky from the TV and seems dependent on which frequency Wifi I was previously connected to from both, and Microsoft because it just doesn't work where the Android device did.

Everything I've read seems to indicate Miracast is supposed to be about as simply as it gets - but so far, my Miracast experience has been anything but easy.

Android Miracast on Panasonic P55VT60

So I love my Panasonic 55" plasma - built in Netflix, VUDU, Amazon Prime, Skype, good picture quality.  What is a little underwhelming is the Panasonic Android Tv Remote2 application.  Sure it works, but it cant power on the TV, and touch screen remotes cant replace (IMHO) tactile feedback of a traditional remote where you don't have to look at the remote to know what button you are pressing. 

What does work in the app is the content sharing - from within the application, flip a picture, audio file, or movie up to the screen and voila - there it is from your phone to the TV. (I've read that video sharing doesn't work with the Apple app - but it works well for my Android devices). 

Well, my new Droid Maxx supports Miracast - the "standard" ad-hoc wifi method of streaming HDMI-quality content.  So I poked around in the apps of the TV and there was Display Mirroring so I figured I'd give it a try.  Seems easy enough -

  • Select that on the TV - The TV then indicated it was waiting for a connection
  • go into Settings->Display-Display Mirroring on Droid, turn it on (you can short cut to here from the Motorola circles widget if you have a Droid, or from the settings drop down) - Turn it on and it saw the TV
  • Select the TV on the droid, and on the screen of the television it prompts if I wanted to allow the connection.   Hit yes and..... nothing but spinning wait circles on both.

I repeated the above steps countless times, and would only get either spinning circles, or sometimes the phone would think it was mirroring, but the TV would say disconnected.

After banging my head for 30 minutes on this, I disconnected both devices from my 5g WiFi network and connected them to my 2.5ghz network.  Repeated the above steps and what eureka! it worked!. Sort of.

The problems were:

  1. The number of steps it took to get it to go meant it was a 2 minute process to connect the phone (including the pairing time, searching time by the droid while it looked for wireless displays etc)
  2. The Television didn't mute the prior input (coming from my AV receiver), even when I streamed video or audio from the phone so I had to turn off the receiver or switch the TV to an unused input as yet another step.
  3. There was severe pixilation.  I tried Angry birds and a short movie I had recorded on the phone - both were basically unwatchable with any fast movement.
  4. And the biggest problem, after disconnecting the droid, the Panasonic refused to connect back to my network (it seemed to get stuck in the ad-hoc world and wouldn't see any wifi networks.).  Ultimately, I had to power off the Droid (even though the display mirroring was turned off on both), and reconfigure the network on the TV.  Another 3 minutes of time.

I'm not sure who is at fault here - I'm leaning toward Panasonic's implementation of the Miracast not being up to snuff.   While I am running the latest firmware on the TV, it still seems buggy at best - particularly the mess it made of the WiFi connection and the audio overlay.   I suspect if they would pair at 5g, the pixilation problem would go away. 

All in all, the setup time and disconnect time, and general flakiness was completely unacceptable.  I suppose if I had to do a presentation of some static/slow moving screen on the android device (not video/music/photo files but actual applications or see the home screen etc,) it would suffice - since there is no way to do that from within Panasonic TV remote application, but for general media content  I will stick with the Panasonic Remote Application.  It did not exhibit any pixilation on video files.  As for something like Angry Birds? I'll stick to just looking at the phone's screen.

Quick thoughts on Razr Maxx HD vs. Droid Maxx

Motorola-DROID-MAXX.png

I've used the Verizon Razr Maxx HD for about a year now... and have been totally spoiled by the fantastic battery life it provided.  On average I had about 5 hours screen on time per day and was generally at about 10% charge by the end of the day.  This is with WiFi and Bluetooth both on, listening to music for about 2 hours a day, WWF, backgammon, emails, web browsing, the occasional tethering of my MacBook Air... I never worried about running out of juice during the day (for the first time since touch screen phone).

Of course all good things come to an end, and the Razr MaxxHD met its match getting thrown against the corner of a coffee table which smashed the screen.  Since repairing the screen was the same price as getting a new phone, I opted for the latter and replaced it with the Droid Maxx.

I've had the new Maxx for about three days and here's my skinny:

  • I'm getting about 1 more hour per day on the same full charge - so now I get about 6 hours screen time.  I rooted it and disabled a few pre-installed apps but not many.  I have all the sensors on (so it responds to voice, has the active notifications on etc).  basically I've done nothing to try to maximize battery life and am sure I could do a lot to improve this by killing all the bells and whistles that eat processor time. As of this writing, the phone has been off its charger for 6 hours, the screen has been on for 2 hours, and I still have 75% battery left.
  • It is noticeably faster doing everything. 
  • Bluetooth is improved - syncing with my Volkswagen it now shares the address book (which the MaxxHD would not) and gives song information when streaming music over Bluetooth (where the MaxxHD always told the radio it was playing a voicemail.wav file when it was actually playing Google Music.)
  • The RAM (now 2gb instead of 1gb) means things like real racing 3 is that much smoother.
  • It is a tiny bit bigger - the MaxxHD was already huge in my opinion and this is bordering on uncomfortable to reach the upper corners of the screen.  At 6' tall, I don't have small hands but they aren't huge either.
  • I love that it turns on without the power button when I pick it up  or take it out of the holster - saves me wearing out the on button. (I had hacked the MaxxHD to turn on with the volume keys and may do the same here).
  • The camera is significantly improved over the Raxr MaxxHD - faster to open, focus, better low light performance, easier to access options, don't need to toggle between video/camera mode... the list goes on.  The shake the phone to quickly access the camera doesn't really work for me however.  I've gotten it to open 2 or 3 times that way - but there must be a trick to it because I've shaken it pretty vigorously and the camera didn't open... I just looked like an idiot shaking his phone.
  • The extra processors really help with voice commands.  on the MaxxHD, if I said "Ok Google..." then some command, I would have to wait 3 seconds before giving the command or it would miss the first few words.  With the new Maxx, I just talk in a continuous stream and it picks it all up.

 

oem_copy.jpg

I use the Verizon hard case - which is the same type of case I used for the Maxx HD.  While it does make the phone larger and heavier, I love the slide out stand.  It is perfect for commuting on the subway since I can slide my finger through it and end up with a very secure grip on the phone.  I also use it vertically on my desk for quick speaker phone access and quick access to notifications.

 

If you are on the fence about purchasing this phone, or hate your current smartphones battery life... I highly recommend this phone.

 

Rooting Motorola Droid Maxx

Rooting the droid maxx was a fairly easy process... This worked for me running Android 4.2.2, which was one OTA (over the air) update after stock. 

Screenshot_2013-12-08-07-31-48.png

What you will need:

  • ADB - you can get this by installing the ADT bundle for windows, or if you have it from any prior phone toolkit like motochopper or something.  Nothing special about the version you use.  I copied adb.exe to the folder where I put the RockMyMoto exploit and the Cydia Impactor so I wouldn't have to type long paths on the command line.
  • Motorola drivers for your phone, installed and working
  • RockMyMoto exploit from this thread on XDA 
  • Cydia Impactor   
  • a telnet client (on Windows7 go to > Start\Control Panel\Programs and Features\Turn Windows features on or off\Telnet Client)
  • USB Debugging enabled on your phone: Settings->Developer Options->USB Debugging checked.  If you don't see developer options:
     
  1. Settings->About Phone
  2. Scroll down to Build Number, and tap it quickly until you see "You are now a developer" appear as a quick toast (a toast is an android small notification popup)
  3. Now go  Settings->Developer Options->USB Debugging
  • Your phone on a wifi connection on the same network as the computer you will be doing this from and the IP address of your phone  (Settings->About Phone ->Status)

Now you have everything, lets get started:

  1. Open a command prompt and change to whatever folder you put the adb.exe folder in.  Ensure adb is working you can type
    adb devices
    If it is working you should see your phone listed.  If it is not, ensure your Motorola drivers are working properly and you have enabled USB Debugging.  Sometimes I've had to put the phone in  USB Camera mode instead of MTP mode.
     
  2. Copy the su and RockMyMoto.jar files from the RockMyMoto zip folder to the /sdcard/ of your phone: at the command prompt type the following commands:
    adb push su /sdcard/
    adb push RockMyMoto.jar /sdcard/


    You will repeat the next few steps a couple (3) of times
     
  3. Open Cydia Impactor and from the drop down box select # start telnet as system on port 2222 and hit start.  NOTE: monitor your phone for messages - Android will pop up a message from your phone about installing software you have to accept or Cydia won't work.  After you accept this message, you may have to restart Cydia, and repeat the # start telnet as system on port 2222 and hit start. 
  4. From your telnet client open a connection to your phone on port 2222. from windows you can do this from a command line:
    telnet aaa.bbb.ccc.ddd 2222 (where  aaa.bbb.ccc.ddd is the IP address of your phone).
  5. in the telnet window type:
    dalvikvm -cp /sdcard/RockMyMoto.jar RockMyMoto
    answer the math question if prompted (just solve for a and type in the number)
  6. After correctly solving for a, it will tell you to use adb to reboot. In a different command window do
    adb reboot
  7. In Cydia Impactor (2nd Time) from the drop down box select # start telnet as system on port 2222 and hit start
  8. From your telnet client open a connection to your phone on port 2222. from windows you can do this from a command line:
    telnet aaa.bbb.ccc.ddd 2222 (where  aaa.bbb.ccc.ddd is the IP address of your phone).
  9. in the telnet window type:
    dalvikvm -cp /sdcard/RockMyMoto.jar RockMyMoto
    the phone should reboot on its own
  10. In Cydia Impactor (Third and final time) from the drop down box select # start telnet as system on port 2222 and hit start
  11. From your telnet client open a connection to your phone on port 2222. from windows you can do this from a command line:
    telnet aaa.bbb.ccc.ddd 2222 (where  aaa.bbb.ccc.ddd is the IP address of your phone).
  12. in the telnet window type:
    dalvikvm -cp /sdcard/RockMyMoto.jar RockMyMoto
    Wait about a minute (there is no indication that it complete) then you can unplug your phone.  It is now rooted and you can install SuperSu from the market place.

 

Video advertising on online videos

I understand the need for advertising online.  Heck, I have ads on my blog (yes yes click them click them ;) ).  But why is it that if you are on a site, say CNN, you are forced to watch a 15 or 30 second ad for EVERY video on their site?  The same is true for almost every news outlet now or the Bing video page.  The "content" is often as short or shorter than the advertisement!!  Imagine you were watching the 5 o'clock news and after every news story they played an add.  How quickly would you change the channel?

Or on the Google play store, you click on a video of one of the apps you are considering installing on your phone and you are hit with an ad first!  Really?

And don't even get me started on the video ads that auto play - nothing will make me leave a page faster than those. 

There has got to be a better way.

HP Envy Ubuntu/Linux Day 3

After battling video issues with a failed Windows 8 install where the HDMI wouldn't work, I decided to try Ubuntu.  I gave myself however long HP would take to delivery the recovery disks to get some working video with the ATI graphics in the laptop and hopefully get the HDMI working.

I spent almost an entire day trying to get Ubuntu to take the AMD drivers with no luck - I couldn't get the fglrx prerequisite to load properly.

So I threw that out and went with the latest disto of OpenSuse.  After another 4 or 5 hours I finally managed to get the fglrx to load and the latest Beta AMD Catalyst drivers to install without error.  But then it turns out the fglrx I got to load wouldn't work with the muxless Intel/ATI hybrid in this laptop and there is no option in the BIOS to force the laptop to only use the ATI graphics. 

The recovery disks arrived today so I guess this laptop will go to its death with Windows 7.

 

 

HP Envy Laptop Ubuntu Day 2

Well, every time I reboot Ubuntu it starts with the video screen brightness at zero.  This was getting annoying so I found a post that suggested adding nomodeset to the grub config.

sudo nano /etc/default/grub

 

GRUB_DEFAULT=0
GRUB_HIDDEN_TIMEOUT=0
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash nomodeset"
GRUB_CMDLINE_LINUX=""

then

sudo update-grub

well that was stupid.  After rebooting no I couldn't get any video.  Pressing Ctl+Alt+F1 didn't bring up terminal.  Because I hadn't changed the GRUB_HIDDEN_TIMEOUT I couldn't bring up grub by pressing Shift. 

I ultimaltely had to boot using an Ubuntu image on a USB stick, mount the drive, and fix the file.  Note "sda1" is where it was for me... you may be on sda2,3,4... whatever.

sudo mount /dev/sda1 /mnt

Then mount a few more directories that are needed:

sudo mount --bind /dev /mnt/dev
sudo mount --bind /sys /mnt/sys
sudo mount --bind /proc /mnt/proc

Also, if you have a separate Ubuntu boot partition (pretty uncommon these days, but it may be the case):

sudo mount /dev/sdaX /mnt/boot

How can you tell if you have a boot partition?

Once you have your Ubuntu partition mounted, open /mnt/etc/fstab. If you see an entry for /boot, note which device it is pointing to (/dev/sda4 maybe?). This is the one you have to mount.

Once these are mounted, do chroot to start using the mounted directory as the root partition:

sudo chroot /mnt

You'll get a #/ prompt. First thing to do is confirm that you're using the correct /boot directory. Go to /boot/grub and look at the files there. There should be a bunch of .mod files and a grub.cfg file. If the directory is empty, don't continue, because it means this is NOT your actual boot directory. Look above to see how to determine if you need to mount an additional boot directory.

Once you've confirmed that /boot/ contains the correct files, meaning that it is the correct location, type:

sudo update-grub

Another 40 minutes pissed away.

Enough poking with the brightness - I guess its not that important to me, back to the HDMI issues.  Yesterday I was noticing It was saying the ATI driver was activated but not in use... I checked the X11 config and even though that's what it says, it appears that it is using it so I don't think that's the problem.

 

2 more hours wasted with installing/uninstalling fglrx, catalyst drivers, intel drivers, rebooting... nothing seems to want allow those ATI drivers to load

 

HP Envy 14 Laptop - The race is on between Ubuntu and USPS

 

I had an HP Envy 14 (1010rn) that shipped with windows 7.  Back when windows 8 was released, I stupidly upgraded to Windows 8 pro but quickly discovered the video card (AMD Radeon 5000 Mobile) was not supported under windows 8 by HP or AMD.  So I waited a year, hoping sooner or later someone would release a driver but apparently that is never going to happen.  I really want the HDMI out to work so I can use this old laptop to stream some stuff to my TV.  So Windows 8 has got to go.

I then tried to use the recovery partition from the original HP Drive, but of course windows 8 boot loader had rendered that useless.  Then I figured I'd install Windows 8.1 just to check, but it wouldn't install because apparently the recovery partition for Windows is too small.

Finally I figured I wasted enough time and ordered the original recovery media from HP.  Today is Dec 2, and estimated arrival date is Dec 10th.  I figured the laptop is screwed anyway, so I'll put on Ubuntu and if it works by Dec 10, Ubuntu stays, else recovery time.  The race is ON.

First, it too had video card problems which I finally solved by adding radeon.modest=0 to the boot options line (Press any key when the small logo appears at the bottom to enter the advanced start page. Then press F6 for other options (but don't select anything), press Esc to return to the Boot Options line. There you should add radeon.modeset=0)

This enabled setup to run although it set the brightness to zero so I also have to press F3 (or fn-F3 if you've made normal function keys the default behavior is the bios).

Next was wireless issues.  When I ran the installation it connected to my wifi with no issues, but after the install completed, I had no WIFI.

I connected the Ethernet cable and ran System Settings -> Additional Drivers.

There it wanted to install a Broadcom STA Wireless driver and the ATI/AMD proprietary FGLRX driver.

Both failed to install.  The ATI video driver is a known issue  . After rebooting, it seemed to be working however so I ignored it.  Of course, at this point I discovered that the HDMI is not working under Ubuntu either, which was my main reason for giving up on Windows 8 Pro.  I also noticed that if you go back into Additional Drivers, it shows as Activated but not in use. 

After wasting an hour Googling other peoples suggestions, and realizing Ubuntu is as Microsoft when it comes to moving things around, I gave up trying to fix the WiFi directly and instead got about applying the 150+ other updates it wanted over the Ethernet connection.  Lo and Behold, when complete with those updates, the WiFi driver started working.

At this point I returned to the video drivers - I uninstalled the ATi driver and reinstalled.  This time it didn't give an error installing, but it still shows as activated but not currently in use.

Time wasted so far on Ubuntu - 4 Hours.

Tomorrow: Time to keep working on the video drivers to try to get HDMI working.

 

 

 

Repairing Toto G-Max Flush

One of my toilets recently started filling the back water tank really slowly.   It sounded like it would fill for a few seconds, pause, then fill for a few seconds, pause... It was a Toto toilet with the G-Max fill valve.  As it turned out it was a bad gasket inside the valve and was a really easy repair.

  • Shut off the water supply to the toilet.

  • Flush the toilet to drain the tank, remove the cover and set it aside.

  • Unplug the refill tube from the side of the valve -- simply unplug the tube from the its port on the valve.  Be gentle pulling this off as you can easily break the plastic where it connects.

  • Remove  the valve's cap, and then set it aside.  It was easy to pull it as it just clips on close to the float bowl opposite the refill port.

  •  Remove the valve's float arm, located on top of the valve, by holding the clips on the sides of the float arm and then lifting the float arm.

  • Secure the valve with one hand and twist off the valve's cap with the other. Twist the valve counterclockwise to unlock it, and then remove it by simply lifting it.

Once I had disassembled to this point I could see the problem: on the underside of the valve cap there is a rubber gasket.  My gasket had worn out and was leaking.  As a result, water would shoot up through the gasket and prematurely fill the float bowl.  This would stop the water supply until the water drained out of the float bowl allowing the water to continue, repeating until the tank was full.

Korky.png

Rather than order an overpriced Toto part, I picked up the The Korky QuietFill Valve from Home Depot (also available at Lowe's) for about $10.  This is the complete assembly and is identical to the Toto G-Max.  Rather than remove the entire assembly, I simply took the valve cap from the Korky and used it to replace the damaged on the Toto. 

Total Time to repair was about 10min.