Bagaimana saya bisa menggunakan Galaxy Nexus saya sebagai drive penyimpanan USB eksternal?

29

Saya baru saja mendapatkan Galaxy Nexus dan mengetahui bahwa itu tidak mendukung mode USB Mass Storage. Ini hanya mendukung MTP dan PTP. Saya secara teratur menggunakan ponsel saya sebagai USB flash drive di tempat kerja sehingga ini merupakan masalah. Saya dapat mentransfer file bolak-balik dengan MTP namun saya perlu mengedit file langsung di ponsel saya .

Saya ingin mencari cara untuk terus menggunakan telepon sebagai drive eksternal dan dapat mengakses file di penyimpanan ponsel saya secara langsung tanpa mentransfer file bolak-balik namun saya memiliki beberapa kendala: Jaringan di tempat kerja saya bukan t terhubung ke internet, tidak ada wifi, dan komputer tidak memiliki Bluetooth dan ini tidak akan berubah. Idealnya saya tidak perlu menginstal apa pun di komputer, tetapi jika tidak ada pilihan lain saya akan mempertimbangkan ini.

Apakah ada peretasan atau pemecahan masalah yang akan memungkinkan saya untuk menggunakan Galaxy Nexus saya sebagai flash drive eksternal seperti yang saya jelaskan?

Dapatkah saya membuat partisi FAT yang dapat dipasang secara terpisah pada penyimpanan ponsel yang dapat saya akses dari komputer Windows XP serta melalui OS Android dengan cara yang dimungkinkan dengan perangkat lain yang memiliki kartu penyimpanan eksternal?

Telepon: Ini adalah Galaxy Nexus yang di-root & dibuka pada VZW dan saat ini menjalankan CM9.

Mat
sumber
Saya tidak 100% yakin tapi saya pikir kernel stock bahkan tidak bisa melakukan itu. Anda memerlukan kernel aftermarket atau hanya custom ROM untuk melakukan itu. G Nexus GSM: panduan pembaruan lengkap untuk Cyanogenmod9 (4.0.4 atm, 4.1 CM10 masih dalam tahap sangat awal). Berikut apk yang mungkin membantu juga. membutuhkan root.
ce4
Terima kasih, utas itu terlihat menjanjikan kecuali untuk ini . Mudah-mudahan itu tidak benar kalau tidak saya akan memiliki GN untuk dijual.
Matt
2
Saya tidak berpikir Anda tentu memerlukan kartu SD terpisah untuk penggunaan UMS, tapi saya pikir Anda tidak memerlukan partisi terpisah (diformat FAT) untuk itu untuk bekerja, ala Kindle Fire yang tidak memiliki slot kartu SD eksternal.
eldarerathis
1
Saya pikir Anda perlu sedikit memperluas tentang mengapa MTP / PTP tidak cocok untuk penggunaan Anda. Terlepas dari namanya, MTP sebenarnya dapat mentransfer file sewenang-wenang, bukan hanya file media. Satu-satunya operasi yang tidak dapat Anda lakukan di MTP adalah yang membutuhkan akses tingkat blok, misalnya defragging, memformat ulang, mempartisi, dll.
Lie Ryan
Saya tidak ingin mentransfer file, saya ingin mengeditnya di lokasi mereka di ponsel saya seperti itu adalah flash drive. Saya tidak percaya Anda bisa melakukan itu dengan mtp, apakah saya salah?
Matt

Jawaban:

28

Jawaban singkat:

Saat ini, Anda tidak dapat menggunakan perangkat Anda (perangkat apa pun yang bergantung pada MTP) untuk bertindak sebagai MSC, karena spesifikasi protokol!

Menguraikan

Untuk memperjelas, Galaxy Nexus menggunakan satu partisi besar untuk seluruh perangkat, itu seperti mengatakan bahwa: sistem, data, dan sdcard semuanya bersama-sama.

MTP dipilih untuk Galaxy Nexus karena memungkinkan penggunaan area penyimpanan besar ini, yang dari sudut pandang sistem, memastikan komunikasi yang lebih baik dengan file, menyediakan sistem file yang lebih aman dan memberikan lebih sedikit kesulitan untuk mempertahankan.

Mengapa Anda tidak dapat melakukannya dengan cara yang Anda inginkan:

Tidak ada partisi terpisah di Galaxy Nexus, hanya satu area penyimpanan besar. Bahkan meniru sistem file fat32, seseorang masih harus dapat menerjemahkan antara fat32 dan ext4 pada level rendah. Ini praktis tidak mungkin.

