미디어 전송 프로토콜

Media Transfer Protocol

MTP(Media Transfer Protocol)는 PTP(Picture Transfer Protocol) 통신 프로토콜의 확장 기능으로, 미디어 파일을 휴대용 [1]장치 간에 자동으로 전송할 수 있습니다.PTP가 디지털 카메라에서 사진을 다운로드하도록 설계된 반면, 미디어 전송 프로토콜은 디지털 오디오 플레이어의 음악 파일 및 휴대용 미디어 플레이어의 미디어 파일뿐만 아니라 개인 디지털 보조 장치의 개인 정보를 전송할 수 있습니다.MTP는 Windows Media 플랫폼용 Digital [1]Rights Management(DRM; 디지털 권리 관리) 서비스인 WMDRM10-PD의 주요 부분입니다.2011년에는 [2]Android와 파일을 주고받는 표준 방식이 되었습니다.

MTP는 "Windows Media" 프레임워크의 일부이므로 Windows Media Player와 밀접하게 관련되어 있습니다.Windows XP SP2의 Microsoft Windows 운영 체제 버전은 MTP를 지원합니다. Windows XP에는 Windows Media Player 10 [3]이상이 필요합니다.이후 Windows 버전에는 지원 기능이 내장되어 있습니다.Microsoft는 이전 버전의 Windows에서 Windows 98로 MTP Porting Kit를 사용할 수 있게 되었습니다.

USB Implementers Forum 디바이스 워킹 그룹은 2008년 [4]5월에 MTP를 본격적인 Universal Serial Bus(USB) 디바이스 클래스로 표준화했습니다.그 후 MTP는 PTP에 대한 공식 확장으로 동일한 [5]클래스 코드를 공유합니다.

개요

이 프로토콜의 주요 목적은 미디어 파일관련 메타데이터를 한 번에 하나의 전송 기능(in/out)으로 휴대용 장치 간에 전송 및 전송하는 것만을 허용하는 것입니다.열기, 편집 및 수정과 같은 작업은 지원하지 않습니다.회피책은 이러한 작업을 위해 호스팅 시스템에 복사한 후 다시 복사하는 것입니다.배터리 구동식 모바일 기기는 [6]MTP를 통해 배터리 충전 수준을 보고할 수 있습니다.

이 프로토콜은 원래 USB에서 사용하기 위해 구현되었지만 TCP/IP 및 Bluetooth에서 사용하기 위해 확장되었습니다.Windows Vista 는, TCP/IP 를 개입시켜 MTP 를 서포트하고 있습니다.Windows 7 및 Windows Vista 용 플랫폼 업데이트의 Windows Vista 는, Bluetooth [7]를 개입시켜 MTP 를 서포트하고 있습니다.MTP 디바이스에 접속하는 호스트는 MTP 이니시에이터라고 불리며 디바이스 자체는 MTP Responder입니다.[8]

예를 들어 USB Mass-Storage Device Class(MSC; 대용량 저장 장치 클래스)가 아닌 MTP를 사용하는 주된 이유는 MSC가 논리 파일레벨이 아닌 대용량 저장 장치 블록(통상 FAT 블록)의 세밀도로 동작하기 때문입니다.즉, USB 대용량 스토리지 클래스는 호스트 컴퓨터가 대상 장치와 안전하게 공유될 수 있는 파일 시스템이 아니라 콤팩트 플래시와 같은 대용량 스토리지에 차별 없이 액세스할 수 있도록 설계되었습니다(호스트가 수정/액세스할 수 있는 특정 파일은 제외).따라서 실제로는 USB 호스트 컴퓨터가 MSC 파티션을 마운트하면 스토리지에 대한 절대적인 제어가 이루어집니다.이 경우 호스트 컴퓨터가 연결을 끊을 때까지 데이터가 파손될 위험 없이 디바이스에 의해 안전하게 수정되지 않을 수 있습니다.또한 호스트 컴퓨터가 연결된 스토리지 디바이스를 완전히 제어할 수 있기 때문에 호스트 컴퓨터가 파일 시스템을 손상시키거나 USB 장치에서 지원하지 않는 파일 시스템으로 다시 포맷하거나 USB 디바이스가 이를 완전히 인식하지 못하도록 수정할 수 있습니다.

