最終更新: dreamcraft 2012年03月10日(土) 22:19:48履歴
前回の記事までで分かったこと。
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.
Example:
サンプルに従って実行してみます。
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で今度試してみようと思います。
今回はこのへんで終わりにします。
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で今度試してみようと思います。
今回はこのへんで終わりにします。
最新コメント