Tuesday, July 31, 2012

Upgrading the SC-04D Galaxy Nexus to Android 4.1 jelly bean

I decided to replace the stock Docomo ROM on the resurrected Galaxy Nexus with a preview version of CyanogenMod 10. One of the reasons was to enable tethering, since my data plan allows it for free.

Activating tethering on a Docomo ROMs designed for FOMA 3G handsets will force a switch to a different APN, the use of which automatically triggers an additional charge to FOMA users (Xi users are not charged). At the same time, viewing the APNs is disabled. So if a FOMA handset is used with bmobile or Xi, trying to tether kills it's data connection, and with a FOMA handset, it will disable sp-mode, meaning users have to wait to have their mail randomly delivered to strangers or their passwords surreptitiously reset until after they finish tethering.

If your contract allows for free tethering, you can fix this by flashing a custom ROM or googling for tether_dun_required in the proper context. (Sorry, I'm not going to post exactly how to do it since it could also be used for free tethering.


  • ROM of your choice and Google Apps if not included in the ROM. I am using this one.
  • clockworkmod recovery for the GSM version aka Maguro, if you don't already have it. (You don't need ROM Manager. "Touch recovery" or "normal recovery" is based on your preference.)
  • Latest Docomo Radio for the SC-04D, currently SC04DOMLE3 from this thread. I chose the clockworkmod (cwm) flashable version. The other requires flashing with fastboot.


WARNING: this will void your warranty, possibly wipe all your data, and could destroy your phone. Do it at your own risk!

This is but only one way of doing it. There are other ways that may not require wiping all the user data. I didn't care about wiping the user data because the phone was already in a wiped state after being sent in for service. I'm also not worried about the warranty, which is already void. This also assumes the phone is totally stock.

This requires all necessary drivers for the phone, ADB, and fastboot from the Android SDK. If you don't know how to install these, stop now. The SDK "platform-tools" folder should be added to your path.

Step 1
If the phone is on, copy over the 1) ROM, 2) GApps, and 3) Radio files to the sd card. Enable USB debugging. Open a terminal windows on your computer and reboot the phone to the bootloader:

adb reboot-bootloader

Step 2
If you have not already, unlock the boot loader, which will wipe all user data.

fastboot oem unlock

Step 3
Flash clockworkmod recovery, replacing the file name with the one appropriate for the one you downloaded. Include the path to the file. (Stock Google ROMs will overwrite the recovery on reboot, replacing CWM with the stock recovery. Custom ROMs do not do this.)

fastboot flash recovery-clockwork-

