2013年に買ったものを振り返って

2013年に買ったものを自分の中で面白かった順に並べて見る。

・Covia FleaPhone CP-D02

MediaTek社MT6577搭載のAndroidスマートフォン。
なんやかんやで、いまもまだメインとして使用中。
Bluetoothのデキがいまいち。WiFiとBluetoothを両方有効にしてるとよく通信がおかしくなる。

・freetel FT132A

Spreadtrum社SC7710搭載のAndroidスマートフォン。
画面が小さいのと、FOMAプラスエリア非対応が響いてメインにはなれず。

・SmartQ Z Watch

Android腕時計。
思いの外電池が持ってびっくりしたもの。
とはいえ、WiFi通信させたりすると、減りが早いので注意。
ウチの事情で言えば、coviaのBluetoothのデキが微妙で、Bluetooth通信ができなくなりやすいのが難点。(freetelやThunderbird i5sだと大丈夫なので、完全にcoviaの問題)

・Thunderbird i5s

MediaTek MT6572搭載のAndroid。
というか、ほんと、iPhone5s。
発注時は、coviaの次、というところで使おうかと思ってたんだけど、内部もほんとiPhoneで、ネタアイテムとして見せびらかしたかったので、ほぼ標準状態のままにすることに・・・

・NEC VersaPro VY10A
ジャンク屋で3980円とかで売ってたので買ったのが始め。
最終的にいろいろ不具合点があるものを全部で5台買って
それなりに動くものが4台分完成。
液晶割れ、マザー死亡、キートップ欠け1台、という感じになった。
キーボードのゴム不良については、ジャンクのノート用キーボードを買って、それから抜いて流用。
とか、そんな感じでなんとか4台分確保した、というところ。
うち、2台はハムフェアで販売して、1台はうちの奥さん使用中。
1台は予備機という感じ。

・NEC VersaPro VJ12AC-6
上記のVY10Aのパーツ漁り中にメモリ2GB積んだこいつが8000円だったので、つい買ってしまった。
おかげで自分用に最強にしたVY10Aは冬眠中(予備機)・・・

・Grandstream Networkの「HandyTone 702 ATA」
VoIPアダプターボックス
2回線のVoIPを収納できるんだけど、それぞれの回線用に電話機は必要。
FUSION IP-Phone SMARTを1回線設定して使用中。
どこからかかってきたかというログは機器に保存されないので注意が必要。
ログを閲覧/保存したい場合は別途用意したsyslogサーバにログを転送する必要がある。

なお、1回線のみサポートのHandyTone701は日本でも取扱が始まった模様

・Kindle Fire
HDぢゃない方。
会社で、とあるソフトウェアの研修を受けに行ったらもらった。
標準OSがおもしろくなかったので、速攻Android OSに書き換えられてしまったという不遇な子。
Kindle用に細かく調整されてるらしいものから、最新を使いたくてCynanogenMod純正バージョンにしたらバッテリーの減りが激しくなってしまったなぁ・・・

・K-Touch W619

MSM7225A搭載で安かったので買ってみたもの
CPUのクロックが低いものと高いものが同じ型番であるらしく、うちに来たモノはクロックが高いものだった模様。
CWM Recoveryはクロック毎で違うらしく、どっちバージョンで配布なのか明記されてないというのが大変でした。
非対応バージョンを適用するとまともに起動しない、という感じでした。
ベトナム方面では、別ブランドで結構数が出てるようで、現在も.vn系でカスタマイズが進行中な模様。


以下は、「失敗」アイテム。

・だれとでも定額パス WX01TJ
初期不良を売りつけられて約2ヶ月まるで使い物にならなかったのに、なんも補填されなかった一品。
死ねよウィルコム。
交換後はそれなり動作中。

・サンコー AUTCT2BK

パソコンを専用させずにカセットテープをmp3にコンバートできるな、と思って買ってみた。
microSDへの録音が開始されない、という事象ばかりが発生したあげく、microSDを1枚殺してくれた品。

・サンワサプライ TAP-TST10

サーバの消費電力測定のために期待して買ったんだけど、現在値を測定するのではなく、適当に記録された10分おきの過去データを取得できるだけ、という残念仕様でした。
というか、素直に現在値を取得させてくれよ。

IIJmioクーポンスイッチAPIを使って使用量グラフ作成

IIJmioクーポンスイッチAPI」というものが公開された。

AndroidアプリからこのAPIを使う、というのが想定されている使われ方だと思うんですが、違う使い方をしてみた。
というのは、「データ利用量照会」という機能を見つけ、これを利用すれば1年分のデータ使用量グラフが作れる、と思ったからです。

幸い、常時起動のサーバがあるので、そいつに仕込めばいいか、と、やってみました。

まずは、完成品をご覧ください。
test

現在SIMを4枚もっているので、こんなグラフになっています。
メインで使ってるのがSIM2、SIM4はSMS対応のものでテストに使用。
SIM3はうちの奥さんに渡しているもの、SIM1は実家においてあるルータ、という感じです。

さて、このグラフ作るまでに行ったことですが、まず最初はアクセストークン取得です。
いろいろ悩んだんですが、適当な手法をとっています。

まず、redirect_uriとして適当なCGIを作りました。

#!/usr/bin/perl
print "Content-Type: text/plain; charset=UTF-8\n\n";
print "test\n";

えぇ、適当過ぎますね。

そして、普通のHTMLを作ります。

<html>
<head>
<title>iijmio</title>
</head>
<body>

<a href="https://api.iijmio.jp/mobile/d/v1/authorization/?response_type=token&client_id=<DeveloperID>&state=test&redirect_uri=http%3A%2F%2F~.osakana.net%2Ftest.cgi">go to IIJMIO</a>

</body>
</html>

redirect_uriには、先ほど作成した適当なCGIのアドレスを記載します。

ブラウザで作成したhtmlにアクセスし、IIJmioの認証を行い、正常に通ると、redirect_uriに指定したURLに対して、戻ってきます。
ブラウザのURL欄に表示された文字列から「access_token=~」という記述を見つけ、アクセストークンを取得します。
ちなみに、このアクセストークン、7776000秒有効です。つまり90日間です。
IIJmio側に30日分のデータが保管されているので120日以内に1回手動で更新すればいいか、と考え、テキトーな実装になっています。

次に、利用量取得のperlスクリプト作成。

#!/usr/bin/perl
use strict;
use warnings;
use LWP;
use URI::Escape;
use JSON;
use Time::Local;

my $lwpua = LWP::UserAgent->new;

my $url="https://api.iijmio.jp/mobile/d/v1/log/packet/";

my $developerid="<DeveloperID>";
my $usertoken  ="<アクセストークン>";

my $lwpreq = HTTP::Request->new(GET => "$url");
$lwpreq->header("X-IIJmio-Developer" => "$developerid");
$lwpreq->header("X-IIJmio-Authorization" => "$usertoken");
my $lwpres= $lwpua->request($lwpreq);
my $data = decode_json($lwpres->content);

for(my $i=0;$i<@{$data->{packetLogInfo}};$i++){
        #print $i . ":" . $data->{packetLogInfo}->[$i]->{hddServiceCode} ."\n";
        my $hddServiceCode=$data->{packetLogInfo}->[$i]->{hddServiceCode};

        for(my $j=0;$j<@{$data->{packetLogInfo}->[$i]->{hdoInfo}};$j++){
                #print $i . "-" . $j . ":" . $data->{packetLogInfo}->[$i]->{hdoInfo}->[$j]->{hdoServiceCode} . "\n";
                my $hdoServiceCode=$data->{packetLogInfo}->[$i]->{hdoInfo}->[$j]->{hdoServiceCode};
                if(! -f "$hdoServiceCode.rrd"){
                      print "rrdtool create $hdoServiceCode.rrd --start 1384786740 --step 86400 DS:withCoupon:GAUGE:86400:0:U DS:withoutCoupon:GAUGE:86400:0:U RRA:LAST:0.5:1:100000 \n";
                      system("rrdtool create $hdoServiceCode.rrd --start 1384786740 --step 86400 DS:withCoupon:GAUGE:86400:0:U DS:withoutCoupon:GAUGE:86400:0:U RRA:LAST:0.5:1:100000");

                }

                for(my $k=0;$k<@{$data->{packetLogInfo}->[$i]->{hdoInfo}->[$j]->{packetLog}};$k++){
                      #print "   " . $data->{packetLogInfo}->[$i]->{hdoInfo}->[$j]->{packetLog}->[$k]->{date} ;
                      #print ":" . $data->{packetLogInfo}->[$i]->{hdoInfo}->[$j]->{packetLog}->[$k]->{withCoupon} ;
                      #print ":" . $data->{packetLogInfo}->[$i]->{hdoInfo}->[$j]->{packetLog}->[$k]->{withoutCoupon} ;
                      #print "\n";
                      my $d=$data->{packetLogInfo}->[$i]->{hdoInfo}->[$j]->{packetLog}->[$k]->{date};
                      my $year = substr($d,0,4);
                      my $mon  = substr($d,4,2) - 1;
                      my $mday = substr($d,6,2);
                      my $unixtime = timelocal(0,59,23,$mday,$mon,$year);
                      my $withCoupon=$data->{packetLogInfo}->[$i]->{hdoInfo}->[$j]->{packetLog}->[$k]->{withCoupon};
                      my $withoutCoupon=$data->{packetLogInfo}->[$i]->{hdoInfo}->[$j]->{packetLog}->[$k]->{withoutCoupon};
                      print "rrdtool update $hdoServiceCode.rrd $unixtime:$withCoupon:$withoutCoupon \n";
                      system("rrdtool update $hdoServiceCode.rrd $unixtime:$withCoupon:$withoutCoupon");
                }
        }
}

これを「get.pl」というファイル名で保存します。
実行すると、「hdo810xxxxx.rrd」というような感じのファイルがSIMカード分作成されます。
なお、手抜きをしているので、2回目以降は、同じ値を入力しようとし、「ERROR: hdo8371xxxx.rrd: illegal attempt to update using time 1387378740 when last update time is 1387378740 (minimum one second step)」みたいなエラーがでてしまいますが、仕様です。
また、rrdtoolは一度登録した情報の更新ができない構造をしているので、日付が変わる直前に実行することを推奨します。

で・・・グラフ作成は以下の様な感じで、情報取得と連続で行わせています。
現在SIMが4枚あるので、4枚分を集計しています。
クーポン使用の有無は区別せず合算としています。

#!/bin/bash
cd /home/~/mio
./get.pl
rrdtool graph iijmio-use.png --imgformat=PNG --end now --start end-1months \
--vertical-label "MB" \
--title="IIJmioの使用量" \
DEF:SIM1C=hdo8038xxxx.rrd:withCoupon:LAST \
DEF:SIM1N=hdo8038xxxx.rrd:withoutCoupon:LAST \
DEF:SIM2C=hdo8100xxxx.rrd:withCoupon:LAST \
DEF:SIM2N=hdo8100xxxx.rrd:withoutCoupon:LAST \
DEF:SIM3C=hdo8100xxxx.rrd:withCoupon:LAST \
DEF:SIM3N=hdo8100xxxx.rrd:withoutCoupon:LAST \
DEF:SIM4C=hdo8371xxxx.rrd:withCoupon:LAST \
DEF:SIM4N=hdo8371xxxx.rrd:withoutCoupon:LAST \
CDEF:SIM1=SIM1C,SIM1N,+ \
CDEF:SIM2=SIM2C,SIM2N,+ \
CDEF:SIM3=SIM3C,SIM3N,+ \
CDEF:SIM4=SIM4C,SIM4N,+ \
LINE1:SIM1#0000FF:"SIM1" \
LINE2:SIM2#00FFFF:"SIM2" \
LINE3:SIM3#00FF00:"SIM3" \
LINE4:SIM4#F00F00:"SIM4"

で、これをサーバのcrontabに突っ込んで、23:58に実行する設定しました。
さて、これでちゃんと更新し続けてくれるといいのですが・・・


APIが公開されて速攻作成&記事公開したところ、IIJmioの人に発見された模様。


2013/12/24追記

しばらく運用してみた結果、見にくかったので、グラフ作成については、以下の様に変更した。

rrdtool graph iijmio-use.png --imgformat=PNG \
--height=300 \
--lower-limit=0 \
--end now --start end-1months \
--vertical-label "MB" \
--title="IIJmioの使用量" \
DEF:SIM1C=hdo8038xxxx.rrd:withCoupon:LAST \
DEF:SIM1N=hdo8038xxxx.rrd:withoutCoupon:LAST \
DEF:SIM2C=hdo8100xxxx.rrd:withCoupon:LAST \
DEF:SIM2N=hdo8100xxxx.rrd:withoutCoupon:LAST \
DEF:SIM3C=hdo8100xxxx.rrd:withCoupon:LAST \
DEF:SIM3N=hdo8100xxxx.rrd:withoutCoupon:LAST \
DEF:SIM4C=hdo8371xxxx.rrd:withCoupon:LAST \
DEF:SIM4N=hdo8371xxxx.rrd:withoutCoupon:LAST \
CDEF:SIM1=SIM1C,SIM1N,+ \
CDEF:SIM2=SIM2C,SIM2N,+ \
CDEF:SIM3=SIM3C,SIM3N,+ \
CDEF:SIM4=SIM4C,SIM4N,+ \
LINE2:SIM1#0000FF:"SIM1" \
LINE2:SIM2#00FFFF:"SIM2" \
LINE2:SIM3#00FF00:"SIM3" \
LINE2:SIM4#F00F00:"SIM4"

iijmio2

「LINE数字:~」の数字部分の意味を取り違えていたという・・・太さの意味だったか・・・


2014/12/19追記

作ってから約1年が経過しました。
最近はこんなグラフにしています。(横軸のめもりを日付にした)

rrdtool graph iijmio-use.png --imgformat=PNG \
--height=300 \
--lower-limit=0 \
--end now --start end-2months \
--vertical-label "MB" \
--x-grid DAY:1:WEEK:1:WEEK:1:0:%m/%d \
--title="IIJmioの使用量" \
DEF:SIM1C=hdo8038xxxx.rrd:withCoupon:LAST \
DEF:SIM1N=hdo8038xxxx.rrd:withoutCoupon:LAST \
DEF:SIM2C=hdo8100xxxx.rrd:withCoupon:LAST \
DEF:SIM2N=hdo8100xxxx.rrd:withoutCoupon:LAST \
DEF:SIM3C=hdo8100xxxx.rrd:withCoupon:LAST \
DEF:SIM3N=hdo8100xxxx.rrd:withoutCoupon:LAST \
DEF:SIM4C=hdo8371xxxx.rrd:withCoupon:LAST \
DEF:SIM4N=hdo8371xxxx.rrd:withoutCoupon:LAST \
CDEF:SIM1=SIM1C,SIM1N,+ \
CDEF:SIM2=SIM2C,SIM2N,+ \
CDEF:SIM3=SIM3C,SIM3N,+ \
CDEF:SIM4=SIM4C,SIM4N,+ \
LINE2:SIM1#0000FF:"SIM1" \
LINE2:SIM2#00FFFF:"SIM2" \
LINE2:SIM3#00FF00:"SIM3" \
LINE2:SIM4#F00F00:"SIM4"

mio-20141219

そして、1年分

rrdtool graph iijmio-use-year.png --imgformat=PNG \
--height=300 \
--width=600 \
--lower-limit=0 \
--end now --start end-14months \
--vertical-label "MB" \
--x-grid WEEK:1:MONTH:1:MONTH:1:0:%m/%d \
--title="IIJmioの1年分使用量" \
DEF:SIM1C=hdo8038xxxx.rrd:withCoupon:LAST \
DEF:SIM1N=hdo8038xxxx.rrd:withoutCoupon:LAST \
DEF:SIM2C=hdo8100xxxx.rrd:withCoupon:LAST \
DEF:SIM2N=hdo8100xxxx.rrd:withoutCoupon:LAST \
DEF:SIM3C=hdo8100xxxx.rrd:withCoupon:LAST \
DEF:SIM3N=hdo8100xxxx.rrd:withoutCoupon:LAST \
DEF:SIM4C=hdo8371xxxx.rrd:withCoupon:LAST \
DEF:SIM4N=hdo8371xxxx.rrd:withoutCoupon:LAST \
CDEF:SIM1=SIM1C,SIM1N,+ \
CDEF:SIM2=SIM2C,SIM2N,+ \
CDEF:SIM3=SIM3C,SIM3N,+ \
CDEF:SIM4=SIM4C,SIM4N,+ \
LINE2:SIM1#0000FF:"SIM1" \
LINE2:SIM2#00FFFF:"SIM2" \
LINE2:SIM3#00FF00:"SIM3" \
LINE2:SIM4#F00F00:"SIM4"

test-year-20141219

おまけ:上記のグラフの利用率変動の解説。

SIM1はミニマムスタートプラン、SIM2/3/4はファミリーシェアプランで、SIM3はmicroSIM、SIM4はnanoSIM/SMS付。

・2013/12頃
 メイン機CP-D02:SIM2
 偽iPhone5s(Thunderbird i5s):SIM4
 奥さんのP-01D:SIM3
 奥さん実家の緊急用ルータ:SIM1
・2014/01頃
 ほとんど使用されていないSIM1の容量がもったいないので入れ替え
 メイン機CP-D02:SIM2→SIM1
 奥さん実家の緊急用ルータ:SIM1→SIM2
 偽iPhone5s(Thunderbird i5s):SIM4
 奥さんのP-01D:SIM3
・2014/02頃の変更点
 Thunderbid i5sの液晶を割ったので余ったSMS付SIM4をメイン機へ 
 メイン機CP-D02:SIM1→SIM4
 奥さん実家の緊急用ルータ:SIM2
 奥さんのP-01D:SIM3
・2014/03頃の変更点
 Covia CP-F03aが来たのでがんばって使用開始。
 それに伴い余剰になったCovia CP-D02を奥さんのに充当
 メイン機CP-F03a:SIM4 & SIM1
 奥さん実家の緊急用ルータ:SIM2
 奥さんのCP-D02:SIM3
・2014/06頃の変更点
 JIAYU F1購入。使い勝手が良かったので、メイン機に変更。
 メイン機JIAYU F1:SIM4
 予備機CP-F03a:SIM1
 奥さん実家の緊急用ルータ:SIM2
 奥さんのCP-D02:SIM3

・2014/11頃の変更点
 GMOBBのWiMAXを使い始めたのでメイン機SIM4の使用量低下

・2014/12頃の変更点
 自宅のフレッツが微妙に不安定なことが多いので、奥さんCP-D02のWiFiをオフにしてみた。

Zwatchの天気情報の日本語化とYahoo Weather RSS Feedの日本語表記

ZWatchの天気情報は、アメリカのYahooが提供する「Yahoo Weather RSS Feed」を使用して取得しています。
日本の都市もいくつか登録されています。
パソコンから確認するにはhttp://weather.yahoo.com/にアクセスすると良いでしょう。

ただ、英語表記の天気だとどうにもわかりにくいです。
それなりに日本語にしてみました。

10年ぐらい前にやったMiranda ICQのYahoo Weather pluginの翻訳例が流用できないかなぁ、と期待したんですが、確認してみると、当時と表記が全然違う模様。
ニュアンスはコレでいいんだろうか?とか悩む点がいろいろありますが、訳してみました。

zwatch010

手法は/system/app/IndroidWeather.apkをapktoolでばらしてres/value-jaを作成して、再構成、というもの。

できあがったものはこちら→「v2.2のIndroidWeather.apkを元にした改造版
 (v2.3のIndroidWeather.apkを元にした改造版)

インストール手法
1. MoreLocale2を入手
 上記URLでapkファイルが配布されています
2. MoreLocale2をZwatchにインストール
 手法は問いません
3. Zwatch上でMoreLocale2を起動し、「ja_JP」に設定
zwatch002
zwatch004
 コレにより時計盤の曜日表示が日本語になります(英語のままの時計盤もあります)
4. IndroidWeather-mod.apkをZwatchの/sdcard/に転送
5. Zwatchにadb接続し、rootユーザになる
6. Zwatchの/systemをread/write可能に設定
7. /system/app/IndroidWeather.apkを置き換える
 「cp」は無いので「busybox cp」を使う
