天上天下唯我独尊!!ブログのFreeBSDと自作PCのまとめ記事です.

前回の記事までで分かったこと。

1)comms/libimobiledeviceの依存関係でusbmuxdが重要
2)/usr/local/sbin/usbmuxd -U root -fで通信制御を実行してiPhone4Sのシリアル取得が出来た。
3)fusefs-ifuse-1.1.1でマウントが可能らしい。これが出来ればgtkpodが使える様である。


で、前回の記事迄の作業で実際に出来たこととして、iPhone4Sの写真の取り込みが出来ました。

digikamに取り込んでみました。
USB接続でPTPによる取り込みです。
これは正常に動いています。




今まで、iPhoneからPictshareを使ってGoogleのアルバムにアップロードしてからdigikamでダウンロードしていたことを考えると、ちょっとだけ便利になりました。



さて、話を元に戻してiPhoneのマウントさえ出来ればgtkpodが使える事も分かり、それもどうやってやれば良いかも大分掴めてきました。

dreamcraft2# /usr/local/sbin/usbmuxd -U root -f &
dreamcraft2# [21:44:44.188][3] usbmuxd v1.0.7 starting up
[21:44:44.205][3] Connecting to new device on location 0x70003 as ID 1
[21:44:44.205][3] Initialization complete
[21:44:44.205][3] Connected to v1.0 device 1 on location 0x70003 with serial number 0967302ca34006d47e27c3e3c2bc473a24dd1620

dreamcraft2# dhclient sk0
DHCPREQUEST on sk0 to 255.255.255.255 port 67
DHCPACK from 192.168.11.1
bound to 192.168.11.4 -- renewal in 86400 seconds.
dreamcraft2#


更に調べると、iPhone4SをUSB Eathernetで通信させるためにはどうやら、cdceが関係しているらしい。cdceとは、USB Communication Device Class Ethernet driverです。

まずはこれを設定しなければならないようです。
具体的には、/boot/loader.confに以下を追加します。
if_cdce_load="YES"

因みにugenconfigはこんな感じです。
ugen7.2: at usbus7, cfg=3 md=HOST spd=HIGH (480Mbps) pwr=ON

で、ifuseというiphone,iPodをマウントするツールを調べてみる。ヘルプには以下の様に書かれています。

dreamcraft2# ifuse -h
Usage: ifuse [OPTIONS]
Mount filesystem of an iPhone, iPod Touch, iPad or Apple TV.
-o opt,[opt...] mount options -u, --uuid UUID mount specific device by its 40-digit device UUID\ -h, --help print usage information -V, --version print version --root mount root file system (jailbroken device required) --debug enable libimobiledevice communication debugging

Example:
$ ifuse /media/iPhone --root
This mounts the root filesystem of the first attached device on this computer in the directory /media/iPhone.





サンプルに従って実行してみます。
dreamcraft2# ifuse /media/iphone --root
Failed to connect to lockdownd service on the device.
Try again. If it still fails try rebooting your device.
dreamcraft2#



やっぱりダメでした。


uuidを指定すれば良いのかな???
結果、NGでエラーメッセージは上と同じでした^^;

"locked service on the device"と言うことから、接続は出来てもマウントは出来ないと言うのが
今のiphoneの制約なんでしょうかね。動作としては、USB接続をした時にはちゃんと接続された事が
表示されるし、USBから外した時にもちゃんと表示されます。と、言うことはiPhone4Sを正しく認識出来ているはずです。。

USBに刺したとき)
dreamcraft2# [23:26:52.124][3] Could not check kernel ownership of interface 0 for device 7-2: -99
[23:26:52.151][3] Connecting to new device on location 0x70002 as ID 3
[23:26:52.152][3] Connected to v1.0 device 3 on location 0x70002 with serial number 0xx7x02ca3x006dx7ex7cxe3cxbc4x3ax4xxxxxx

USBから抜いた時)
dreamcraft2# [23:23:20.835][1] RX transfer stalled for device 7-2
[23:23:20.836][3] Removed device 2 on location 0x70002


で、ダメ元でgtkpodを動かしてみました。あれ・・・?

Add Filesとかを選択してみると、




iPhoneのフォルダが見えてます。
どうなっているんだろう?








更に、Dolphone上でもちゃんとiPhone4Sのフォルダが見えています。フォルダの中身はiPhone4S側でロックがかけられているので見る事は出来ないようです。


一つ僕が分かった事はiTunes以外のアプリケーションとは同期させないということなのでしょう。それで
"locked service on the device"と言う表示なのでしょうか?

つまり同期はできないけど、フォルダは見れる=マウント出来ると言うことです。



今回、僕が試したのはiPhone4Sですがもしかしたら3GSや3Gなどの旧機種では同期ができるのかな?
手元にある3GSで今度試してみようと思います。

今回はこのへんで終わりにします。
×

この広告は60日間更新がないwikiに表示されております。

アクセスカウンター

Menu

章別メニュー

目的別メニュー

開くメニュー

閉じるメニュー

  • アイテム
  • アイテム
  • アイテム
【メニュー編集】

サーバ・パソコン・電子機器のことなら

夢システム工房 人の技術の未来をつなぐ 技術の夢システム工房


夢システム工房は電子機器の開発とシステム開発を得意としています。なんなりとご相談ください。

フリーエリア

Wiki内検索

フリーエリア

ブロガー(ブログ)交流空間 エディタコミュニティ

管理人/副管理人のみ編集できます

メンバー募集!