Step 4
Use the volume keys to select recovery mode and hit the power button, then back up the current system image (data would have been wiped if you just unlocked the bootloader

Go to advanced and select wipe dalvik cache

Step 5
Reboot back to boot loader, wait for the fastboot screen to show up, and do a full and complete wipe of the system, data, and cache partitions.

adb reboot-bootloader
fastboot erase system -w

Step 6
Go back to recovery and flash ROM, then GApps, then radio

Monday, July 30, 2012

Replacing a damaged USB port on a Galaxy Nexus (SC-04D)

The shorted USB port is on the left - replace part is on the right.

We repaired the broken Galaxy Nexus with a shorted out micro USB port following this simple guide from ifixit. While the guide specifically mentions the Verizon LTE version, it is also applicable to the NTT Docomo GSM version (SC-04D).

The whole thing took about 20 minutes. Here's what we used:
In Step 3 of the ifixit guide, where the case of the phone is pried open, we found the above "guitar pick" to be more useful.

Step 6 mentions to remove the volume rocker ribbon cable. Instead, we pealed off the entire rocker because the attachments are under the board. The glue was tacky enough to re-stick. In Step 7, we did the same thing with the power button.

Between Steps 6 and 7, we also removed the vibrator assembly, which is not shown in the ifixit guide - perhaps it is located differently in the LTE version. It was glued in very well and we need the the small screw driver to pry it out. The vibrator is similar in size and shape to a round watch battery.

The vibrator (red arrow) in the GSM version.

Replacement USB port ribbon

We also stopped to take some photos with this microscope. It is surprising that the phone works at all. There is pretty extensive corrosion around the entire assembly. Moisture had entered not only through the open USB port, but also through the speaker grill on the back of the phone. Residual salt was all over the place.

Lower left of phone with speaker grill and salt.

That's just nasty.

Increased the depth of field with a lower-level zoom shows
the extensiveness of the corrosion.

It appears to be somewhat scorched.
The damage is not just limited to the USB port, but can be seen on other parts of the ribbon, where there's flaking and peeling, as well as salt.

Wednesday, July 25, 2012

Using Google Now in Japan

Putting aside the "butter," one of the more interesting enhancements provided by Android 4.1 jellybean is Google Now, which is designed to show you the information you want to know before you realize you need it. This is accomplished though the recent changes to Google's Terms of Service, about which much was said, both positive and negative. In short, Google uses a single ToS across all products, and data are shared between them.

Great Potential

Many of Google's new mobile services are launched for limited locations and locales, and may or may not work to varying degrees depending on your particular area. Fortunately, Now works quite well in Japan, right, um, now (couldn't resist). After upgrading to JB, you can try it out by sliding up on the lock screen to the Google icon, or tapping the desktop search bar. You'll need to opt in.

Latitude users should immediately see the potential benefits because your home and work address are already known to the system. The first card that was displayed for me was showing an accurate route from my home to work. Also, In the settings there is an option for using public transport, as well as for displaying cards for nearby stations that include departure times. Based on check-in history, accurate transit information also appeared for frequently visited locations.

Room for Improvement

However, there is of course room for improvement, and the relevance of suggestions is ultimately limited by the quality of your location data - if your position is consistently off by several kilometers, Now will be useless.

The degree to which Latitude is tapped for information is unclear. Without doubt, spatial data, such as work, home, and location history, are pulled from Latitude, but it doesn't seem that any temporal information is included. While many of us enjoy our izakaya of choice, 8 am on a Monday morning in not an appropriate time to suggest a visit, first and foremost because they're closed. Conversely, I don't care that it's 45 minutes to work on a Sunday morning.

One user, who frequents a microbrewery very close to his home, is being taunted (dangerously late in the work day) with transit directions to the bar. We've yet to determine whether Latitude thinks the microbrewery is him home, and if so, whether Latitude would be incorrect to do so.

The beer at T.Y. Harbor is indeed good.
One minute is not enough time to navigate
Shibuya Station.
I expect improvements in the timing of suggestions, as this data is already available from existing Latitude users, and easily collected with for new users over time. Google has also stated that results should improve over time.

There are several other issues with public transit cards.

First off, Google's walking directions inside Japanese stations are rather sparse, and didn't even exist until recently. Unlike Navitime (are they even still around?), Google's calculations assume a train is boarded directly from the street-level entrance. Boarding a train departing in 4 minutes from a train station that is a 4 minute walk away is completely unrealistic. If Google lacks the data to make realistic suggestions in this regard, extra time should be padded into the result.

Secondly, results presented in relative terms are ambiguous. "Departing in 10 minutes" from when? The cards do not automatically update, so if you go back to Now a minute or two later, you'd have to remember the exact time at which the card was first presented. A simple timestamp on the card, 7:32 am for example, would give this information a longer shelf life. As is, the minute after you view a card suggesting a transit route, it becomes irrelevant due to lack of context. However, automatically refreshing the data would be even more annoying.

Apparently you call all this up with voice commands using the hotword "google," but I can't get anything but a google search using phrases like "directions to home." Apparently the voice search requires setting both the UI and Now voice settings to English, though this still doesn't work for me.

All in all, it looks promising and can be used right away in Japan.

Saturday, July 21, 2012

