Tuesday, November 30, 2010

Docomo users beware of possible extra packet charges with CyanogenMod

UPDATE2: this post has been edited throughout as the error in CM's APN list has already been fixed Here are more details.
UPDATE: added information on APNs included with Docomo ROMs at end of post.

Thank you to everyone who contributed to figuring out why billing went awry for some of us recently. I am now virtually certain that it was not skype/voip or tethering, since so many of you report no issues.

The good news: It doesn't seem that Docomo is dinging people for using Skype or actively searching out people tethering. The bad news: you alway must it now appears that not being careful with APN setting on any ROM CyanogenMod could cost you. More specifically, you must verify the APN setting on CM6 or any ROM based off CM6 or any ROM using the Cyanogen list of APNs especially if the ROM was compiled in mid to late October 2010 and CONFIRM that it is set to mpr2.bizho.net.

[The above list is not being updated as frequently. See the source code of CM6's apns-conf.xml on github for the current and complete list. Be aware that any ROM developer who uses CM's APN not drawn from the github code could incorporate the old errors.]

This is not good. Someone has added mopera.net to the Cyanogen APN list. I cannot think of any reason at all for including it because 1) any Docomo user running cyanogen is doing so on a Docomo-branded phone, and 2) Docomo requires purchasing the unlimited FOMA data plan (ASFAIK). (Am I missing something? Is there indeed a legitimate reason?) Even if you are subscribed to the unlimited Docomo data plan, you will be charged extra if you transmit packets using the mopera.net APN. I am actually the person who added the mpr2.bizho.net APN to the list (and named it NTT Docomo) but I purposely didn't add the other one for this very reason.

Credit reader Apiddo, who has already been charged for November, for working to test what types of packet transmission would trigger the charge:
I think I have found my problem. No, it wasn't the tethering or my voip calls. It was my changing of custom ROMs that did it. I have been tethering and making voip calls a lot last week, but there still wasn't any increase on my FOMA 一般 packet usage.

