1月 262008
 

iPod Touch に新しいファームウェアである Ver.1.1.3 が出たのでバージョンアップしてみた。僕の PodTouch は 1.1.2 で JailBreak していたので 1.1.3 にアップデートしたらどうなるのか楽しみであったのだけど・・。

結論から言うと、ファームウエア Ver.1.1.3 から Ver.1.1.1 に落とすことが出来なかったので結局、JailBreak が出来ない iPod になってしまった。

iTunes から Option キーを押しつつ [アップデートを確認] ボタンを押して Ver.1.1.1 のファームウェアを指定しても、 iPod Touch に書き込む所で「不正なエラーが発生しました。」とメッセージが表示されて、Ver.1.1.3 から 1.1.1 に、ファームウェアをダウングレードすることが出来なかった。

と、言うことで 2,480yen 出す気がない人は取りあえず SDK が出るまでは 1.1.3 に上げないほうが良いでしょう。もしくは Ver.1.1.3 用の JailBreak ツールが出るまで待った方が良いかと思います。

ちなみに iPodTouch の Ver.1.1.3 のファームウェアですが、日本語変換は確かに早くなった。メニューはぷるぷる踊らない。他にもきっとあるんだろうけどまだ使い込んでないです・・。

12月 132007
 

前回のブログで iPod Touch を JailBreack したと書いた。でもってメールソフトは iPhone のファームから抜いて iPodTouch にインストールした。

メールソフトも利用できて大変嬉しいのだけど、うちのメールサーバは ssl に対応していないので POP もしくは IMAP4 の時に生パスワードが流れてしまう。

iPod Touch の性格上、野良 AP (そこいらに落ちているアクセスポイントのこと)を利用する場合も多々有るわけで、そう言うのを利用するとアクセスポイントを置いた人が tcpdump を仕掛けていないとも限らないし、ポートスキャンしてくるかもしれない。なので、POP/IMAP4 の時は是非とも暗号化して利用したいものです。

幸い、JailBreack した iPod Touch には ssh が入っているのでこれを利用して POP サーバ、もしくは IMAP4 サーバに ssh トンネルを掘ることが可能です。

と、言うことで簡単に ssh トンネルを掘るスクリプトを書いてみました。利用方法は以下の通り。

1. POP/IMAP4 サーバ上に自分のアカウントが存在し ssh ログインできること。
2. メールのアカウント設定で POP/IMAP4 サーバではなく localhost に接続するようにすること。
3. ターミナルから stun.sh が実行できること。

これだけです。まぁ、1. はちょっと敷居が高いかも。けど、それがクリアできれば特に問題は無いでしょう。以下の URL からダウンロードできます。

http://www.icmpv6.org/Prog/MacOSX/stun.sh

利用方法ですが、以下の通り。

1. コマンドオプションは三つ。s(start) t(stop) c(check)。
2. s オプションで Mail を kill してから ssh トンネルを掘りますが、接続できた時はパスフレーズを聞いて来るので入力。
3. t オプションで Mail と ssh トンネルのプロセスを殺します。
4. c オプションで Mail と ssh のプロセス番号を表示します。

注意点としては、ssh トンネルを掘る前に Mail が起動していると POP/IMAP4 サーバに接続できません。なので、s オプションの時に Mail を kill しています。c オプションで ssh プロセスの番号が Mail より若いことを確認します。
後、一回スリープしたら ssh セッションが切れるので毎回 t して s してあげる必要があります。

こんな所でしょうか。ダウンロードしたら stun.sh の上の環境変数にサーバ名とユーザ名を指定してください。default で localhost の port:143 を使うようにしています。

もしダウンロードした人がいたらコメントなど頂ければと思います。

11月 262007
 

iPod Touch をアップルストアーで予約して 10/2 に手もとに届いた。その後ずっと利用していて、ファームウェアの Version1.1.2 が出た所でアップデートしたんだけど、JailBreak してみたくなったので試してみた。

iPod Touch の無線 LAN はすごい便利なんだけど、メールが読めない点や GoogleMap が欲しかったりしたので「二月まで待っていられない。JailBreak するしかないかー。」とか思い試してみた。

今回やる作業は以下の通り。

・ファームウェアを Ver.1.1.2 から Ver.1.1.1 にデグレード
・jailbreakme.com にアクセス
・JailBreak を 実行
・iPhone の Ver.1.1.2 のファームウェアからメールとGoogleMapを抜きだし