KDDI in lawsuit over cancellation fees

KDDI is appealing a Kyoto District Court ruling that it must return a portion of cancellation fees paid by customers who ended service within the last two months of their contract. The court determined that the damage to KDDI from breach of contract equates to ¥4,000 per month. Therefore, the ¥9,975 cancellation fee levied by KDDI was overcharging, since that amount was greater than the damage incurred.

Here's where things get a little strange.

Instead of ordering KDDI to return the approximate ¥2,000 that it would have overcharged someone canceling during the 22nd month of their contract, the judge is requiring KDDI to return ¥7,950, leaving KDDI with only 20% of the original cancelation fee.

Effectively, this extends the period during which a contract can be terminated from one month every two years, to three months every two years. This doesn't address the automatic renewal of contracts, however, which is the real problem.

In japan, the reason for a 2-year contract is ostensibly for the discount on the service plan, unlike the US where it is typically to cover the handset subsidy. This gives Japanese carriers more leverage to argue in court and to government regulators that auto-renewing contracts are justified and necessary, since the carrier is reducing the base service fee by half.

Of course what's really happening is that the carriers are inflating the "full" price.

The lawsuit was brought by the non-profit Kyoto Consume Contract Network(京都消費者契約ネットワーク)who has also brought similar suits against NTT Docomo and Softbank Mobile.

B-mobile TalkingSIMs will no longer have cancellation fees

In March, Softbank Mobile introduced ridiculous incentives to lure customers from other carriers, giving away as much as ¥70,000 cash back. JCI was forced to implement a ¥10,500 cancellation fee on it's line of voice SIMs, which previously carried no usage contract. There were cases of the same person starting service on as many as 5 SIM cards only to immediately port the numbers to Softbank.

Now that things have returned to normal - or as close to normal as the mobile phone biz gets in Japan - JCI will remove all cancellation fees on TalkingSIMs activated from 7/23/2012. SIMs activated between 3/20/2012 and 7/22/2012 will retain the 1-year contract and cancellation fee.
Now that unreasonable number porting incentives are no longer a problem, JCI will return to our original policy of offering voice SIMs with no minimum contract period from Monday, July 23.
This does not apply to partnership SIMs, such as the Aeon SIMs.

Monday, July 16, 2012

Samsung Galaxy SII (SC-02C) update still suspended

After receiving the update to ICS, some handsets began experiencing persistent keyboard force closures that made text input virtually impossible. Clearing the data for the keyboard application (Samsung日本語キーパッド) may alleviate the problem.
この度、「GALAXY SII SC-02C」において、Android4.0へOSバージョンアップを実施後、一部の端末において、キーボードが強制終了し文字入力ができない事象が発生する場合があることが判明いたしました。
Updates began rolling out on 7/3 and were halted the next day. For the current update status, check the official update page. It is currently still listed as "temporarily suspended" (一時中断). There is no ETA for when a fix will be ready. Once this happens, the status should change to something along the lines of 再開 (resumed).

Here, we've received no reports of flakey keyboards specifically with updated handsets. Instead, we're hearing of general instability compared to the previous Gingerbread OS.

Tuesday, July 10, 2012

NTT Docomo to shelve ICS update for Xperia handsets

Back in March, 18 handsets were being planned for upgrade to Android 4.0 ICS, including the Xperia acro SO-02C. An additional 7 were being considered for upgrade, including 3 other Xperias. Now, it turns that no Xperia handset will be officially upgraded to ICS.

Handsets that will not get ICS are:
  • F-12C
  • Xperia PLAY SO-01D
  • Xperia ray SO-03C
  • Xperia acro SO-02C
  • Xperia arc SO-01C
Docomo also announced that three additional phones will get ICS:
  • Disney Mobile on docomo F-08D
  • Disney Mobile on docomo P-05D
  • GALAXY Note SC-05D 