MTP 및 PTP는 특히 블록 수준에서 관리 스토리지 단위를 전체(매우 큰) 대용량 스토리지 장치가 아닌 로컬 파일로 만들어 이 문제를 해결합니다.이와 같이 MTP는 전체 파일을 쓰기/읽기 또는 전혀 하지 않는 트랜잭션 파일 시스템처럼 작동합니다.전송 실패의 영향을 받지 않는 스토리지 미디어.

디바이스가 디스크 컨텐츠의 데이터베이스/인덱스를 유지하는 경우, MTP는 컨텐츠를 변경할 때마다 디스크 전체를 재스캔하는 비용을 절감합니다.

또한 MTP를 통해 MTP 이니시에이터는 파일 형식 및 기능에 관한 디바이스의 특정 기능을 식별할 수 있습니다.특히 MTP 이니시에이터는 파일의 잠금을 해제하거나 디지털 권리 관리를 활성화하기 위해 패스워드 및 기타 정보를 제공해야 할 수 있습니다.이 기능은 핵심 표준에는 구체적으로 기재되어 있지 않지만 벤더 확장을 통해 제공됩니다.MTPZ(Zune Extension to MTP)는 인증이 처리될 때까지 파일에 대한 접근을 특별히 거부합니다.이것은 Windows Media Player 10 이상을 사용하는 경우에만 가능합니다.

USB 대용량 스토리지와의 비교

MTP의 장점은 (+)로 표시되고 단점은 (-)로 표시됩니다.

블록 지향 프로토콜 대신 파일 지향

파일 시스템 및 메타데이터 인덱스를 공개하지 않음으로써 이들 인덱스의 무결성이 디바이스를 완전히 제어할 수 있습니다.

  • (+) 쓰기 중에 디바이스를 분리해도 파일 시스템 파손의 위험이 없습니다.파일 전송은 원자성이며, 사용자가 명시적으로 파일 시스템을 마운트 해제할 필요가 없습니다(「안전한 삭제」).
  • 디바이스가 연결되어 있는 동안 자신의 파일 시스템에 액세스할 수 있습니다.
    • (+) 분리 후 재인덱스화를 피할 수 있습니다.전송에 메타데이터를 포함시키는 것도 도움이 됩니다.
    • (+) 호스트 노출을 위해 별도의 파일 시스템이 필요하지 않습니다.이것에 의해, 이 파일 시스템에 고정 사이즈의 파티션을 할당할 필요가 없어집니다.
  • (+) 파일 시스템 지원:호스트는 디바이스의 파일 시스템을 지원할 필요가 없습니다.반대로 디바이스 제조원은 널리 지원되는 FAT 계열의 파일 시스템 이외의 파일 시스템(일반적으로 Windows에서 지원되지 않는 Linux 파일 시스템)을 자유롭게 선택할 수 있습니다.
  • (-) 삭제 취소:MTP는 블록 수준 액세스를 제공하지 않는 추상화 계층이기 때문에 시스템의 파일 시스템 복구 및 삭제 취소 도구를 사용할 수 없습니다.
  • (-) 누락된 타임스탬프:많은 MTP 연결 장치(특히 오래된 장치)는 프로토콜을 통해 파일 타임스탬프를 보고하지 않기 때문에 컴퓨터에서 파일을 복사/이동할 때 파일이 손실됩니다.Exif 데이터가 내장된 JPEG 사진 등의 파일에는 여전히 내부적으로 타임스탬프가 있습니다(또한 이러한 데이터를 기반으로 파일 타임스탬프를 복원하는 유틸리티도 있습니다). 그러나 이러한 내부 메타데이터가 없는 다른 유형의 파일에서는 이 회피책을 사용할 수 없습니다.
  • (-) 위치 오류:MTP 호스트(예: 스마트폰)와 클라이언트(예: 컴퓨터 파일 관리자) 간의 통신이 원활하지 않아 잘못된 위치에 파일이 표시되는 경우가 있다고 사용자가 보고했습니다.클라이언트가 모든 파일을 검출하지 않고 디렉토리가 MTP 호스트로부터 멀어지는 경우, 검출되지 않은 파일은 정상적으로 [9][10]전송되지 않고 삭제될 수 있습니다.
  • (-) 잘라내기:MTP를 통해 컴퓨터에 연결된 상태에서 스마트폰에 파일이 새로 생성된 경우, 파일이 완료되지 않은 순간에 디렉터리 목록을 로드했기 때문에 컴퓨터의 파일 관리자가 파일 크기를 너무 작게 보고할 수 있습니다.파일을 전화기에서 이동하면 파일이 완전히 전송되지 않은 상태에서 파일이 잘못 전송되었다고 파일 매니저가 생각하기 때문에 파일이 소스로부터 삭제될 때 대상 경로에서 잘릴 수 있습니다(불완전).

