Re: bug report: Olympus MAUSB-200 card reader and 1GB Type H xD-Picture Card

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sat, 19 Sep 2009, Eric Ding wrote:

> >> As for why it works under Windows, I can only guess it's because
> >> Windows doesn't try to read 64 sectors starting at sector 2047768.  
> >> Perhaps if some Windows program tried to do so, the same failure would
> >> happen.
> >>
> >> Probably the Linux program that does the offending read is udev's 
> >> vol_id.  If you disable that then perhaps the reader won't crash.
> > 
> > Hmm... I'm not too familiar with the inner workings of udev, but here's
> > what I have tried so far:
> > 
> > 1) Comment out all lines in /lib/udev/rules.d files that refer to
> > vol_id.  Errors still occur.  If I look further, it appears that
> > hald-probe-volume is running while errors are popping up, so I conclude
> > that hald-probe-volume is provoking this error.  So next, I...
> > 
> > 2) Turn off udev daemon altogether.  This eliminates the error, and I can
> > now manually mount /dev/sdb1 and read/write files to and from the card reader.
> > 
> > OK, so now I've concluded that the way udev and hald interact with my USB
> > card reader tickle this bug/issue in my card (reader).  I suspect I'm
> > wandering outside the domain of this list, since it seems you're implying
> > that there's no kernel workaround for this bug.  So now what?  Is there a
> > way to tell hald/udev to treat this device specially and not probe it in
> > this way?  Or is there some kind of a kernel workaround I could try?
> 
> Just to follow up: I browsed the source code of udev and did a *lot* of
> trial-and-error playing around with vol_id, and have stumbled on what I
> cautiously will call a successful workaround.  It appears that the part of
> vol_id which probes for RAID filesystem types is causing the problem...
> since I don't use RAID at all (and certainly not on my memory card!), I
> passed the --skip-raid argument to vol_id, and now everything seems to
> work... for now.

What about hald-probe-volume?  Doesn't that still cause problems?

> A glance at the development sources for udev suggests that vol_id will soon
> be deprecated, and blkid from e2fsprogs will be used instead.  Hopefully
> that will mean no more workaround in the future, rather than a need for a
> whole new workaround.  :)

I don't know...  If blkid does the same sort of probing for RAID 
signatures as vol_id then it's likely to provoke the same response.  
Besides, if blkid is part of e2fsprogs, doesn't that imply that it 
finds IDs only on ext2- or ext3-formatted filesystems?  udev wants to 
work with everything, including FAT filesystems and even swap 
partitions.

As for kernel workarounds, I can't think of any workable approach.

If you can write a Windows program that accesses those same sectors and 
demonstrate that it doesn't work, then you would have grounds to 
complain to the manufacturer.

Alan Stern

--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux