[[diary/Kojima]]

・Nexus 7とMTP

Nexus 7に限らず,最近の高機能なメディアプレイヤーやタブレットPCは,
USB経由でPCとデータ交換する際にMTP(Media Transfer Protocol)と呼ばれるプロトコルを
使っているらしい.

一昔前の単機能のメディアプレイヤーでは,
USBで接続するとMass Storage ClassとしてHDDが接続されたように見え,
LinuxからでもVFATあたりでマウントしてやれば,
cpやmvでデータのやりとりができたのだけど,
最近の高機能なプレイヤーではやりとりするデータをより厳密にコントロールしたいような意図もあって,
MTPと呼ばれるプロトコルを使って,どこ(のディレクトリ)に,
どういう種類のデータを転送するか,を明示できるようになっているらしい.

# もともとはPTP(Picture Transfer Protocol)というデジカメ用のデータ転送プロトコルがあって,それを拡張する形でMTPになったそうな.

もともとMTPはWindows Media Playerで提案されたプロトコルだそうで,
Linuxではそれほど広く使われていないようだけど,
最近ではlibmtpというライブラリが開発されていて,
このライブラリにはmtp-detectや mtp-files, 
mtp-folders というコマンドが用意されており,
これらを使えばMTP経由でデータ交換できるらしい.

 $ mtp-detect 
 Error: Unable to open ~/.mtpz-data for reading.
 libmtp version: 1.1.5
 
 Listing raw device(s)
 libusb couldn't open USB device /dev/bus/usb/010/003: Permission denied.
 libusb requires write access to USB device nodes.
 Device 0 (VID=18d1 and PID=4e41) is a Google Inc (for Asus) Nexus 7 (MTP).
    Found 1 device(s):
    Google Inc (for Asus): Nexus 7 (MTP) (18d1:4e41) @ bus 10, dev 15
 Attempting to connect device(s)
 ignoring libusb_claim_interface() = -6PTP_ERROR_IO: failed to open session, trying again after resetting USB interface
 LIBMTP libusb: Attempt to reset device
 Android device detected, assigning default bug flags
 USB low-level info:
    Interface has a kernel driver attached.
    bcdUSB: 512
 ...
 libmtp supported (playable) filetypes:
    Folder
    Text file
    HTML file
    RIFF WAVE file
    ISO MPEG-1 Audio Layer 3
    MPEG video stream
    JPEG file
    BMP bitmap file
    GIF bitmap file
    JFIF file
    Portable Network Graphics
    TIFF bitmap file
    Microsoft Windows Media Audio
    Ogg container format
    Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
    MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
    ISO MPEG-1 Audio Layer 2
    Abstract Playlist file
    XML file
    Free Lossless Audio Codec (FLAC)
 OK.

libmtpが提供するこれらのコマンドを使えば,
Nexus 7とデータ交換はできそうなものの,
一々コマンドラインでファイル名を指定するのも面倒なので,
なにか便利なソフトウェアがないかしらん,,
と探したら,gMTPというのを見つけたのであった(続く)

#comment

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS