IX2105でDS-Lite Part2

IXの公式サイトでDS-Liteの設定ガイドが公開されてました。

みんなこれ使いましょう。

https://jpn.nec.com/univerge/ix/Support/ipv6/ds-lite/index.html

 

で、これ使ってたんですが、これだと何故かNetMeisterに登録できない...

 

どうもIXがNetMeisterのサーバをDNSで名前解決できないのが原因っぽいのでトンネルIFにDNSサーバのIPアドレスを設定してあげましょう。

 

 

ip name-server [DNS Server] Tunnel0.0 

 

これでいつでも最新のFWが使えますね。やったぜ

IX2105でDS-Lite

てくろぐ: IIJmioひかりの混雑の理由とバイパス手段(IPoE・DS-Lite対応)
動かしてみたら確かにサラマンダーPPPoEより、ずっとはやい!!

IXでの設定例があんまり見つからなかったので、ペタリ

ip ufs-cache enable
ip route default Tunnel0.0
!
ipv6 ufs-cache enable
ipv6 route default 2404:8e00::feed:100
ipv6 dhcp enable
ipv6 access-list block-list deny ip src any dest any
ipv6 access-list dhcpv6-list permit udp src any sport eq 547 dest any dport eq 546
ipv6 access-list dhcpv6-list permit udp src any sport eq 546 dest any dport eq 547
ipv6 access-list icmpv6-list permit icmp src any dest any
ipv6 access-list permit-list permit ip src any dest any
ipv6 access-list dynamic dflt-list access permit-list
!
!
!
bridge irb enable
no bridge 1 bridge ip
!
proxy-dns ip enable
proxy-dns server [DNS ipv4_address]
proxy-dns ipv6 enable
proxy-dns server [DNS ipv6_address]
!
ipv6 dhcp client-profile dhcpv6-cl
  option-request dns-servers
  ia-pd subscriber GigaEthernet1.0
!
ipv6 dhcp server-profile dhcpv6-sv
  dns-server dhcp
!
interface GigaEthernet0.0
  no ip address
  ipv6 enable
  ipv6 address autoconfig receive-default
  ipv6 dhcp client dhcpv6-cl
  bridge-group 1
  no shutdown
!
interface GigaEthernet1.0
  ip address [ipv4_address]
  ip proxy-arp 
  ipv6 enable
  ipv6 dhcp server dhcpv6-sv
  ipv6 nd ra enable
  ipv6 nd ra other-config-flag
  bridge-group 1
  no shutdown
!
interface Tunnel0.0
  tunnel mode 4-over-6
  tunnel destination 2404:8e00::feed:100
  tunnel source GigaEthernet0.0
  ip unnumbered GigaEthernet1.0
  ip tcp adjust-mss auto
  no shutdown
!

IXでのDS-Lite設定の肝はこの辺

ip route default Tunnel0.0

ipv4のルーティングはトンネルをデフォゲ

no bridge 1 bridge ip
interface GigaEthernet0.0
  bridge-group 1
interface GigaEthernet1.0
  bridge-group 1

ipv4のブリッジを禁止(GE0とGE1でipv6だけブリッジする)

tunnel mode 4-over-6
tunnel destination 2404:8e00::feed:100

トンネルのモードでIPv4 over IPv6を指定
トンネルのdstをmfeedちゃんご指定のIPv6アドレス*1

TOSHIBA CSSDS6T128NHG5Q

M4さん*1の残り容量がピンチなんだけど、次モデルのM500の性能がいまいちっぽいので、東芝さんCSSDS6T128NHG5Q(\10,480円(税込)@つくもたん)で確保してきた

-----------------------------------------------------------------------
CrystalDiskMark 3.0.2 x64 (C) 2007-2012 hiyohiyo
                           Crystal Dew World : http://crystalmark.info/
