Date: Sun, 1 Jul 2007 23:05:06 +0300 From: "Dennis Melentyev" <dennis.melentyev@gmail.com> To: Raaf <raaf@zen.mooo.com> Cc: freebsd-fs@freebsd.org, freebsd-stable@freebsd.org Subject: Re: Cannot mount Sony Ericsson mobile phone, msdosfs too restrictive? Message-ID: <b84edfa10707011305g4cffb298q70c3507f75121799@mail.gmail.com> In-Reply-To: <4687FF75.3000108@zen.mooo.com> References: <4687FF75.3000108@zen.mooo.com>
next in thread | previous in thread | raw e-mail | index | archive | help
Well, had the same problem.
For me, it looks like SE is using FAT12 (!!!Not 16!!!) on a devive
larger than 32MB. Could have something slipped off my mind, but quite
close. It is a BROKEN msdosfs on a stick.
Just re-formated 1Gb flash with FAT32 using card reader and both K750i
and FreeBSD are happy.
2007/7/1, Raaf <raaf@zen.mooo.com>:
> Hi, i got a Sony Ericsson mobile phone that came with a pre-formatted
> memory stick that i'm unable to mount in FreeBSD (it mounts fine in
> Linux).
>
> After investigating i found out that the FreeBSD msdsofs driver bails
> out on the following code (the pmp->pm_Heads being zero):
>
> ----------------------------------
> if (!pmp->pm_BytesPerSec || !SecPerClust
> || !pmp->pm_Heads
> #ifdef PC98
> || !pmp->pm_SecPerTrack || pmp->pm_SecPerTrack > 255) {
> #else
> || !pmp->pm_SecPerTrack || pmp->pm_SecPerTrack > 63) {
> #endif
> error = EINVAL;
> goto error_exit;
> }
> ----------------------------------
>
> Removing the check for pmp->pm_Heads fixes it for me.
>
> Is the check for pmp->pm_Heads really necessary?
>
> Grepping through the msdosfs sources i can only see it being used for
> validation and not used in any calculation (the same applies for the
> pmp->pm_SecPerTrack value)
>
>
> --- sys/fs/msdosfs/msdosfs_vfsops.c.orig Sun Jul 1 20:42:14 2007
> +++ sys/fs/msdosfs/msdosfs_vfsops.c Sun Jul 1 20:46:57 2007
> @@ -483,7 +483,6 @@
>
> /* XXX - We should probably check more values here */
> if (!pmp->pm_BytesPerSec || !SecPerClust
> - || !pmp->pm_Heads
> #ifdef PC98
> || !pmp->pm_SecPerTrack || pmp->pm_SecPerTrack > 255) {
> #else
>
>
> _______________________________________________
> freebsd-stable@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-stable
> To unsubscribe, send any mail to "freebsd-stable-unsubscribe@freebsd.org"
>
--
Dennis Melentyev
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?b84edfa10707011305g4cffb298q70c3507f75121799>
