2015年9月24日木曜日

Open-WRT ipkファイルの編集方法

ここでは例として、chaos calmerのzlibパッケージを見てみる。
対象としたファイルは下記のもの。
zlib_1.2.8-1_ramips_1004kc.ipk
適当なフォルダで、wgetにてファイルを取得。
wget http://downloads.openwrt.org/chaos_calmer/15.05-rc3/ramips/mt7621/packages/base/zlib_1.2.8-1_ramips_1004kc.ipk
fileコマンドで素性を確認すると、ipkファイルはgzipファイルだと言われる。
file zlib_1.2.8-1_ramips_1004kc.ipk 
zlib_1.2.8-1_ramips_1004kc.ipk: gzip compressed data, from Unix, last modified: Fri Jul  3 14:42:35 2015
とはいうものの実はこのファイルは、tar.gzとして固められているので、テンポラリディレクトリを作ったのち、tarで解凍。
root@open-wrt-build:~/open-wrt# mkdir zlibwork
root@open-wrt-build:~/open-wrt# tar xf zlib_1.2.8-1_ramips_1004kc.ipk -C ./zlibwork/
テンポラリディレクトリに移って、解凍されたファイルを確認してみると、下記のような感じ。
root@open-wrt-build:~/open-wrt/zlibwork# ls -la
total 56
drwxr-xr-x 2 root  root  4096 Sep 23 11:24 .
drwxr-xr-x 4 root  root  4096 Sep 23 11:23 ..
-rw-r--r-- 1 rtkit ssh    472 Jul  3 14:42 control.tar.gz
-rw-r--r-- 1 rtkit ssh  39882 Jul  3 14:42 data.tar.gz
-rw-r--r-- 1 rtkit ssh      4 Jul  3 14:42 debian-binary
基本的には、opkgだったり、dpkgに倣ったファイル構成。
なので、編集をしたい場合は、コンテンツはdata.tar.gzに含まれている。
root@open-wrt-build:~/open-wrt/zlibwork# mkdir root
root@open-wrt-build:~/open-wrt/zlibwork# tar xf data.tar.gz -C ./root/
root@open-wrt-build:~/open-wrt/zlibwork# cd root/
root@open-wrt-build:~/open-wrt/zlibwork/root# ls -la
total 12
drwxr-xr-x 3 root root 4096 Jul  3 14:42 .
drwxr-xr-x 3 root root 4096 Sep 23 11:25 ..
drwxr-xr-x 3 root root 4096 Jul  3 14:42 usr
例えばここで、oeriginal_version.txtなるテキストファイルをパッケージに追加したいとするストーリーを考え、適当にファイルを作る。
root@open-wrt-build:~/open-wrt/zlibwork/root# ls -la
total 16
drwxr-xr-x 3 root root 4096 Sep 23 11:27 .
drwxr-xr-x 3 root root 4096 Sep 23 11:25 ..
-rw-r--r-- 1 root root   18 Sep 23 11:27 original_version.txt
drwxr-xr-x 3 root root 4096 Jul  3 14:42 usr
ファイルを追加後、tarで再度data.tar.gzに固めてやる。
root@open-wrt-build:~/open-wrt/zlibwork/root# tar -zcvf ../data.tar.gz ./
./
./original_version.txt
./usr/
./usr/lib/
./usr/lib/libz.so.1.2.8
./usr/lib/libz.so
./usr/lib/libz.so.1
作業用のrootフォルダは不要なので削除。
root@open-wrt-build:~/open-wrt/zlibwork/root# cd ..
root@open-wrt-build:~/open-wrt/zlibwork# rm -rf root/
次は、data.tar.gzに変更を加えたので、controlファイルを編集してやる。
root@open-wrt-build:~/open-wrt/zlibwork# mkdir control
root@open-wrt-build:~/open-wrt/zlibwork# tar -xf control.tar.gz -C ./control/
root@open-wrt-build:~/open-wrt/zlibwork# cd control/
root@open-wrt-build:~/open-wrt/zlibwork/control# ls -la
total 20
drwxr-xr-x 2 root root 4096 Jul  3 14:42 .
drwxr-xr-x 3 root root 4096 Sep 23 11:30 ..
-rw-r--r-- 1 root root  236 Jul  3 14:42 control
-rwxr-xr-x 1 root root  109 Jul  3 14:42 postinst
-rwxr-xr-x 1 root root   66 Jul  3 14:42 prerm
こちらは、originalのcontrolファイル
Package: zlib
Version: 1.2.8-1
Depends: libc
Source: package/libs/zlib
License: Zlib
LicenseFiles: README
Section: libs
Architecture: ramips_1004kc
Installed-Size: 39882
Description:  Library implementing the deflate compression method
編集後のdata.tar.gzのサイズを確認。
root@open-wrt-build:~/open-wrt/zlibwork/control# ls -la ../data.tar.gz 
-rw-r--r-- 1 rtkit ssh 39927 Sep 23 11:28 ../data.tar.gz
39927バイトとのことなので、下記のように書き換える。
Package: zlib
Version: 1.2.8-1
Depends: libc
Source: package/libs/zlib
License: Zlib
LicenseFiles: README
Section: libs
Architecture: ramips_1004kc
Installed-Size: 39927
Description:  Library implementing the deflate compression method
書き換え完了後、tarで再度固めてやる。
root@open-wrt-build:~/open-wrt/zlibwork/control# tar -zcvf ../control.tar.gz ./
./
./prerm
./postinst
./control
controlフォルダは不要となったので削除。
root@open-wrt-build:~/open-wrt/zlibwork/control# cd ..
root@open-wrt-build:~/open-wrt/zlibwork# rm -rf ./control
tarでパッケージ自体を固めて完了!
root@open-wrt-build:~/open-wrt/zlibwork# tar zcvf ../zlib_1.2.8-1_ramips_1004kc.ipk ./
./
./control.tar.gz
./debian-binary
./data.tar.gz

後はこのファイルをWSR-600DDに持っていき、下記コマンドにてインストール
root@dd-wrt-nxt:~# opkg install zlib_1.2.8-1_ramips_1004kc.ipk
Installing zlib (1.2.8-1) to root...
Configuring zlib.
root@dd-wrt-nxt:~# ls /
bin                   original_version.txt  sys
dev                   overlay               tmp
etc                   proc                  usr
init                  rom                   var
lib                   root                  www
mnt                   sbin
このように、パッケージが変更され、新しく加えたファイルが追加されていることが確認できた。

※open-wrtのリポジトリを追加後に、インストールしようとすると、リポジトリから取得したshusumとハッシュ値を比較した結果、ハッシュが合わないということでインストールができなかったので、この点注意。


Spike, To be continued.

2015年9月19日土曜日

USでの電話番号の覚え方(理解の仕方)

たまに、車で走ってると、
"Call Us Today: 1.888.CALIBER"
といったような記載に遭遇することがあるのだけれども、正直、どうやって電話するのかわかってませんでしたw
もしかしたら他にもわからない方がいるかと思いますので、念のため、記事として残しておきます。

僕の携帯電話はAndroidなのですが、キーパッドを開くと下記のような画面が出てくると思います。



ここで、CALIBERはどう数字に翻訳されるかというと、それぞれアルファベットの記述がある数字を追っていくと、
C->2
A->2
L->5
I->4
B->2
E->3
R->7
すなわち、最終的な電話番号としては、1-888-225-4237となる。

これ、意外と覚えやすくてわかりやすい!!

他には例えば、FCCの電話番号なんかだと、
1-888-CALL-FCC -> 1-888-225-5322

PLUMBERだと、
1-800-PLUMBING -> 1-800-758-6246
(最後のGは無視っぽいですね)

と、あら簡単に番号が覚えられる。
日本の場合だと、例えば、
222-2222(にゃんにゃんにゃん にゃんにゃんにゃんにゃん)
2424188(にしによいぱぱ)
など、発音から見た語呂合わせが多いですが、あ行は1、か行は2、などとしてこの方式使うことができるんじゃないですかね?


さてさて、じゃぁ、自分の番号を簡単に覚えられる方法はないのかな?と考えてみると、実は自分の番号、1とか0が入ってるので、うまく語呂合わせできないw
まぁ、希望の頃になるように番号をもらうって方が、現実的ですよねw


Spike, Always need to see from different view.

2015年9月11日金曜日

失効運転免許更新

今回たまたま日本に出張する機会があった。
実はその出張中にやりたかったことは「失効した運転免許証の更新(再発行)」

というのも、運転免許センターから更新の案内が来ていたものの、ご存知の通り自分は海外滞在中。
免許の更新は、日本国外では実施されておらず、かつ本人が行く必要がある。
ということで、日本へ行く予定もなく更新できず、失効している状態でした。


さてさて、この状態からどうやって再更新をするかという点を調べてみると、下記の通り。
http://www.unten-menkyo.com/2008/11/post_3.html

詳しいことは上記のような紹介ページに譲るとして、実際にはこれらページを読んでも実際に必要な書類など「どうやって入手したらいいのか?何を入手したらいいのか?」という点を調べるために時間を費やし、最後までハラハラドキドキしていたので、そこについてまとめておこうと思う。