Jika Galaxy Nexus memiliki partisi, Anda dapat memiliki akses tingkat blok dan dengan demikian Anda dapat memiliki akses penyimpanan massal.


Versi membosankan panjang:


Latar belakang pendek

The Mass Storage Class (MSC), umumnya dikenal sebagai USB Mass Storage (UMS), bahwa kita semua digunakan untuk digunakan pada perangkat kami, adalah sebuah protokol yang memungkinkan Serial Bus (USB) perangkat Universal untuk menjadi diakses ke perangkat komputasi tuan rumah , untuk mengaktifkan transfer file di antara keduanya. Pada hari-hari emas, seseorang hanya perlu mencolokkan telepon, tekan "mode USB" dan mulai memindahkan file, mengedit file, dll ...


Media Transfer Protocol (MTP)

Banyak hal telah berubah, ketika kami berbicara tentang metode transfer baru yang digunakan pada perangkat Anda, Media Transfer Protocol (MTP):

1 Pendahuluan lihat halaman 15 di bawah ini

Media Transfer Protocol, atau MTP, adalah protokol yang dirancang untuk pertukaran konten dengan dan perintah dan kontrol perangkat penyimpanan sementara. Ini telah dikembangkan sebagai perpanjangan untuk PTP, atau Picture Transfer Protocol, dan ditargetkan terutama pada Kamera Digital, Pemutar Media Portabel dan telepon seluler.

Sementara pengantar masih menyisakan margin untuk keraguan, protokol ini dikembangkan dan diimplementasikan dengan tujuan yang sangat spesifik: untuk memfasilitasi transfer file media dan metadata yang terkait antar perangkat:

1.1 Tujuan lihat halaman 15 pos di bawah ini

Tujuan utama protokol ini adalah untuk memfasilitasi komunikasi antara perangkat media yang memiliki konektivitas sementara dan kapasitas penyimpanan yang signifikan. Ini termasuk pertukaran objek biner dan enumerasi konten perangkat yang terhubung.


Jenis File yang didukung?

Pada titik ini, kita sudah tahu bahwa ini untuk file media dan perangkat berbasis media, tetapi satu pertanyaan yang saya lihat di komentar tetap: Bisakah kita menyalin file selain file media (audio / video)? Ya kita bisa:

1.3 MTP Object Model lihat halaman 15 di bawah ini

Istilah "media" dalam "Media Transfer Protocol" digunakan untuk mengidentifikasi data biner apa pun, dan tidak terbatas pada format audio / video yang biasa diterapkan. Beberapa contoh objek non-audio / video termasuk kontak, program, acara yang dijadwalkan dan file teks.


Bagaimana dengan "live edit"?

Pertanyaan Anda secara khusus menyangkut penggunaan perangkat Anda (Galaxy Nexus) sebagai drive penyimpanan USB eksternal. Kenapa itu tidak bisa dilakukan? Protokol MTP membatasi data untuk operasi searah, juga yang terakhir menjelaskan bahwa penyimpanan perangkat digunakan oleh komputer sebagai file lokal:

4.2 Aliran Data Searah lihat halaman 29 di bawah ini

Aliran data dalam MTP selalu searah. Saat memulai operasi, data hanya mengalir dari Inisiator ke Responder. Saat menanggapi operasi yang diminta, data hanya mengalir dari Responder ke Pemrakarsa. Selama fase pertukaran data biner, data dapat mengalir dari Responder ke Inisiator atau dari Inisiator ke Responder, tetapi tidak pernah keduanya. Pertukaran data biner dua arah harus dilakukan oleh banyak operasi.


Keuntungan vs Kelemahan

Keuntungan

MTP memang membawa beberapa keuntungan, terutama menyangkut keamanan dan integritas data pengguna:

Ikhtisar Implementasi Microsoft MTP

Ketika komputer host USB telah memasang partisi MSC, ia mengasumsikan kontrol mutlak penyimpanan, memungkinkan misalnya, sistem file rusak atau memformat ulang ke jenis yang tidak didukung.

Sementara itu, MTP mengatasi hal ini dengan menjadikan unit penyimpanan yang dikelola menjadi file lokal yang dapat ditulis atau dibaca.

Kekurangannya

MTP tidak diperlakukan sebagai removable drive tradisional, jadi, tidak ada alat pemulihan yang dapat digunakan untuk menghemat hari.

Dukungan masih berlangsung, beberapa sistem operasi masih memerlukan perangkat lunak pihak ketiga.

