Frank, the Ubuntu Mobile project isn't going to be writing any Windows drivers.
I would suggest that if other operating systems have issues with the proposed
implementation for providing USB Client, then this should be highlighted in
outstanding issues or even include that in the rational for choosing one
possible design over another.
Ok, about the current content in the spec... we seem to be badly missing some
kind of a big picture type of discussion at the top of the page, making the
couple of bullets in Use Cases and then the diagram in Design really confusing.
The Summary should give some introduction on how this device is expected to
interact (at a high level, not jumping into topics like the USB Communications
Device Class (CDC) standard), let the Use Cases flesh out a lot more of the
interaction details, and in the design dig into the usb gadget stuff. I think
the debate that Frank is wanting get into can be productive once the potential
use cases have been fleshed out.
Hmmm... just thinking out loud for a moment on use cases...
Use Case 1
User connects a USB cable from the client USB port of the device to the host
USB port of another computer:
The device wakes up and opens a dialog asking if the user would like to share a
network connection, share personal files on the device, or ignore the
connection.
Use Case 1.1
User selects the share a network connection option
X
Use Case 1.2
User selects the share personal files option
A full screen dialog opens on the device letting the user know that the device
is in file share mode, and that the cancel button must be pressed in order to
cancel sharing files and start using the device again.
On the other computer, a new mass storage device is announced on the USB bus.
The expectation is that the other computer will auto mount the new device, and
any specialty applications written for the device will respond to the new mount
and take appropriate actions (in the same way most modern laptop's will respond
to plugging in a camera that exposes a mass storage class interface over USB.)
If the other computer is another device running UME, then the second system
will wake (if sleeping), automount the mass storage device provided by the
first system, and open a file sharing application that will allow the user to
select video, music, and pictures to copy between the two systems.
Use Case 1.3
User selects the Ignore option
The device continues to operate as if the USB cable was not connected, other
then the device begins to charge (if the device supports charging over USB) and
software on the system response appropriately to the power management message
that the system is charging. (For example, the battery status applet would be
updated for the new power state.)
... ok, hopefully people see where I am going with this. I need to get some
sleep to get ready for a fun filled day at OLS.
--rusty
-Original Message-
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Li, Frank
Sent: Thursday, June 28, 2007 7:00 PM
To: Tollef Fog Heen; ubuntu-mobile@lists.ubuntu.com
Subject: RE: Spec review: USB Client
Toll:
I have some question about USB Client.
1. I remember WINDOWS XP doesn't provide CDC driver, windows xp sp2 just
provide RNDIS driver for usb to eth.
Do you prepare to develop windows CDC driver?
2. Mass storage device has problem between two systems. Device just
provide umounted storage device to host by Mass storage device. Mass storage
device use SCSI command over USB. So it can't resolve share problem when device
and host access the same file. When host copy a file to device, device will no
see such file before remount the device because file system uses buffer.
I suggest use SMB or NFS.
Best regards
Frank Li
-Original Message-
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Tollef Fog Heen
Sent: 2007年6月28日 20:32
To: ubuntu-mobile@lists.ubuntu.com
Subject: Spec review: USB Client
I am currently in the process of going through the various
specifications submitted for review or proposal. Since I suspect we
will end up with a couple of emails back and forth, I'll be splitting
those into separate emails.
This email is about the USB client one,
https://wiki.ubuntu.com/MobileAndEmbedded/USBClient
- The release note bit is not filled in, this needs to happen.
- Some boilerplate text is still present in other sections. Please
remove anything which isn't applicable to the spec, or fill in the
section.
The specification lists a couple of different items that need to be
developed:
- Linux utility
- CDC Ethernet
- File-backed storage
- Peripherial controller driver
The spec should at least list how those bits interact and more
importantly, what other features in the OS they hook into and if those
need any changes. Ideally, a spec should be implementable by a person
who only has the spec as his or her