I hadn't noticed before, but the original "18" handsets was actually only 17 because the Acro was listed twice - once as being confirmed for upgrade, and once as being only considered for upgrade.

Docomo cites the lack of memory in these handsets as the reason for not upgrading to ICS.
AndroidTM4.0へのバージョンアップの際、メモリ不足となる場合があり、その際十分な性能が確保できない可能性があるため、AndroidTM4.0 へのバージョンアップは見送らせていただきます。

From what I can tell, each of these has 512 MB of RAM, which is certainly enough to run ICS. The Nexus S was officially updated and only has 512 MB. Perhaps this is not enough to run ICS when bloated with all the Docomo crap?

I've been critical of the Xperia line in the past. Working with the X10 is frustrating. The phone was brought to market in a beta state, and, even though it had the same hardware as the Google Nexus One, it was, comparably, a pig.

While I want to support domestic makers, until they begin reliably providing "after service," which I define to include upgrades, I find it difficult to recommend them. Since HTC hasn't been so successful in Japan, right now it seems that Samsung is the brand to recommend.

via @dsilva

Friday, July 6, 2012

Installing dd-wrt firmware on Japanese routers

DD-WRT initial information page displays 99% of the information many people are seeking when accessing their router:
WAN IP, WLAN clients, and DHCP clients
If you've ever used a Japanese router, then I don't need to explain to you what is wrong with the firmware. Lack of English is over shadowed by the lack of functionality and organization. Before delving into a Japanese router, I do my best Clint Eastwood and chant "Think i-mode". Even so, doing something simple like cloning a client MAC address - or even displaying a list of connected clients - can be infuriatingly, ridiculously convoluted and painful. At best. At worst, stuff that should work simply doesn't and functionality that should be there just isn't.

Buffalo's router firmware landing page is both useless and ugly.  

Fortunately, there is dd-wrt.

dd-wrt is a third party router firmware that is compatible with a large number of makers. Not only does it not suck, it also offers the choice of multiple languages. The router database can be checked for models that are compatible, but since model numbers and hardware revisions often are slightly different across regions, don't expect to find many (if any) Japanese models listed.

It seems the best chance of support for the routers commonly available in Japan is Buffalo, though there may be some issues. Of the other routers available at Yodobashi, such as Logitech, NEC, I-O Data, and Corega, none are found in the dd-wrt database. Only one Planex router is in the database. This doesn't necessarily mean it won't work, since it's less the maker and more the chipset, but the firmware would likely need to be ported.

One of my routers, the Buffalo WHR-G301N is apparently the Japanese version of the WHR-G300N v2, and can be upgraded to dd-wrt by the same instructions. Some Buffalo routers actually shipped with dd-wrt preinstalled as a "pro" firmware. As far as I've seen, all Buffalo routers in Japan have the "junk" firmware preinstalled.

Read on to fix this "bug" for the WHR-G301N.

WARNING: This will void warranty and potentially brick your router. Proceed at your own risk!


There are two files that are needed:
  1. buffalo-to-dd-wrt_webflash-MULT.bin
  2. whr-g300nv2-firmware-MULTI.bin
The first file, buffalo-to-dd-wrt_webflash-MULT.bin is need to flash dd-wrt from the web interface when Buffalo firmware is installed on the router and should be all you need. The second file is what is used when upgrading this router from another version of dd-wrt.

However, the latest version (06-08-12-r19342) results in an Incorrect Firmware (ファームウェアデータが正しくありません) error. I used the same file found in this blog entry: from the 2011/06-14-11-r17201 build. So, I first flashed an older version of dd-wrt, and then upgraded to the latest version, which is available here:


Click through to the latest version by, currently 2012/06-08-12-r19342, and choose buffalo_whr_g300nv2. Download the latest whr-g300nv2-firmware-MULTI.bin file.

2. Bypass Buffalo Protections

Assuming you've made no changes from the factory defaults, login to the WHR-G301N administration screen at with username root and no password.