Standar MTP (seperti yang disebutkan sebelumnya) tidak memungkinkan untuk modifikasi objek secara langsung. Alih-alih, objek yang dimodifikasi harus diunggah kembali secara keseluruhan.


Referensi:

Saya harap ini menjelaskan mengapa MTP itu baik (perbaikan) , tetapi OTOH buruk (pengguna harus mengubah kebiasaan) .

Inilah bahan bacaan yang digunakan untuk mensintesis jawabannya:

Jawaban di atas dikreditkan ke konten dan penulis tautan referensi ini.

Zuul
sumber
3
Saya menghargai deskripsi yang sangat rinci tentang mtp, namun saya telah menerima kenyataan bahwa saya tidak dapat menggunakan mtp seperti yang saya inginkan. Yang saya tertarik adalah menemukan cara mengatasi batasan. Misalnya, mempartisi ulang penyimpanan internal untuk membuat partisi yang dapat dipasang yang terpisah. Ada saran tentang bagaimana saya bisa mengatasi batasan mtp?
Matt
@ Matt Komentar menjadi terlalu besar, saya telah menambahkan klarifikasi di bawah bagian "jawaban singkat". Maaf jika saya tidak menjelaskan sebelumnya.
Zuul
Terima kasih atas informasi yang ditambahkan tetapi sekali lagi saya sudah mengetahui sebagian besar dari ini. Yang saya tertarik ketahui adalah, singkatnya solusi lain, dapatkah ponsel dipartisi ulang dengan partisi FAT terpisah yang akan mendukung UMS? Jika ya, bagaimana caranya?
Matt
Saya akhirnya memberikan hadiah kepada ce4 karena kode-nya adalah hal yang paling dekat dengan solusi tetapi terima kasih atas informasi terperinci dan bantuan yang Anda berikan.
Matt
7

Dimungkinkan untuk mengekspor file gambar loopbacked melalui USB sebagai UMS / MSC.

Anda pasti akan membutuhkan:

  • akar
  • dukungan kernel : loopback (/ dev / block / loop0) dan UMS (/ sys / devices / platform / usb_mass_storage /)
  • aplikasi khusus untuk mengaktifkan / menonaktifkan ini atau skrip init khusus untuk selalu mengekspor file gambar
    Ini adalah contoh untuk aplikasi yang mudah diretas, perlu sedikit pengembangan ... Anda perlu mengubah perangkat blok default (/ dev / block / mmcblk0pX ) ke loop0 dan juga kehilangan loop0 sebelumnya, lalu bangun. Selain itu bisa dipasang di perangkat Android jika tidak diekspor, misalnya di / sdcard / fat

Inilah tes singkat pada Galaxy Nexus saya (dalam mode pemulihan):

#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:~$
ce4
sumber
Saya tidak memiliki perangkat pengujian (GNexus) yang ada saat ini, apakah seseorang akan begitu baik dan melihat apakah UMS termasuk dalam CM9? Lihat saja apakah ini tersedia: / sys / devices / platform / usb_mass_storage / lun0 / file
ce4
1
CM10 awal tidak muncul, jadi saya kira CM9 juga tidak.
eldarerathis
@eldarerathis: Terima kasih telah melihat! Mungkin dikompilasi ke dalam kernel yang berbeda atau harus diaktifkan sendiri agar dapat berfungsi.
ce4
@ ce4 Ini terlihat menjanjikan tetapi saya ingin melihat lebih banyak detail yang menjelaskan cara mencapai ini. Apakah Anda mempartisi ulang penyimpanan ponsel secara permanen atau apakah ini solusi yang berbeda? Apakah ada kelemahan pada metode ini seperti terdiri dari integritas sistem file?
Matt
Saya menggunakan ponsel saya sebagai flash drive. Saya mencolokkannya ke komputer bersama di tempat kerja, mengedit dokumen lalu menyimpannya dan pergi. Mentransfer file ke komputer dan kembali lagi tidak bekerja untuk saya. Saya akan mengobrol sebentar lagi.
Matt
3

Ini adalah versi TL; DR.

Maaf, USB Mass Storage tidak mungkin dilakukan dengan Galaxy Nexus.

Alasannya adalah karena USB Mass Storage memberikan akses tingkat blok PC ke sistem file, dan untuk menjaga integritas sistem file, itu haruslah akses eksklusif. Inilah mengapa ponsel Android melepas kartu SD dan aplikasi tidak dapat menggunakan data pada kartu SD saat ponsel dalam mode Penyimpanan Massal USB.

