Làm cách nào tôi có thể sử dụng Galaxy Nexus của mình làm ổ lưu trữ USB ngoài?


29

Tôi vừa nhận được Galaxy Nexus và được biết rằng nó không hỗ trợ chế độ USB Mass Storage. Nó chỉ hỗ trợ MTP và PTP. Tôi thường xuyên sử dụng điện thoại của mình làm ổ flash USB tại nơi làm việc nên đây là một vấn đề. Tôi có thể chuyển tập tin qua lại với MTP tuy nhiên tôi cần chỉnh sửa tập tin trực tiếp trên điện thoại của mình .

Tôi muốn tìm cách tiếp tục sử dụng điện thoại làm ổ đĩa ngoài và có thể truy cập trực tiếp các tệp trên bộ nhớ điện thoại của mình mà không chuyển các tệp qua lại tuy nhiên tôi có một số hạn chế: Mạng tại nơi làm việc của tôi không ' Không kết nối với internet, nó không có wifi và máy tính không có Bluetooth và điều này sẽ không thay đổi. Lý tưởng nhất là tôi sẽ không phải cài đặt bất cứ thứ gì trên máy tính, nhưng nếu không có lựa chọn nào khác tôi sẽ xem xét điều này.

Có bất kỳ hack hay cách giải quyết nào sẽ cho phép tôi sử dụng Galaxy Nexus của mình như một ổ đĩa flash ngoài theo cách tôi mô tả không?

Tôi có thể tạo một phân vùng FAT có thể gắn kết riêng trên bộ lưu trữ điện thoại mà tôi có thể truy cập từ máy tính Windows XP cũng như thông qua HĐH Android theo cách có thể với các thiết bị khác có thẻ lưu trữ ngoài không?

Điện thoại: Đây là một chiếc Galaxy Nexus đã được root và mở khóa trên VZW và hiện đang chạy CM9.


Tôi không chắc chắn 100% nhưng tôi nghĩ hạt nhân chứng khoán thậm chí không thể làm điều đó. bạn cần một kernel aftermarket hoặc chỉ một ROM tùy chỉnh để làm điều đó. G Nexus GSM: hướng dẫn cập nhật đầy đủ cho Cyanogenmod9 (4.0.4 atm, 4.1 CM10 vẫn còn ở giai đoạn rất sớm). Đây là một apk có thể giúp quá. cần root.
ce4

Cảm ơn, chủ đề đó có vẻ hứa hẹn ngoại trừ điều này . Hy vọng điều đó không đúng nếu không tôi sẽ có một GN để bán.
Matt

2
Tôi không nghĩ rằng bạn nhất thiết cần một thẻ SD riêng biệt để UMS sử dụng, nhưng tôi nghĩ rằng bạn làm cần một phân vùng riêng biệt (được định dạng FAT) cho nó để làm việc, a la Kindle Fire mà không có một khe cắm thẻ SD bên ngoài.
eldarerathis

1
Tôi nghĩ bạn cần mở rộng một chút về lý do tại sao MTP / PTP không phù hợp với việc sử dụng của bạn. Mặc dù tên, MTP thực sự có thể chuyển bất kỳ tệp tùy ý, không chỉ các tệp phương tiện. Các hoạt động duy nhất bạn không thể thực hiện trong MTP là các hoạt động yêu cầu truy cập cấp khối, ví dụ như chống phân mảnh, định dạng lại, phân vùng, v.v.
Lie Ryan

Tôi không muốn chuyển tập tin, tôi muốn chỉnh sửa chúng ở vị trí của chúng trên điện thoại của mình giống như đó là ổ đĩa flash. Tôi không tin bạn có thể làm điều đó với mtp, tôi có nhầm không?
Matt

Câu trả lời:


28

Câu trả lời ngắn:

Hiện tại, bạn không thể sử dụng thiết bị của mình (bất kỳ thiết bị nào dựa trên MTP) để hoạt động như một MSC, do thông số kỹ thuật của giao thức!

Xây dựng

