Fusion PCB の基板到着

前にFusin PCBに発注していた基板が届きました。

基板届きました 

単純なピッチ変換基板とはいえ、自分で作った基板が出来上がると嬉しいものです。

ユニバーサル基板にしたんですが、ランドがちょっと小さかったかな? もう少し大きい方が 良かったかもしれません。

気になっていたハーフピッチのスルーホール部分もとりあえず見た目は大丈夫そうです。穴のサイズが合っているか実際のモノを挿してみないと分からないですが。

 

Fusion PCBでは基板ができた後に導通してるかやショートしてないかなどのチェックをしてくれます。 基板横のマジック線がチェックの印です。

今回はケチって無料の半分だけチェック(全部チェックは+$10)にしたんですが、全部チェックしてくれたようです。また、10枚注文していたのですが、11枚届きました。結構良心的です。 

念の為基板をチェックしてみると・・ 

ハーフピッチのスルーホール部分がショートしていたらしく、2枚だけカッターで修正した後がありました。

きっとハンダメッキしたときにブリッジしてしまったのだと思います。

ハーフピッチのスルーホールを注文するときは、お金をかけても100%チェックにしたほうがいいかもしれません。もしくは自分でチェック&修正が必要です。

最後に、注文してから届くまでの履歴を残しておきます。

  • 2012/3/21 ガーバーデータ送付
  • 2012/3/23 Processing へステータス変更の通知
  • 2012/3/23 In production へステータス変更の通知
  • 2012/3/23 ガーバー送付時のメールのリプライの形で、「デザインに問題がなければ 4-6 営業日で発送できる」と連絡
  • 2012/3/26 Shipped へステータス変更の通知
  • 2012/3/27 Traceable へステータス変更の通知 トラッキング番号が付与されたが、まだ追跡は不可
  • 2012/3/28 夜 まだトレースできず
  • 2012/3/29 朝 トレースできるようになった

トレース結果 

  • 2012/03/27 15:52 引受 (HONG KONG)
  • 2012/03/29 15:36 国際交換支店から発送 (HONG KONG)
  • 2012/03/30 12:17 国際交換支店に到着 (成田)
  • 2012/03/31 9:00 通関手続中 (成田)
  • 2012/03/31 9:58 国際交換支店から発送 (成田)
  • 2012/04/01 3:27 到着  ○○支店
  • 2012/04/01 16:58 お届け先にお届け済み

土曜日も通関手続きってやってくれるんですね。

おかげで 2 週間かからずに届きました。たぶん早いほうだと思います。

FT701W の u-boot を攻めてみる

FT701Wファームウェアを覗いてみたらu-boot に fastboot という文字列があったので、どうすれば fastboot のモードに入れるのか色々試してみました。

ですが、そもそもFT701Wにはハードウェアキーが電源キーしかないので、長押しで電源入れるくらいしかバリエーションがありません。

メニューキーやホームキーはタッチセンサなので、静電センサの性格上、押したまま電源入れるというのも考えにくいです。

で、一通り試してみたものの、やっぱりというか、FastBoot モードには入れませんでした。

そこで、u-bootを解析してみることにしました。

文字列のアドレスから色々とアタリをつけながら解析していくと、以下の関数が真を返せばFastbootモードに入れるらしいことがわかりました。