今回、自分のケースに当てはまるのは、「やむを得ない場合」となり、「失効から6ヶ月以内」のケース。


【必要書類など】
失効から6ヶ月以内
必要だと記述されているのは、下記のアイテム。

  • 失効した運転免許証
  • 申請用写真1枚(縦3cm x 横2.4cm)
  • 戸籍の附表 or 住民票の除票
  • パスポート(出入国記録がわかるもの。日本の場合は、たいてい出国と入国を隣同士に押してくれるので、確認は楽チン!)
  • 居住証明書
  • 居住証明書の証明者の証明書(免許証のコピーなど)


失効した運転免許証は、持参する必要がある。
これを、例えば「海外の居住先では使わない」などの理由で普段持ち歩かないようにしていると、日本への帰国時に「持ってくるのを忘れる」ということもあり得そう。
帰国時に免許の更新を考えているようであれば、失効した運転免許証を必ず日本に持ち帰るように注意!

運転免許用の写真は、免許の更新プロセスの中で撮影するものの、「失効による再発行依頼の申請書」に写真を添付しなければならないため、必要。
ただし、大抵の運転免許センターには、写真撮影機があると思うので、事前に用意する必要はないと思う。


戸籍の附表は、本籍地の市役所にて取得可能。
海外に滞在している人の場合、一時帰国中に自分で本籍地に赴く。というのが難しい人も多いと思う。この場合、戸籍の附表であれば、自身の父母でも委任状なしで取得可能であるので、お手軽。

住民票の除票は、海外に行く前に住民票が置いてあった市役所に赴いて取得可能。
ただし、住民票の除席から5年までしか保存されないということなので、この点注意必要。
また、父母にお願いする場合であっても、委任状が必要なため、こちらの取得はやや難易度高し。

実際、自分は戸籍の附表を父にとってきてもらい、速達にて一時居住先に送ってもらうという方法でクリアした。


パスポートに関しては、海外居住している場合、普段も持ち歩いていると思うし、日本への帰国の際も持ってきているはずなので、心配は不要かと考える。
ただし、海外滞在先で期限が切れ、更新する(できるのか??)などした場合は、入出国の記録を確認するために、新旧2冊のパスポートが必要になるので、注意。


居住証明書に関しては、下記からフォーマットを取得可能。
http://www.keishicho.metro.tokyo.jp/menkyo/menkyo/image/kikoku.pdf
ただし、地方によって若干フォーマットが異なるようなので、自分が申請する地域のフォーマットを探して記入する方が吉。
また、居住証明書の証明者に関して、免許証のコピーなどが必要となる。
実際には、自分のケースでは、居住証明者の免許証のコピーは用意していったものの、回収はされなかった。不要かもしれないけど、一時帰国の場合は滞在日数も限られるため、用意していくのが吉かと。



【再配布までの流れ】
これら書類類を揃えていれば、基本的には普通の運転免許更新処理と同じ。
多少、顔を出す窓口は異なっているものの、言われた通りに窓口を辿れば、更新は可能なはず。
一応、自分の場合の流れを書いておくと、

  1. 受付。失効更新の旨を伝える。失効更新用の申請書を用意してくれる。
  2. 失効更新用の申請書に貼り付ける顔写真を撮る。
  3. 総合受付にて、写真を切り取ってもらい、失効更新用の申請書に貼り付け。
  4. 失効更新用窓口に行く。ここではパスポートを提出し、「やむを得ない理由があったこと」を確認いただく。自分の場合は、この窓口の受付時間が30分と短かった。一時帰国者はただでさえ時間が限られるので、きちんと失効更新用の受付時間を調べていくべし。
  5. 必要な金額の収入印紙を入手、失効更新用の申請書に貼り付け
  6. 失効更新用の適性検査レーンにて、視力検査
  7. 失効更新の受付、件免許証引換券を入手。ただし、自分がもらった用紙は、実際には免許証引換券とは記載がなかった。この時に、旧運転免許証は没収される。通常の更新の場合は、このタイミングでは旧運転免許証は没収されない。講習後まで持っていることになる。
  8. 指定された講習室に行き、講習を受ける。
  9. 講習後、新しい免許を配布いただく。ただし、失効者の免許引き渡しは、他の更新者への免許証配布が終わった後。
とまぁ、こんな感じ。
自分の場合は、優良者講習で、トータル2時間程度でした。


ちなみに、運転免許証については、「事前更新」ということが可能な模様。
失効後に処置を行うよりは、事前更新の方がはるかに楽かと考える。
長期間海外滞在が必要な場合、たいていビザを取得しているはずであり、ビザがあれば、少なくとも「そのビザの有効期限までは海外にいる予定だ」と言い張ることはできるはず。今後は、もし、運転免許証の有効期限まで2年を切っているようであれば、事前更新にて対応をしていこうと考えている。


Spike, Good luck!

2015年9月4日金曜日

OnHub 出荷の連絡!

TP-Linkのオンラインストアにて注文していたOnHub出荷されたとのこと。

Hi Spike,

Your TP-LINK store order # 100000xxx is shipped!
UPS Tracking# xxxxxxxxxxxxxxxxxx

Please allow one business day for the tracking to show up in the system

Thanks!
うちに着くまではもう少し時間がかかりそう。。。

Spike. To be continued.

2015年9月2日水曜日

DD-WRT-NXT@WSR-1166DD Open-wrtモジュールを使ってみる

某ブログにてDD-WRT-NXT製品にてopen-wrtのモジュールが使えるとの情報があったので、自分も試してみることに。

今回購入したのは、バッファロー製WSR-1166DD。
(というか、どうやら今のところ、選択肢は、バッファロー製品しかない模様。。。)
Amazon.comに価格は約90ドル。

http://www.amazon.com/BUFFALO-Station-Gigabit-Wireless-WSR-1166DD/dp/B00XYYG06C/ref=sr_1_1?ie=UTF8&qid=1441163478&sr=8-1&keywords=WSR-1166dd&pebp=1441163487322&perid=1JSZWMCAXKEV4M0WWB61

Step 1.
本体設定画面へのログイン。
優先ケーブルでPCとルーターを接続すると、192.168.11.1でルーターの設定画面にアクセスができる。
こちらの画面が表示されたら、デフォルトパスワードである「password」を入力してログイン
ログイン後に表示されるメニューはこんな感じ。DD-WRTモデルと比べると、かなりすっきりシンプル。


Step 2.
SSHアクセスの設定。
デフォルトではSSHサーバーが起動していないので、パスワードを設定し、サービスを有効化。
[Network Services]->[SSH]と辿ることで、SSHの設定が可能。
パスワードの設定の際は、パスワードの確認用ボックスも忘れずに記入!
Step 3.
SSHクライアントにてSSHアクセス。
僕の場合は、MBAを使っているので、MBAのターミナルアプリから接続。
コマンドとしては、
# ssh root@192.168.11.1
ネットワークの都合上、192.168.12.1にIPアドレスを変更していますが、その辺は気になさらず・・・
無事にログインが出来ると、下記のようなwelcomeメッセージが見えるはず。
Step 4.
/etc/opkg.confの編集。
opkg実行時に、chaos_calmer 15.05-rc3のmt7621のパッケージを参照するように下記を追加。

-----------------
src/gz owrt_base http://downloads.openwrt.org/chaos_calmer/15.05-rc3/ramips/mt7621/packages/base/
src/gz owrt_luci http://downloads.openwrt.org/chaos_calmer/15.05-rc3/ramips/mt7621/packages/luci
src/gz owrt_management http://downloads.openwrt.org/chaos_calmer/15.05-rc3/ramips/mt7621/packages/management
src/gz owrt_packages http://downloads.openwrt.org/chaos_calmer/15.05-rc3/ramips/mt7621/packages/packages
src/gz owrt_routing http://downloads.openwrt.org/chaos_calmer/15.05-rc3/ramips/mt7621/packages/routing
src/gz owrt_telephony http://downloads.openwrt.org/chaos_calmer/15.05-rc3/ramips/mt7621/packages/telephony
-----------------

Step 5.
リポジトリのアップデートと、実際に使用可能なパッケージが増えることの確認。

編集前は、パッケージの数は下記の通り、122個とのことだが、
root@dd-wrt-nxt:~# opkg list|wc -l
122
opkg.confファイルを編集後、
# opkg update
# opkg list
を実行すると・・・

