USB usages?(Ben)

Joshua Judson Rosen rozzin at
Fri Jun 10 13:28:43 EDT 2011

jirka <jirka at> writes:
> Hello David,
> > But it's always a p.i.t.a.  because you cannot share a disk device
> > between multiple clients.  I.e. if you gave the PC you connect to access
> Why it is necessary? It may be enough to make data available to one
> client, I think.

I think what he means is that, if (for example) you are listening to audio
that's being played locally on the device from that filesystem, and
then you want to connect the device to a PC and have the PC mount
the same filesystem, you have to first stop the audio-player on the device.

And this is exactly the behaviour of my Android tablet and my (now-dead)
iPod: you can't use the device for something else while simultaneously
using it in `mass storage device' mode.

So, if you have the possibility of using something smarter like sftp
that allows simultaneous access to the filesystem by both the external
*and* the internal clients, that's obviously what you'd want to do.
But, since there are stupid clients out there (like Windows PCs,
photo-printing kiosks, etc.) where it's not practical to
get them to support something like sftp, it's worthwhile to have
the option of switching into mass-storage mode even though
it's suboptimal.

If it's possible to detect when a host connects to the device,
then it should actually possible for the device to prompt the user
for a decision about what type of USB device to be (I think
my Archos Android tablet does something like this). Or you
provide a toggle somewhere, if prompting on demand isn't feasible.
Of course, this is work to implement--but maybe someone wants to :)

Alternately, in the `connecting to Windows PCs' case, I wonder
if making the NanoNote appear as a `modem' and running pppd
(and Samba, I guess) might be useful. It actually says,
in linux-

    config USB_G_SERIAL
            tristate "Serial Gadget (with CDC ACM and CDC OBEX support)"
              The Serial Gadget talks to the Linux-USB generic serial driver.
              This driver supports a CDC-ACM module option, which can be used
              to interoperate with MS-Windows hosts

Maybe the `pretend there's a modem involved somewhere' hack
is less relevant with modern Windows systems, though--I think
that they support ZeroConfig IP setup, don't they? Maybe
one way confuses their route-tables or something, though?
I don't know--I don't think I've had to do anything with
a Windows system in the last decade.

> Not every PC is a Linux PC, unfortunately.

Most televisions, phones, and other appliances more common
than PCs *are* actually Linux computers though :)

I don't know how many of those support file-access over SSH, though. :\

There's a good chance that the requirements-specification phase
for any mass-market product determines that the market payoff for
implementing features like that is close enough to `nonexistent'
that it's not worth letting them into the requirements.

Though, there's also some chance that the engineers implement
those things for *themselves* during development and then
just leave them in the shipping version. I once worked on
a `home theatre'-style audio amplifier with an SSH server in it,
for example--and a lot more. :)

"Don't be afraid to ask (λf.((λx.xx) (λr.f(rr))))."

More information about the discussion mailing list