PQI Air CardでFTP
フルサイズSDカードにWi-Fi機能がついたmicroSDアダプタ、PQI Air Cardを買ってしまいました。
PQI Air Card -
この手のSDカードは多いですが、microSDアダプタとしたので、容量を臨機応変に変更できるのが一番のセールスポイントなのでしょうか?
前回、FluCardでやった事をPQI Air Cardでも出来るかやってみました。(前回→)FlucardでFTP - Lynx-EyEDの電音鍵盤 新館
4GB以上のmicroSDをいれて、デジカメにセットします。もし
このSDカードを認識できるデジカメが無ければ、SDXCレベルの電力が供給可能なUSB-SDアダプタ+USB-AC電源を利用するなど、電源のみ供給できる環境にします
説明書通り25秒待つと"PQI Air Card"というアクセスポイントが見えるので、Androidで接続します。
まずどのポートが開いているのかPort Scannerで確認しました。
21番(FTP)、23番(Telnet)、80番(HTTP)が開いています。
今回は21、23番を使います。
■とりあえず、Telnet
今回はbusyboxが入っているMotorola PHOTON(Android 4.1 CM10)の端末エミュレータからアクセスしています。
$ telnet 192.168.1.1:23
↑上の図は/proc/cpuinfoをリードしているところです。
このPQI Airのデフォルトのマウントポイントがどこなのか見てみました。マウントポイントが分かるとftpでどのディレクトリに転送されるのかが分かるからです。
# mount
ここから察するに、/mnt/にアップロードされるようです。ちなみに、SDカードとして見えるディレクトリは/mnt/sd/です。
一旦、exitします。
# exit
■ftpでファイル転送
PHOTONのSDカード(/storage/sdcard1/)にhoge.txtというファイルをあらかじめ用意し、ftpでPQI Air Cardに転送します。
$ cd /storage/sdcard1/ $ ftpput 192.168.1.1:21 hoge.txt
何もエラーが出なければ成功です。マウントポイント/mntにhoge.txtが作成されているはずです。telnetで再ログインして確認します。
$ telnet 192.168.1.1:23 # cd /mnt # ls
無事作成されました。
※追記
/mnt/sd 以外はRAM領域となるため、上記の方法で転送したファイルは電源を切ると消えてしまいます。
もし、消えてほしくない場合はストレージの領域に保存すればいいので、
$ ftpput 192.168.1.1:21 /sd/hoge.txt hoge.txt
のように転送先ディレクトリを指定して転送します。
通常用途でコマンドラインを使う事はほとんど無く、PQI純正のiPhone/Androidアプリを使うと思います。
くわえて、AndroidのESファイルエクスプローラがあるならば、このアプリから閲覧、書き込み、削除もできます。
ES ファイルエクスプローラー - Google Play の Android アプリ
PQI Air Cardのアクセスポイントに接続したらFTPのアドレスを指定し、
/sdディレクトリに無事保存されています。
純正アプリの使い勝手が思うように慣れない時は有効かもしれません。
※20121026:さらに追記
電源だけ供給しても"PQI Air Card"のAPが立たないSDカードリーダがある
PQI Air CardをFTPやHTTPサーバとして使いたいとき、PCにつなげると内部ストレージにアクセスするモードになり、アクセスポイントは立ちません。それでSDカードリーダをUSB電源から給電していたのですが、それもうまくいかないカードリーダがかなりあるようです。(報告いただいた皆様、ありがとうございます)
■アクセスポイント起動が確認できたSDカードリーダ
自分が使っているSDカードリーダはGREEN HOUSEのGH-CRSDXCです(電源だけ供給するとAPが立ちます)
なぜこうなるのか、ロジアナで調べてみました。
秋月で売ってるオモチャロジアナZEROPLUS LAP-Cというアナライザです。
ZEROPLUSロジックアナライザ(ロジック キューブ)[64kビット16ch100M]LAP−C(16064): 測定器・計測器関連 秋月電子通商 電子部品 ネット通販
CMDとCLK端子をキャプチャしてます。
SPIモードではなくSDIOモードなので、SDカードへのコマンドとカードからのレスポンスが同一バス上で双方向通信されるため見辛いですが、ACMD41コマンドが送出されています。(ACMD41 = CMD55 + CMD41で、写真はCMD55の始めの部分)
■起動が確認できなかったSDカードリーダ
なおアクセスポイントが立たなかったSDカードリーダはCMD41を送出したりせず、ただ3.3V電源だけSDカードに与えていました。(100均で買ったSDカードリーダはそうでした)
■そして考察
アクセスポイント起動が確認できたSDカードリーダでは、ACMD41を送出後、10~20クロックほど送出してからクロックも停止していました。このあと15~20秒ほどすると、PQI Air Cardのアクセスポイントが立ちました。
PQI Air CardはReady Stateになると内部のLinuxが起動するようです。(参照下図)*1
この後、CMD11が送出されると、SDストレージ内部にアクセスするステートに遷移するため、WiFi関連の機能はOFFになるようです。SDがIdentification StateになるためのCMD11が送出されるかどうか、20秒近く待っているのでしょう。来なかったら、PQI Air CardのLinuxが立ち上がる仕組みのようです。
*1:東芝FlashAirは3.3VをSDに供給するだけでアクセスポイントが立ちました