Galaxy Nexus를 외장 USB 저장 드라이브로 사용하려면 어떻게해야하나요?


29

방금 Galaxy Nexus를 받았는데 USB 대용량 저장 모드를 지원하지 않는다는 것을 알게되었습니다. MTP 및 PTP 만 지원합니다. 직장에서 휴대 전화를 USB 플래시 드라이브로 정기적으로 사용하기 때문에 이것이 문제입니다. MTP를 사용하여 파일을주고받을 수 있지만 휴대 전화에서 직접 파일을 편집해야합니다 .

전화를 외장 드라이브로 계속 사용하고 파일을 앞뒤로 전송하지 않고 휴대 전화 저장소의 파일에 직접 액세스 할 수있는 방법을 찾고 싶습니다. 그러나 몇 가지 제약이 있습니다. 인터넷에 연결되어 있지 않은 경우 Wi-Fi가 없으며 컴퓨터에 블루투스가 없으며 변경되지 않습니다. 이상적으로는 컴퓨터에 아무것도 설치할 필요가 없지만 다른 옵션이 없다면 이것을 고려할 것입니다.

내가 설명한 방식으로 Galaxy Nexus를 외장 플래시 드라이브로 사용할 수있는 해킹이나 해결 방법이 있습니까?

외부 저장소 카드가있는 다른 장치에서 가능한 방식으로 Windows XP 컴퓨터와 Android OS를 통해 액세스 할 수있는 전화 저장소에 별도의 마운트 가능한 FAT 파티션을 만들 수 있습니까?

전화 : VZW에서 루팅되고 잠금 해제 된 Galaxy Nexus이며 현재 CM9를 실행 중입니다.


100 % 확신 할 수는 없지만 주식 커널은 그렇게 할 수 없다고 생각합니다. 이를 위해서는 애프터 마켓 커널 또는 사용자 정의 ROM이 필요합니다. G Nexus GSM : Cyanogenmod9에 대한 전체 업데이트 가이드 (4.0.4 기압, 4.1 CM10은 아직 초기 단계 임). 여기에도 도움이 될만한 APK 가 있습니다. 루트가 필요합니다.
ce4

고맙습니다, 그 스레드는 이것을 제외하고 유망 해 보입니다 . 잘만되면 그렇지 않으면 내가 판매를 위해 GN을 가질 것이다.
Matt

2
UMS를 사용하기 위해 반드시 별도의 SD 카드 필요 하다고 생각 하지는 않지만 외부 SD 카드 슬롯이없는 Kindle Fire가 작동하려면 별도의 파티션 (포맷 FAT) 필요 하다고 생각합니다 .
eldarerathis

1
MTP / PTP가 사용에 적합하지 않은 이유에 대해 약간 확장해야한다고 생각합니다. 이름에도 불구하고 MTP는 실제로 미디어 파일뿐만 아니라 임의의 파일을 전송할 수 있습니다. MTP에서 수행 할 수없는 작업은 조각 모음, 다시 포맷, 파티셔닝 등과 같은 블록 수준 액세스가 필요한 작업입니다.
Lie Ryan

파일을 전송하고 싶지 않습니다. 플래시 드라이브처럼 휴대 전화의 위치에서 파일을 수정하고 싶습니다. 나는 당신이 mtp로 그렇게 할 수 있다고 생각하지 않습니다.
Matt

답변:


28

짧은 답변:

현재 프로토콜 사양으로 인해 장치 (MTP에 의존하는 장치)를 사용하여 MSC 역할을 할 수 없습니다!

정교

분명히 말하면, Galaxy Nexus는 전체 장치에 대해 하나의 거대한 파티션을 사용합니다.

MTP는 시스템 측면에서 파일과의 원활한 통신을 보장하고보다 안전한 파일 시스템을 제공하며 유지 관리에 어려움을 줄이는이 넓은 저장 영역을 사용할 수 있기 때문에 Galaxy Nexus로 선택되었습니다.