-----------------------------------------------------------------------
* MB/s = 1,000,000 byte/s [SATA/300 = 300,000,000 byte/s]

           Sequential Read :   516.710 MB/s
          Sequential Write :   481.514 MB/s
         Random Read 512KB :   425.428 MB/s
        Random Write 512KB :   458.556 MB/s
    Random Read 4KB (QD=1) :    19.023 MB/s [  4644.2 IOPS]
   Random Write 4KB (QD=1) :    60.976 MB/s [ 14886.8 IOPS]
   Random Read 4KB (QD=32) :   301.956 MB/s [ 73719.7 IOPS]
  Random Write 4KB (QD=32) :   204.316 MB/s [ 49881.7 IOPS]

  Test : 1000 MB [E: 0.1% (0.1/119.2 GB)] (x5)
  Date : 2013/04/14 10:40:02
    OS : Windows Server 2008 R2 Enterprise Edition (Full installation) SP1 [6.1 Build 7601] (x64)

わぁい

Nexus7をスマートフォンにする(未解決編)

N7にsim挿して単体で持ち歩いているとよく聞かれるのがコレ

Q. 通話できるんです?これ

正直、通話機能なんていらんのですが(挿してるのデータsimだし)「使えるよ(ドヤッ」と答えたいので通話を有効にしてみます。


4.2.1以降では通話機能の有無をconfig_voice_capableというフラグで管理されているようです。
ただこのフラグを有効にするとMVNOなどでCS接続できないsimを利用している場合にアンテナピクト問題が発生するです。たぶん
ref. http://techlog.iij.ad.jp/archives/487


なお、この問題4.1まではGsmServiceStateTracker.javaを修正して倒すのが一般的だったようですが、
このパッチがあたったことにより4.2.1以降では上記フラグが無効である場合にPSをServiceStateとして使えるようになっています。


ROMをビルドする時点でCSが有効なsimを挿すかどうかを判断することは出来ないので、このフラグはメニューから変更出来るようにするのがおそらく本筋だと思い、読み込み元をoverlayする方法を検討したのですが、、、、アンドロイドムズカシデスネ。
とりあえず、デフォルト有効にしました。
MVNOのsim使う場合は適宜フラグ変更してくだしあ。


で、まぁフラグを有効にしたROMを作って起動すると以下のとおり通常の「通話」アプリケーションが使えるようになるます。

ではさっそく、SIMを挿して通話機能の検証を...

あ!

3G版Nexus7にJCROMを移植

どうもぐるぐるIOのチケット争奪戦、第一段階すら突破できなかったiqmです。

さて、先日国内発売された3G版のN7(tilapia)をメインのスマートフォンとして利用するため購入しました*1が、嫁*2が恋しかったのでJCROMを導入しました。


aospのレポジトリgrouper向けのJCROM変更の取り込みとテザリング、通話の機能を有効にしたdevice/asus/tilapiaを作って、jcrom/asus/grouperをtilapia用バイナリに変更したjcrom/asus/tilapiaを作ってっと...

$ full_tilapia-user
$ make -j12

ポチッとな。
簡単ですね。


これで一週間以上使ってるけど問題ないのでOKっぽい。

余談

ただ、ぐるぐるさんのページのtilapiaのlunchコマンドオプションにはこんなこと書かれてるんだよね
http://source.android.com/source/building-devices.html

Device Branch Build configuration
manta android-4.2.2_r1 or master full_manta-userdebug
grouper android-4.2.2_r1 or master full_grouper-userdebug
tilapia android-4.2.2_r1 or master full_grouper-userdebug

えー、grouperでいいの?typoだよね?これ

*1:昨年輸入したWiFi版N7(grouper)は奪取されました(´・ω・`)

*2:NS2の公開が楽しみですね

android 4.1.1におけるbootanimationの変更について

変更というほど大したことではないのだけれど、一部変更があったのでメモがてら残します。


bootanimeでは、desc.txtというファイルに画像のサイズ,fps,再生する順番などを指定しています。
android 4.1.1ではそのdesc.txtの読み込み処理が一部変更になりました。

4.0.4

http://tools.oesf.biz/android-4.0.4_r1.0/xref/frameworks/base/cmds/bootanimation/BootAnimation.cpp

402         if (sscanf(l, "p %d %d %s", &count, &pause, path) == 3) {
403             //LOGD("> count=%d, pause=%d, path=%s", count, pause, path);
404             Animation::Part part;
405             part.count = count;
406             part.pause = pause;
407             part.path = path;
408             animation.parts.add(part);
409         }
4.1.1

http://tools.oesf.biz/android-4.1.1_r1.0/xref/frameworks/base/cmds/bootanimation/BootAnimation.cpp

423         else if (sscanf(l, " %c %d %d %s", &pathType, &count, &pause, path) == 4) {
424             //LOGD("> type=%c, count=%d, pause=%d, path=%s", pathType, count, pause, path);
425             Animation::Part part;
426             part.playUntilComplete = pathType == 'c';
427             part.count = count;
428             part.pause = pause;
429             part.path = path;
430             animation.parts.add(part);
431         }

これまで再生するファイルを読み込むpathを記述する際には、その行を「p」ではじめる必要がありましたが、
必要なくなり自由に定義することができます。

その変わり「c」ではじめることにより、playUntilCompleteフラグが有効になり
最後まで再生されるようになります。


playUntilCompleteは後の再生時に利用されており、
このフラグが立っているとbootシーケンスが終了しても
アニメーションはキャンセルされず最後まで再生されるという動作をするようです。



個人的にはアリな変更ですが、
メーカーロゴの再生で起動が遅くなるのは勘弁して欲しいので、
desc.txtに「c」が指定されているbootanimeが仕込まれている端末がベンダから出荷されたら
お空とお友達になって貰いましょう。

bootanimationのランダム再生 for JCROMへの修正

以前のエントリでは「r」命令を定義してランダム再生させていたわけですが、
4.1.1の変更に追従すると「c」と「r」を共存させることが困難です。


そこで、「r」を別に定義するのはやめてpathの引数で判別させることにしました。
pathの引数が複数あるとその中からランダムで一つ選択と。

パッチはこんな感じ
https://bitbucket.org/iqm/jcrom_frameworks_base/changeset/b826f54e055e


このパッチを使って、ランダム化とplayUntilCompleteを有効にした
ピースちゃんのdesc.txtの例は以下のとおりです。

720 1280 48
c 1 0 start
c 1 0 rock paper scissors
c 1 0 end

Jelly Beanでもピカピカぴかりん!

bootanimationのデータを複数用意してランダムで再生させる

前回、bootanimationのデータを複数用意してランダム再生するのは面倒臭いからやらないと言ったな、アレは嘘だ。


これと前回のパッチによりキュアピース以外のプリキュア達も変身できるようになり、かつ、
じゃんけんをするキュアピースを、他のプリキュアと等確率で出現させることができるようになります。


撮影面倒臭いので今回は動画なし
ソースとかパッチとかはこのへん。
https://bitbucket.org/iqm/android_gnexus_frameworks_base/changeset/54bc9e4d78e2

変更点

frameworks/base/cmds/bootanimation/BootAnimation.cpp

  1. 選択中テーマのbootanimation.zipの読み込みに失敗した場合にロジックを追加
  2. ブートアニメのディレクトリから、bootanimation_.*\.zipというファイルを走査
  3. その中からランダムで一つを選択し、再生。

使い方

\mytheme\テーマ名\bootanimation\下に、bootanimation_ほげほげ.zip*1を設置すると
ディレクトリ中のzipファイルをランダムで再生します。

なお、bootanimation.zipが同ディレクトリ中に存在する場合は、そちらを優先的に読みに行き、固定的に再生されます。

例: 5人のプリキュアがブート毎にランダムで変身

\bootanimation\
\bootanimation\bootanimation_cure-peace.zip
\bootanimation\bootanimation_cure-marine.zip
\bootanimation\bootanimation_cure-pine.zip
\bootanimation\bootanimation_cure-sunshine.zip
\bootanimation\bootanimation_cure-muse.zip

注意点

調子に乗っていっぱいzip置くと、テーマ切り替えに時間がかかったり、/dataの残容量が爆発したりするので気をつけてね!

*1:ほげほげは適当な名前に置き換えてね