Red Hat Bugzilla – Bug 208928
USB mass storage fails on razr v3i
Last modified: 2008-04-04 13:33:48 EDT
Description of problem:
The razr v3i cell phone has usb connectivy. On windows and mac machines I can
hook up the phone and access the internal flash card through the usb mass
storage protocol. Under Fedora this fails.
Version-Release number of selected component (if applicable):
Steps to Reproduce:
1. Connect phone to laptop with usb cable
Fails to mount the phone. Complains in system log.
Mounts the phone.
System log messages attached
Created attachment 137576 [details]
Looks like the device lies about its size, then something (vfat?)
accesses the device closer to the end at sector 494013, and this
causes the firmware to crash.
We really have to do something about theses accesses towards the end.
I remember that Matt Domsch made EFI partition not to read its last
block all the time, which helped. But either it returned, or it's vfat.
Axboe's blktrace is probably the only way to tell what component is
accessing the device at those offsets.
The phone says the memory card is 247040 kb. Given that both a mac and a windows
machine were able to read the card, I suspect the card is vfat.
It looks like fc6test3 has support for running blktrace. I'll give it a shot.
I ran blktrace while attempting to mount the scsi device created for the phone.
No events showed up. The system log has the same error log about failure to read
sector 101. The only additional message was "FAT: unable to read boot sector".
Sorry that it didn't work.
My thinking was as follows. The partition table is recognized at first.
This requires reading and the data must be sane. So that works.
Then, we see accesses failing first at large offsets, then at 101,
and it the end, at 0. But MBR was read. This means that the device
worked at first, then stopped (same as iPod does in such case).
Since partitioning was recognized, I blamed vfat, but it's not 100%.
247040 * 2 = 494080, but the phone says 494081 sectors. This seems like a
typical off-by-one error. Can you build your own kernels and test patches?
Also, I need to see your /proc/bus/usb/devices.
Created attachment 137675 [details]
proc usb devices output
I can build kernels and test patches.
While we're on topic, there's something to test. Please do this:
echo ub > /sys/module/libusual/parameters/bias
Then unplug and plug the phone. Maybe that works.
Created attachment 137686 [details]
Test 1 - just the size
Someone else reported a residue problem. Let's split-test the size and residue.
Changing /sys/module/libusual/parametres/bias as above works like a charm.
When I plug in the phone, after a bunch of messages like
"ub(3,4): dir r len/act 512/0 [sense 3 12 00] retry 1"' a /dev/uba1 device is
created and I can mount it as vfat.
Yeah, that's the problem... The ub works, but only because it presents some
very primitive capabilities and this causes an unknown component not to do
something to /dev/uba which it would do to /dev/sda. The ub gets fooled by
the incorrect size just like sd and you can cause the phone to collapse by
running "dd if=/dev/uba of=/dev/null". So the excercise with blktrace was
intended to find the culprit.
BTW, error 3/12/00 indicates a meda error and it should not be correctable
on flash. If flash's block is dead, it's dead. I think it's a bug in the
phone. Although.... tried a different microSD card? Maybe it's actually
a duff card.
Sent patch to Phil for integration.
OK, it's upstreamed. I'm afraid it missed the F-7, but maybe update made it.
Mark, does it work? Give me a kernel release regardless please.
Also, what is the result of this:
grep -i 22b8 /lib/modules/$(uname -r)/modules.alias
It should return something like:
alias usb:v22B8p4810d0001dc*dsc*dp*ic*isc*ip* libusual
Fedora apologizes that these issues have not been resolved yet. We're
sorry it's taken so long for your bug to be properly triaged and acted
on. We appreciate the time you took to report this issue and want to
make sure no important bugs slip through the cracks.
If you're currently running a version of Fedora Core between 1 and 6,
please note that Fedora no longer maintains these releases. We strongly
encourage you to upgrade to a current Fedora release. In order to
refocus our efforts as a project we are flagging all of the open bugs
for releases which are no longer maintained and closing them.
If this bug is still open against Fedora Core 1 through 6, thirty days
from now, it will be closed 'WONTFIX'. If you can reporduce this bug in
the latest Fedora version, please change to the respective version. If
you are unable to do this, please add a comment to this bug requesting
Thanks for your help, and we apologize again that we haven't handled
these issues to this point.
The process we are following is outlined here:
We will be following the process here:
http://fedoraproject.org/wiki/BugZappers/HouseKeeping to ensure this
doesn't happen again.
And if you'd like to join the bug triage team to help make things
better, check out http://fedoraproject.org/wiki/BugZappers
(In reply to comment #13)
> OK, it's upstreamed. I'm afraid it missed the F-7, but maybe update made it.
> Mark, does it work? Give me a kernel release regardless please.
> Also, what is the result of this:
> grep -i 22b8 /lib/modules/$(uname -r)/modules.alias
> It should return something like:
> alias usb:v22B8p4810d0001dc*dsc*dp*ic*isc*ip* libusual
Unfortunately I no longer have the phone so I can't test. :(