성능

  • (-) MTP 동작은 다중화할 수 없습니다.다른 동작을 시작하기 전에 진행 중인 동작을 완료하거나 중단해야 합니다.호스트 운영 체제가 블록 전송을 자유롭게 다중화할 수 있고 논리적 작업이 긴급한 현상인 USB 대용량 스토리지와 달리, MTP에 의해 지원되는 작업은 전체 파일을 전송하는 등 보다 세분화됩니다.(여러 명령 대기열을 추가하는 USB 대용량 스토리지의 UAS 확장과는 달리) 프로토콜 자체로는 병렬 또는 비동기화되지 않습니다.
  • (-) 블록이나 바이트 범위 등 파일의 일부 전송에 대한 제한적 지원(「직접 수정부분 전송 기능」 참조).
  • (-) 파일의 직접 변경에 대한 지원은 한정되어 있습니다( § 직접 변경부분 전송 기능 참조).파일 또는 메타데이터를 변경하려면 파일 전체를 디바이스에서 복사하여 재업로드해야 할 수 있습니다.이 경우 파일 또는 디렉토리가 크면 시간이 오래 걸리고 그 사이에 다른 작업을 위해 디바이스가 차단됩니다.Android에서 Google의 MTP 구현에는 이러한 제한을 해결하기 위한 확장이 포함되어 있지만, 이러한 확장은 호스트 운영 [11][12]체제에서 지원되어야 합니다.
  • (-) 긴 파일 목록(수천 개의 항목)을 로드하고 파일 전송을 위한 "준비"를 하는 데 파일 전송 자체보다 시간이 더 걸릴 수 있습니다.

MTP 비웨어 소프트웨어에 대한 투과성

(-) Windows 에서는, 드라이브 문자나 UNC 패스가 가상 파일 시스템으로 기본적으로 표시되지 않기 때문에, MTP 디바이스에 할당되지 않습니다.드라이브 문자 또는 UNC 경로가 없으면 MTP 비웨어 소프트웨어는 이러한 장치의 디렉토리 또는 파일에 액세스할 수 없습니다.사용자는 MTP 인식 응용 프로그램으로 전환하거나 Windows 탐색기 등의 MTP 인식 응용 프로그램을 사용하여 응용 프로그램이 액세스할 수 있는 파일 시스템에 파일을 복사 또는 이동해야 합니다.

호스트 컴퓨터의 안티바이러스 소프트웨어는 MTP 디바이스를 인식하지 못해 대용량 스토리지 디바이스보다 보안이 저하될 수 있습니다(다만, MTP 디바이스의 파일이 사용 전에 복사 또는 호스트로 이동되는 경우 MTP 비웨어 안티바이러스 소프트웨어는 이러한 디바이스를 [citation needed]스캔할 수 있습니다).또, 디바이스의 통상의 사용을 차단하고 있기 때문에, 안티바이러스 스캔은 실용적이지 않을 수도 있습니다.

