[ODK Community] ODK Briefcase and Android 4.x

Alex,

Unfortunately, you have found something that we do not have an answer for
yet. Briefcase is designed to interface with mounted drives which means the
MTP protocol does not quit fit what briefcase was designed to access
mounted drives.

I have created an issue to fix it but we are in the middle of trying to get
other releases out so it will be a few weeks before anyone on the ODK core
team looks at it.

http://code.google.com/p/opendatakit/issues/detail?id=682

Star the issue if you want to follow the progress.

Patches to solve the problem are welcome!

Additionally, suggestions or code from anyone who has written a java
program to move files over MTP is welcome!

Regards,
Waylon

··· On Fri, Sep 7, 2012 at 5:37 PM, Alex Monnard wrote:

I'm facing a very vexing issue and I have been unable, despite my best
attempts, to get around it.

We are planning to use Asus Nexus 7 tablets for our data collection in
Liberia in the coming few months. These devices are great as they: 1)are
relatively cheap and well-built, 2) have a great, easy to read screen even
in some sunlight, which is made especially useful by the newly implemented
feature of having several survey questions on the same screen in ODK
Collect 1.2, and 3) have a long battery life (>10h) and are reasonably fast.

So far, they have performed admirably well with the ODK ecosystem (running
both ODK Collect and Kobo Collect with no issues or crashes, syncing to ODK
Aggregate with no issue, etc.) despite running a brand-new version of
Android. Or so it was, until today...

I began testing ODK Briefcase, and realized that, because all Android 3.x
and 4.x (Honeycomb and Ice Cream Sandwich/Jelly bean) devices have switch
away from mass-storage class (MSC) transfer protocol to Media Transfer
Protocol (MTP) connection when plugged into a host computer using USB, ODK
Briefcase will not recognize the memory card when selecting "Pull" and then
"Mounted SD Card".

The device shows up as a media player though the memory card content is
still present and accessible via normal Windows navigation, and does not
have a drive letter (as do all MTP devices, unfortunately). I have so far
been unable to find a walk-around (tried the usual: enabling/disabling USB
debugging mode, installing the Asus ADB drivers, etc.) to no avail.

My understanding is that MTP is read-only from the host computer's point
of view. Since no writing on the memory card has to be done for ODK
Briefcase to work, it should be possible to get it working. Does anybody
have a suggestion? I'm guessing that ODK will have to be modified sooner or
later to accommodate MTP since it has become the standard for recent
Android devices.

Thank you very much for any help and I look forward to hearing from you
all!

Alex

--
Post: opendatakit@googlegroups.com
Unsubscribe: opendatakit+unsubscribe@googlegroups.com
Options: http://groups.google.com/group/opendatakit?hl=en

One solution until a java to MTP solution is found (suggestions welcome) is
to use the OS that has recognized the MTP and copy the ODK directory files
into a local directory on the OS. The use the 'Custom Path to ODK
Directory' option to specify the path to the local copy of the ODK
directory.

I realize less is a sub-optimal solution but hopefully someone will have
suggestions or sample code of a java program reading files over MTP so it
will reduce the time until the problem is completely solved.

Patches and/or suggestions on how to solve the problem are welcome!

Waylon

··· On Fri, Sep 7, 2012 at 6:13 PM, W. Brunette wrote:

Alex,

Unfortunately, you have found something that we do not have an answer for
yet. Briefcase is designed to interface with mounted drives which means the
MTP protocol does not quit fit what briefcase was designed to access
mounted drives.

I have created an issue to fix it but we are in the middle of trying to
get other releases out so it will be a few weeks before anyone on the ODK
core team looks at it.

http://code.google.com/p/opendatakit/issues/detail?id=682

Star the issue if you want to follow the progress.

Patches to solve the problem are welcome!

Additionally, suggestions or code from anyone who has written a java
program to move files over MTP is welcome!

Regards,
Waylon

On Fri, Sep 7, 2012 at 5:37 PM, Alex Monnard amonnard@gmail.com wrote:

I'm facing a very vexing issue and I have been unable, despite my best
attempts, to get around it.