root@dd-wrt-nxt:~# opkg update
Downloading http://downloads.openwrt.org/snapshots/trunk/ramips/packages/base/Packages.gz.
wget: server returned error: HTTP/1.1 404 Not Found
Downloading http://downloads.openwrt.org/snapshots/trunk/ramips/packages/packages_nda/Packages.gz.
wget: server returned error: HTTP/1.1 404 Not Found
Downloading http://downloads.openwrt.org/chaos_calmer/15.05-rc3/ramips/mt7621/packages/base//Packages.gz.
Updated list of available packages in /var/opkg-lists/owrt_base.
Downloading http://downloads.openwrt.org/chaos_calmer/15.05-rc3/ramips/mt7621/packages/luci/Packages.gz.
Updated list of available packages in /var/opkg-lists/owrt_luci.
Downloading http://downloads.openwrt.org/chaos_calmer/15.05-rc3/ramips/mt7621/packages/management/Packages.gz.
Updated list of available packages in /var/opkg-lists/owrt_management.
Downloading http://downloads.openwrt.org/chaos_calmer/15.05-rc3/ramips/mt7621/packages/packages/Packages.gz.
Updated list of available packages in /var/opkg-lists/owrt_packages.
Downloading http://downloads.openwrt.org/chaos_calmer/15.05-rc3/ramips/mt7621/packages/routing/Packages.gz.
Updated list of available packages in /var/opkg-lists/owrt_routing.
Downloading http://downloads.openwrt.org/chaos_calmer/15.05-rc3/ramips/mt7621/packages/telephony/Packages.gz.
Updated list of available packages in /var/opkg-lists/owrt_telephony.
Collected errors:
 * opkg_download: Failed to download http://downloads.openwrt.org/snapshots/trunk/ramips/packages/base/Packages.gz, wget returned 1.
 * opkg_download: Failed to download http://downloads.openwrt.org/snapshots/trunk/ramips/packages/packages_nda/Packages.gz, wget returned 1.
root@dd-wrt-nxt:~# opkg list|wc -l
4647
となり、約4600個のopwn-wrtのパッケージが使えるようになっている!!!
ひとまず、実際にパッケージをうごかすことができるかどうかを確認してみる。

Step 6.
パッケージのインストールと、実行
ひとまず、samba-serverのパッケージを選択し、インストールして使って見ることとする。
パッケージのインストール自体は、下記コマンドを実行することで完了。
# opkg install samba36-server

root@dd-wrt-nxt:~# opkg install samba36-server
Installing samba36-server (3.6.25-4) to root...
Downloading http://downloads.openwrt.org/chaos_calmer/15.05-rc3/ramips/mt7621/packages/base//samba36-server_3.6.25-4_ramips_1004kc.ipk.
Configuring samba36-server.
smb.confをちょっといじって、/home/publicを公開するように。
と思ったのだけど、どうも一癖あり、取り急ぎ今回は、initスクリプトを直接編集することに。。。

/etc/init.d/sambaを編集し...
         
[homes] 
        comment     = Home Directories          
        browsable   = no                                      
        read only   = no
        create mode = 0750                                          
                                                                    
[public]                                                                     
        comment     = public                         
        browsable   = yes                  
        read only   = no 
        path        = /home/public 
EOT  
こんな感じで、/home/publicを参照する設定を書き出すように。

/home/publicを作成。
root@dd-wrt-nxt:~# mkdir /home/public -p -m 777
root@dd-wrt-nxt:~# ls -la /home/
drwxr-xr-x    3 root     root             0 May  1 11:53 .
drwxr-xr-x    1 root     root             0 May  1 11:53 ..
drwxrwxrwx    2 root     root             0 May  1 11:53 public

すると、Finderからアクセスできるようになり、
ファイルを書き込むと、ルーター上でもファイルの存在が確認できる!
root@dd-wrt-nxt:/home/public# ls -la
drwxrwxrwx    2 root     root             0 May  1 11:57 .
drwxr-xr-x    3 root     root             0 May  1 11:53 ..
-rwxr--r--    1 nobody   nogroup       6148 May  1 11:56 .DS_Store
-rwxr--r--    1 nobody   nogroup       4096 May  1 11:56 ._.DS_Store
-rwxr--r--    1 nobody   nogroup       4096 May  1 11:57 ._test.png
-rwxr--r--    1 nobody   nogroup      38991 Sep  2  2015 test.png
ということで、Open-WRTのモジュールが、ひとまず使えることは分かった。


〜終わりに〜
open-wrtのパッケージは、open-wrtのコミュニティで開発されており、種類も豊富!
DD-WRT-NXTルーターを使ったらしばらくは楽しめそうw


Spike. Always want to make a difference.



参考
バッファロー製品紹介のページ
http://www.buffalotech.com/products/wireless/dd-wrt-nxt/airstation-ac1200-dd-wrt-nxt-wireless-router

Open-WRTのサイト
https://openwrt.org/

opkgコマンドの使い方
http://wiki.openwrt.org/doc/techref/opkg

DD-WRT-NXTのサポートページ
http://dd-wrt.com/nxt/wiki/doku.php