UsbClientMeeting

Topics for USB Client Meeting of December 11, 2007 17:00 UTC

Choice of technology (IP networking versus mass storage)

IP networking over RNDIS

  • Permits using the same sharing technology as for Wifi, and possibly
    • Bluetooth
  • Any intellectual property / licensing issue?
  • File sharing protocol:
    • Netbios / Samba: GPLv3 licensing
    • WebDAV
    • Pure HTTP (no write)
    • FTP (no write)
    • Sync over SSH
    • UPnP

Mass storage

  • How to ensure exclusive access to the block device? What if some
    • processes keep holding files open? What if these can't be killed or some processes keep spawning again and prevent unmount?
  • Where would the block device be mounted? /home? /home/ume?
    • /home/ume/My Documents/?
  • PTP (pictures) + MTP (any media)
    • Supported by Windows Media Player, but Linux libs and programs
    • Doesn't seem I.P. / licensing encumbered
    • PTP widely used in many devices
  • Reboot into client mode
    • If the system could boot quickly (<10sec) we could simply shut down the OS then boot into a client-only mode when connected to the PC. When the user's done, they unplug + the system quickly comes back up in UME. iPod does this.

  • What to share?
  • Implementation:
    • Code hosted in MIC or living separately?
    • Packaging? DBus / udev / etc. hooks have to be shipped /somewhere/
    • If vfat on mass storage: loopback mounted or separate partition?
      • Partition harder to resize
      • vfat loopback file can be made sparse and hence it's zero space
      • vfat loopback file eats space from the main partition
      • How to split space initially? How to resize?
      • Can't take advantage of journaling, fast fsck
    • If vfat translation layer on top of ext3 (like QEMU)
      • translation layer eliminates the need for a separate file/partition
      • translation layer needs to live someplace - filesystem plugin? USB client?

Completely different approach: do it "the Apple way"

  • Idea: one can't simply copy files on and off the device but has to use a client application for that.
  • Advantages:
    • Standardize access and make on the fly conversion of file formats (media files as well as documents like MS Office ones) thus we would not have to worry with codecs and file formats support, the client would do that on the desktop leading to a leaner, simpler installation and fewer problems with IP and licensing.
    • can take care of data synchronization both internal (between the device and the PC) and external (between the PC and other devices or webservices like google calendar).
    • MID file system doesn't have to include FAT32 partition. Can be ext2/3 or other robust and secure file system
  • Drawback: This application has to be written and has to be multi-platform with all the implications for development and support that demands.

Action Items from December 11, 2007 17:00 UTC

  • smagoun to find some pointers to client-side vfat--ext3 conversion

Ideas

  • vfat partition on MID hosts media files, media database, etc. Hotplug scripts used to access partition. PC has access to mounted drive exposing vfat partition.
  • Use PTP/MTP to transfer data over USB connection. Needs more investigation.
  • boot into sync mode that shares the entire ext filesystem
  • network -> samba mount. from a technical (implementation) perspective it sounds safest - no partitioning to worry about, no translation, we can use ext3 on the device, etc

  • USB Client meeting. Friday, Dec 14th. 10am PST

Minutes

http://kryten.incognitus.net/mootbot/meetings/ubuntu-mobile.20071211_1702.html

MobileAndEmbedded/UsbClientMeeting (last edited 2008-08-06 16:36:07 by localhost)