On Wed, Jun 17, 2015 at 07:33:37AM +0800, Xuebing Wang wrote: > > On 06/16/2015 10:32 PM, Alan Stern wrote: > >On Tue, 16 Jun 2015, Xuebing Wang wrote: > > > >>Hi Alan and community, > >> > >>I am using mass storage kernel module of v4.0.1 for Freescale i.MX6SL > >>for a commercial product. As this is commercial product, thus USB host > >>compatibility is important. > >> > >>1) It seems that Windows 7 host can *not* auto-mount if I pass > >>parameters as below: > >>modprobe g_mass_storage file=/dev/mmcblk0p4 iSerialNumber=abcdefgh nofua=1 > >Have you read this sentence from the USB Mass Storage Class Bulk-Only > >Transport specification (section 4.1.1 Serial Number)? > > > > The serial number shall contain at least 12 valid digits, > > represented as a UNICODE string. > > > >I don't know if Windows pays any attention to the length of the serial > >number string, but it might. Also, take a look at section 4.1.2 Valid > >Serial Number characters: It lists '0' - '9' and 'A' - 'F' but not 'a' > >and certainly not 'g' or 'h'. > > > >>2) Windows 7 can auto-mount, if I pass pass parameters as below (with > >>removable=1) > >>modprobe g_mass_storage file=/dev/mmcblk0p4 iSerialNumber=abcdefgh > >>nofua=1 removable=1 > >> > >>But, there is a problem. If I eject the removable disk from Win7, > >>disconnect USB cable, and re-connect the USB cable, the removable disk > >>can NOT be auto-mounted on Win7. > >Well, sure. The same thing happens with real USB storage devices. > >For example, if you eject a CDROM from a USB CD player, the removable > >CD can't be auto-mounted until you put a CDROM back into the player. > >Unplugging and re-connecting the USB cable won't help. > > > >>It seems this makes sense, because Documentation/usb/mass-storage.txt > >>says below: > >>------ > >>If this option (removable=1) is set for a logical unit, gadget will > >>accept an > >>“eject” SCSI request (Start/Stop Unit). When it is sent, the > >>backing file will be closed to simulate ejection and the logical > >>unit will not be mountable by the host until a new backing file is > >>specified by userspace on the device (see “sysfs entries” > >>section). > >>------ > >> > >>Would you please advise what is the best way to pass parameters to > >>g_mass_storage considering host compatibility? > >This has nothing to do with parameters. If you want the storage to be > >auto-mounted, don't eject it! Use the "Safely remove hardware" button > >in Windows instead. > > > >Also, what happens if you specify a _valid_ serial number and leave out > >the "removable=1" parameter? > > Alan, > > Thank you very much for your help. Using a valid serial number like below > (and without removable=1) can NOT get Win7 to auto-mount it. > modprobe g_mass_storage file=/dev/mmcblk0p4 iSerialNumber=123456789012 > nofua=1 > > Will mass storage gadget driver convert from ASCII serial number to UNICODE? > > Any ideas? Thanks again. what's the error on Win7 ? Sure there's a valid filesystem on /dev/mmcblk0p4 ? Which file system would that be ? -- balbi
Attachment:
signature.asc
Description: Digital signature