情報を集めてみると以下のような URL 見ると比較的容易に行える。

http://japan.zdnet.com/security/story/0,3800079245,20358777,00.htm
http://japan.zdnet.com/security/story/0,3800079245,20359973-7,00.htm
http://d.1555.info/2007/10/12/ipodtouch-jailbreak/
http://kitaj.no-ip.com/tdiary/20071113.html

で、JailBreak が成功した iPod Touch はこんな感じ。メールと GoogleMap は iPod Phone の最新のファームウェアから抜き取って、scp とかで iPod Touch に持って行く。ってのが凄い技だなぁ。

snap_071958.jpg

iPod Touch は二つのパーティションに別れているんだけど、大体以下みたいな感じ。もう / パーティションの容量が無い・・。

root@/var/root > df -k
Filesystem     1K-blocks      Used  Available Use%  Mounted on
/dev/disk0s1     307200   288500      15628  95%   /
/dev/disk0s2   7622368 5073916  2548452   67%  /private/var

 
まぁ、色々いじってみたけど、非常に楽しい。UNIX が PDA の中に入った。と言う感じ。フツーの PDA の中に Linux や NetBSD をインストールして hoge るのと違って最初から UNIX が入っているのでタッチパッドのキーボードとか使えちゃうとか、インターフェースが全部使えちゃうので凄い嬉しい。もう NotePC 持ち歩く必要ないかなぁ。とか思ってしまう。

と、言う事で iPod Touch の UNIX らしい情報をちょっと書いておきますね。気がついた点としては

・IPv6 スタックありません。
・Bluetooth は内蔵していなさそう。

って感じでしょうかか。

kern.ostype = Darwin
kern.osrelease = 9.0.0d1
kern.osrevision = 199506
kern.version = Darwin Kernel Version 9.0.0d1:
Wed Oct 10 00:07:50 PDT 2007;
root:xnu-933.0.0.204.obj~7/RELEASE_ARM_S5L8900XRB
kern.maxvnodes = 2880
kern.maxproc = 52
kern.maxfiles = 12288
hw.machine = iPod1,1
hw.model = N45AP
hw.ncpu = 1
hw.byteorder = 1234
hw.physmem = 121634816
hw.usermem = 98885632
hw.busfrequency = 103000000
hw.cpufrequency = 412000000
hw.cachelinesize = 32
hw.l1icachesize = 16384
hw.l1dcachesize = 16384
hw.tbfrequency = 6000000
hw.memsize = 121634816
hw.availcpu = 1
hw.busfrequency: 103000000
hw.busfrequency_min: 103000000
hw.busfrequency_max: 103000000
hw.cpufrequency: 412000000
hw.cpufrequency_min: 412000000
hw.cpufrequency_max: 412000000
hw.cachelinesize: 32
hw.l1icachesize: 16384
hw.l1dcachesize: 16384
hw.memfrequency: 137333333
hw.memfrequency_min: 137333333
hw.memfrequency_max: 137333333
hw.prffrequency: 51500000
hw.prffrequency_min: 51500000
hw.prffrequency_max: 51500000
hw.fixfrequency: 24000000
hw.tbfrequency: 6000000

 
ちなみにバイナリは Mach-O executable arm でユニバーサルバイナリではなく ARM のバリナリでした。

せっかくなので、kldstat(MacOSX 風に言うと kextstat) の結果もつけておきます。実に 65 個ものカーネルモジュールがロードされています。