80e8973c:       e59f3124        ldr     r3, [pc, #292]  ; 80e89868 <_binary_bootloader_start+0x9868>
80e89740:       e92d4017        push    {r0, r1, r2, r4, lr}
80e89744:       e5934038        ldr     r4, [r3, #56]   ; 0x38
80e89748:       e3540000        cmp     r4, #0
80e8974c:       0a00000d        beq     80e89788 <_binary_bootloader_start+0x9788>
(省略)
80e8985c:       eb002b11        bl      80e944a8 <_binary_bootloader_start+0x144a8>
80e89860:       e1a00004        mov     r0, r4
80e89864:       e8bd801e        pop     {r1, r2, r3, r4, pc}

アドレスを見てもらうとわかりますが、そこそこ長い関数になります。

ですが、SDドライバで培った逆コンパイル手法で力業で解析すると、こんな感じの関数になりました。

int func_80e8973c()
{
        if (readl(0x4a31c038) != 0) {
                if (readl(0x4a31c044) != 0x800)
                        retrun 1;
 
                printf(" Green key press == Recovery mode \n");
                while ((tmp = readl(0x4a31c018) != 0))
                        writel(tmp, 0x4a31c018);
 
                goto l97bc;
        }
 
        ret = func_80e88ea4();
 
        *(u8 *)(0x80eaf42c + 0x38) = ret;
 
        tmp = (ret - 2) & 0xff;
        if (tmp > 1)
                return 0;
 
        if (ret == 3) {
                printf("System go into recovery mode\n");
                printf("\n Case: \%reboot recovery\n");
l97bc:
                printf("\n Starting recovery img...\n");
//長いので省略
                printf("fastboot: Error: Invalid recovery img\n") ;
                return 0;
        }
        printf("\n");
        printf("System go into normal mode\n");
        printf("\n");
        return 0;
}

真を返すのは、readl(0x4a31c038) != 0 と readl(0x4a31c044) != 0x800 が成り立った時のみのようです。

アドレスが物理アドレスと仮定すると、0x4a31c000 〜 0x4a31cfff は "keyboard" らしいです。(OMAP4430 のマニュアルより)

さすがにキーの配線がどこに接続されているは回路図がないと追えません。

そもそもデバッグボードにしかないキーかもしれないですし。

ひとまず、Linux で上記アドレスを使用しているドライバがあるか調べてみます。

# cat /proc/iomem 
40100000-401f13ff : omap-aess-audio
(省略)
4a314000-4a31407f : omap_wdt
  4a314000-4a31407f : omap_wdt
4a318000-4a31807f : omap_timer.1
  4a318000-4a31807f : omap_timer
4c000000-4c0000ff : omap_emif.0
(省略)

使ってるドライバは無いようです。

つまり、少なくとも起動中に使えているタッチスイッチ等は "keyboard" のデバイスではないと言うことです。

ということは、キーの組み合わせなどの操作で fastboot mode や recovery mode には入れないということになります。デバッグボードか何かにあるキーなのでしょう。残念。 

Fusion PCBで基板発注

友人に頼まれてピッチ変換基板を作ることになったので、その記録を書いておこうと思います。

個人でも安価に試作基板を作ってくれるサービスとしてブルガリアの会社 OLIMEX が有名ですが、今回は中国の Fusion PCB に頼んでみました。

 簡単に比較すると以下のような感じです。

Olimex

  • 値段:
    • 160mm x100mm 両面 €30.00 (1〜4枚の価格) + 送料 €5.50
      (€1 = 109.3 円換算で 3877円/1枚)
  • 最小枚数: 1 枚
  • 最小パターン幅: 8mil
  • 最小パターン間隔: 8mil
  • 最小アニュラリング幅: 8mil
  • 最小シルク幅: 10mil

Fusion PCB

  • 値段: 
    • 50mm x 50mm x 10枚 $9.9 + 送料 $4.1
      ($1 = 82.8円換算で 1159円/10枚)
    • 100mm x 100mm x 10枚 $24.9 + 送料 $8.1
      ($1 = 82.8円換算で 2732円/10枚)
    • 150mm x 100mm x 10枚 $69.9 + 送料 $0  ($50以上で送料無料)
      ($1 = 82.8円換算で 5788円/10枚)
  • 最小枚数: 10 枚
  • 最小パターン幅: 6mil
  • 最小パターン間隔: 6mil
  • 最小アニュラリング幅: 6mil
  • 最小シルク幅: 4mil

OLIMEX でも十分安かったのですが、Fusion PCB では基板 10 枚でこのお値段! 50mm x 50mm に収まってしまえば、1枚 120 円程度で作れてしまいます。

しかも、Olimex よりも詳細なパターンが作成できますし、追加料金無しでウラ面のシルクも可能です。

今回は1.27 mmピッチ(ハーフピッチ)の DIP (表面実装ではなく、ピン形状)から 2.54mm ピッチへの変換だったのですが、ハーフピッチのホールが 0.7mm とすると、

Olimexでは

  • ピン穴 0.7mm (27.56mil) + アニュラリング 8mil × 2 + パターン間最小間隔 10mil
    = 53.56mil

 となり、ハーフピッチのピン間隔の 1.27mm(50mil) に収まりません。

fusion PCB では

  • ピン穴 0.7mm (27.56mil) + アニュラリング 6mil × 2 + パターン間最小間隔 6mil
    = 45.56mil

なので、3mil ほど余裕があります。 

というわけで、EAGLE で適当に基板をでっち上げてみました。

ピッチ変換基板のガーバーデータ
ピッチ変換基板のガーバーデータ

ピッチ変換だけではもったいないので、空いている領域をスルーホールのユニバーサル基板にしてみました。

EAGLE は今回初めて使ったのですが、結構操作性にクセがあり慣れるまでイライラします。とはいえ、Linux でも動いてくれるのは非常にありがたいです。

上記のガーバーデータの確認には、gerbv というビューワーを使いました。Ubuntu のパッケージに存在するので、apt-get install gerbv ですぐ使えます。

最近ではこういう用途でも Linux 上で完結できるんですね。素晴らしい。便利になったものです。

Fusion PCB への注文は以下のサイトが参考になりました。

大まかに以下のような流れになります。

  1. Fusion PCBのサイトで基板サイズなどを指定してサービスを購入
    ここでオーダー番号が発行される。
  2. シルクにオーダー番号を入れて、ガーバーデータを作成
  3. ガーバーデータを圧縮し、オーダー番号と共にメールで送信

シルクにオーダー番号を入れると処理が早くなるそうです。必須というニュアンスではなかったので、入れなくても処理してくれそうですが、今回は念の為入れておきました。

3/20 に注文したので届くのは 4月上旬かな? どんな出来になるか楽しみです。

FT701Wのファームウェアの中身

Frontier のサイトで FT701W のファームウェア (FT701W-005)が公開されていたので、アップデートのついでに中身を覗いてみました。

$ unzip -lv ota_package.zip 
Archive:  ota_package.zip
signed by SignApk
 Length   Method    Size  Ratio   Date   Time   CRC-32    Name
--------  ------  ------- -----   ----   ----   ------    ----
   57065  Defl:N    21258  63%  02-29-08 02:33  2070b1b3  META-INF/MANIFEST.MF
   57118  Defl:N    21488  62%  02-29-08 02:33  6afdc955  META-INF/CERT.SF
    1714  Defl:N     1155  33%  02-29-08 02:33  2b96ae05  META-INF/CERT.RSA
     118  Defl:N      105  11%  02-29-08 02:33  ea0aa2cb  META-INF/com/android/metadata
  215948  Defl:N   140708  35%  02-29-08 02:33  dcb8bcf9  META-INF/com/google/android/update-binary
    3314  Defl:N      803  76%  02-29-08 02:33  edb9b63e  META-INF/com/google/android/updater-script
 4435968  Defl:N  4403885   1%  02-29-08 02:33  25ee0257  boot.img
  175328  Defl:N    92995  47%  02-29-08 02:33  73e08c28  bootloader
 2752512  Defl:N     9833 100%  02-29-08 02:33  df1f09f3  logo.img
 4677632  Defl:N  4646067   1%  02-29-08 02:33  ce06f5a1  recovery.img
     547  Defl:N      281  49%  02-29-08 02:33  3809e44c  recovery/etc/install-recovery.sh
   82833  Defl:N    82619   0%  02-29-08 02:33  56e29312  recovery/recovery-from-boot.p
   96233  Defl:N    79921  17%  02-29-08 02:33  45e3cc56  system/app/AccountAndSyncSettings.apk
   14925  Defl:N    13329  11%  02-29-08 02:33  e6a694f3  system/app/ApplicationsProvider.apk
  141922  Defl:N   112533  21%  02-29-08 02:33  8851576b  system/app/Bluetooth.apk
(省略)
    4310  Defl:N     1036  76%  02-29-08 02:33  bbf50b9f  system/xbin/wifi_test.sh
     119  Defl:N       96  19%  02-29-08 02:33  8b6d59b2  system/xbin/wifi_unload.sh
   21320  Defl:N    10669  50%  02-29-08 02:33  71a61e63  xloader
--------          -------  ---                            -------
202375195         106553229  47%                            678 files

まず気づいたのは、ZIP ファイル自体に署名が施されています。ZIPに署名ってできたんだ。知らなかった。

トップディレクトリに目をやると、xloader, bootloader と OMAP の bootloader 系ファイルがあります。bootloader の中身を見ると、u-boot のようでした。Pandaboard と同じですね。

あと、boot.img, recovery.img は Linux kernel のようです。通常用とリカバリ用でしょう。

system/ 以下は system パーテーションがまるごと全ファイル入っているようです。それに引き換え、recovery/ はパーテーションに対して(?)のバイナリ差分が置かれているようです。recovery パーテーションを書き換えてしまうと、アップデートに失敗しそうです。

bootloader を覗いていて気になったのは、「fastboot」という単語が目についたこと。u-boot に fastboot の機能が入っているみたいです。

fastboot が使えれば USB 経由で簡単にシステムイメージを書き換えられるみたいなので、どうにか使えないか試してみようと思います。

Androidタブレット FT701W 買いました

ここのところなぜか無性にAndroidタブレットが欲しくて、低価格のものがないかいろいろ探していたのですが、先日某大型掲示板に格安情報が載っていたので、勢いで買ってしまいました。

 
Androidタブレット買いました 

FRONTIER製のFT701Wという機種です。ヤマダ電機で新品が広告の品で14,800円でした。日本のメーカー製なのに、中華pad並の価格だったので飛びついてしまいました。

主なスペックは以下のとおりです。

OS  Android 2.3 
CPU Texax Instruments OMAP4430
Coretex−A9 Dual Core 1GHz
 メモリ 512MB 
 内蔵ストレージ 8GB 
 LCD 7インチ 1024×600 
 外部端子 ヘッドホン端子 x1, microUSB x1,
microHDMI x1, microSD カードスロット
 無線LAN IEEE802.11a/b/g/n 
 Bluetooth v2.1 + EDR 
 センサ 加速度センサ、ジャイロセンサ、照度センサ、
地磁気センサ(コンパス)、GPS 
 その他 NFC、赤外線送信機能付きクレードル 

CPUはPandaBoardと同じOMAP4430 です。センサもひと通り揃ってます。

下面に各端子があり、右側に電源スイッチがあります。 

下面から見たところ
下面から見たところ  (左からヘッドホン, microUSB, microHDMI, microSD) 

ウラ面はこんなかんじです。

ウラ面から見たところ
ウラ面 左下に NFC リーダ?がついてます

面白いところとしては NFC 付きです。たぶん使い道はないでしょうけど ^^;

私にとっては Softbank X06HTII以来、2台目のAndroid機です。X06HTIIはメインの携帯ということもあり、root化はしていなかったのですが、タブレットはおもちゃとして色々いじってみたいと思います。

さて、この機種はあまりレビューを見かけないので、簡単に印象を書いてみようと思います。

動作 

まず、動作ですが、個人的には十分キビキビ動いてくれてると思います。高性能タブレットを触ったことがないので、完全に個人的な印象ですが。

普通に、ネット、メール、電子書籍リーダとして使う分には、十分です。

LCD 

液晶は視野角は特別狭くはありませんが、上下方向は明るさの変化の傾向が非対称(上から見ると暗く、下から見ると明るく見える)なので、縦持ちすると若干違和感があります。

ですが、個人的には十分慣れられるレベルです。横持ちでは全く違和感ありません。

バッテリ 

電池の持ちは結構いいと思います。特にスリープ中の放電が少ないのがイイです。朝、満充電の状態で Wifi, Bluetooth を OFF にしてスリープさせ、夕方レジュームさせたら電池残量は 97% でした。

その後 Wifi を繋げながら、1時間くらいいじっても 90% 残ってました。

動画やゲームなどをしなければそうそう電池は切れなそうです。

Market 非対応 

個人的には十分満足な買い物だったのですが、やはりAndroidマーケットに対応してないのはイタイですね。デフォルトで入っている Topnow Market もあるにはあるのですが、いかんせんアプリが少なすぎます。

なので、ゴロ寝ブラウザ用など用途が絞られている人向けですね。サブ用には結構イイと思います。

後述しますが root が取れるようなので、入れる気になれば公式マーケットも入れられますが、いけないことなのでそこは個人の責任で。 

GPSがほとんど使えない 

センサをひと通り使ってみたんですが、GPSは感度が悪く、ほとんど使い物になりません。高い建物のない空の開けた場所でやっと受信できる程度です。

ナビなどの用途には向いていません。 

root は取れるらしい 

2ch の FT701W スレッド によると、どうも root も取れるようです。

 

root が取れるといろいろできそうなので、いろいろいじってみたいと思います。