원하는 방식으로 할 수없는 이유 :

Galaxy Nexus에는 별도의 파티션이 없으며 하나의 큰 저장 영역 만 있습니다. fat32 파일 시스템을 에뮬레이션하더라도 fat32와 ext4를 낮은 수준으로 변환 할 수 있어야합니다. 이것은 실제로 불가능합니다.

Galaxy Nexus에 파티션이있는 경우 블록 수준 액세스가 가능하므로 대용량 저장소 액세스가 가능합니다.


긴 지루한 버전 :


짧은 배경

대용량 저장 장치 (MSC), 일반적으로, 우리는 우리의 모든 장치에서 사용하는 데 사용되는, USB 대용량 저장 장치 (UMS)로 알고는 범용 직렬 버스 (USB) 장치가 호스트 컴퓨팅 장치에 액세스하게 할 수있는 프로토콜입니다 , 둘 사이의 파일 전송을 활성화합니다. 황금 시간대에는 전화기를 연결하고 "USB 모드"를 누르고 파일 이동, 파일 편집 등을 시작해야했습니다.


미디어 전송 프로토콜 (MTP)

장치에서 사용되는 새로운 전송 방법 인 MTP (Media Transfer Protocol)에 대해 이야기 할 때 많은 변화가있었습니다.

1 소개 아래 15 페이지 참조 지퍼

MTP (Media Transfer Protocol)는 임시 저장 장치와의 컨텐츠 교환 및 명령 및 제어를 위해 설계된 프로토콜입니다. PTP 또는 Picture Transfer Protocol의 확장으로 개발되었으며 주로 디지털 스틸 카메라, 휴대용 미디어 플레이어 및 휴대 전화를 대상으로합니다.

이 소개는 여전히 의심의 여지가 없지만,이 프로토콜은 장치간에 미디어 파일 및 관련 메타 데이터의 전송을 용이하게하기 위해 매우 특정한 목적으로 개발 및 구현되었습니다.

1.1 목적 은 아래의 15 페이지 지퍼 참조

이 프로토콜의 주요 목적은 일시적 연결 및 상당한 저장 용량을 가진 미디어 장치 간의 통신을 용이하게하는 것입니다. 여기에는 이진 개체 교환 및 연결된 장치 내용의 열거가 포함됩니다.


지원되는 파일 형식?

이 시점에서 우리는 이미 미디어 파일 및 미디어 기반 장치 용이라는 것을 알고 있지만 주석에서 본 한 가지 질문이 남아 있습니다. 미디어 파일 (오디오 / 비디오) 이외의 파일을 복사 할 수 있습니까? 응 우리는 할 수있어:

1.3 MTP 객체 모델 아래 15 페이지 참조

"미디어 전송 프로토콜"에서 "미디어"라는 용어는 이진 데이터를 식별하는 데 사용되며 일반적으로 적용되는 오디오 / 비디오 형식으로 제한되지 않습니다. 비 오디오 / 비디오 객체의 예로는 연락처, 프로그램, 예약 된 이벤트 및 텍스트 파일이 있습니다.


"실시간 편집"은 어떻습니까?

귀하의 질문은 특히 외부 USB 저장 장치로 장치 (Galaxy Nexus)를 사용하는 것과 관련이 있습니다. 왜 할 수 없습니까? MTP 프로토콜은 데이터를 단방향 작업으로 제한하며, 후자는 장치 스토리지가 컴퓨터에서 로컬 파일로 사용된다고 설명했습니다.

4.2 단방향 데이터 흐름 29 페이지 참조

MTP의 데이터 흐름은 항상 단방향입니다. 작업을 시작할 때 데이터는 초 기자에서 응답자로만 흐릅니다. 요청 된 작업에 응답 할 때 데이터는 응답자에서 개시 자에게만 전달됩니다. 이진 데이터 교환 단계에서 데이터는 응답자에서 개시 자로 또는 개시 자에서 응답자로 흐를 수 있지만 둘다는 아닙니다. 양방향 이진 데이터 교환은 여러 작업으로 수행해야합니다.


