Requisitos:
- go-mtpfs
Ao adquirir o meu Nexus 7 3G ( Tilapia ) esta foi a primeira situação com que me deparei, ou seja, o sdcard interno do Nexus 7 3G não ficava disponível automaticamente como sucedia no Galaxy Nexus.
Assim, depois de pesquisar um pouco e efectuar a configuração no meu PC decidi elaborar este tutorial.
1. Configurar FUSE
É necessário permitir a leitura do ficheiro /etc/fuse.conf com o comando :
- # sudo chmod a+r /etc/fuse.conf
Para que os filesystems possam ser usados por qualquer utilizador temos que modificar o ficheiro /etc/fuse.conf e alterar o seu funcionamento predefinido.
- # sudo gedit /etc/fuse.conf
Ficheiro /etc/fuse.conf
... # Allow non-root users to specify the 'allow_other' or 'allow_root' mount options. user_allow_other
2. Compilar e instalar o go-mtpfs
Neste passo é necessário compilar e instalar o go-mtpfs. Os comandos seguintes efectuam o download, a compilação e instalação do go-mtpfs de maneira a que fique pronta a usar no sistema.
# sudo apt-get install libmtp-dev git golang # mkdir /tmp/go # export GOPATH=/tmp/go # go get github.com/hanwen/go-mtpfs # sudo mv /tmp/go/bin/go-mtpfs /usr/local/sbin/go-mtpfs # sudo chmod a+x /usr/local/sbin/go-mtpfs
3. Criar os mount points para os respectivos equipamentos
Para além de haver a necessidade de criar os mount points para os respectivos equipamento, é também necessário dar as permissões adequadas para que os filesystems sejam posteriormente montados com a conta do utilizador.
# sudo mkdir /media/Nexus7 # sudo chmod 777 /media/Nexus7 # sudo mkdir /media/Nexus73G # sudo chmod 777 /media/Nexus73G # sudo mkdir /media/GalaxyNexus # sudo chmod 777 /media/GalaxyNexus
4. Criar as regras UDEV ( UDEV Rules )
Este passo envolve o uso de algumas ferramentas para determinar as configurações a efectuar. Se houver interesse posso mais tarde deixar o processo de recolha dessa informação de uma forma detalhada.
Assim apenas deixo o resultado final.
Depois da recolha de todos os dados necessários à configuração, é necessario criar ou editar o ficheiro com as regras necessárias :
- # sudo gedit /etc/udev/rules.d/51-android.rules
Ficheiro /etc/udev/rules.d/51-android.rules
# Google Nexus 7 3G MTP mode : automatic mount when plugged (all android versions) ENV{ID_MODEL}=="Nexus_7_3G", ENV{ID_MODEL_ID}=="4e41", ACTION=="add", RUN+="/usr/bin/sudo -b -u -LOGIN- /usr/local/sbin/go-mtpfs -allow-other=true /media/Nexus73G" ENV{ID_MODEL}=="Nexus_7_3G", ENV{ID_MODEL_ID}=="4e42", ACTION=="add", RUN+="/usr/bin/sudo -b -u -LOGIN- /usr/local/sbin/go-mtpfs -allow-other=true /media/Nexus73G" # Google Nexus 7 MTP mode : automatic mount when plugged (all android versions) ENV{ID_MODEL}=="Nexus_7", ENV{ID_MODEL_ID}=="4e41", ACTION=="add", RUN+="/usr/bin/sudo -b -u -LOGIN- /usr/local/sbin/go-mtpfs -allow-other=true /media/Nexus7" ENV{ID_MODEL}=="Nexus_7", ENV{ID_MODEL_ID}=="4e42", ACTION=="add", RUN+="/usr/bin/sudo -b -u -LOGIN- /usr/local/sbin/go-mtpfs -allow-other=true /media/Nexus7" # Galaxy_Nexus MTP mode : automatic mount when plugged ENV{ID_MODEL}=="Galaxy_Nexus", ENV{ID_MODEL_ID}=="685c", ACTION=="add", RUN+="/usr/bin/sudo -u -LOGIN- /usr/local/sbin/go-mtpfs -allow-other=true /media/GalaxyNexus" ENV{ID_MODEL}=="Galaxy_Nexus", ENV{ID_MODEL_ID}=="6860", ACTION=="add", RUN+="/usr/bin/sudo -u -LOGIN- /usr/local/sbin/go-mtpfs -allow-other=true /media/GalaxyNexus" # Google Nexus 7 3G MTP mode : automatic unmount when unplugged (all android versions) ENV{ID_MODEL}=="Nexus_7_3G", ENV{ID_MODEL_ID}=="4e41", ACTION=="remove", RUN+="/bin/umount /media/Nexus73G" ENV{ID_MODEL}=="Nexus_7_3G", ENV{ID_MODEL_ID}=="4e42", ACTION=="remove", RUN+="/bin/umount /media/Nexus73G" # Google Nexus 7 MTP mode : automatic unmount when unplugged (all android versions) ENV{ID_MODEL}=="Nexus_7", ENV{ID_MODEL_ID}=="4e41", ACTION=="remove", RUN+="/bin/umount /media/Nexus7" ENV{ID_MODEL}=="Nexus_7", ENV{ID_MODEL_ID}=="4e42", ACTION=="remove", RUN+="/bin/umount /media/Nexus7" # Galaxy_Nexus MTP mode : automatic unmount when unplugged ENV{ID_MODEL}=="Galaxy_Nexus", ENV{ID_MODEL_ID}=="685c", ACTION=="remove", RUN+="/bin/umount /media/GalaxyNexus" ENV{ID_MODEL}=="Galaxy_Nexus", ENV{ID_MODEL_ID}=="6860", ACTION=="remove", RUN+="/bin/umount /media/GalaxyNexus"É necessário substituir -LOGIN- pelo username do utilizador.
Depois de efectuada a configuração das UDEV rules é necessário reiniciar o serviço :
# sudo service udev restart
5. Editar os mount point no /etc/fstab para que seja possível efectuar o eject dos filesystems
# sudo gedit /etc/fstab
Ficheiro /etc/fstab
DeviceFs(Nexus\0407) /media/Nexus7 fuse.DeviceFs(Nexus\0407) allow_other,rw,user,noauto 0 0 DeviceFs(Nexus\0407\0403G) /media/Nexus7 fuse.DeviceFs(Nexus\0407\0403G) allow_other,rw,user,noauto 0 0 DeviceFs(Galaxy\040Nexu /media/GalaxyNexus fuse.DeviceFs(Galaxy\040Nexu allow_other,rw,user,noauto 0 0
A partir deste momento o sdcard do Nexus 7, Nexus 7 3G e Galaxy Nexus são montados como qualquer outro sistema de ficheiros.
Espero que este tutorial vos possa ser útil.
Deixem feedback.
Um abraço.
Agradecimento: Este tutorial teve por base a consulta destes dois tópicos :
- Working MTP on Ubuntu for Galaxy Nexus, Nexus 7 and Acer A500
- Ubuntu - Automount Nexus 7 in MTP mode
Editado por on.one, 02 February 2013 - 20:53.