We are planning to use Asus Nexus 7 tablets for our data collection in
Liberia in the coming few months. These devices are great as they: 1)are
relatively cheap and well-built, 2) have a great, easy to read screen even
in some sunlight, which is made especially useful by the newly implemented
feature of having several survey questions on the same screen in ODK
Collect 1.2, and 3) have a long battery life (>10h) and are reasonably fast.

So far, they have performed admirably well with the ODK ecosystem
(running both ODK Collect and Kobo Collect with no issues or crashes,
syncing to ODK Aggregate with no issue, etc.) despite running a brand-new
version of Android. Or so it was, until today...

I began testing ODK Briefcase, and realized that, because all Android 3.x
and 4.x (Honeycomb and Ice Cream Sandwich/Jelly bean) devices have switch
away from mass-storage class (MSC) transfer protocol to Media Transfer
Protocol (MTP) connection when plugged into a host computer using USB, ODK
Briefcase will not recognize the memory card when selecting "Pull" and then
"Mounted SD Card".

The device shows up as a media player though the memory card content is
still present and accessible via normal Windows navigation, and does not
have a drive letter (as do all MTP devices, unfortunately). I have so far
been unable to find a walk-around (tried the usual: enabling/disabling USB
debugging mode, installing the Asus ADB drivers, etc.) to no avail.

My understanding is that MTP is read-only from the host computer's point
of view. Since no writing on the memory card has to be done for ODK
Briefcase to work, it should be possible to get it working. Does anybody
have a suggestion? I'm guessing that ODK will have to be modified sooner or
later to accommodate MTP since it has become the standard for recent
Android devices.

Thank you very much for any help and I look forward to hearing from you
all!

Alex

--
Post: opendatakit@googlegroups.com
Unsubscribe: opendatakit+unsubscribe@googlegroups.com
Options: http://groups.google.com/group/opendatakit?hl=en

Is there an off chance that in your wireless settings there is a line USB
utility? My Samsung Note has that and I have to run that to get MSC,
otherwise the default is MTP upon connection w USB cable.

··· Le 8 sept. 2012 07:49, "W. Brunette" a écrit :

One solution until a java to MTP solution is found (suggestions welcome)
is to use the OS that has recognized the MTP and copy the ODK directory
files into a local directory on the OS. The use the 'Custom Path to ODK
Directory' option to specify the path to the local copy of the ODK
directory.

I realize less is a sub-optimal solution but hopefully someone will have
suggestions or sample code of a java program reading files over MTP so it
will reduce the time until the problem is completely solved.

Patches and/or suggestions on how to solve the problem are welcome!

Waylon

On Fri, Sep 7, 2012 at 6:13 PM, W. Brunette wbrunette@gmail.com wrote:

Alex,

Unfortunately, you have found something that we do not have an answer for
yet. Briefcase is designed to interface with mounted drives which means the
MTP protocol does not quit fit what briefcase was designed to access
mounted drives.

I have created an issue to fix it but we are in the middle of trying to
get other releases out so it will be a few weeks before anyone on the ODK
core team looks at it.

http://code.google.com/p/opendatakit/issues/detail?id=682

Star the issue if you want to follow the progress.

Patches to solve the problem are welcome!

Additionally, suggestions or code from anyone who has written a java
program to move files over MTP is welcome!

Regards,
Waylon

On Fri, Sep 7, 2012 at 5:37 PM, Alex Monnard amonnard@gmail.com wrote:

I'm facing a very vexing issue and I have been unable, despite my best
attempts, to get around it.

We are planning to use Asus Nexus 7 tablets for our data collection in
Liberia in the coming few months. These devices are great as they: 1)are
relatively cheap and well-built, 2) have a great, easy to read screen even
in some sunlight, which is made especially useful by the newly implemented
feature of having several survey questions on the same screen in ODK
Collect 1.2, and 3) have a long battery life (>10h) and are reasonably fast.