장점과 단점

장점

MTP는 주로 사용자 데이터의 보안 및 무결성과 관련하여 몇 가지 이점을 제공합니다.

Microsoft MTP 구현 개요

USB 호스트 컴퓨터가 MSC 파티션을 마운트하면 스토리지의 절대 제어를 가정하여 파일 시스템이 손상되거나 지원되지 않는 유형으로 다시 포맷 될 수 있습니다.

한편 MTP는 관리 스토리지 단위를 쓰기 또는 읽기 가능한 로컬 파일로 만들어이를 극복합니다.

단점

MTP는 기존 이동식 드라이브로 취급되지 않으므로 하루를 저장하는 데 복구 도구를 사용할 수 없습니다.

지원은 여전히 ​​진행 중이며 일부 운영 체제에는 여전히 타사 소프트웨어가 필요합니다.

MTP 표준 (앞서 언급했듯이)은 객체를 직접 수정할 수 없습니다. 대신 수정 된 객체를 완전히 다시 업로드해야합니다.


참고 문헌 :

나는 이것이 MTP가 좋은 이유 (개선)에 대해 분명히 밝히기를 바란다 . 그러나 OTOH는 나쁘다 (사용자는 습관을 바꿔야 할 것이다) .

답을 종합하는 데 사용되는 읽기 자료는 다음과 같습니다.

위의 답변은 이러한 참조 링크의 내용과 저자에게 귀속됩니다.


3
mtp에 대한 매우 자세한 설명을 고맙지 만 mtp를 내가 원하는 방식으로 사용할 수 없다는 사실을 이미 받아 들였습니다. 내가 관심있는 것은 한계를 극복하는 방법을 찾는 것입니다. 예를 들어 내부 저장소를 다시 분할하여 별도의 마운트 가능한 파티션을 만듭니다. mtp 제한을 극복하는 방법에 대한 제안 사항이 있습니까?
Matt

@Matt 댓글이 커지고 있습니다. "짧은 답변"섹션에 설명을 추가했습니다. 내가 나 자신을 명확히하지 않았다면 미안하다.
Zuul

추가 된 정보에 대해 감사하지만 다시 한 번 나는 이것의 대부분을 알고있었습니다. 내가 알고 싶은 것은 다른 솔루션이 부족하기 때문에 UMS를 지원하는 별도의 FAT 파티션으로 전화를 다시 파티션 할 수 있습니까? 그렇다면 어떻게?
Matt

나는 그의 코드가 솔루션에 가장 가까운 것이기 때문에 ce4에게 현상금을 수여했지만 자세한 정보와 도움을 주셔서 감사합니다.
Matt

7

USB를 통해 루프백 이미지 파일을 UMS / MSC로 내보낼 수 있습니다.

당신은 확실히 필요합니다 :

  • 뿌리
  • 커널 지원 : 루프백 (/ dev / block / loop0) 및 UMS (/ sys / devices / platform / usb_mass_storage /)
  • 이미지 파일을 항상 내보내도록이 스크립트 또는 사용자 정의 초기화 스크립트 를 활성화 / 비활성화 하는 사용자 정의 응용 프로그램
    다음 은 쉽게 해킹 가능한 응용 프로그램 의 입니다. 약간의 개발이 필요하지만 ... 기본 블록 장치를 변경해야합니다 )를 loop0에 추가하고 loop0을 미리 설정 한 다음 빌드하십시오. 또한 내 보내지 않은 경우 Android 기기에 마운트 할 수 있습니다 (예 : / sdcard / fat).

내 Galaxy Nexus (복구 모드)에 대한 간단한 테스트는 다음과 같습니다.