Index Name
1     com.apple.kernel
2     com.apple.kpi.bsd
3     com.apple.kpi.dsep
4     com.apple.kpi.iokit
5     com.apple.kpi.libkern
6     com.apple.kpi.mach
7     com.apple.kpi.unsupported
8     com.apple.iokit.IONVRAMFamily
9     com.apple.driver.AppleNMI
10   com.apple.iokit.IOSystemManagementFamily
11   com.apple.iokit.ApplePlatformFamily
12   com.apple.kernel.6.0
13   com.apple.kernel.bsd
14   com.apple.kernel.iokit
15   com.apple.kernel.libkern
16   com.apple.kernel.mach
17   com.apple.driver.FairPlayIOKit
18   com.apple.iokit.IOCoreSurface
19   com.apple.driver.AppleSerialKDP
20   com.apple.iokit.IOStorageFamily
21   com.apple.AppleDiskImageController
22   com.apple.driver.AppleS5L8900X
23   com.apple.iokit.IOHIDFamily
24   com.apple.driver.AppleM68Buttons
25   com.apple.iokit.IOSerialFamily
26   com.apple.driver.AppleOnboardSerial
27   com.apple.iokit.IOUSBDeviceFamily
28   com.apple.iokit.IOAccessoryManager
29   com.apple.driver.AppleARMPL192VIC
30   com.apple.driver.AppleARMPL080DMAC
31   com.apple.iokit.IOCryptoAcceleratorFamily
32   com.apple.driver.AppleS5L8900XCrypto
33   com.apple.driver.AppleS5L8900XUSBWrangler
34   com.apple.iokit.IOStreamFamily
35   com.apple.iokit.IOAudio2Family
36   com.apple.driver.AppleAMC
37   com.apple.iokit.IOFlashStorage
38   com.apple.driver.AppleS5L8900XFMC
39   com.apple.iokit.IOMobileGraphicsFamily
40   com.apple.driver.AppleH1CLCD
41   com.apple.iokit.IOSDIOFamily
42   com.apple.driver.AppleS5L8900XSDIO
43   com.apple.driver.AppleJPEGDriver
44   com.apple.driver.AppleMPVDDriver
45   com.apple.driver.AppleH1CameraInterface
46   com.apple.driver.AppleH264BPD
47   com.apple.driver.AppleMBX
48   com.apple.driver.AppleS5L8900XSerial
49   com.apple.driver.AppleImage2NORAccess
50   com.apple.driver.AppleMerlotLCD
51   com.apple.driver.AppleEmbeddedAccelerometer
52   com.apple.driver.AppleEmbeddedLightSensor
53   com.apple.iokit.AppleARMIISAudio
54   com.apple.driver.AppleWolfsonAudio
55   com.apple.driver.AppleWM8758Audio
56   com.apple.driver.ApplePCF50635PMU
57   com.apple.driver.AppleReliableSerialLayer
58   com.apple.driver.AppleMultitouchSPI
59   com.apple.driver.AppleS5L8900XIpodHAL
60   com.apple.driver.AppleNANDFTL
61   com.apple.iokit.IONetworkingFamily
62   com.apple.iokit.IO80211Family
63   com.apple.driver.AppleMRVL868x
64   com.apple.driver.AppleUSBMike
65   com.apple.driver.AppleUSBDeviceMux

 

全然話題が変わるのですが、GoogleMap で tokyo で検索したら以下が出ました。赤いまち針があるところが「tokyo」みたいなんですが、ふむー。オペラシティ辺りをさしてないかい? Apple Japan のあるところなんですけど・・;-)。

snap_072348.jpg

それにしても、技術者(クラッカか)の皆さんには感激します。お疲れ様でした。と、言うのも、以下の URL を読むとある意味凄いな。とか思ってしまったからです・・。こう言うネタって本当は褒めてはダメだんだよねぇ・・。


http://amegan.com/blog/mtarchives/003940.html

4月 302007
 

iPod miniを持っている。自宅では MacOSX を利用しているのでカレンダーなどを同期している。

会社では iPod にバッテリーが無い時だけ FreeBSD に接続し充電だけしている。まぁ、iPod を HFS+ にしているとファイルシステムとしては認識しなくて全然利用できないので ISMS 的にはなんの問題もないのだど、 ISMS の審査員がそこまで知っているか?と言えば知らないと思うので明らかにアウトだな。

で、話は konqueror との相性です。以前に KDE と hald の関係について書いたけど、hald がちょっと頑張りすぎる傾向にあるみたい。

FAT32 にした iPod を KDE が動作している FreeBSD に接続すると、mount しようとして hald が頑張るんだけど konqueror はそれをうまく認識できなくて、一人でブクブク太っていってしまう。気がついたら konqueror がメモリを食いつぶしていた。なんてことが多々あるわけですよ。

何回かに一回位は hald が拾ってくれる時があるんだけどねぇ。

後、iPod をつなげた瞬間に X が固まることもあったりするし、iPod をつなげたままリブートすると再起動中に途中で止まったりするし・・。

しかし、これらの現象、iPod を USB から引っこ抜くと全てちゃんと動き出す。iPod 恐るべし;-)。

ちなみに僕の持っている iPod は黄緑色の mini です。