So far, they have performed admirably well with the ODK ecosystem
(running both ODK Collect and Kobo Collect with no issues or crashes,
syncing to ODK Aggregate with no issue, etc.) despite running a brand-new
version of Android. Or so it was, until today...

I began testing ODK Briefcase, and realized that, because all Android
3.x and 4.x (Honeycomb and Ice Cream Sandwich/Jelly bean) devices have
switch away from mass-storage class (MSC) transfer protocol to Media
Transfer Protocol (MTP) connection when plugged into a host computer using
USB, ODK Briefcase will not recognize the memory card when selecting "Pull"
and then "Mounted SD Card".

The device shows up as a media player though the memory card content is
still present and accessible via normal Windows navigation, and does not
have a drive letter (as do all MTP devices, unfortunately). I have so far
been unable to find a walk-around (tried the usual: enabling/disabling USB
debugging mode, installing the Asus ADB drivers, etc.) to no avail.

My understanding is that MTP is read-only from the host computer's point
of view. Since no writing on the memory card has to be done for ODK
Briefcase to work, it should be possible to get it working. Does anybody
have a suggestion? I'm guessing that ODK will have to be modified sooner or
later to accommodate MTP since it has become the standard for recent
Android devices.

Thank you very much for any help and I look forward to hearing from you
all!

Alex

--
Post: opendatakit@googlegroups.com
Unsubscribe: opendatakit+unsubscribe@googlegroups.com
Options: http://groups.google.com/group/opendatakit?hl=en

--
Post: opendatakit@googlegroups.com
Unsubscribe: opendatakit+unsubscribe@googlegroups.com
Options: http://groups.google.com/group/opendatakit?hl=en

Thanks for getting back to me Waylon! I stared the bug you opened and will
keep an eye on it. I hope this is something that can be resolved at some
point so that users have a greater set of options for android devices to
use (though as you mention in your next post, this is not a deal-beaker by
any means). I know you guys are busy and I appreciate any help.

I'll continue looking at options and will post what I can find/test on this
thread for future reference. I think in the end, the easier approach for us
will be to pull the completed forms 4 devices at the time using a USB hub
and a script either in ADB or something else (I saw one that was written
using Python somewhere on this board). Once the data is all at one place,
we can still use ODK Briefcase to aggregate, encrypt and send it over to
our ODK Aggregate server.