#create a 10mb image file and format it with FAT, name it testFat:
me@workstation:~$ dd if=/dev/zero of=/tmp/fat.img count=10 bs=1M
10+0 records in
10+0 records out
10485760 Bytes (10 MB) copied, 0,00699535 s, 1,5 GB/s
me@workstation:~$ mkfs.vfat -n fatTest /tmp/fat.img 
mkfs.vfat 3.0.9 (31 Jan 2010)
me@workstation:~$ file /tmp/fat.img
/tmp/fat.img: x86 boot sector, [...], label: "fatTest    ", FAT (16 bit)

#Push it to my phone, create loop0 from it and export it via UMS
me@workstation:~$ adb push /tmp/fat.img /sdcard/fat.img
5215 KB/s (10485760 bytes in 1.963s)
me@workstation:~$ adb shell
root@android # ls /sys/devices/platform/usb_mass_storage/lun0
file    power   ro      uevent
root@android # losetup /dev/block/loop0 /sdcard/fat.img
root@android # losetup
/dev/block/loop0: 0 /sdcard/fat.img
root@android # echo /dev/block/loop0 > /sys/devices/platform/usb_mass_storage/lun0/file 
root@android # exit

#See that it works. Yay!
me@workstation:~$ 
me@workstation:~$ mount
[...]
/dev/sdg on /media/fatTest type vfat (rw,nosuid,nodev,uid=1000,gid=1000,shortname=mixed,dmask=0077,utf8=1,showexec,flush,uhelper=udisks)
me@workstation:~$ dmesg
[137805.009285] sd 27:0:0:0: [sdg] 20480 512-byte logical blocks: (10.4 MB/10.0 MiB)
[137805.010024] sd 27:0:0:0: [sdg] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[137805.013446]  sdg:
me@workstation:~$

지금 당장 테스트 장치 (GNexus)가 없습니다. 누군가 CM9에 UMS가 포함되어 있으면 그렇게 친절하고 보입니까? 사용 가능한지 확인하십시오 : / sys / devices / platform / usb_mass_storage / lun0 / file
ce4

1
초기 CM10은 나타나지 않으므로 CM9도 그렇지 않습니다.
eldarerathis

@ eldarerathis : 찾고 주셔서 감사합니다! 다른 커널로 컴파일되거나 직접 작동하도록해야했습니다.
ce4

@ ce4 이것은 유망 해 보이지만 이것을 달성하는 방법을 설명하는 자세한 내용을보고 싶습니다. 휴대 전화 저장소를 영구적으로 다시 분할합니까? 아니면 다른 종류의 솔루션입니까? 파일 시스템의 무결성을 구성하는 것과 같은이 방법의 단점이 있습니까?
Matt

휴대 전화를 플래시 드라이브로 사용합니다. 직장에서 공유 컴퓨터에 연결하고 문서를 편집 한 다음 저장하고 이동합니다. 파일을 컴퓨터로 전송했다가 다시 전송해도 실제로 작동하지 않습니다. 나중에 채팅을하겠습니다.
Matt

3

이것은 TL; DR 버전입니다.

죄송합니다. Galaxy Nexus에서는 USB 대용량 저장소를 사용할 수 없습니다.

그 이유는 USB Mass Storage가 파일 시스템에 대한 PC 블록 레벨 액세스를 제공하고 파일 시스템의 무결성을 유지하기 위해서는 독점 액세스 여야하기 때문입니다. 그렇기 때문에 Android 휴대 전화에서 SD 카드를 마운트 해제하고 휴대 전화가 USB 대용량 저장 모드 인 경우 앱이 SD 카드의 데이터를 사용할 수 없습니다.

갤럭시 넥서스는, 그러나,하지 않는 SD 카드를. 액세스되는 전화의 방대한 내부 저장소입니다.

MTP (@Zuul의 훌륭한 설명 참조)는이 문제를 해결하고 전화를 잠글 필요없이 전화와 PC 모두 파일에 액세스 할 수 있도록합니다. 단점은 독점적 인 블록 수준 액세스를 얻지 못하고 MTP에 대한 운영 체제 지원은 아직 그리 많지 않다는 것입니다.

이것이 없이는 살 수없는 기능인 경우 가장 좋은 방법은 다른 전화를 사용하는 것입니다. 우연히도, 이것이 Galaxy Nexus를 제거하고 DROID RAZR MAXX를 얻은 이유 중 하나입니다.


1
"이것은 안드로이드 폰이 SD 카드를 마운트 해제하는 이유입니다 ..."sd (및 해당 사안의 내부 저장 장치)를 컴퓨터와 Android OS에 동시에 듀얼 마운트 할 수있는 앱은 어떻습니까? 내 Rezound에 그러한 앱이 있었고 꽤 잘 작동했습니다.
Matt

그런 앱은 들어 본 적이 없습니다. 그 존재의 증거가 있습니까?
Michael Hampton

정말 가혹한 소리! google.hu/…
RR

1
그리고 데이터를 잃어버린 적이 없습니까? 당신은 매우 운이 좋다.
Michael Hampton

3
그렇기 때문에 시스템이 처음부터 시스템을 허용하지 않는 것입니다.
Michael Hampton

1

AOKP JB 빌드 4 에는 다음 이있는 것으로 보입니다 .

"특정 장치 (i9 *)의 USB 대용량 저장소 에뮬레이션"

아직 사용하지 않았습니다.


0

XDA-Developers App 을 사용해보십시오.

참고 :이 응용 프로그램은 아이스크림 샌드위치 포트의 초기에 개발되었습니다. 현재 포트 중 어느 것도 기본 USB 대용량 저장소를 지원하지 않았지만이 앱은 UMS를 사용하는 임시 해결 방법으로 사용되었습니다. 따라서 사용하는 ICS 또는 JB 포트가 여전히 기본적으로 UMS를 지원하지 않는 한이 앱은 흥미롭지 않습니다. 이 경우 도움이 필요합니다.

장치를 부팅 한 후 앱이 자동으로 시작되고 장치가 USB를 통해 컴퓨터에 연결될 때 자동으로 감지합니다. 그런 다음 알림 표시 줄에 알림이 표시되고 알림을 누르면 GUI를 열어 USB 대용량 저장소를 활성화 / 비활성화합니다. 원래 UMS 기능과 거의 같습니다.

지금까지는 꽤 잘 들립니다 . 지원되는 알려진 장치 목록에 Galaxy Nexus 만 명시 적으로 언급되어 있지 않습니다 . 이것이 반드시 작동하지 않는다는 것을 의미하지는 않지만 현재로서는 알려지지 않았습니다. 시도해 볼 가치가 있습니다.


이것은 이미 논의되었으므로 OP 의견을 참조하십시오. 아아, 그것은 또한 막 다른 골목입니다. :(
ce4

언급 한 의견을 찾지 못했습니다. 이미 알려진 옵션 인 경우 사과드립니다. "데드 엔드"는 더 이상 작동하지 않습니까? 어머나, 다음 업데이트를 건너 뛰고;)
Izzy

불쾌! :) 더 "FYI"로 의미되었다. "여기에 APK가 있습니다"는 XDA 링크와 동일한 스레드를 나타냅니다.
ce4

우리는 그것에 대한 주요 안드로이드 채팅에서 다소 긴 대화를했습니다. 역사가 충분히 남아 있는지 모르지만 여전히 액세스 할 수 있다면 더 많은 정보를 얻을 수 있습니다
ce4

정보, ce4에 감사드립니다. 불행히도 현재는 더 깊이 파고들 시간이 없습니다. 나는 단지 MTP가 UMS를 완전히 끄는 것만 큼 아직 완전하지 않다는 것을 알았으므로 여전히 사용 가능한 솔루션이 있어야한다고 확신했습니다. 그리고 ICS에서 UMS를 다시 활성화하는 데 대한 몇 가지 스레드를 기억했습니다. MTP가 모든 사람에게 답이되지 않는 것처럼 보이기 때문에 머지 않아 뭔가가있을 것입니다.
Izzy
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.