Next, click the administration settings tab (管理設定), and click the firmware update (ファーム変更) tab.

Is this Amateurish CSS and html or do the subtabs only render properly in IE 6?

My firmware version is WHR-G301N Ver. 1.82, and from what I can tell, there are unlikely to be any updates to this. From update method (変更方法), choose local file (ローカルファイル指定), and select the whr-g300nv2-firmware-MULTI.bin from the older build directory.

If all is correct, you'll get the following screen. While it's completely unnecessary, I've decided to translate this into English, since some of what's written is totally ridiculous.

Even this is ugly.
  1. WEBブラウザーを全て終了してください。
  2. お使いのパソコンとエアステションが通信できる設定になっている事を確認してください。
  3. ユーティリティーからWEBブラウザーを起動してエアステションのWEB設定を行ってください。
Updating firmware.
Be sure not to turn off the router until the diag light stops blinking.
Approximately 180 seconds remaining.
Do the following if continuing to update settings.
  1. Close all web browsers. [like this is necessary.]
  2. Confirm your PC has a connection with the router. [Ok, this is good advice]
  3. Start the web browser from the utility disk and run the web settings application [Totally unnecessary.]
Consult the manual for instructions on running the utilities.

3. Confirm settings

After that, the router should be reset with dd-wrt firmware installed. You may want to reboot the router. From the initial screen below, you can see that, right there on the welcome page, is exactly the information I want to see: that I have no WAN address (because I'm not hooked up to a simple DHCP Server)

I didn't bother changing the password right away. I first setup my WAN to make sure I had an internet connection, then jumped over to admin/firmware to upload the latest version.

4. Upgrade to the latest firmware version

Select the whr-g300nv2-firmware-MULTI.bin file you downloaded from the most recent build folder. When upgrading dd-wrt, there is a nice option to wipe all settings after flashing or leaving them intact.

5. Set up for Japan

I really like that dd-wrt allows you to set the "regulatory domain" to enable and disable features based on local laws. Of course, you have to trust that the maintainers of dd-wrt got this correct.

From wireless/basic settings, check the advanced setting box, and select Japan as the regulatory domain. Doing so enables two additional channel width settings, Turbo (40 Mhz) and Dynamic (20/40 MHz), as well as channel 14. As far as I can tell, this is appropriate for Japan. To take advantage of this increased bandwidth, you'll need to set WPA2-AES security. (NOTE: Android seems to need AES+TKIP.) However, if there are many routers in your area, doing so my actually decrease performance, since the needed bandwidth may not be available.

Also, channel 14 is only used for 802.11b in Japan, and should technically be unavailable when enabling only g and/or n. This is not the case, so using channel 14 could cause all your gear to fall back to 11 Mbps b speeds.

Another potential issue is the transmission power. I've read elsewhere that the initial setting of 20 dBm is in excess of Japanese denpa-hou and should be lowered to 10 dBm.
I've been unable to confirm this. I've been passed a link to an MIC page showing that, in the 2.4 GHz range, power needs to be under 35 µV/m. Here is a page on calculations (PDF). Enjoy.

According to wikipedia, 10-15 dBm is around the range of a typical notebook computer's wifi transmitter. In general, it is probably best practice to set the power to the lowest possible level that gets you decent coverage in your area. This not only reduces the chances of unauthorized access to your network, but will also interfere less with your neighbor's wifi.

Monday, July 2, 2012

Updated bmobile SIM page and table

The description and comparison of all bmobile SIMs is a very popular post on this blog. Unfortunately, JCI adds products faster than we can keep it updated, especially since we are doing this in our free time. As of right now, it is finally up to date after months of neglect.

It should be a little easier to follow with the new formatting changes. There is now a separate table for the bmobile 4G LTE SIMs that use Docomo's Xi network. Here are images of each of the tables.

Comparison of 3G SIMs

Comparison of 4G SIMs.