Để làm rõ, Galaxy Nexus sử dụng một phân vùng lớn cho toàn bộ thiết bị, nó giống như nói rằng: hệ thống, dữ liệu và sdcard đều kết hợp với nhau.

MTP đã được chọn cho Galaxy Nexus vì nó cho phép sử dụng vùng lưu trữ lớn này, theo quan điểm hệ thống, đảm bảo giao tiếp tốt hơn với các tệp, cung cấp hệ thống tệp an toàn hơn và ít gặp sự cố hơn.

Tại sao bạn không thể làm theo cách bạn muốn:

Không có phân vùng riêng biệt trong Galaxy Nexus, chỉ có một vùng lưu trữ lớn. Ngay cả khi mô phỏng một hệ thống tệp fat32, người ta vẫn cần có khả năng dịch giữa fat32 và ext4 ở mức thấp. Điều này thực tế là không thể.

Nếu Galaxy Nexus có phân vùng, bạn có thể có quyền truy cập cấp khối và do đó bạn có thể có quyền truy cập bộ nhớ lớn.


Phiên bản dài nhàm chán:


Nền ngắn

Các Storage Class Thánh lễ (MSC), thường được biết như USB Mass Storage (UMS), rằng chúng ta đều sử dụng để sử dụng trên các thiết bị của chúng tôi, là một giao thức cho phép một Serial Bus (USB) thiết bị phổ để trở thành tiếp cận với một thiết bị máy chủ máy tính , để cho phép chuyển tập tin giữa hai. Vào những ngày vàng, người ta chỉ cần cắm điện thoại, nhấn "Chế độ USB" và bắt đầu di chuyển tệp, chỉnh sửa tệp, v.v ...


Giao thức truyền phương tiện (MTP)

Mọi thứ đã thay đổi rất nhiều, khi chúng ta nói về phương thức chuyển mới đang được sử dụng trên thiết bị của bạn, Giao thức truyền phương tiện (MTP):

1 Giới thiệu xem trang 15 zip bên dưới

Giao thức truyền tải phương tiện, hay MTP, là một giao thức được thiết kế để trao đổi nội dung với và ra lệnh và kiểm soát các thiết bị lưu trữ tạm thời. Nó được phát triển như một phần mở rộng cho PTP, hay Giao thức truyền hình ảnh, và được nhắm mục tiêu chủ yếu vào Máy ảnh kỹ thuật số, Máy nghe nhạc cầm tay và điện thoại di động.

Mặc dù phần giới thiệu vẫn khiến người ta nghi ngờ, giao thức này được phát triển và triển khai với mục đích rất cụ thể: để tạo thuận lợi cho việc chuyển các tệp phương tiện và siêu dữ liệu liên quan giữa các thiết bị:

1.1 Mục đích xem trang 15 zip bên dưới

Mục đích chính của giao thức này là tạo điều kiện giao tiếp giữa các thiết bị đa phương tiện có kết nối tạm thời và dung lượng lưu trữ đáng kể. Điều này bao gồm việc trao đổi các đối tượng nhị phân và liệt kê nội dung của thiết bị được kết nối đó.


Các loại tệp được hỗ trợ?

Tại thời điểm này, chúng tôi đã biết rằng đây là dành cho các tệp phương tiện và thiết bị dựa trên phương tiện, nhưng một câu hỏi mà tôi đã thấy trên các nhận xét vẫn là: Chúng tôi có thể sao chép các tệp khác ngoài tệp phương tiện (âm thanh / video) không? Vâng, chúng tôi có thể:

Mô hình đối tượng 1.3 MTP xem trang 15 zip bên dưới

Thuật ngữ "phương tiện" trong "Giao thức truyền phương tiện" được sử dụng để xác định bất kỳ dữ liệu nhị phân nào và không bị giới hạn ở các định dạng âm thanh / video mà nó thường được áp dụng. Một số ví dụ về các đối tượng không phải âm thanh / video bao gồm danh bạ, chương trình, sự kiện theo lịch trình và tệp văn bản.


Còn "chỉnh sửa trực tiếp" thì sao?