8. /system/app/IndroidWeather.apkのパーミッションを755にする
9. 再起動(必須
10. 「天気」の設定画面から「都市の選択」し「Japan」→各都道府県を選択
zwatch005
zwatch006
zwatch007
zwatch008
zwatch009

再起動しないと、時計内の天気表示がうまくいかないようです。
上記の手順で分からない人は対象にしていません。

ちなみに、天気の翻訳は以下の様に対応付けてます。
「Yahoo Weather RSS Feed」の日本語翻訳例が見当たらなかったので掲載しときます。

0	tornado                 暴風
1	tropical storm          熱帯系風雨
2	hurricane               台風
3	severe thunderstorms    酷い雷雨
4	thunderstorms           雷雨
5	mixed rain and snow     雨/雪
6	mixed rain and sleet    雨/みぞれ
7	mixed snow and sleet    みぞれ/雪
8	freezing drizzle        氷混じりの霧雨
9	drizzle                 霧雨
10	freezing rain           凍るぐらいに寒い
11	showers                 にわか雨
12	showers                 にわか雨
13	snow flurries           しゅう雪
14	light snow showers      にわか雪
15	blowing snow            地吹雪
16	snow                    雪
17	hail                    雹(ひょう)
18	sleet                   みぞれ
19	dust                    砂塵
20	foggy                   霧
21	haze                    薄霧
22	smoky                   黒霧
23	blustery                快晴
24	windy                   快晴
25	cold                    寒い
26	cloudy                  曇り
27	mostly cloudy (night)   おおむね曇り(夜)
28	mostly cloudy (day)     おおむね曇り(昼)
29	partly cloudy (night)   所により曇り(夜)
30	partly cloudy (day)     所により曇り(昼)
31	clear (night)           雲が無い(夜)
32	sunny                   雲が無い(昼)
33	fair (night)            晴れ(夜)
34	fair (day)              晴れ(昼)
35	mixed rain and hail     雨/雹(ひょう)
36	hot                     暑い
37	isolated thunderstorms  所により雷
38	scattered thunderstorms 散発的な雷
39	scattered thunderstorms 散発的な雷
40	scattered showers       散発的な雨
41	heavy snow              大雪
42	scattered snow showers  散発的な にわか雪
43	heavy snow              大雪
44	partly cloudy           所により曇り
45	thundershowers          雷雨
46	snow showers            にわか雪
47	isolated thundershowers 所により雷雨

SmartQ Z Watchの近況

fastcardtechで買ったSmartQ Zwatchですが、まぁ、腕時計+万歩計として使用中です。
この使い方だと2日使っても電池が半分ぐらい持っている感じです。

昨日、 Z Watchのfirmware v2.2と、連携ソフト「ZWatch 助手(ZWatch Sync) v1.4.5」がリリースされました。

旧バージョンのZWatch助手だと、Covia FleaPhone CP-D02環境では、ペアリングに成功しなかったのですが、v1.4.5では成功し、ようやく本格的な連携ができるようになりました^^;;;;

device-2013-12-11-114952

「ZWatch Sync」を起動して「Sync Settings」をクリック

device-2013-12-11-114959

「Notification applications」をクリックしてアプリ一覧を表示。
device-2013-12-11-115014

上記でチェックを入れたアプリケーションが、ステータスバーに表示した内容をZwatch側に表示するようになります。

例えばGmailだったら、下記の様な感じになります。
device-2013-12-11-114856
(上記の画像では赤成分が抜けてしまっています。時々あるfirmware内のadb接続設定の不具合ってやつですAndroid Screen Monitorを使いXRGBモードにするときちんと取得できます。)

表示を確認した後は、ゴミ箱をクリックして捨てます。

さて、これで、どれくらい、電池が持つのかチャレンジです。

freetel用にfirefox osが作れるかチャレンジ(失敗

Firefox OSの機種定義に「tara」という名前でSpreadtrumのSC8810を積んでいるらしいものの定義がある。
このSC8810というのは、freetelが採用しているSC7710の元となったチップで、具体的な違いとしては、SC8810は中国専用3GのTD-SCDMA用、SC7710はW-CDMA用という所。
なので、freetel用にFirefox OSが作れないのかな?と環境を作成してみることに・・・

osakanataro@ubuntu:/work/B2G$ ./config.sh tara
Get git://github.com/mozilla-b2g/b2g-manifest
remote: Counting objects: 1068, done.
remote: Compressing objects: 100% (608/608), done.
remote: Total 1068 (delta 701), reused 779 (delta 441)
Receiving objects: 100% (1068/1068), 223.63 KiB | 188 KiB/s, done.
Resolving deltas: 100% (701/701), done.
From git://github.com/mozilla-b2g/b2g-manifest
 * [new branch]      master     -> origin/master
 * [new branch]      v1-train   -> origin/v1-train
 * [new branch]      v1.0.0     -> origin/v1.0.0
 * [new branch]      v1.0.1     -> origin/v1.0.1
 * [new branch]      v1.1.0hd   -> origin/v1.1.0hd
 * [new branch]      v1.2       -> origin/v1.2
 * [new branch]      v1.2f      -> origin/v1.2f
 * [new tag]         B2G_1_0_1_20130213094222 -> B2G_1_0_1_20130213094222
 * [new tag]         B2G_1_1_0_hd_20130530182315 -> B2G_1_1_0_hd_20130530182315
 * [new tag]         B2G_1_1_0_hd_20130530182315_BASE -> B2G_1_1_0_hd_20130530182315_BASE
 * [new tag]         closing-nightly -> closing-nightly

Your Name  [osakanataro]:
Your Email [osakanataro@ubuntu.(none)]: osakanataro@~

Your identity is: osakanataro <osakanataro@~>
is this correct [y/N]? y

Testing colorized output (for 'repo diff', 'repo status'):
  black    red      green    yellow   blue     magenta   cyan     white
  bold     dim      ul       reverse
Enable color display in this user account (y/N)? n

repo has been initialized in /work/B2G
Fetching project platform/external/bluetooth/glib
Fetching project platform/external/safe-iop
Fetching project platform/external/tagsoup
Fetching project platform/external/strace
Fetching projects:   1% (1/84)  Fetching project platform/hardware/libhardware
Fetching projects:   2% (2/84)  Fetching project platform/external/libnfc-nxp
Fetching projects:   3% (3/84)  Fetching project platform/external/dbus
Fetching projects:   4% (4/84)  Fetching project platform/external/flac
Fetching projects:   5% (5/84)  Fetching project platform/external/wpa_supplicant
Fetching projects:   7% (6/84)  Fetching project gaia.git
Fetching projects:   8% (7/84)  Fetching project platform/prebuilt
Fetching projects:   9% (8/84)  Fetching project device/common
Fetching projects:  10% (9/84)  Fetching project platform/libcore
Fetching projects:  13% (11/84)  Fetching project platform/external/gcc-demangle
Fetching project platform/external/protobuf
Fetching projects:  14% (12/84)  Fetching project platform/external/bluetooth/hcidump
Fetching projects:  15% (13/84)  Fetching project platform/external/iptables
Fetching projects:  16% (14/84)  Fetching project platform/external/zlib
Fetching projects:  17% (15/84)  Fetching project platform/external/skia
Fetching projects:  19% (16/84)  Fetching project platform/system/vold
Fetching projects:  20% (17/84)  Fetching project platform/external/liblzf
Fetching projects:  21% (18/84)  Fetching project platform/external/apache-http
Fetching projects:  22% (19/84)  Fetching project platform/external/dnsmasq
Fetching projects:  23% (20/84)  Fetching project platform/external/speex
Fetching projects:  25% (21/84)  Fetching project platform/system/core
Fetching projects:  26% (22/84)  Fetching project platform/external/bluetooth/bluez
Fetching projects:  27% (23/84)  Fetching project platform/external/giflib
Fetching projects:  28% (24/84)  Fetching project platform/system/bluetooth
Fetching projects:  29% (25/84)  Fetching project platform/external/icu4c
Fetching projects:  30% (26/84)  Fetching project platform/frameworks/base
Fetching projects:  32% (27/84)  Fetching project platform/external/libpng
Fetching projects:  33% (28/84)  Fetching project platform/bionic
Fetching projects:  34% (29/84)  Fetching project platform/external/webp
Fetching projects:  35% (30/84)  Fetching project platform/external/libnl-headers
Fetching projects:  36% (31/84)  Fetching project platform/external/expat
Fetching projects:  38% (32/84)  Fetching project platform/system/netd
Fetching projects:  39% (33/84)  Fetching project platform/external/bsdiff
Fetching projects:  40% (34/84)  Fetching project platform/external/jpeg
Fetching projects:  41% (35/84)  Fetching project platform/external/freetype
Fetching projects:  42% (36/84)  Fetching project platform/frameworks/opt/emoji
Fetching projects:  44% (37/84)  Fetching project platform/bootable/recovery
Fetching projects:  45% (38/84)  Fetching project platform/external/sqlite
Fetching projects:  46% (39/84)  Fetching project platform/external/dhcpcd
Fetching projects:  47% (40/84)  Fetching project platform/external/libphonenumber
Fetching projects:  48% (41/84)  Fetching project platform/external/yaffs2
Fetching projects:  50% (42/84)  Fetching project platform/external/openssl
Fetching projects:  51% (43/84)  Fetching project platform/external/mksh
Fetching projects:  52% (44/84)  Fetching project platform_build
Fetching projects:  53% (45/84)  Fetching project rilproxy
Fetching projects:  54% (46/84)  Fetching project platform/external/tremolo
Fetching projects:  55% (47/84)  Fetching project platform/external/stlport
Fetching projects:  57% (48/84)  Fetching project platform/external/tinyalsa
Fetching projects:  58% (49/84)  Fetching project device/sprd
Fetching projects:  59% (50/84)  Fetching project platform/system/extras
Fetching projects:  60% (51/84)  Fetching project platform/hardware/libhardware_legacy
Fetching projects:  61% (52/84)  Fetching project platform/external/bzip2
Fetching projects:  63% (53/84)  Fetching project platform/external/sonivox
Fetching projects:  64% (54/84)  Fetching project gonk-misc
Fetching projects:  65% (55/84)  Fetching project platform/external/jhead
Fetching projects:  66% (56/84)  Fetching project platform/external/fdlibm
Fetching projects:  67% (57/84)  Fetching project platform/frameworks/support
Fetching projects:  69% (58/84)  Fetching project platform/external/webrtc
Fetching projects:  70% (59/84)  Fetching project platform/external/libgsm
Fetching projects:  71% (60/84)  Fetching project gecko.git
Fetching projects:  72% (61/84)  Fetching project platform/external/iproute2
Fetching projects:  73% (62/84)  Fetching project platform/external/llvm
Fetching projects:  75% (63/84)  Fetching project fake-dalvik
Fetching projects:  76% (64/84)  Fetching project screencap-gonk
Fetching projects:  77% (65/84)  Fetching project moztt
Fetching projects:  78% (66/84)  Fetching project librecovery
Fetching projects:  79% (67/84)  Fetching project u-boot
Fetching projects:  80% (68/84)  Fetching project platform/external/harfbuzz
Fetching projects:  82% (69/84)  Fetching project platform/external/libvpx
Fetching projects:  83% (70/84)  Fetching project platform/system/media
Fetching projects:  84% (71/84)  Fetching project platform/ndk
Fetching projects:  85% (72/84)  Fetching project platform/external/gtest
Fetching projects:  86% (73/84)  Fetching project platform/abi/cpp
Fetching projects:  88% (74/84)  Fetching project platform/external/wpa_supplicant_8
Fetching projects:  89% (75/84)  Fetching project apitrace
Fetching projects:  90% (76/84)  Fetching project kernel/common
Fetching projects:  91% (77/84)  Fetching project vendor/sprd/proprietories
Fetching projects:  92% (78/84)  Fetching project platform/external/e2fsprogs
Fetching projects:  94% (79/84)  Fetching project platform/hardware/broadcom/wlan
Fetching projects:  95% (80/84)  Fetching project platform/hardware/ril
Fetching projects: 100% (84/84), done.
error: revision sprdroid4.0.3_vlx_3.0_b2g in platform/abi/cpp not found
Repo sync failed
osakanataro@ubuntu:/work/B2G$

・・・

う~ん・・・これのエラーはどこらを見ればいいんだろうか?

osakanataro@ubuntu:/work/B2G$ ./repo status

project abi/cpp/
  missing (run "repo sync")

project bionic/
  missing (run "repo sync")

project bootable/recovery/
  missing (run "repo sync")

project build/
  missing (run "repo sync")

project dalvik/
  missing (run "repo sync")

project device/common/
  missing (run "repo sync")

project device/sprd/
  missing (run "repo sync")

project external/apache-http/
osakanataro@ubuntu:/work/B2G$ ./repo sync abi/cpp
Fetching project platform/abi/cpp
Fetching projects: 100% (1/1), done.
error: revision sprdroid4.0.3_vlx_3.0_b2g in platform/abi/cpp not found
osakanataro@ubuntu:/work/B2G$

「abi/cpp」でのエラーか

osakanataro@ubuntu:/work/B2G$ ./repo list abi/cpp
abi/cpp : platform/abi/cpp
osakanataro@ubuntu:/work/B2G$ ./repo info abi/cpp
error: manifest required for this command -- please run init
Manifest branch: sprdroid4.0.3_vlx_3.0_b2g
Manifest merge branch: master
Manifest groups: all,-notdefault
----------------------------
Project: platform/abi/cpp
Mount path: /work/B2G/abi/cpp
Current revision: sprdroid4.0.3_vlx_3.0_b2g
osakanataro@ubuntu:/work/B2G$

abi/cpp関連で怪しそうな情報をfind/grepで探してみる。

osakanataro@ubuntu:/work/B2G/.repo/projects/abi/cpp.git$ cat config
[core]
        repositoryformatversion = 0
        filemode = true
[user]
        email = osakanataro@~
[remote "sprd"]
        url = http://sprdsource.spreadtrum.com:8085/b2g/platform/abi/cpp
        projectname = platform/abi/cpp
        fetch = +refs/heads/*:refs/remotes/sprd/*
osakanataro@ubuntu:/work/B2G/.repo/projects/abi/cpp.git$ cat FETCH_HEAD
6426040f1be4a844082c9769171ce7f5341a5528                branch 'ics-factoryrom-2
-release' of http://sprdsource.spreadtrum.com:8085/b2g/platform/abi/cpp
6426040f1be4a844082c9769171ce7f5341a5528                branch 'ics-mr0' of http
://sprdsource.spreadtrum.com:8085/b2g/platform/abi/cpp
6426040f1be4a844082c9769171ce7f5341a5528                branch 'ics-mr0-release'
 of http://sprdsource.spreadtrum.com:8085/b2g/platform/abi/cpp
6426040f1be4a844082c9769171ce7f5341a5528                branch 'ics-mr1' of http
://sprdsource.spreadtrum.com:8085/b2g/platform/abi/cpp
6426040f1be4a844082c9769171ce7f5341a5528                branch 'ics-mr1-release'
 of http://sprdsource.spreadtrum.com:8085/b2g/platform/abi/cpp
6426040f1be4a844082c9769171ce7f5341a5528                branch 'ics-plus-aosp' o
f http://sprdsource.spreadtrum.com:8085/b2g/platform/abi/cpp
eb789ea833d8d800662b67914d9c1785a58c2caa                branch 'jb-dev' of http:
//sprdsource.spreadtrum.com:8085/b2g/platform/abi/cpp
eb789ea833d8d800662b67914d9c1785a58c2caa                branch 'jb-release' of h
ttp://sprdsource.spreadtrum.com:8085/b2g/platform/abi/cpp
eb789ea833d8d800662b67914d9c1785a58c2caa                branch 'master' of http:
//sprdsource.spreadtrum.com:8085/b2g/platform/abi/cpp
6426040f1be4a844082c9769171ce7f5341a5528                branch 'tools_r20' of ht
tp://sprdsource.spreadtrum.com:8085/b2g/platform/abi/cpp
22e70042effef3aca9526d3e22f63eac23de782e        not-for-merge   tag 'FIREFOXOS_t
esttwo' of http://sprdsource.spreadtrum.com:8085/b2g/platform/abi/cpp
a858064180600aed773e7b5e365b43e872dc119d        not-for-merge   tag 'FIREFOXOS_v
osakanataro@ubuntu:/work/B2G/.repo/projects/abi/cpp.git$ cat FETCH_HEAD
6426040f1be4a844082c9769171ce7f5341a5528                branch 'ics-factoryrom-2-release' of http://sprdsource.spreadtrum.com:8085/b2g/platform/abi/cpp
6426040f1be4a844082c9769171ce7f5341a5528                branch 'ics-mr0' of http://sprdsource.spreadtrum.com:8085/b2g/platform/abi/cpp
6426040f1be4a844082c9769171ce7f5341a5528                branch 'ics-mr0-release' of http://sprdsource.spreadtrum.com:8085/b2g/platform/abi/cpp
6426040f1be4a844082c9769171ce7f5341a5528                branch 'ics-mr1' of http://sprdsource.spreadtrum.com:8085/b2g/platform/abi/cpp
6426040f1be4a844082c9769171ce7f5341a5528                branch 'ics-mr1-release' of http://sprdsource.spreadtrum.com:8085/b2g/platform/abi/cpp
6426040f1be4a844082c9769171ce7f5341a5528                branch 'ics-plus-aosp' of http://sprdsource.spreadtrum.com:8085/b2g/platform/abi/cpp
eb789ea833d8d800662b67914d9c1785a58c2caa                branch 'jb-dev' of http://sprdsource.spreadtrum.com:8085/b2g/platform/abi/cpp
eb789ea833d8d800662b67914d9c1785a58c2caa                branch 'jb-release' of http://sprdsource.spreadtrum.com:8085/b2g/platform/abi/cpp
eb789ea833d8d800662b67914d9c1785a58c2caa                branch 'master' of http://sprdsource.spreadtrum.com:8085/b2g/platform/abi/cpp
6426040f1be4a844082c9769171ce7f5341a5528                branch 'tools_r20' of http://sprdsource.spreadtrum.com:8085/b2g/platform/abi/cpp
22e70042effef3aca9526d3e22f63eac23de782e        not-for-merge   tag 'FIREFOXOS_testtwo' of http://sprdsource.spreadtrum.com:8085/b2g/platform/abi/cpp
a858064180600aed773e7b5e365b43e872dc119d        not-for-merge   tag 'FIREFOXOS_v1.2_W13.42.4' of http://sprdsource.spreadtrum.com:8085/b2g/platform/abi/cpp
755b7feb3226223f6b77377a5e748e1ac47cfbd4        not-for-merge   tag 'android-4.0.1_r1' of http://sprdsource.spreadtrum.com:8085/b2g/platform/abi/cpp
6e21cf94291ff0ff67ead081e907b21c46b74075        not-for-merge   tag 'android-4.0.1_r1.1' of http://sprdsource.spreadtrum.com:8085/b2g/platform/abi/cpp
9bf3f8b31fc175df486596ae123d4416321cc8c4        not-for-merge   tag 'android-4.0.1_r1.2' of http://sprdsource.spreadtrum.com:8085/b2g/platform/abi/cpp
a4f468880c7d2058fed25e19a90ad288c6d22925        not-for-merge   tag 'android-4.0.2_r1' of http://sprdsource.spreadtrum.com:8085/b2g/platform/abi/cpp
1f7abe1dd3a3d37f7c852aa877c576f3cdb4a042        not-for-merge   tag 'android-4.0.3_r1' of http://sprdsource.spreadtrum.com:8085/b2g/platform/abi/cpp
1613612046aeadcad431fbea9e056685904f93a1        not-for-merge   tag 'android-4.0.3_r1.1' of http://sprdsource.spreadtrum.com:8085/b2g/platform/abi/cpp
437e3997ed5275a19b7e2cf3b130c765c791c9b9        not-for-merge   tag 'android-4.0.4_r1' of http://sprdsource.spreadtrum.com:8085/b2g/platform/abi/cpp
0a03a7b231c2ae0529e22c8c7604d44f7e3f3e68        not-for-merge   tag 'android-4.0.4_r1.1' of http://sprdsource.spreadtrum.com:8085/b2g/platform/abi/cpp
711142b99de01e9129dec2cc7325315e54996d10        not-for-merge   tag 'android-4.0.4_r1.2' of http://sprdsource.spreadtrum.com:8085/b2g/platform/abi/cpp
00d1d44867ab708d09f7259b29ddfe8ab57008d7        not-for-merge   tag 'android-4.0.4_r2' of http://sprdsource.spreadtrum.com:8085/b2g/platform/abi/cpp
dd924f92906085b831bf1cbbc7484d3c043d613c        not-for-merge   tag 'android-4.0.4_r2.1' of http://sprdsource.spreadtrum.com:8085/b2g/platform/abi/cpp
e98b9655ab62adbdc22f7acbe083dbec8ee32c29        not-for-merge   tag 'android-4.1.1_r1' of http://sprdsource.spreadtrum.com:8085/b2g/platform/abi/cpp
54d67e380f48d003d8922c17908adc192b375d02        not-for-merge   tag 'android-4.1.1_r1.1' of http://sprdsource.spreadtrum.com:8085/b2g/platform/abi/cpp
e519a423ee05d3f3c66e530264626504d66cb7d4        not-for-merge   tag 'android-4.1.1_r2' of http://sprdsource.spreadtrum.com:8085/b2g/platform/abi/cpp
a0ea794ba309c907492e3a4f8da80f604bc6e1ce        not-for-merge   tag 'android-4.1.1_r3' of http://sprdsource.spreadtrum.com:8085/b2g/platform/abi/cpp
ea461d03727143eb07764870765948a0eca9c0a8        not-for-merge   tag 'android-cts-4.0.3_r1' of http://sprdsource.spreadtrum.com:8085/b2g/platform/abi/cpp
c9afdbb55d6ea53b805341ea2dcbffac816483f3        not-for-merge   tag 'android-cts-4.0.3_r2' of http://sprdsource.spreadtrum.com:8085/b2g/platform/abi/cpp
b97e7e49feba85359a8770d731cf4817b31ff1ad        not-for-merge   tag 'android-cts-4.0_r1' of http://sprdsource.spreadtrum.com:8085/b2g/platform/abi/cpp
6bee6a867b7ede626161d81419166b5e6a0c1239        not-for-merge   tag 'android-cts-verifier-4.0.3_r1' of http://sprdsource.spreadtrum.com:8085/b2g/platform/abi/cpp
4d171d013d1230af6b2ec7d35b63b2abc05c46df        not-for-merge   tag 'android-cts-verifier-4.0_r1' of http://sprdsource.spreadtrum.com:8085/b2g/platform/abi/cpp
5ddf451125b935e18a6ef60c753a483293790091        not-for-merge   tag 'android-sdk-4.0.3-tools_r1' of http://sprdsource.spreadtrum.com:8085/b2g/platform/abi/cpp
460f661655dc22d49a03ab841c60dc7740041740        not-for-merge   tag 'android-sdk-4.0.3_r1' of http://sprdsource.spreadtrum.com:8085/b2g/platform/abi/cpp
6c842d709146619646cb4e38e0f6d6ad8b7d7601        not-for-merge   tag 'android-sdk-adt_r16.0.1' of http://sprdsource.spreadtrum.com:8085/b2g/platform/abi/cpp
117d9f9e9275b88650f0465776b859d982f591f2        not-for-merge   tag 'android-sdk-adt_r20' of http://sprdsource.spreadtrum.com:8085/b2g/platform/abi/cpp
osakanataro@ubuntu:/work/B2G/.repo/projects/abi/cpp.git$

この中に「sprdroid4.0.3_vlx_3.0_b2g」というのはないようだ。
ここらあたりが原因か?

これを別のやつに切り替える方法とかあるんだろうか???


2013/12/04 追記

「sprdroid4.0.3_vlx_3.0_b2g」を検索していたら「Bug 929945 – [Fugu][B2G]Enable 128RAM config for fugu device」というFirefox OSの修正に関する記述を見つけた。
SC7710搭載でメモリが少ないというFuguというデバイス向けの修正である。

コメントを見ていくと、「https://github.com/sprd-ffos/device-sprd」というURLが出てくる。
また、このBugzillaを「FUgu」で検索していくと「http://github.com/prcxuying/b2g-manifest」というのも出てくる。

http://github.com/prcxuying/b2g-manifest に登録されているfugu.xmlを見ると、sprdroid4.0.3_vlx_3.0_b2g を使っていないので、コンパイルできるのではないかと期待。

osakanataro@ubuntu:/work/B2G$ export GITREPO=git://github.com/prcxuying/b2g-manifest
osakanataro@ubuntu:/work/B2G$ ./config.sh fugu
Get git://github.com/prcxuying/b2g-manifest
remote: Counting objects: 1013, done.
remote: Compressing objects: 100% (574/574), done.
remote: Total 1013 (delta 671), reused 737 (delta 420)
Receiving objects: 100% (1013/1013), 211.26 KiB | 113 KiB/s, done.
Resolving deltas: 100% (671/671), done.
From git://github.com/prcxuying/b2g-manifest
 * [new branch]      master     -> origin/master
 * [new branch]      v1-train   -> origin/v1-train
 * [new branch]      v1.0.0     -> origin/v1.0.0
 * [new branch]      v1.0.1     -> origin/v1.0.1
 * [new branch]      v1.1.0hd   -> origin/v1.1.0hd
 * [new branch]      v1.2       -> origin/v1.2
 * [new tag]         B2G_1_0_1_20130213094222 -> B2G_1_0_1_20130213094222
 * [new tag]         B2G_1_1_0_hd_20130530182315 -> B2G_1_1_0_hd_20130530182315
 * [new tag]         B2G_1_1_0_hd_20130530182315_BASE -> B2G_1_1_0_hd_20130530182315_BASE
 * [new tag]         closing-nightly -> closing-nightly

Your Name  [osakanataro]:
Your Email [osakanataro@ubuntu.(none)]: osakanataro@~

Your identity is: osakanataro <osakanataro@~>
is this correct [y/N]? y

Testing colorized output (for 'repo diff', 'repo status'):
  black    red      green    yellow   blue     magenta   cyan     white
  bold     dim      ul       reverse
Enable color display in this user account (y/N)? n

repo has been initialized in /work/B2G
Fetching project platform/development
Fetching project device/sample
Fetching project platform_external_apriori
Fetching project platform_external_elfcopy

<略>
system/extras/: discarding 2 commits
system/media/: discarding 1 commits
system/netd/: discarding 10 commits
system/vold/: discarding 11 commits
u-boot/: discarding 43 commits
vendor/sprd/proprietories/: discarding 15 commits
Run |./build.sh| to start building
osakanataro@ubuntu:/work/B2G$