Galaxy Nexus, bagaimanapun, tidak memiliki kartu SD. Ini adalah penyimpanan internal telepon yang sangat banyak yang sedang diakses.

MTP (lihat penjelasan luar biasa @ Zuul) menyiasati hal ini dan memungkinkan ponsel dan PC mengakses file tanpa ponsel harus dikunci. Sisi buruknya adalah bahwa Anda tidak mendapatkan akses tingkat blok eksklusif, dan dukungan sistem operasi untuk MTP belum ada di sana.

Jika ini adalah fitur yang Anda tidak bisa hidup tanpanya, maka taruhan terbaik Anda adalah menggunakan telepon yang berbeda. Bukan kebetulan, ini adalah salah satu alasan saya menyingkirkan Galaxy Nexus dan mendapat DROID RAZR MAXX.

Michael Hampton
sumber
1
"Inilah sebabnya ponsel Android melepas kartu SD ..." Bagaimana dengan aplikasi yang memungkinkan pemasangan ganda sd (dan penyimpanan internal dalam hal ini) ke komputer dan os Android secara bersamaan? Saya punya aplikasi seperti itu di Rezound saya dan itu bekerja dengan cukup baik.
Matt
Saya belum pernah mendengar aplikasi seperti itu. Punya bukti keberadaannya?
Michael Hampton
Itu terdengar sangat keras! google.hu/…
RR
1
Dan Anda tidak pernah kehilangan data? Kamu sangat beruntung, kalau begitu.
Michael Hampton
3
Ya, itulah sebabnya sistem tidak mengizinkannya sejak awal.
Michael Hampton
1

Tampaknya AOKP JB build 4 memiliki:

"Emulasi penyimpanan massal USB untuk perangkat tertentu (i9 *)"

Saya belum menggunakannya sendiri.

Ηλίας
sumber
0

Anda bisa mencoba Aplikasi XDA-Pengembang ini :

Catatan: Aplikasi ini dikembangkan pada hari-hari awal Ice Cream Sandwich Ports. Pada saat ini tidak ada Port yang memiliki dukungan USB Mass Storage asli dan Aplikasi ini dimaksudkan sebagai solusi sementara untuk menggunakan UMS. Jadi Aplikasi ini tidak akan menarik bagi Anda, kecuali ICS atau JB Port yang Anda gunakan masih tidak mendukung UMS. Jika itu masalahnya, ini dia bantuan:

Aplikasi mulai secara otomatis setelah mem-boot perangkat dan secara otomatis mendeteksi ketika perangkat terhubung melalui USB ke komputer. Kemudian notifikasi muncul di bilah notifikasi dan dengan mengetuk notifikasi Anda akan membuka GUI untuk mengaktifkan / menonaktifkan USB Mass Storage; hanya / hampir seperti fitur UMS asli.

Kedengarannya cukup bagus sejauh ini - hanya Galaxy Nexus Anda yang tidak disebutkan secara eksplisit dalam daftar perangkat yang didukung yang dikenal. Ini tidak berarti itu tidak akan berhasil, tetapi pada saat itu tidak diketahui. Harus patut dicoba.

Izzy
sumber
Ini sudah dibahas, lihat komentar OP. Sayangnya, itu juga jalan buntu. :(
ce4
Saya tidak dapat menemukan komentar yang Anda rujuk - tetapi jika itu sudah merupakan opsi yang diketahui, saya minta maaf. Dan "jalan buntu" berarti itu tidak lagi berfungsi? Ya ampun, kurasa aku melewatkan pembaruan berikutnya;)
Izzy
Tanpa bermaksud menyinggung! :) lebih dimaksudkan sebagai "FYI". "Inilah apk" mengacu pada utas yang sama dengan tautan XDA Anda.
ce4
Kami mengobrol agak lama di obrolan android utama tentang itu. Tidak tahu apakah ada sejarah yang cukup panjang tetapi ada beberapa info lebih lanjut jika Anda masih dapat mengaksesnya
ce4
Terima kasih atas informasinya, ce4 - sayangnya saya saat ini kehilangan waktu untuk menggali lebih dalam. Saya hanya melihat MTP belum selengkap yang seharusnya untuk mematikan UMS sama sekali, jadi saya cukup yakin pasti ada solusi yang masih tersedia. Dan saya ingat beberapa utas mengaktifkan UMS lagi di ICS dan yang lebih tinggi. Semoga ada sesuatu di sekitar segera - karena MTP tampaknya tidak menjadi jawaban untuk semua orang.
Izzy