[GUIDE] How to transfer files in Linux

Search This thread

MapleSyrup

Senior Member
Oct 9, 2011
292
821
but the Qt ADB won start automatic when I connect the Tab to the PC..:(
I have tho execute it manually... so it seems?

Am I doing something wrong?:(

You'll have to do it manually. This is exactly how I can do it in my system (Arch Linux), in yours, the process must be something similar, but maybe not the same.

All this as root

First, I created a script in /usr/bin named adbQT

Code:
touch /usr/bin/adbQT && chmod +x /usr/bin/adbQT

With this content (change the paths according to your case):

Code:
#!/bin/bash
export XAUTHORITY=/home/user/.Xauthority
export DISPLAY=':0'
su - user -c "~/pathtoinstalled/QtADB_0.8.1_linux64/./QtADB"

The, I have to add and udev rule in /etc/udev/rules.d

With the tab connected to the PC, do

Code:
lsusb

Look for the corresponding line

Code:
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
[B]Bus 002 Device 076: ID [COLOR="Red"]04e8[/COLOR]:[COLOR="Blue"]6860[/COLOR] Samsung Electronics Co.[/B]

Create the rule (change the idVendor and idProduct)

Code:
echo 'SUBSYSTEM=="usb", ATTR{idVendor}=="04e8", ATTR{idProduct}=="6860", RUN+="/usr/bin/adbQT"' >  /etc/udev/rules.d/91-qtadb.rules

Reload udev rules

Code:
udevadm control --reload-rules

An that's it.
 

CrisisCorE

Senior Member
Jan 9, 2011
163
30
This doesn't work for my Galaxy Tab 7.0 Plus, which has the same vendor and device ID numbers. gMTP says when clicking connect (after a significant "thinking time" where it greys out as busy):

Error
Detect: Unable to open raw device?

Also when connecting the Tab three windows pop up: two which as me what to do with two media players I just connected, the third one with an error message:

Unable to mount SAMSUNG_Android
Error initializing camera: -60: Could not lock the device

The Tab has been recognized as gtab after ls /dev | grep gtab
It is in MTP mode without USB debugging on stock Ice Cream Sandwich.
The media players recognized resemble the internal memory and the internal sdcard (being a part of the memory). They show proper folders, however, these are empty and files on the root can not be accessed (Access denied). Any suggestions?
 

Jimbellingen

Member
Sep 29, 2017
14
0
I know this is an old thread. However, I used it today to connect my Samsung Galaxy 10.1 tab to my Linux Mint 17.3 KDE computer successfully!
It took a bit of fiddling, but works good. I now have to learn how to download files to the tab via the computer.
Subject for another thread though.
Many thanks bcmobile......

Jim.
 

Top Liked Posts

  • There are no posts matching your filters.
  • 17
    Now works on 32bit and 64bit Linux

    Just a quick guide on how to configure Linux for file transfers using MTP. I wrote the instructions and config for Ubuntu Natty 32bit and 64bit, though the same process will work on other platforms - the only real difference being the package manager commands and possibly the config file locations.

    The attached files are for the Galaxy Tab 10.1v but should work for the 10.1g / 10.1 as well. See the end of the post to learn how to modify this config to work for other devices.

    How to configure for gMTP and other Media Sync tools

    1) Install aptitude
    Code:
    sudo apt-get install aptitude
    2) Install mtp-tools and mtpfs
    Code:
    sudo aptitude install mtpfs mtp-tools
    3) Download the attached file ( View attachment 98-gtab.zip for 32bit Linux or View attachment 98-gtab.rules-AMD64.zip for 64bit Linux ) to your desktop.
    4) Extract the 98-gtab.rules file to your desktop
    5) Copy the rules file to /etc/udev/rules.d/
    Code:
    sudo cp ~/Desktop/98-gtab.rules /etc/udev/rules.d
    6) Reboot
    7) Connect your Tab
    8) Run the following command to confirm it is working:
    Code:
    ls /dev | grep gtab
    ...which should return "gtab" if successful. If not, follow the "Modifying" guide below.
    9) Download / install gMTP
    Code:
    sudo apt-get install gmtp
    10) Open gMTP and select "connect" from the menu
    11) Hit the thanks button :D
    12) Go nuts!

    Setting up for Automount (Optional, but recommended)

    ***You must have completed Steps 1-8 above before proceeding***
    1) Edit your fstab file to add your gtab:
    Code:
    sudo gedit /etc/fstab
    2) Add this to the end of the file:
    Code:
    #gtab
    mtpfs     /media/gtab     fuse     user,noauto,allow_other      0      0
    3) Save and exit
    4) Open fuse.conf for editing:
    Code:
    sudo gedit /etc/fuse.conf
    5) Find the following line and remove the #
    Code:
    #user_allow_other
    6) Save and exit
    7) Open and edit the groups file:
    Code:
    sudo gedit /etc/group
    8) Find the details for the group 'fuse' and append your username to the end of the line eg.
    Code:
    fuse:x:104:<YOUR USER NAME>
    9) Save and exit
    10) Create the folder to mount your Tab:
    Code:
    sudo mkdir /media/gtab
    11) Take ownership of the folder:
    Code:
    sudo chown <YOUR USER NAME>:users /media/gtab
    12) Reboot
    13) Plug in your Tab.
    14) Click on the Places menu and click gtab.
    15) You're in business!


    Modifying for other devices

    If the above doesn't work immediately on the 10.1g / 10.1 (I have only tested on the 10.1v), you can easily edit the rules file to support your device.

    1) Install lsusb
    Code:
    sudo apt-get install lsusb
    2) Run lsusb
    Code:
    lsusb
    3) Check the output of this command to find your device. The 10.1v is shown like this:
    Code:
    Bus 001 Device 010: ID 04e8:6860 Samsung Electronics Co., Ltd
    4) Make a note of the Vendor and Product IDs. In the example above, the vendor ID is 04e8 and device ID is 6860 (note 04e8:6860 in the output).
    5) Open the rules file for editing (if it's not already in /etc/udev/rules.d, copy it there now)
    Code:
    sudo gedit /etc/udev/rules.d/98-gtab.rules
    6) Find this line:
    Code:
    ATTRS{idVendor}=="04e8", ATTRS{idProduct}=="6860", MODE="0666" SYMLINK+="gtab"
    7) Replace the Vendor ID (04e8) and Product ID (6860) with the ones that you got from step 3 above.
    8) Save and exit
    9) Reboot
    10) Follow step 7 onward in the first guide above
    11) Hit the thanks button :D


    If you modify it for a particular device, please post the contents of your new 'rules' file here.


    32bit RULES FILE:
    Code:
    ACTION!="add", GOTO="gtab_rules_end"
    SUBSYSTEM!="usb|usb_device", GOTO="gtab_usb_end"
    
    ATTRS{idVendor}=="04e8", ATTRS{idProduct}=="6860", MODE="0666" SYMLINK+="gtab"
    
    LABEL="gtab_usb_end"
    
    LABEL="gtab_rules_end"

    64bit RULES FILE:
    Code:
    ACTION!="add", GOTO="gtab_rules_end"
    SUBSYSTEM!="usb|usb_device", GOTO="gtab_usb_end"
    
    ATTRS{idVendor}=="04e8", ATTRS{idProduct}=="6860", MODE="0777" SYMLINK+="gtab"
    
    LABEL="gtab_usb_end"
    
    LABEL="gtab_rules_end"
    3
    I edited my post up above, but the gist is - you can't do this while USB Debugging is enabled.

    You may be right. When I wrote this guide, I was using a VM. It is possible that the fact that I was using both MTP and ADB at the same time has something to do with how VMWare presents the devices to the guest OS.

    Now I am using 'bare metal' Natty 64 bit and have the same problem as you.

    I have to go out for a while but will look at it again when I get back.

    EDIT: Just tried mtp-detect and it is finding the device. I suspect USB Debug is not the issue, but I'll leave it in your capable hands - really got to go now

    EDIT2: See here http://www.usb.org/developers/devclass_docs/MTP_1.0.zip OK - Im really REALLY going now. Back online in a few hours :D
    1
    Everything worked for me up to the GMTP part - I can grep through /dev and I can see the "gtab" device there. But GMTP insists "Detect: No raw devices found."

    I'm still running Maverick, but I added the maverick-backports repo, which has gmtp, so I would think it would work.

    This is a Samsung Galaxy Tab 10.1v (from Google I/O). Any ideas?

    EDIT: I also tried the automounting option with FUSE. Attempts to cd into it with bash or open it from the Places menu in GNOME both give the message "Transport endpoint is not connected".

    Can you post the output from 'lsusb' ?

    re the "Transport endpoint is not connected" - I just got this same error on 64bit Natty. Will try and see if I can find out why..
    1
    Messed up indeed.

    Can you get MTP to detect it with USB debugging enabled?

    Yes, both work simultaneously on 32bit Natty

    Note that you have to unmount the gtab for mtp-detect to work. I compared the output from mtp-detect on the 32bit working VM and the 64bit non-working 'bare metal' machine and the output was identical. I suspect this means that mtpfs is not where the problem is :confused:

    Re the strange problem with haptic feedback - I have had mine power off all by itself when testing some different parameters in the rules file.
    1
    [64bit working]

    OK. Problem solved... kind of. There seems to be some kind of bug in fuse which requires the filesystem to mount with higher permissions to run properly (at least on Natty AMD64)

    If you use the new 64bit rules file I have attached, it should work. Basically it uses 777 permissions instead of 666. Not great, but working nonetheless.

    New rules file for 64bit:
    Code:
    ACTION!="add", GOTO="gtab_rules_end"
    SUBSYSTEM!="usb|usb_device", GOTO="gtab_usb_end"
    
    ATTRS{idVendor}=="04e8", ATTRS{idProduct}=="6860", MODE="0777" SYMLINK+="gtab"
    
    LABEL="gtab_usb_end"
    
    LABEL="gtab_rules_end"

    EDIT: If someone wants to experiment with lesser permissions and see what the minimum is and post back, that would be helpful for all.