Câu hỏi của bạn đặc biệt liên quan đến việc sử dụng thiết bị của bạn (Galaxy Nexus) như một ổ lưu trữ USB bên ngoài. Tại sao nó không thể được thực hiện? Giao thức MTP giới hạn dữ liệu cho một hoạt động đơn hướng, sau đó cũng giải thích rằng bộ lưu trữ thiết bị được máy tính sử dụng làm tệp cục bộ:

4.2 Luồng dữ liệu một chiều, xem trang 29 zip bên dưới

Luồng dữ liệu trong MTP luôn là một chiều. Khi bắt đầu một hoạt động, dữ liệu chỉ chảy từ Người khởi tạo đến Người phản hồi. Khi trả lời thao tác được yêu cầu, dữ liệu chỉ chảy từ Người phản hồi đến Người khởi tạo. Trong giai đoạn trao đổi dữ liệu nhị phân, dữ liệu có thể chảy từ Người phản hồi đến Người khởi xướng hoặc từ Người khởi xướng đến Người phản hồi, nhưng không bao giờ cả hai. Trao đổi dữ liệu nhị phân, hai chiều phải được thực hiện bằng nhiều thao tác.


Ưu điểm so với nhược điểm

Ưu điểm

MTP mang một số lợi thế với nó, chủ yếu liên quan đến tính bảo mật và tính toàn vẹn của dữ liệu người dùng:

Tổng quan về triển khai Microsoft MTP

Khi một máy tính chủ USB đã gắn phân vùng MSC, nó sẽ kiểm soát tuyệt đối việc lưu trữ, ví dụ, cho phép hệ thống tệp bị hỏng hoặc định dạng lại thành loại không được hỗ trợ.

Trong khi đó, MTP khắc phục điều này bằng cách làm cho đơn vị lưu trữ được quản lý thành một tệp cục bộ có thể được ghi hoặc đọc.

Hạn chế

MTP không được coi là ổ đĩa di động truyền thống, vì vậy, không có công cụ khôi phục nào có thể được sử dụng để tiết kiệm trong ngày.

Việc hỗ trợ vẫn đang được tiến hành, một số hệ điều hành vẫn yêu cầu phần mềm của bên thứ ba.

Các tiêu chuẩn MTP (như đã đề cập trước đó) không cho phép sửa đổi trực tiếp các đối tượng. Thay vào đó, các đối tượng sửa đổi phải được tải lại toàn bộ.


Tài liệu tham khảo:

Tôi hy vọng điều này làm rõ lý do tại sao MTP tốt (cải thiện) , nhưng OTOH xấu (người dùng sẽ phải thay đổi thói quen) .

Đây là tài liệu đọc được sử dụng để tổng hợp câu trả lời:

Câu trả lời trên được ghi có vào nội dung và tác giả của các liên kết tham chiếu này.


3
Tôi đánh giá cao mô tả rất chi tiết về mtp, tuy nhiên tôi đã chấp nhận thực tế là tôi không thể sử dụng mtp theo cách tôi muốn. Điều tôi quan tâm là tìm cách vượt qua giới hạn. Ví dụ: phân vùng lại bộ nhớ trong để tạo phân vùng có thể gắn kết riêng. Bất kỳ đề xuất về làm thế nào tôi có thể nhận được xung quanh các giới hạn mtp?
Matt

@Matt Nhận xét đã trở nên lớn, tôi đã thêm một nội dung làm rõ trong phần "câu trả lời ngắn". Xin lỗi nếu tôi không làm cho mình rõ ràng sớm hơn.
Zuul

Cảm ơn các thông tin bổ sung nhưng một lần nữa tôi đã nhận thức được hầu hết điều này. Điều tôi quan tâm muốn biết là, thiếu các giải pháp khác, điện thoại có thể được phân vùng lại bằng một phân vùng FAT riêng có hỗ trợ UMS không? Nếu vậy thì thế nào?
Matt

