[Q] USB mass storage in linux - Acer Iconia A500

Is there a way to connect to a linux system as a mass storage device to access the SD and internal memory?
I have had other android devices and never had any issue with just plugging it in and it just popping up. I am running linux mint KDE (Ubuntu based). This is the first device i tried with Honeycomb. It seems to use Acer sync instaed stock usb storage mode anyway.

A500 to Ubuntu USB
I could not get my Ubuntu machines to recognize the tablet when I plugged in the USB cable. Bummer.
Digging around I found a similar issue experienced by Xoom owners. The original article describing the fix is here. The steps listed there are for the Xoom, not the Acer, although the fix is almost the same.
I am posting the slightly modified instructions again here for clarity and brevity.
I did this fix on both Ubuntu 10.10 (Maverick) and 11.04 (Natty). Your mileage may vary.
1. Get the mtpfs package installed on your machine.
Code:
sudo apt-get install mtpfs
2. In the tablet, go to Settings->Applications->Development and turn USB Debugging on (check the box). For me, this was required for file transfers to work.
3. Plug your USB cable into the tablet and your Ubuntu machine.
4. Open your Terminal app on the Ubuntu machine.
5. Use the lsusb command to get the vendor id. Type "lsusb" in Terminal.
6. The output should look something like this:
Code:
[email protected]:~$ lsusb
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 006: ID 046d:c52f Logitech, Inc. Wireless Mouse M305
Bus 003 Device 005: ID 05af:0802 Jing-Mold Enterprise Co., Ltd
Bus 003 Device 002: ID 03eb:3301 Atmel Corp. at43301 4-Port Hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 005: ID 0502:3325 Acer, Inc.
Bus 001 Device 003: ID 04f2:b16b Chicony Electronics Co., Ltd
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
The line with "Acer, Inc." in it tells you the VendorID. In the example above, it's 0502.
** Disconnect the USB cable at this point **
7. Create a UDEV rule file. Use your editor of choice, mine is nano.
Code:
sudo nano /etc/udev/rules.d/51-android.rules
The file should contain this line when you are finished:
Code:
SUBSYSTEM=="usb", ATTR{idVendor}=="0502", MODE="0666"
8. Create a mount point and make yourself the owner.
Code:
sudo mkdir /media/a500
sudo chown [B][COLOR="darkred"]user[/COLOR]:[COLOR="darkred"]user[/COLOR][/B] /media/a500
IMPORTANT: Replace user:user with your user name and default group on your Ubuntu machine. For most people it will be your login name. If your login is "bob", then replace user:user with bob:bob, capice?
9. Add the mount point to fstab.
Code:
sudo nano /etc/fstab
At the bottom of the file, type this stuff:
Code:
# mount point for moto xoom
mtpfs /media/xoom fuse user,noauto,allow_other 0 0
10. Modify fuse.conf. Uncomment user_allow_other.
Code:
sudo nano /etc/fuse.conf
Look for #user_allow_other and remove the #.
11. Add yourself to the fuse group.
Code:
sudo nano /etc/group
Look for the line starting with "fuse" and put your login at the end of that line (if it's not already there).
12. Reboot.
You should see your mount point in Nautilus when you open it. After plugging in the USB cable, you can click the a500 entry under Places to mount the tablet.
Be sure to unmount it before disconnecting it. (always a good practice)
It took some time for some large folders to display. Patience is good.
From what I read, better fixes are on the horizon, but who knows when. For now, this allows me to get my music and movies on the tablet more rapidly than using wifi.
Thanks to roberj13 over at forum.xda-developers.com for the original post.

Related

eclipse using ubuntu

i cant get my eclipse to debug my phone
if i adb devices i get
??????????????? no permissions
ubuntu 10.4
You need to add the samsung USB vendor code into udev.
Press ALT + F2
In the run dialog, enter:
Code:
gksudo gedit /etc/udev/rules.d/51-android.rules
Enter your password when prompted.
Here is my configuration:
Code:
SUBSYSTEM=="usb", SYSFS{idVendor}=="18d1", MODE="0666"
SUBSYSTEM=="usb", SYSFS{idVendor}=="0bb4", MODE="0666"
SUBSYSTEM=="usb", SYSFS{idVendor}=="04e8", MODE="0666"
SUBSYSTEM=="usb", SYSFS{idVendor}=="22b8", MODE="0666"
18d1 = Nexus One
0bb4 = HTC (Dream/Magic/Evo/Hero)
04e8 = Samsung (Moment)
22b8 = Motorola (Droid)
Contained in italics are known phones for sure. I'm going to assume the Vibrant uses the same USB vendor code as the Moment.
ALSO, MAKE SURE THE VENDOR ID (i.e. 04e8) IS ALL LOWERCASE, UNLIKE THIS. I had severe issues figuring out why it still wasn't working after adding, and I found out it IS case sensitive.
Add the Samsung line to your file, and save it. Follow the following instructions.
Open a terminal (Applications -> Accessories -> Terminal).
Type:
Code:
sudo service udev restart
Then unplug and replug your phone.
In the terminal, type:
Code:
adb devices
It should return something like this:
Code:
[email protected]:~$ adb devices
List of devices attached
HT9CZP805116 device
Enjoy!
EDIT:
It may have a different Vendor ID.
If so, in the terminal, type:
Code:
lsusb
It will return something like this:
Code:
[email protected]:~$ lsusb
Bus 002 Device 006: ID 046d:c222 Logitech, Inc. G15 Keyboard / LCD
Bus 002 Device 005: ID 046d:c221 Logitech, Inc. G15 Keyboard / Keyboard
Bus 002 Device 004: ID 0a12:0001 Cambridge Silicon Radio, Ltd Bluetooth Dongle (HCI mode)
Bus 002 Device 003: ID 046d:c223 Logitech, Inc. G15 Keyboard / USB Hub
Bus 002 Device 002: ID 046d:c50e Logitech, Inc. MX-1000 Cordless Mouse Receiver
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 013: ID 18d1:4e12
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 13 is my Nexus One, so my vendor code would be 18d1. Substitute your result in and you shall achieve win!

[Q] ADB Device List Empty On Ubuntu 10.10

I'm trying to use the APP Droidcam on my phone, the PC client allows you to connect via ADB but with downloading the Android 2.1 SDK and trying just about everything I've found through google search. With typing: adb devices, in the terminal I continue to get: List of devices attached and a blank. Running lsusb it shows my phone is attached.
$ lsusb
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 003: ID 04e8:681c Samsung Electronics Co., Ltd Galaxy Portal/Spica Android Phone
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
$ adb devices
List of devices attached
$
Not really sure how to fix this issue or what to adjust. Any advice would be well appreciated!!
is debugging turned on ?
settings > Applications > development > usb debugging

Connecting Android to a serial device using USB-Serial Converter

I am attempting to connect to a serial device from a Android tablet, via
USB-Serial Converter. In order to interface with this particular serial
device, a linux library must be used as an interface.
This library takes an integer as an argument, and tries to connect to the
device at the following location : /dev/ttySx, where x is the arguement. If
2 is provided to the library, it will look for the device at /dev/ttyS2.
Very simple.
When I connect the device to Ubuntu, there's is one simple extra step for
this device to work with the USB-Serial convert. The converter is exposed
at the location /dev/ttyUSB1. I just need to create a simple soft-link with
the serial port pattern (etc "ln -s /dev/ttyUSV1 /dev/ttyS99"). It works
perfectly.
Now the problem arises for Android. The converter is seen at
/dev/bus/usb/01/01. I never seen this convention in other project. The
question is how can I direct the I/O from /dev/ttySX to /dev/bus/usb/01/01
ehpaul said:
I am attempting to connect to a serial device from a Android tablet, via
USB-Serial Converter. In order to interface with this particular serial
device, a linux library must be used as an interface.
This library takes an integer as an argument, and tries to connect to the
device at the following location : /dev/ttySx, where x is the arguement. If
2 is provided to the library, it will look for the device at /dev/ttyS2.
Very simple.
When I connect the device to Ubuntu, there's is one simple extra step for
this device to work with the USB-Serial convert. The converter is exposed
at the location /dev/ttyUSB1. I just need to create a simple soft-link with
the serial port pattern (etc "ln -s /dev/ttyUSV1 /dev/ttyS99"). It works
perfectly.
Now the problem arises for Android. The converter is seen at
/dev/bus/usb/01/01. I never seen this convention in other project. The
question is how can I direct the I/O from /dev/ttySX to /dev/bus/usb/01/01
Click to expand...
Click to collapse
Which android device are you using and with which kernel and android build? In my case I am using kernel 3.0.+ with CM9 on a Kindle Fire and I do see the /dev/ttyUSBx getting created along with the /dev/bus/01/01. It has been a month since I tried it but I was able to see the problem you see and here is what I remember. When you plug the serial convertor both /dev get created but since the Android USB support only uses /dev/bus/usb/01/01, the kernel in order to save power "unmounts" the unused /dev/ttyUSBx after a certain time period. You can try using dmesg to see if that is happening in your case also. There is a kernel build flag that tells the kernel not to "unmount" it but I dont remember it off-hand. Best would be to use the Android USB support to talk to your device instead of the linux library if you can.
--------Update after testing it out again and checking dmesg etc---------------------------
When I plug the FTDI cable this is what shows up in dmesg:
<6>usb 1-1: new full speed USB device number 8 using musb-hdrc
<3>usb 1-1: device v0403 p6001 is not supported
<6>ftdi_sio 1-1:1.0: FTDI USB Serial Device converter detected
<6>usb 1-1: Detected FT232RL
<6>usb 1-1: Number of endpoints 2
<6>usb 1-1: Endpoint 1 MaxPacketSize 64
<6>usb 1-1: Endpoint 2 MaxPacketSize 64
<6>usb 1-1: Setting MaxPacketSize 64
<6>usb 1-1: FTDI USB Serial Device converter now attached to ttyUSB0
At this point if I check the filesystem I see both /dev/ttyUSB0 and /dev/bus/usb/001/0xx [ xx being the current device number ]
I can work with /dev/ttyUSB0 and all is well. Now as soon as I invoke any app that uses Android USB Host Mode API to connect
to USB (for enumeration, connection or whatever) the /dev/ttyUSB0 gets disconnected with following message from dmesg:
<6>ftdi_sio ttyUSB0: FTDI USB Serial Device converter now disconnected from ttyUSB0
<6>ftdi_sio 1-1:1.0: device disconnected
At this point /dev/bus/usb/001/0xx is still alive and if I enumerate the USB devices using android API I see the same as the adaptor
name. So looks like till the Android USB API takes over the FTDI is available as /dev/ttyUSB0 but not afterwards.
------------------------Update ends--------------------------------
(a) If you see a /dev/ttyUSB1 device node created, then you can try the following in an Android terminal:
Code:
stty -F /dev/ttyUSB1 raw
cat /dev/ttyUSB1
If this shows data from your device, then you can use directly the device node to read()/write(), POSIX-style, without needing any library.
(b) If you cannot see a /dev/ttyUSB1 in your Android device, this means that you need to load the ftdi_sio kernel module (check android.serverbox.ch/?p=285 for instructions).
Let me link that for you:
"How to enable FTDI Support for your USB Host featuring Honeycomb Tablet (including sample native application)"
Also have a look at FTDI's Android Paper:
"White Paper: Connecting Peripherals to an Android Platform"
and this relevant blog, from this XDA thread.
pankaj013 said:
Which android device are you using and with which kernel and android build? In my case I am using kernel 3.0.+ with CM9 on a Kindle Fire and I do see the /dev/ttyUSBx getting created along with the /dev/bus/01/01. It has been a month since I tried it but I was able to see the problem you see and here is what I remember. When you plug the serial convertor both /dev get created but since the Android USB support only uses /dev/bus/usb/01/01, the kernel in order to save power "unmounts" the unused /dev/ttyUSBx after a certain time period. You can try using dmesg to see if that is happening in your case also. There is a kernel build flag that tells the kernel not to "unmount" it but I dont remember it off-hand. Best would be to use the Android USB support to talk to your device instead of the linux library if you can.
--------Update after testing it out again and checking dmesg etc---------------------------
When I plug the FTDI cable this is what shows up in dmesg:
<6>usb 1-1: new full speed USB device number 8 using musb-hdrc
<3>usb 1-1: device v0403 p6001 is not supported
<6>ftdi_sio 1-1:1.0: FTDI USB Serial Device converter detected
<6>usb 1-1: Detected FT232RL
<6>usb 1-1: Number of endpoints 2
<6>usb 1-1: Endpoint 1 MaxPacketSize 64
<6>usb 1-1: Endpoint 2 MaxPacketSize 64
<6>usb 1-1: Setting MaxPacketSize 64
<6>usb 1-1: FTDI USB Serial Device converter now attached to ttyUSB0
At this point if I check the filesystem I see both /dev/ttyUSB0 and /dev/bus/usb/001/0xx [ xx being the current device number ]
I can work with /dev/ttyUSB0 and all is well. Now as soon as I invoke any app that uses Android USB Host Mode API to connect
to USB (for enumeration, connection or whatever) the /dev/ttyUSB0 gets disconnected with following message from dmesg:
<6>ftdi_sio ttyUSB0: FTDI USB Serial Device converter now disconnected from ttyUSB0
<6>ftdi_sio 1-1:1.0: device disconnected
At this point /dev/bus/usb/001/0xx is still alive and if I enumerate the USB devices using android API I see the same as the adaptor
name. So looks like till the Android USB API takes over the FTDI is available as /dev/ttyUSB0 but not afterwards.
------------------------Update ends--------------------------------
Click to expand...
Click to collapse
are you using ftdi's code to modify it?
change /system/etc/permissions
this is from a question on stackoverflow titled "Android USB host and hidden devices" (sorry, i can't add external URLs yet). it worked like a charm on a micromax A120 canvas 2 phone (kitkat 4.4.2). now i can control my Arduino! i used busybox tools to do all the command line work (otherwise chmod wouldn't work). my steps (perhaps some were not required):
(0) install PDAnet drivers on my Windows 8 computer.
(1) root the phone using Vroot (now called iRoot). Very simple, only catch is that the su grant/deny page is partly in chinese, no big deal.
(2) install busybox and jackpal's Android-Terminal-Emulator available on github and the google play store (free).
(3) open a terminal window and become the superuser:
# su
(4) the file system may be read-only, so you might have to remount it:
# mount -o rw,remount -t yaffs2 /
or
# mount -o rw,remount -t rootfs /
or
# mount -o rw,remount -t rootfs rootfs /system
(5) make default.prop read/write:
chmod 666 /default.prop
(6) edit /default.prop, make the following changes:
ro.secure=0
ro.debuggable=1
persist.service.adb.enable=1
... And this is the real meat of it:
(7) To enable USB host API support you should add a file named
android.hardware.usb.host.xml and containing the following lines:
<permissions>
<feature name="android.hardware.usb.host"/>
</permissions>
into folder
/system/etc/permissions
in that folder find file named
handheld_core_hardware.xml or tablet_core_hardware.xml
and add
<feature name="android.hardware.usb.host" />
into <permissions> section.
(8) Reboot your device. Usb host api should work.

Help with tf300t USB and LINUX

I have asus tf300t and linux ubuntu 12.04
I dont see my device when connected via USB,
lsusb:
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
of course adb devices comes empty too.
I do have SDK installed and had no problem with other device, samsung galaxy S3.
For some reason the ASUS is not detecting that it is connected. No notification in android. no lsusb in linux (((
anyone have any advice?
BTW do I connect the USB cable to the docking KBD or the tablet?
If still open ….
What about the system log files like
Code:
dmesg
resp.
Code:
tail -n 10 -f /var/log/messages
after plug in of your device?
By the way, I have an issue with my Asus Memo Pad FHD 10 and fastboot!
http://forum.xda-developers.com/showthread.php?t=2527305
Best regards
rudi

No Windows or Mac - How do I get root from Ubnutu Linux?

Pursuant to this thread which is actually in the wrong location:
http://bit.ly/1ywwimI
I can't seem to get access to the PIT using Hiemdall or Jodin. I can get a verified connection but only if I use USB 3.0.
Please asisst before Samsung Bloatware and p0wned Car Home drives me batty.
I used CF-Autoroot with Heimdal and it worked fine...
Fuzzi99 said:
I used CF-Autoroot with Heimdal and it worked fine...
Click to expand...
Click to collapse
Speaking as a software developer of 10+ years myself, "Works for me" is a response you see occasionally from other developers. Almost always, it indicates a communication issue which is to say that some tiny but crucial detail was omitted somewhere by one party or another. A more appropriate response is, "I'm unable to reproduce this." The former is provocative and is often take as, "I got mine, so hose off." which in it's turn results in undesirable team dynamics (the other guy wants to choke you).
Fuzzi99 said:
I used CF-Autoroot with Heimdal and it worked fine...
Click to expand...
Click to collapse
Getting ready to take another crack at it.
What else can you tell me about that process? What version of Linux was it? I'm on Ubuntu 14.04
Does Heimdal need to be suid root or will plain Sudo work?
Was it on a USB 2.0 port or 3.0? Does your Linux machine have both?
I've got:
[email protected]:~$ lspci | grep USB && lsusb | grep hub
00:14.0 USB controller: Intel Corporation 8 Series/C220 Series Chipset Family USB xHCI (rev 04)
00:1a.0 USB controller: Intel Corporation 8 Series/C220 Series Chipset Family USB EHCI #2 (rev 04)
00:1d.0 USB controller: Intel Corporation 8 Series/C220 Series Chipset Family USB EHCI #1 (rev 04)
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
...and on the other machine I've got:
[email protected]:~$ lspci | grep USB && lsusb | grep hub
00:14.0 USB controller: Intel Corporation 7 Series/C210 Series Chipset Family USB xHCI Host Controller (rev 04)
00:1a.0 USB controller: Intel Corporation 7 Series/C210 Series Chipset Family USB Enhanced Host Controller #2 (rev 04)
00:1d.0 USB controller: Intel Corporation 7 Series/C210 Series Chipset Family USB Enhanced Host Controller #1 (rev 04)
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
jcllings said:
Getting ready to take another crack at it.
What else can you tell me about that process? What version of Linux was it? I'm on Ubuntu 14.04
Does Heimdal need to be suid root or will plain Sudo work?
Was it on a USB 2.0 port or 3.0? Does your Linux machine have both?
Click to expand...
Click to collapse
I'm running Linux Mint based on Ubuntu 13.10 ran with sudo and a usb 2.0 port as it only has usb 2.0 and 1.1
00:1d.0 USB controller: Intel Corporation NM10/ICH7 Family USB UHCI Controller #1 (rev 01)
00:1d.1 USB controller: Intel Corporation NM10/ICH7 Family USB UHCI Controller #2 (rev 01)
00:1d.2 USB controller: Intel Corporation NM10/ICH7 Family USB UHCI Controller #3 (rev 01)
00:1d.3 USB controller: Intel Corporation NM10/ICH7 Family USB UHCI Controller #4 (rev 01)
00:1d.7 USB controller: Intel Corporation NM10/ICH7 Family USB UHCI Controller (rev 01)
Bus 001 Device 001: ID 1d6b:002 Linux Foundation 2.0 root hub
Bus 005 Device 001: ID 1d6b:001 Linux Foundation 1.1 root hub
Bus 004 Device 001: ID 1d6b:001 Linux Foundation 1.1 root hub
Bus 003 Device 001: ID 1d6b:001 Linux Foundation 1.1 root hub
Bus 002 Device 001: ID 1d6b:001 Linux Foundation 1.1 root hub
Sent from my fabulous Note 4 Exynos

Categories

Resources