드라이버는 지원되는 디바이스의 고정 세트를 알고 있습니다.

(-) PTP/MTP USB 디바이스 클래스로 식별 가능하지만, libmtp 문서에서는 벤더와 제품 ID의 조합이 MTP 디바이스의 식별에 기능하고 있는 것을 나타내고 있습니다.또, Windows [13]드라이버도 사용하고 있습니다.Libmtp에는, 서포트되고 있는 디바이스의 벤더 및 제품 ID 번호의 방대한 리스트와 [14][15]버그에 관한 회피책이 포함되어 있습니다.이 비일반적인 방법론은 MTP 드라이버의 새로운 디바이스와의 향후 호환성을 저해합니다.

규격에서 정의된 파일 형식의 고정 집합을 알고 있습니다.

MTP 사양에는 객체 [5]형식이라고 불리는 파일 형식의 열거가 포함되어 있습니다.이 열거는 지원되는 파일 형식 및 전송된 파일 형식을 전달할 때 사용됩니다.처음에 분류되지 않은 형식과 별도로 형식 목록은 이미지, 오디오, 비디오 및 문서 형식의 범주로 그룹화되며 각 범주는 "정의되지 않은" 형식 뒤에 특정 형식이 나옵니다.슈퍼 제네릭 "정의되지 않은 개체" 형식도 있습니다.

Jolla는 모바일 운영체제 Sailfish OS에서 비디오 포맷을 지원하지 않는 이유 중 하나로 MTP에서의 WebM 지원 부족을 꼽았다.WebM이 MTP 1.1 [16][unreliable source?]사양에 정의되어 있지 않은 것 이외에는 제한이 툴 또는 사양에 있는지 불명확합니다.

직접 수정 및 부분 전송 기능

이러한 기능은 전체 파일 전송 및 재업로드의 보다 효율적인 대안으로 사용할 수 있습니다.

MTP 1.1 [5]사양에서:

오퍼코드 작업명 설명.
0x9805 Get Object Prop List(Get Object Prop List) 메타데이터 전송
0x9806 Set Object Prop List
0x1019 오브젝트 이동 파일 또는 디렉터리 이름 변경
0x101B Get Partial Object(Get Partial Object) 파일의 바이트 범위 요청

Android 확장 기능

go-mtpfs에 [12]따르면:

오퍼코드 작업명 설명.
0x95C1 Get Partial Object 64 Get Partial Object와 동일하지만 64비트 오프셋이 있음
0x95C2 Send Partial Object(Send Partial Object) GetPartialObject64와 동일하지만 호스트를 디바이스로 복사
0x95C3 잘라내기 오브젝트 파일을 64비트 길이로 잘라냅니다.
0x95C4 Begin Edit Object(편집 오브젝트 시작) SendPartialObject 및 TruncateObject사용하기 전에 호출해야 합니다.
0x95C5 End Edit Object(편집 객체 종료) SendPartialObject 및 TruncateObject에서 수행한 변경을 커밋하기 위해 호출됩니다.

MTP 지원

창문들

Windows에서의 적응

MTP는 Windows Media Player 10 이후 버전이 설치되어 있는 경우 Windows XP에서 지원됩니다.Windows Vista 이후에는 MTP 지원이 내장되어 있습니다.Windows 2000, Windows 98, 및 Windows Me 의 구버전의 경우, Microsoft 는 MTP 디바이스 드라이버를 포함한 MTP Porting [17]Kit 를 릴리스 하고 있습니다.Creative Technology와 같은 일부 제조업체에서는 일부 플레이어를 위한 레거시 MTP 드라이버도 제공하고 있습니다.이러한 드라이버는 보통 MTP Porting Kit 파일과 특정 [citation needed]플레이어를 설명하는 맞춤형 INF 파일로 구성됩니다.

소프트웨어별 지원

