最終更新: dreamcraft 2012年03月10日(土) 22:08:53履歴
FreeBSDを日頃のデスクトップ環境として使っている僕の場合、FreeBSDで一つだけ困った事があります。
それはiPhoneとの連系なんですね。今回のこの記事は技術的な検討を目的としたもので、結論から言うと連系できません。
なので、今回の記事でiPhoneとFreeBSDの連系を目的にコマンドのコピペをやっても連系や同期はできません。
1.Phone libimobiledeviceとfusefs-ifuseAdd
何やらわけの分からないタイトルです。
どういうことかと言うと、話は単純です。僕が日常的に使っている自作2号機はFreeBSD-8.2-Release + KDE4.5.5で動いているのですが、iPhoneとKontactが同期できないかな???と言う疑問をもったのが始まりです。なので、目的はiPhoneとKontactが同期出来る事を目指しています。
で、いろいろとハンドブックやGoogle先生で調べてみると、簡単にはできそうもないと言うことが分かりました。
だけど、諦めるのも癪に障るのでしぶとく調べました。
絶対的な前提条件としてカーネルがiPhone USBイーサネットに対応していなければならない事がわかりました。8.2-Releaseは対応しているようです。
で、更に調べた結果、/usr/ports/audioにgtkpodとかlibgpodなるものがありました。ネーミングからしてかなり怪しいです。プンプン臭います。で、インストールしてみました。
gtkpodのキャプチャをはっておきます。これが正しく動作すればiPhoneと同期出来るようですが・・・???
勿論、この段階ではマウントすら出来ていないので無理です。
で、どうやってiPhoneをマウントすれば良いのだろうって考えて調べました。
Linuxでは、mobiledeviceと言うのがあってiPhoneとかiPadとかをmobiledeviceを使ってマウント出来るみたいな事が書いてありました。もしかして、そんなにメジャーなモノなら、もしかしたらFreeBSDのportsに入っているかも?と、言うことでpsearch。
mobiledeviceありました。portsの説明にこう書いてあります。
"comms/libimobiledevice A library to communicate with Apple iPhone/iPod Touch devices"
、「Apple iPhone/iPod Touch通信ライブラリ」と言うぐらいだから、これをインストールすれば通信できるの?と言うことで取り合えずインストールしました。
ポイントとして、どうもiPhone側でデザリングを有効にする必要があるみたいです。
libimobiledeviceに依存しているportsは以下です。
・gnutls-2.12.14
・libgcrypt-1.5.0
・libplist-1.4
・usbmuxd-1.0.7_1
・nettle-2.4
・p11-kit-0.9
この内、libplist,usbmuxdは特に重要みたいです。ただ、これだけではマウント出来ませんでし
た。更に調べると、usbmuxdを使って通信を制御するみたいです。実行結果を以下に書きます。
dreamcraft2# /usr/local/sbin/usbmuxd -U root -f
[20:02:29.740][3] usbmuxd v1.0.7 starting up
[20:02:29.762][3] Could not check kernel ownership of interface 0 for device 7-3: -99
[20:02:29.790][3] Connecting to new device on location 0x70003 as ID 1
[20:02:29.790][3] Initialization complete
[20:02:29.790][3] Connected to v1.0 device 1 on location 0x70003 with serial number 0xx7x02ca3x006dx7ex7cxe3cxbc4x3ax4xxxxxx
取り合えず、iPhone4Sのシリアルナンバーが取得できたみたいです。
中段すると以下が返ってきました。
[20:06:42.713][3] Removed device 1 on location 0x70003
[20:06:42.718][3] Shutdown complete
usbmuxdをシャットダウンしてiPhoneの接続を解除しています。と、言うことは接続も解除も出来ていると言うこと。
そんでもって、もう一度実行してみます。
iPhoneのIPアドレスをDHCPで取得してみます。
reamcraft2# /usr/local/sbin/usbmuxd -U root -f &
[2] 70999
dreamcraft2# [20:11:55.022][3] usbmuxd v1.0.7 starting up
[20:11:55.024][3] Connecting to new device on location 0x70003 as ID 1
[20:11:55.024][3] Initialization complete
[20:11:55.025][3] Connected to v1.0 device 1 on location 0x70003 with serial number 0xx7x02ca3x006dx7ex7cxe3cxbc4x3ax4xxxxxx
DHCPDISCOVER on sk0 to 255.255.255.255 port 67 interval 8
DHCPOFFER from 192.168.11.1
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#
usbmuxdを実行したあと、dhclientでネットワークインターフェースを指定します。
取り合えず、マウントは出来てないですが、通信は出来そうな感じがします。
更に調べます。マウントにはどうやら、fusefs-ifuse-1.1.1が必要みたいなんで、こいつもインストールしました。インストールの最後にこんな事が書かれています。
You should run usbmuxd, and after plugging in your iGadget, run
usbmuxdを起動して、iGadegetに接続した後でifuseを実行する。うーん、分からん???
そもそもiGadegetって何を指しているんでしょう?
それはiPhoneとの連系なんですね。今回のこの記事は技術的な検討を目的としたもので、結論から言うと連系できません。
なので、今回の記事でiPhoneとFreeBSDの連系を目的にコマンドのコピペをやっても連系や同期はできません。
1.Phone libimobiledeviceとfusefs-ifuseAdd
何やらわけの分からないタイトルです。
どういうことかと言うと、話は単純です。僕が日常的に使っている自作2号機はFreeBSD-8.2-Release + KDE4.5.5で動いているのですが、iPhoneとKontactが同期できないかな???と言う疑問をもったのが始まりです。なので、目的はiPhoneとKontactが同期出来る事を目指しています。
で、いろいろとハンドブックやGoogle先生で調べてみると、簡単にはできそうもないと言うことが分かりました。
だけど、諦めるのも癪に障るのでしぶとく調べました。
絶対的な前提条件としてカーネルがiPhone USBイーサネットに対応していなければならない事がわかりました。8.2-Releaseは対応しているようです。
で、更に調べた結果、/usr/ports/audioにgtkpodとかlibgpodなるものがありました。ネーミングからしてかなり怪しいです。プンプン臭います。で、インストールしてみました。
gtkpodのキャプチャをはっておきます。これが正しく動作すればiPhoneと同期出来るようですが・・・???
勿論、この段階ではマウントすら出来ていないので無理です。
で、どうやってiPhoneをマウントすれば良いのだろうって考えて調べました。
Linuxでは、mobiledeviceと言うのがあってiPhoneとかiPadとかをmobiledeviceを使ってマウント出来るみたいな事が書いてありました。もしかして、そんなにメジャーなモノなら、もしかしたらFreeBSDのportsに入っているかも?と、言うことでpsearch。
mobiledeviceありました。portsの説明にこう書いてあります。
"comms/libimobiledevice A library to communicate with Apple iPhone/iPod Touch devices"
、「Apple iPhone/iPod Touch通信ライブラリ」と言うぐらいだから、これをインストールすれば通信できるの?と言うことで取り合えずインストールしました。
ポイントとして、どうもiPhone側でデザリングを有効にする必要があるみたいです。
libimobiledeviceに依存しているportsは以下です。
・gnutls-2.12.14
・libgcrypt-1.5.0
・libplist-1.4
・usbmuxd-1.0.7_1
・nettle-2.4
・p11-kit-0.9
この内、libplist,usbmuxdは特に重要みたいです。ただ、これだけではマウント出来ませんでし
た。更に調べると、usbmuxdを使って通信を制御するみたいです。実行結果を以下に書きます。
dreamcraft2# /usr/local/sbin/usbmuxd -U root -f
[20:02:29.740][3] usbmuxd v1.0.7 starting up
[20:02:29.762][3] Could not check kernel ownership of interface 0 for device 7-3: -99
[20:02:29.790][3] Connecting to new device on location 0x70003 as ID 1
[20:02:29.790][3] Initialization complete
[20:02:29.790][3] Connected to v1.0 device 1 on location 0x70003 with serial number 0xx7x02ca3x006dx7ex7cxe3cxbc4x3ax4xxxxxx
取り合えず、iPhone4Sのシリアルナンバーが取得できたみたいです。
中段すると以下が返ってきました。
C[20:06:42.612][3] Caught signal 2, exiting[20:06:42.612][3] usbmuxd shutting down
[20:06:42.713][3] Removed device 1 on location 0x70003
[20:06:42.718][3] Shutdown complete
usbmuxdをシャットダウンしてiPhoneの接続を解除しています。と、言うことは接続も解除も出来ていると言うこと。
そんでもって、もう一度実行してみます。
iPhoneのIPアドレスをDHCPで取得してみます。
reamcraft2# /usr/local/sbin/usbmuxd -U root -f &
[2] 70999
dreamcraft2# [20:11:55.022][3] usbmuxd v1.0.7 starting up
[20:11:55.024][3] Connecting to new device on location 0x70003 as ID 1
[20:11:55.024][3] Initialization complete
[20:11:55.025][3] Connected to v1.0 device 1 on location 0x70003 with serial number 0xx7x02ca3x006dx7ex7cxe3cxbc4x3ax4xxxxxx
dreamcraft2# dhclient sk0
DHCPDISCOVER on sk0 to 255.255.255.255 port 67 interval 8
DHCPOFFER from 192.168.11.1
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#
usbmuxdを実行したあと、dhclientでネットワークインターフェースを指定します。
取り合えず、マウントは出来てないですが、通信は出来そうな感じがします。
更に調べます。マウントにはどうやら、fusefs-ifuse-1.1.1が必要みたいなんで、こいつもインストールしました。インストールの最後にこんな事が書かれています。
You should run usbmuxd, and after plugging in your iGadget, run
ifuse -o allow_other /mnt/ipod
- after it, you can reach it's files, and
usbmuxdを起動して、iGadegetに接続した後でifuseを実行する。うーん、分からん???
そもそもiGadegetって何を指しているんでしょう?
最新コメント