Cuối cùng tôi đã trao phần thưởng cho ce4 vì mã của anh ta là giải pháp gần nhất nhưng cảm ơn vì thông tin chi tiết và sự giúp đỡ mà bạn cung cấp.
Matt

7

Có thể xuất tệp hình ảnh được lặp lại qua USB dưới dạng UMS / MSC.

Bạn chắc chắn sẽ cần:

  • nguồn gốc
  • hỗ trợ kernel : loopback (/ dev / block / loop0) và UMS (/ sys / thiết bị / platform / usb_mass_st Storage /)
  • ứng dụng tùy chỉnh để cho phép / vô hiệu hóa này hoặc một kịch bản tùy chỉnh init luôn xuất tập tin hình ảnh
    Dưới đây là một ví dụ cho một ứng dụng hack dễ dàng, một sự phát triển ít cần thiết mặc dù ... Một nhu cầu để thay đổi thiết bị khối mặc định (/ dev / block / mmcblk0pX ) vào loop0 và cũng thua trước loop0, sau đó xây dựng. Ngoài ra, có thể gắn nó trên thiết bị Android nếu nó không được xuất, ví dụ: tại / sdcard / fat

Đây là một thử nghiệm ngắn trên Galaxy Nexus của tôi (ở chế độ khôi phục):

#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:~$

Tôi không có thiết bị kiểm tra (GNexus) trong tay ngay bây giờ, liệu có ai đó rất tốt bụng và xem xét nếu UMS được bao gồm trong CM9? Chỉ cần xem nếu điều này có sẵn: / sys / thiết bị / nền tảng / usb_mass_st Storage / lun0 / file
ce4

1
CM10 sớm không xuất hiện, vì vậy tôi đoán CM9 cũng không.
eldarerathis

@eldarerathis: Cảm ơn đã tìm kiếm! Nó có thể được biên dịch thành một kernel khác hoặc người ta phải cho phép chính nó làm cho nó hoạt động.
ce4

@ ce4 Điều này có vẻ đầy hứa hẹn nhưng tôi rất muốn xem thêm chi tiết giải thích cách thực hiện việc này. Bạn có phân vùng lại bộ nhớ điện thoại vĩnh viễn hay đây là một loại giải pháp khác? Có bất kỳ nhược điểm nào đối với phương pháp này như bao gồm tính toàn vẹn của hệ thống tệp không?
Matt

Tôi sử dụng điện thoại của tôi như một ổ đĩa flash. Tôi cắm nó vào một máy tính dùng chung tại nơi làm việc, chỉnh sửa tài liệu sau đó lưu nó và đi. Chuyển tập tin vào máy tính và quay lại một lần nữa không thực sự hiệu quả với tôi. Tôi sẽ nói chuyện một lát sau.
Matt

3

Đây là phiên bản TL; DR.

Xin lỗi, USB Mass Storage đơn giản là không thể với Galaxy Nexus.

Lý do cho điều này là USB Mass Storage cung cấp cho PC quyền truy cập cấp khối vào hệ thống tệp và để duy trì tính toàn vẹn của hệ thống tệp, nó phải là quyền truy cập độc quyền. Đây là lý do tại sao điện thoại Android ngắt kết nối thẻ SD và các ứng dụng không thể sử dụng dữ liệu trên thẻ SD trong khi điện thoại ở chế độ Bộ nhớ chung USB.

Tuy nhiên, Galaxy Nexus không thẻ SD. Đó là bộ nhớ trong của điện thoại di động đang được truy cập.

MTP (xem phần giải thích tuyệt vời của @ Zuul) giải quyết vấn đề này và cho phép cả điện thoại và PC truy cập các tệp mà không cần phải khóa điện thoại. Mặt trái là bạn không có quyền truy cập cấp khối độc quyền và hỗ trợ hệ điều hành cho MTP vẫn chưa hoàn toàn ở đó.

Nếu đây là một tính năng mà bạn đơn giản không thể sống thiếu, thì cách tốt nhất của bạn là sử dụng một điện thoại khác. Không phải ngẫu nhiên, đây là một trong những lý do khiến tôi thoát khỏi Galaxy Nexus và nhận được DROID RAZR MAXX.


1
"Đây là lý do tại sao điện thoại Android ngắt kết nối thẻ SD ..." Còn các ứng dụng cho phép gắn kép sd (và bộ nhớ trong cho vấn đề đó) vào máy tính và hệ điều hành Android thì sao? Tôi đã có một ứng dụng như vậy trên Rezound của tôi và nó hoạt động khá tốt.
Matt

Tôi chưa bao giờ nghe thấy bất kỳ ứng dụng như thế. Có bằng chứng về sự tồn tại của nó?
Michael Hampton

Nghe có vẻ rất khắc nghiệt! google.hu/ từ
RR

1
Và bạn không bao giờ mất bất kỳ dữ liệu? Bạn rất may mắn.
Michael Hampton

3
Vâng, đó chính xác là lý do tại sao hệ thống không cho phép nó ở nơi đầu tiên.
Michael Hampton

1

Dường như AOKP JB build 4 có:

"Mô phỏng lưu trữ dung lượng lớn USB cho một số thiết bị nhất định (i9 *)"

Tôi chưa sử dụng nó cho mình.


0

Bạn có thể dùng thử Ứng dụng XDA-Developers này :

Lưu ý: Ứng dụng này được phát triển trong những ngày đầu của Ice Cream Sandwich Cổng. Tại thời điểm này, không có Cổng nào có hỗ trợ Bộ lưu trữ USB gốc và Ứng dụng này có nghĩa là một cách giải quyết tạm thời để sử dụng UMS. Vì vậy, Ứng dụng này sẽ không thú vị đối với bạn, trừ khi Cổng ICS hoặc JB bạn sử dụng vẫn không hỗ trợ UMS. Nếu đó là trường hợp, đây là trợ giúp:

Ứng dụng sẽ tự động khởi động sau khi khởi động thiết bị và tự động phát hiện khi thiết bị được kết nối qua USB với máy tính. Sau đó, một thông báo bật lên trong thanh thông báo và bằng cách nhấn vào thông báo, bạn sẽ mở GUI để bật / tắt USB Mass Storage; chỉ / gần giống như tính năng UMS gốc.

Âm thanh khá tốt cho đến nay - chỉ Galaxy Nexus của bạn không được đề cập rõ ràng trong danh sách các thiết bị được hỗ trợ đã biết. Điều này không nhất thiết có nghĩa là nó sẽ không hoạt động, nhưng chỉ tại thời điểm nó không được biết đến. Nên đáng để thử.


Điều này đã được thảo luận, xem các ý kiến ​​OP. Than ôi, đó cũng là một ngõ cụt. :(
ce4

Tôi không thể tìm thấy những bình luận mà bạn đề cập đến - nhưng nếu đó đã là một lựa chọn đã biết, tôi xin lỗi. Và "ngõ cụt" có nghĩa là nó không còn hoạt động? Ôi trời, đoán tôi bỏ qua các bản cập nhật tiếp theo;)
Izzy

Không xúc phạm! :) có nghĩa là "FYI". "Đây là apk" đề cập đến cùng một chủ đề với liên kết XDA của bạn.
ce4

Chúng tôi đã có một cuộc trò chuyện khá dài trong cuộc trò chuyện Android chính về điều đó. Không biết có một lịch sử đủ dài không nhưng nó có thêm một số thông tin nếu bạn vẫn có thể truy cập nó
ce4

Cảm ơn thông tin, ce4 - thật không may, tôi hiện đang bỏ lỡ thời gian để tìm hiểu sâu hơn về nó. Tôi chỉ thấy MTP vẫn chưa hoàn chỉnh vì cần phải tắt hoàn toàn UMS, vì vậy tôi khá chắc chắn rằng vẫn phải có một giải pháp. Và tôi nhớ một số chủ đề về việc kích hoạt lại UMS trên ICS trở lên. Hy vọng rằng có một cái gì đó xung quanh khá sớm - vì MTP dường như không phải là câu trả lời cho tất cả mọi người.
Izzy
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.