Windows는 MTP를 통해 연결된 장치에 드라이브 문자 또는 UNC 경로 이름을 할당하지 않습니다. 대신 Windows 탐색기와 같은 MTP 인식 응용 프로그램에서 이름 있는 장치로만 표시됩니다.USB 대용량 스토리지를 구현하는 디바이스와 비교하여 이러한 디바이스는 드라이브 문자 또는 UNC 경로에 의존하는 스크립트나 일반 Windows 프로그램을 통해 프로그래밍 방식으로 액세스할 수 없습니다.대신 Windows 탐색기 또는 특별히 작성된 MTP 지원 응용 프로그램을 사용하여 파일을 조작해야 합니다.

Windows 에서는, MTP 호환 디바이스는 자동 동기라고 하는 기능을 서포트하고 있습니다.이 기능을 사용하면, 컨텐츠가 Windows Media Player 와 호환성이 있는 경우, 카피 또는 새로 취득한 모든 컨텐츠를 디바이스에 자동적으로 전송 하도록 Windows Media Player 를 설정할 수 있습니다.자동 동기화는 사용자가 특정 기준을 충족하는 콘텐츠(예: 별 4개 이상 등급의 노래)만 전송하도록 사용자 지정할 수 있습니다.디바이스의 파일 속성(사용자 등급 및 파일 재생 횟수 등)에 대한 변경은 디바이스가 재접속될 때 컴퓨터에 반영될 수 있습니다.

MTP를 통해 액세스된 파일의 복사본은 재부팅 후에도 호스트 컴퓨터에 [citation needed]남아 있을 수 있으며, 이 복사본은 해당 파일에 액세스한 사용자 계정뿐만 아니라 관리자 사용자를 포함하여 해당 사용자 계정의 파일을 읽을 수 있는 다른 사용자 계정에도 액세스할 수 있습니다.Windows 7의 센서 플랫폼은 MTP 호환 [18]장치에 내장된 센서를 지원합니다.

파일 이동 동작

Windows 탐색기에서 사용하는 MTP 구현에서는 공간을 확보하기 위해 모바일 장치의 스토리지에서 이동한 선택 항목의 파일은 각 파일 후에 개별적으로 삭제되지 않고 전송이 완료된 후에만 선택 항목 전체가 소스에서 한 번에 삭제됩니다.

그 결과 파일 이동이 수동이든 예기치 않게 중단되어도 소스 디바이스의 [19][20]빈 공간이 확보되지 않습니다.

Unix 계열 시스템

미디어 전송 프로토콜의 무료 오픈 소스 구현은 libmtp로 [21]사용할 수 있습니다.이 라이브러리에는 다양한 [14]소스로부터의 제품 ID와 디바이스 ID가 포함되어 있으며 MTP 지원을 위해 다른 소프트웨어에서 일반적으로 사용됩니다.

그래픽스

GNOME Files(이전의 Nautilus)나 Archive Manager(이전의 File-Roller)의 GNOME 애플리케이션은, GIO 베이스의 GVfs 를 사용해 MTP 디바이스상의 파일에 액세스 합니다.버전 1.15.2(2013-01-15)[22]에서는 Philip Langdale에 [23][24]의해 GVFS에 적절한 MTP 지원이 추가되었습니다.Google의 직접 I/O 확장을 활성화하기 위한 GVfs용 초기 패치를 사용할 [25]수 있습니다.

KDE 프로젝트는 GVFS와 유사한 수준의 통합으로 MTP KIO 슬레이브를 개발합니다.

GNOME 또는 KDE와 관련이 없는 것은 *NIX 그래픽 MTP 지원 미디어 플레이어 gMTP입니다.

가상 파일 시스템

UNIX 파일 시스템 계층 내에 MTP 장치를 마운트하기 위한 FUSE 기반 파일 시스템을 제공하는 툴이 여러 개 있어 파일 및 디렉토리에서 작동하는 모든 프로그램에 액세스할 수 있습니다.예를 들어 mtpfs, jMTPFS, go-mtpfssimple-mtpfs [26]등이 있습니다.

MacOS

