Samsung m510 "access beyond end" with 2GB card
When I connect my Samsung m510 with a 2 GB microSD card in it to the USB port and use the phone's menu to "Connect to PC", I get this in /var/log/messages:
Code:
Dec 6 22:15:00 bowman kernel: usb 2-5: new full speed USB device using ohci_hcd and address 3 df -h says the phone has 2 GB, but for some reason "sd" thinks it's only 1016 MB. It makes the phone kind of go haywire. If I copy files to the phone they'll show up, but if I try to access them (for example use mplayer to play an mp3) the files aren't really there. Is this a bug in the kernel? A bug in the phone? Is there a way I can force sd to think it's 2 GB. Thanks, Lyle. |
Quote:
|
Quote:
I think it's something to do with how the sd driver determines the size of the card, or how USB reports it, or the phone itself, or some combination thereof. Lyle. |
Quote:
|
Quote:
Thanks! Lyle. |
Quote:
The Windows drivers in use were dated 2001, so I doubt it's one of those situations where Windows is working around bugs/non-standard behavior of the phone. This is a problem with Linux; how should I proceed to get this fixed? Lyle. |
Still no improvement with Slackware 13.1 (kernel 2.6.33.4, libusb-1.0.6).
Here's more detail: I'm looking at the microSD card I use in the phone. It says 2GB. I put it into the phone, turn it back on. I press, "Connect to PC" on the phone's menu. I get the following in /var/log/messages: Code:
Aug 2 17:07:06 bowman kernel: usb 2-5: new full speed USB device using ohci_hcd and address 9 Code:
lyle@bowman:/tmp$ df | egrep 'sdc|File' Code:
lyle@bowman:/tmp$ echo '1024 * 691616' | bc Here's a file that should fit on the device. Code:
lyle@bowman:/tmp$ ls -l should_fit Code:
lyle@bowman:/tmp$ cp should_fit /media/disk/ Code:
Aug 2 17:27:55 bowman kernel: attempt to access beyond end of device It appears to be there; the device in nearly full as seen below. The phone's UI agrees. Code:
lyle@bowman:/tmp$ df | egrep 'sdc|File' Code:
lyle@bowman:/tmp$ cp /media/disk/should_fit should_fit.copy Code:
lyle@bowman:/tmp$ ls -l should_fit.copy This all works properly with Windows. It fails the same way on another Slackware 13.1 box I have. In conclusion:
Thanks, Lyle. |
All times are GMT -5. The time now is 02:49 PM. |