But on saturday, my phone was crashing heavily, so I wiped and flashed the same ROM I have been using from the middle of this month. (it's CM 6 nightly build based ROM by alan90 http://forum.xda-developers.com/showthread.php?t=723520), and my 一般 packet increased the next day. I thought it was my tethering that did it, so I stopped tethering on sunday and yesterday, but the usage still keep on increasing.

Just now, I checked my APN setting and found out that the ROM had set mopera.net as the default APN, and not mpr2.bizho.net (although the option was there as well). So I guess that was the culprit in my case. But it could have been skype in your case. Sorry I couldn't test skype as well since I don't have any skype credit.
You may recall that I got charged 4200 yen for "general" 3G packet usage on my October bill ( FOMAパケット通信料[一般]). I was told by Docomo that this could result either from either setting the incorrect APN or tethering. At the time, I was unaware about the other APN having been added to Cyanogen's list, so I assumed the reason was for tethering. The only thing that I could think of that I did differently that month was use skype, so I have been trying to figure out if skype was the reason.

It turns I did one more thing differently in October without realizing it. I flashed a ROM that included the mopera.net details included in the apns-conf.xml file.

I think I have narrowed down the exact date that the change was made to 10/19/2010 based on the fact that this ROM (TMUS CM6 Remix) from 1/18/2010 does NOT include the mopera.net APN while this ROM (CM6 nighly 209) from 10/19/2010 does. All subsequent releases of CyanogenMod until the end of October/beginning of November, including 6.1 RC1 include this APN. I have confirmed that CM 6.0 Stable does not.

I used ROMs with the mopera.net APN included for about half of October, which includes CM nightly 209, 222, and 6.1 rc1. I then switched back to TMUS CM6 Remix just before the beginning of the November billing cycle, which could explain why I have no extra charges for November.

I actually reflashed TMUS CM6 Remix on October 29, 2 days before the start of the new billing cycle.

There is no way for me to go back and confirm that in my case the APN defaulted to mopera.net. I yanked my SIM card and relfashed my last backup of CM 6.1 rc1 hoping that I could then see what APN was last selected. But alas, without the SIM card inserted, the APN list was empty. Since I don't currently have any extra charges on my bill for November, I am not about to experiment with the SIM card inserted.

How to ensure that you don't get charged. This shouldn't be a problem now, but it is always a good idea to double check the APN. As far as I understand, transmitting just one packet on mopera.net will add the 4200 yen charge, so if you are concerned it is best to double check

The best but most technically complicated way is to
  • unzip the ROM
  • Edit system/etc/apn2-conf.xml
  • Confirm that the mpr2.bizho.net APN is ABOVE the mopera.net APN, as in the Docomo code below but NOT like the screen shot above.
  • If not, make it so.
  • remove this line: <apn carrier="mopera" mcc="440" mnc="10" apn="mopera.net" type="default,supl,mms" />
  • Rezip and resign.
You'll need to look into signing ROMs. If you are using Clockwork recovery, I believe there is a setting to flash unsigned zips. Amon_RA recovery will not flash unsigned zips.

You may also:
  • Boot into recovery and flash ROM
  • Remove your SIM card
  • Boot the phone normally without SIM card
  • Uncheck "Data enabled" in Settings/Wireless & networks/Mobile networks/
  • Shut down phone, insert SIM, restart
  • Go to Settings/Wireless & networks/Mobile networks/Access Point Names
  • Verify mpr2.bizho.net is selected
  • Go back to Mobile network settings and enable data - DO NOT enable if mpr2.bizho.net is not selected.
For the time being, it may be a good idea to unzip any ROM before flashing and verify that the only APN for Docomo (mmc ="440 mnc="10") is bizho. Verify that it is the first Docomo APN listed.

As far as I can tell when you reboot your phone, the data network setting will remain disabled, allowing you to set the proper APN before enabling data. APNs cannot be selected without the SIM card in place, hence the need to boot once without the SIM card and disable data.

I yanked out the apns-conf.xml file from a nand dump from a stock Docomo 1.6 ROM. As you can see, and as Jan mentioned, there is no "mopera.net address" so whoever added it added something strange that still seems to work. Japan's mobile country code (mmc) is 440 and Docomo's mobile network code (mnc) is 10, so this should be a Docomo APN.

Contents of stock Docomo apns-conf.xml file:

<?xml version="1.0" encoding="utf-8"?>
<!--
/*
** Copyright 2006, Google Inc.
**
** Licensed under the Apache License, Version 2.0 (the "License");
** you may not use this file except in compliance with the License.
** You may obtain a copy of the License at
**
** http://www.apache.org/licenses/LICENSE-2.0
**
** Unless required by applicable law or agreed to in writing, software
** distributed under the License is distributed on an "AS IS" BASIS,
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
** See the License for the specific language governing permissions and
** limitations under the License.
*/
-->

<!-- use empty string to specify no proxy or port -->
<!-- This version must agree with that in apps/common/res/apns.xml -->
<apns version="6">

<apn carrier="mopera U(Biz・ホーダイ)"
mcc="440"
mnc="10"
apn="mpr2.bizho.net"
user="none"
server=""
password=""
mmsc="none"
/>
<apn carrier="mopera U設定"
mcc="440"
mnc="10"
apn="0120.mopera.ne.jp"
user="none"
server=""
password=""
mmsc="none"
/>

</apns>

14 comments:

  1. I just looked and noticed that there is a '120.mopera.ne.jp' APN in the Docomo standard list in addition to thhe default 'mpr2.bizho.net'. Any idea why Docomo adds this second APN, and when or why you would ever select it?

    ReplyDelete
  2. No idea, but it has always been there and Docomo employees tell you to make sure it isn't set or you'll get charged more. I guess it someone doesn't have a flat rate but hardly uses packets. I've never been clear on what exactly mopera u is and why anyone would need it. As usual, there are a lot of confusing, seemingly redundant offerings.

    Maybe some here knows?

    Anyways,when I got my ht-03a a year ago, I was told I'd get charged the FULL PACKET RATE if I set the wrong APN and there would be no way to recalculate and remove the costs and if I happened to download a major system update, that it could take over 50 MB and I could get a 100,000 yen bill.

    Obviously people had set it, been charged, and complained, so they were making sure to explain it.

    Now, it seems that it just adds the tethering charge.

    When my wife saw our october bill and the extra 4200 yen, she called Docomo - wait no - she called me and bitched at me for 10 minutes, THEN she called Docomo and was told the 一般 packets come from tethering. (Then i got home and she bitched at me some more even though much of the usage is for her ipod touch...) I then went to a shop and spent an hour and a half there and figured out that it was also possible to have set the mopera.net APN. I just assumed this didn't happen, though now it seems much more likely.

    ReplyDelete
  3. This is why I always check the APN settings when I flash a new ROM. Right now I am using RA 1.6.2 anyway so I had to manually enter the APN info.

    ReplyDelete
  4. I'm not following you. The recovery shouldn't matter, since the info is in the ROM. You mean you have to flash the ROM manually instead of using ROM Manager? Anyways, you are right to check.

    If you aren't running CM, then the APN may or may not be included depending on if the dev is using CM's xml file with all the world APNs. If not, then yes you would have to set it manually.

    ReplyDelete
  5. CM6 was too slow for me so I installed a different ROM based on the HTC ION official ROM and has tethering enabled on it. I then installed setCPU to overclock the CPU and installed AWN.Launcher and "simply lockscreen".

    Now it looks like Froyo but runs 1.6 and has wireless tethering. The only app I would use on Froyo I can't now is the official twitter app.
    http://forum.xda-developers.com/showthread.php?t=538645

    actually I was wrong it is called RAv1.6.3

    ReplyDelete
  6. Now I'm with you. I'm so used to seeing RA and thing Amon RA's recovery and forgot that he zipped up a few ROMs as well. Since that is an older ROM, it wouldn't have the included APNs for Docomo. I forget exactly when I added bizho to the list, but it was probably about 6 months ago.

    What I like about froyo is that google backups up access points and whatnot (if you allow it) so I don't have to re-enter my wireless passwords. It also has automatic updating of apps (if you allow it) and batch downloads of all updates. It will also remember what apps you installed from the market and automatically download them after a ROM flash / factory reset.

    But that is the cool thing about android - source can be customized so more people can have ROMs they like.

    ReplyDelete
  7. Techniker.TechnologeNovember 30, 2010 at 6:01 PM

    I should add here that those who went for the more-or-less official TMUS Image (i.e. amazinglarry311/stevo) are save, since the APN-list stems from an older Cynanogen, i.e. only mp2.bizho.net is included.

    Aside from that, while I understand that suddenly being charged so much is annoying, I have to say that the _original_ NTT-Image of donut also had the unlimited APN in it. And while it is stupid of the person who added this weirdo APN to cynanogen, just _always_ make sure you have selected the right APN.

    ReplyDelete
  8. Perhaps it should be extra-stressed in the general smartphone information post? This time it was a mistake with the Docomo CM6 rom... But imagine the fallout if the same mistake was made with Softbank's black and grey sim card APNs, which last I checked does result in stupid-high bills. Should any rom developer make the same mistake, the damage could be mitigated if enough people neurotically check their APNs after flashing.

    ReplyDelete
  9. APN list fixed. More details:
    http://softbanksucks.blogspot.com/2010/12/current-and-future-versions-of.html
    Edited post throughout.

    ReplyDelete
  10. I was told by DoCoMo that that APN is used only for data connections in the shop to set up your Google account prior to your pake-hodai going "live". In fact, when I first bought it, I had forgot about it when I left the shop, and had to change to mpr2.bizho.net before data would work again.

    ReplyDelete
  11. You know, I had the same experience with the 0120.mopera.ne.jp APN. I bought the phone, left the shop, data didn't work so I went back and they changed it to mpr2.bizho.net.

    I never asked what the other APN was for, though. So yeah, the 0120 doesn't seem to be dangerous, which brings me back to my original point: why is mopera.net, an APN that isn't even in the stock ROM, on the CM list?

    ReplyDelete
  12. Aha! So i was partly right, it did have something to do with rooting the phones. Damn, I'm good.

    ReplyDelete
  13. haha, yeah but that was a given. ;-P

    ReplyDelete
  14. I would hazard to say that it's just a list the CM team compiled for all available APNs for a particular carrier? That way, regardless of whether you are visiting Japan from another country and stupidly using roaming data - or live here - you can connect to something. Given the fact that everyone can connect to the mopera.net, and only pake-hodai customers can use mpr2.bizho.net. Only we would know (or prioritize) in Japan for the unlimited data APN.

    Dunno, could be any number of reasonable conclusions.

    ReplyDelete