macOS는 ("디지털 이미지" 응용 프로그램을 통해) MTP를 기본적으로 지원하지만, MTP 장치를 드라이브로 마운트할 수 있는 (서드파티) 드라이버는 없습니다.또한 Mac OS X v10.5 이상에서는 다음과 같은 여러 타사 파일 전송 응용 프로그램을 사용할 수 있습니다.

  • Android 파일 전송은 단순한 MTP 클라이언트입니다.[27]
  • Android 파일 전송 Linux(및 Mac OS X!), 오픈 소스, 라이센스 GPL 버전 3, 그래픽 UI, 명령줄 도구, FUSE 래퍼 - [28]장치 마운트,
  • XNJB는 iTunes [29]재생목록 동기화도 제공합니다.
  • SyncMate Expert는 다른 동기화 태스크 외에 MTP도 지원한다고 주장합니다.무료 [30]버전에서는 지원을 테스트할 수 없습니다.
  • Commander One PRO Pack - MTP 장치를 Mac에 마운트하고 컨텐츠를 [31]관리할 수 있는 파일 관리자입니다.

기타 운영 체제

AmigaOS, Android, AROS, MorphOSSymbian OS를 포함한 여러 운영 체제의 최신 버전은 MTP를 지원하며, 경우에 따라 추가 드라이버나 소프트웨어를 포함합니다.

Android의 MTP 디바이스는 USB 대용량 스토리지에 비해 Android 디바이스에서 자신의 컴퓨터로 파일을 복사할 때 파일 타임스탬프가 유지되지만 다른 방향으로 복사할 때는 파일 수정 타임스탬프가 복사된 시간으로 [32][33]대체된다는 단점이 있다.

기타 제조원

크리에이티브 테크놀로지, 인텔, 아이리버, 삼성전자 등 마이크로소프트(MS)의 포터블 미디어 센터 사양에 근거한 디바이스를 제조하는 기업은 MTP를 폭넓게 채용하고 있습니다.지원 디바이스는 2004년 소비자가전쇼에서 소개되었습니다.

초기 불확실한 반응 후 크리에이티브 테크놀로지 및 아이리버와 같은 몇몇 대형 미디어 플레이어 생산업체는 자체 프로토콜 대신 MTP 프로토콜을 채택했습니다.

많은 디바이스와 오디오소프트웨어 어플리케이션이 MTP를 지원하고 있습니다.

대체 수단

「 」를 참조해 주세요.