··· On Saturday, September 8, 2012 1:49:20 AM UTC-4, Waylon Brunette wrote: > > One solution until a java to MTP solution is found (suggestions welcome) > is to use the OS that has recognized the MTP and copy the ODK directory > files into a local directory on the OS. The use the 'Custom Path to ODK > Directory' option to specify the path to the local copy of the ODK > directory. > > I realize less is a sub-optimal solution but hopefully someone will have > suggestions or sample code of a java program reading files over MTP so it > will reduce the time until the problem is completely solved. > > Patches and/or suggestions on how to solve the problem are welcome! > > Waylon > > On Fri, Sep 7, 2012 at 6:13 PM, W. Brunette <wbru...@gmail.com wrote: > >> Alex, >> >> Unfortunately, you have found something that we do not have an answer for >> yet. Briefcase is designed to interface with mounted drives which means the >> MTP protocol does not quit fit what briefcase was designed to access >> mounted drives. >> >> I have created an issue to fix it but we are in the middle of trying to >> get other releases out so it will be a few weeks before anyone on the ODK >> core team looks at it. >> >> http://code.google.com/p/opendatakit/issues/detail?id=682 >> >> Star the issue if you want to follow the progress. >> >> Patches to solve the problem are welcome! >> >> Additionally, suggestions or code from anyone who has written a java >> program to move files over MTP is welcome! >> >> Regards, >> Waylon >> >> >> On Fri, Sep 7, 2012 at 5:37 PM, Alex Monnard <amon...@gmail.com wrote: >> >>> I'm facing a very vexing issue and I have been unable, despite my best >>> attempts, to get around it. >>> >>> We are planning to use Asus Nexus 7 tablets for our data collection in >>> Liberia in the coming few months. These devices are great as they: 1)are >>> relatively cheap and well-built, 2) have a great, easy to read screen even >>> in some sunlight, which is made especially useful by the newly implemented >>> feature of having several survey questions on the same screen in ODK >>> Collect 1.2, and 3) have a long battery life (>10h) and are reasonably fast. >>> >>> So far, they have performed admirably well with the ODK ecosystem >>> (running both ODK Collect and Kobo Collect with no issues or crashes, >>> syncing to ODK Aggregate with no issue, etc.) despite running a brand-new >>> version of Android. Or so it was, until today... >>> >>> I began testing ODK Briefcase, and realized that, because all Android >>> 3.x and 4.x (Honeycomb and Ice Cream Sandwich/Jelly bean) devices have >>> switch away from mass-storage class (MSC) transfer protocol to Media >>> Transfer Protocol (MTP) connection when plugged into a host computer using >>> USB, ODK Briefcase will not recognize the memory card when selecting "Pull" >>> and then "Mounted SD Card". >>> >>> The device shows up as a media player though the memory card content is >>> still present and accessible via normal Windows navigation, and does not >>> have a drive letter (as do all MTP devices, unfortunately). I have so far >>> been unable to find a walk-around (tried the usual: enabling/disabling USB >>> debugging mode, installing the Asus ADB drivers, etc.) to no avail. >>> >>> My understanding is that MTP is read-only from the host computer's point >>> of view. Since no writing on the memory card has to be done for ODK >>> Briefcase to work, it should be possible to get it working. Does anybody >>> have a suggestion? I'm guessing that ODK will have to be modified sooner or >>> later to accommodate MTP since it has become the standard for recent >>> Android devices. >>> >>> Thank you very much for any help and I look forward to hearing from you >>> all! >>> >>> Alex >>> >>> -- >>> Post: opend...@googlegroups.com >>> Unsubscribe: opendatakit...@googlegroups.com >>> Options: http://groups.google.com/group/opendatakit?hl=en >>> >> >> >

I have a galaxy nexus running google jelly bean, i think the menus are
similar to the asus nexus. When you connect your device. In the line of
curtis have told to you. You could try to run the device as a ptp.
Im only guessing i have no tecnical knowledge about it.
You tap on the notification "connected as a media device" an then you tap
on "camera (PTP)"
I think thats the only other option you will have. But i repeat i have no
tecnical knowledge about the connectivity but i will give it a try.
I have atached screenshots.
i wish you luck
Guillermo A. Perazzo

··· 2012/9/8 Curtis Broderick

Is there an off chance that in your wireless settings there is a line USB
utility? My Samsung Note has that and I have to run that to get MSC,
otherwise the default is MTP upon connection w USB cable.
Le 8 sept. 2012 07:49, "W. Brunette" wbrunette@gmail.com a écrit :

One solution until a java to MTP solution is found (suggestions welcome)

is to use the OS that has recognized the MTP and copy the ODK directory
files into a local directory on the OS. The use the 'Custom Path to ODK
Directory' option to specify the path to the local copy of the ODK
directory.

I realize less is a sub-optimal solution but hopefully someone will have
suggestions or sample code of a java program reading files over MTP so it
will reduce the time until the problem is completely solved.

Patches and/or suggestions on how to solve the problem are welcome!

Waylon

On Fri, Sep 7, 2012 at 6:13 PM, W. Brunette wbrunette@gmail.com wrote:

Alex,

Unfortunately, you have found something that we do not have an answer
for yet. Briefcase is designed to interface with mounted drives which means
the MTP protocol does not quit fit what briefcase was designed to access
mounted drives.

I have created an issue to fix it but we are in the middle of trying to
get other releases out so it will be a few weeks before anyone on the ODK
core team looks at it.

http://code.google.com/p/opendatakit/issues/detail?id=682

Star the issue if you want to follow the progress.

Patches to solve the problem are welcome!

Additionally, suggestions or code from anyone who has written a java
program to move files over MTP is welcome!

Regards,
Waylon

On Fri, Sep 7, 2012 at 5:37 PM, Alex Monnard amonnard@gmail.com wrote:

I'm facing a very vexing issue and I have been unable, despite my best
attempts, to get around it.

We are planning to use Asus Nexus 7 tablets for our data collection in
Liberia in the coming few months. These devices are great as they: 1)are
relatively cheap and well-built, 2) have a great, easy to read screen even
in some sunlight, which is made especially useful by the newly implemented
feature of having several survey questions on the same screen in ODK
Collect 1.2, and 3) have a long battery life (>10h) and are reasonably fast.

So far, they have performed admirably well with the ODK ecosystem
(running both ODK Collect and Kobo Collect with no issues or crashes,
syncing to ODK Aggregate with no issue, etc.) despite running a brand-new
version of Android. Or so it was, until today...

I began testing ODK Briefcase, and realized that, because all Android
3.x and 4.x (Honeycomb and Ice Cream Sandwich/Jelly bean) devices have
switch away from mass-storage class (MSC) transfer protocol to Media
Transfer Protocol (MTP) connection when plugged into a host computer using
USB, ODK Briefcase will not recognize the memory card when selecting "Pull"
and then "Mounted SD Card".

The device shows up as a media player though the memory card content is
still present and accessible via normal Windows navigation, and does not
have a drive letter (as do all MTP devices, unfortunately). I have so far
been unable to find a walk-around (tried the usual: enabling/disabling USB
debugging mode, installing the Asus ADB drivers, etc.) to no avail.

My understanding is that MTP is read-only from the host computer's
point of view. Since no writing on the memory card has to be done for ODK
Briefcase to work, it should be possible to get it working. Does anybody
have a suggestion? I'm guessing that ODK will have to be modified sooner or
later to accommodate MTP since it has become the standard for recent
Android devices.

Thank you very much for any help and I look forward to hearing from you
all!

Alex

--
Post: opendatakit@googlegroups.com
Unsubscribe: opendatakit+unsubscribe@googlegroups.com
Options: http://groups.google.com/group/opendatakit?hl=en

--
Post: opendatakit@googlegroups.com
Unsubscribe: opendatakit+unsubscribe@googlegroups.com
Options: http://groups.google.com/group/opendatakit?hl=en

--
Post: opendatakit@googlegroups.com
Unsubscribe: opendatakit+unsubscribe@googlegroups.com
Options: http://groups.google.com/group/opendatakit?hl=en

Thank you for the suggestion and screenshots, Guillermo! The screens
look just like those on the Nexus 7, but unfortunately, I had tried
that before posting. PTP makes the device show up as a camera in
Windows, and limits the folders accessible to only DCIM and Pictures,
so in a way this is even more problematic than the regular MTP option.

To be sure, I also tested PTP in combination with USB debugging and
without (as I had also done with the regular MTP approach) but that
made no difference (before and after installing the Asus ADB drivers
for the Nexus 7).

:frowning:

··· On Sep 8, 6:01 am, Guillermo Perazzo wrote: > I have a galaxy nexus running google jelly bean, i think the menus are > similar to the asus nexus. When you connect your device. In the line of > curtis have told to you. You could try to run the device as a ptp. > Im only guessing i have no tecnical knowledge about it. > You tap on the notification "connected as a media device" an then you tap > on "camera (PTP)" > I think thats the only other option you will have. But i repeat i have no > tecnical knowledge about the connectivity but i will give it a try. > I have atached screenshots. > i wish you luck > Guillermo A. Perazzo > > 2012/9/8 Curtis Broderick > > > > > > > > > Is there an off chance that in your wireless settings there is a line USB > > utility? My Samsung Note has that and I have to run that to get MSC, > > otherwise the default is MTP upon connection w USB cable. > > Le 8 sept. 2012 07:49, "W. Brunette" a écrit : > > > One solution until a java to MTP solution is found (suggestions welcome) > >> is to use the OS that has recognized the MTP and copy the ODK directory > >> files into a local directory on the OS. The use the 'Custom Path to ODK > >> Directory' option to specify the path to the local copy of the ODK > >> directory. > > >> I realize less is a sub-optimal solution but hopefully someone will have > >> suggestions or sample code of a java program reading files over MTP so it > >> will reduce the time until the problem is completely solved. > > >> Patches and/or suggestions on how to solve the problem are welcome! > > >> Waylon > > >> On Fri, Sep 7, 2012 at 6:13 PM, W. Brunette wrote: > > >>> Alex, > > >>> Unfortunately, you have found something that we do not have an answer > >>> for yet. Briefcase is designed to interface with mounted drives which means > >>> the MTP protocol does not quit fit what briefcase was designed to access > >>> mounted drives. > > >>> I have created an issue to fix it but we are in the middle of trying to > >>> get other releases out so it will be a few weeks before anyone on the ODK > >>> core team looks at it. > > >>>http://code.google.com/p/opendatakit/issues/detail?id=682 > > >>> Star the issue if you want to follow the progress. > > >>> Patches to solve the problem are welcome! > > >>> Additionally, suggestions or code from anyone who has written a java > >>> program to move files over MTP is welcome! > > >>> Regards, > >>> Waylon > > >>> On Fri, Sep 7, 2012 at 5:37 PM, Alex Monnard wrote: > > >>>> I'm facing a very vexing issue and I have been unable, despite my best > >>>> attempts, to get around it. > > >>>> We are planning to use Asus Nexus 7 tablets for our data collection in > >>>> Liberia in the coming few months. These devices are great as they: 1)are > >>>> relatively cheap and well-built, 2) have a great, easy to read screen even > >>>> in some sunlight, which is made especially useful by the newly implemented > >>>> feature of having several survey questions on the same screen in ODK > >>>> Collect 1.2, and 3) have a long battery life (>10h) and are reasonably fast. > > >>>> So far, they have performed admirably well with the ODK ecosystem > >>>> (running both ODK Collect and Kobo Collect with no issues or crashes, > >>>> syncing to ODK Aggregate with no issue, etc.) despite running a brand-new > >>>> version of Android. Or so it was, until today... > > >>>> I began testing ODK Briefcase, and realized that, because all Android > >>>> 3.x and 4.x (Honeycomb and Ice Cream Sandwich/Jelly bean) devices have > >>>> switch away from mass-storage class (MSC) transfer protocol to Media > >>>> Transfer Protocol (MTP) connection when plugged into a host computer using > >>>> USB, ODK Briefcase will not recognize the memory card when selecting "Pull" > >>>> and then "Mounted SD Card". > > >>>> The device shows up as a media player though the memory card content is > >>>> still present and accessible via normal Windows navigation, and does not > >>>> have a drive letter (as do all MTP devices, unfortunately). I have so far > >>>> been unable to find a walk-around (tried the usual: enabling/disabling USB > >>>> debugging mode, installing the Asus ADB drivers, etc.) to no avail. > > >>>> My understanding is that MTP is read-only from the host computer's > >>>> point of view. Since no writing on the memory card has to be done for ODK > >>>> Briefcase to work, it should be possible to get it working. Does anybody > >>>> have a suggestion? I'm guessing that ODK will have to be modified sooner or > >>>> later to accommodate MTP since it has become the standard for recent > >>>> Android devices. > > >>>> Thank you very much for any help and I look forward to hearing from you > >>>> all! > > >>>> Alex > > >>>> -- > >>>> Post: opendatakit@googlegroups.com > >>>> Unsubscribe: opendatakit+unsubscribe@googlegroups.com > >>>> Options:http://groups.google.com/group/opendatakit?hl=en > > >> -- > >> Post: opendatakit@googlegroups.com > >> Unsubscribe: opendatakit+unsubscribe@googlegroups.com > >> Options:http://groups.google.com/group/opendatakit?hl=en > > > -- > > Post: opendatakit@googlegroups.com > > Unsubscribe: opendatakit+unsubscribe@googlegroups.com > > Options:http://groups.google.com/group/opendatakit?hl=en > > > > Screenshot_2012-09-08-06-52-49 (1).png > 82KViewDownload > > Screenshot_2012-09-08-06-52-55.png > 113KViewDownload