레퍼런스

  1. ^ a b "Media Transfer Protocol Implementation Details". MTP defined in slide 3. Archived from the original on December 14, 2005.{{cite web}}: CS1 유지보수: 부적합한 URL(링크)
  2. ^ "Ice Cream Sandwich supports USB mass storage after all, Galaxy Nexus does not". Engadget. November 25, 2011. Archived from the original on February 5, 2020. Retrieved January 5, 2020.
  3. ^ "Final Availability of Windows Media Player 10 Brings More Music and More Choices to Music Fans" (Press release). Microsoft. September 2, 2004. Archived from the original on October 18, 2019. Retrieved October 18, 2019.
  4. ^ "MTP, Portable Player Standard? Microsoft's McLauchlan Sets Us Straight". July 31, 2006. Archived from the original on August 4, 2016. Retrieved June 1, 2016.
  5. ^ a b c "Media Transfer Protocol v.1.1 Spec and MTP v.1.1 Adopters Agreement". April 6, 2011. Archived from the original on September 29, 2018. Retrieved September 29, 2018.
  6. ^ "Fear and Loathing in the Media Transfer Protocol" (PDF). eLinux. PTP/MTP basics. Archived (PDF) from the original on February 7, 2021. Retrieved February 7, 2021.
  7. ^ "MTP Over Various Transports". Archived from the original on May 1, 2019. Retrieved June 1, 2016.
  8. ^ "MTP Specification". Archived from the original on June 4, 2011.
  9. ^ "Google Issue Tracker". issuetracker.google.com. Retrieved April 2, 2022.
  10. ^ "usb - Why does MTP show wrong directory location?". Android Enthusiasts Stack Exchange. Retrieved April 2, 2022.
  11. ^ "Normal file read/write support with the GVFS MTP backend!". February 18, 2013. Archived from the original on April 14, 2016. Retrieved June 1, 2016.
  12. ^ a b "hanwen/go-mtpfs". GitHub. Archived from the original on October 7, 2018. Retrieved June 1, 2016.
  13. ^ "libmtp README". July 8, 2017. Archived from the original on August 10, 2016. Retrieved July 9, 2017. Devices need different PIDs for every alternative interface due to the Windows USB stack.
  14. ^ a b "libmtp source code: music_players.h". Archived from the original on November 18, 2015. Retrieved November 26, 2015.
  15. ^ "libmtp source code: ptp.h". Archived from the original on March 8, 2021. Retrieved July 9, 2017.
  16. ^ "Webm (VP8, VP9, Opus) support for Sailfish - together.jolla.com". Archived from the original on March 4, 2016. Retrieved June 1, 2016.
  17. ^ "Media Transfer Protocol Porting Kit". Microsoft. Archived from the original on June 8, 2016. Retrieved June 1, 2016.
  18. ^ "Sensors and Windows". Windows Portable Devices Team Blog. December 17, 2009. Archived from the original on October 18, 2019. Retrieved October 18, 2019.
  19. ^ guenni (August 30, 2017). "Windows 10 has an MTP problem with Android devices Born's Tech and Windows World". borncity.com. Archived from the original on October 27, 2020. Retrieved October 27, 2020.
  20. ^ Leonhard, Woody (August 31, 2017). "Don't use Windows 10 to move data on your Android phone". Computerworld. Archived from the original on October 27, 2020. Retrieved October 27, 2020.
  21. ^ "libmtp". Libmtp.sourceforge.net. Archived from the original on March 2, 2014. Retrieved March 15, 2014.
  22. ^ "gvfs-1.15.2.changes". ftp.gnome.org. January 15, 2013. Archived from the original on March 29, 2021. Retrieved June 6, 2013.
  23. ^ "Native gvfs backend for MTP devices". August 7, 2010. Archived from the original on April 14, 2016. Retrieved June 1, 2016.
  24. ^ "gvfs - Virtual filesystem implementation for GIO". git commit adding MTP back-end to GVfs. Archived from the original on October 18, 2019. Retrieved June 1, 2016.
  25. ^ "Bug 695984 – Add support for Android direct I/O extensions". Archived from the original on December 23, 2014. Retrieved June 1, 2016.
  26. ^ Arch Linux Wiki (September 1, 2014). "MTP". Archived from the original on September 10, 2014. Retrieved October 23, 2014.
  27. ^ "Android File Transfer". Android.com. Archived from the original on March 29, 2021. Retrieved March 15, 2014.
  28. ^ "Android File Transfer Linux Mac OS X". whoozle. Archived from the original on February 22, 2017. Retrieved December 2, 2016.
  29. ^ "XNJB". Richard Low. Archived from the original on January 25, 2021. Retrieved June 15, 2014.
  30. ^ "SyncMate". ELTIMA software. Archived from the original on June 19, 2014. Retrieved June 15, 2014.
  31. ^ "Commander One PRO Pack". IvanK_Eltima. Archived from the original on April 9, 2017. Retrieved April 20, 2017.
  32. ^ "Issue 57065 - android - Writing files via MTP set date and time for pictures and files to current, does not preserve timestamp. - Android Open Source Project - Issue Tracker - Google Project Hosting". code.google.com. August 30, 2016. Archived from the original on October 11, 2016. Retrieved September 2, 2016.
  33. ^ "Issue 18624 - android - setLastModified() always fails on Xoom unless running as root - Android Open Source Project - Issue Tracker - Google Project Hosting". code.google.com. August 30, 2016. Archived from the original on August 18, 2016. Retrieved September 2, 2016.

외부 링크