Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 5 Mar 2007 18:07:17 +0100
From:      Lars Engels <lars.engels@0x20.net>
To:        Szilveszter Adam <sziszi@bsd.hu>
Cc:        freebsd-current@freebsd.org
Subject:   Re: mount_msdosfs oddity
Message-ID:  <20070305170717.GC52745@e.0x20.net>
In-Reply-To: <20070305052509.GA1116@baranyfelhocske.buza.adamsfamily.xx>
References:  <20070304220602.GI21974@e.0x20.net> <20070305052509.GA1116@baranyfelhocske.buza.adamsfamily.xx>

next in thread | previous in thread | raw e-mail | index | archive | help

--ADZbWkCsHQ7r3kzd
Content-Type: text/plain; charset=iso-8859-15
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Mon, Mar 05, 2007 at 06:25:09AM +0100, Szilveszter Adam wrote:
> Hello Lars,
>=20
> While I do not have the phone in question, I do have some experience
> with regard to SE (and Ericsson) phones + FreeBSD.
>=20
> On Sun, Mar 04, 2007 at 11:06:02PM +0100, Lars Engels wrote:
> > my Sony Ericsson W810i cell phone comes with a USB cable and presents
> > the internal memory and the memory stick as two umass devices (da0,
> > da1). When I try to mount one of them (mount -t msdosfs), I am getting
> > the error message:
> > (41) lars@ttyp6 # mount -t msdosfs /dev/da0 mnt/usb
> > mount_msdosfs: /dev/da0: Invalid argument
> > Which is okay because it's not possible to mount da0 directly.
> > But after that a new device da0s1 shows up, which returns the same
> > error message when I try to mount it.
>=20
> So, if I understand you correctly, the da0s1 device does not show up
> until you try to open it.

Yes, this is right.

>=20
> > (44) lars@ttyp6 # file -s /dev/da0s1
> > /dev/da0s1: x86 boot sector
> >=20
> > This does not look like an msdosfs partition...
>=20
> Indeed, but let's look farther below:
>=20
> > umass0: <Sony Ericsson Sony Ericsson W810, class 0/0, rev 2.00/0.00,
> > addr 2> on uhub0
> > umass1: <Sony Ericsson Sony Ericsson W810, class 0/0, rev 2.00/0.00,
> > addr 2> on uhub0
>=20
> So we find two devices. The older models, like my K750i only expose one
> device (the memory stick duo), the internal memory was only accessible
> via BT/IR or via the windows drivers that SE supplied. (But even then, I
> prefer to use an outside card reader, but that's beside the point)
> However, I know that in the case of the W810, the phone can be accessed
> in two modes, in "umass mode" when phone functionality is off and in
> "modem mode" when access to the internal memory is blocked. (perhaps
> also to the memory card?) When attaching the phone to the PC, you have
> to choose between these modes. Did you set the "umass mode" in this
> case?
>=20

When I connect the phone, it lets me choose "File Transfer Mode" and
"Phone Mode". After selecting the FT-mode, the umass devices show up.


> > (probe0:umass-sim0:0:0:0): Uninitialized Transport 5:26?
> > da0 at umass-sim0 bus 0 target 0 lun 0
> > da0: <SEMC Int.Memory 0000> Removable Direct Access SCSI-0 device
> > da0: 1.000MB/s transfers
> > da0: Attempt to query device size failed: NOT READY, Medium not present
>=20
> Ouch. So the code tries to find out how big the internal memory is, but
> fails. It acts like eg a card reader with no card in it.
>=20
> > Opened disk da0 -> 6
>=20
> And so it gives up. (6 is probably the error code)
> At this point I strongly suspect that there is no da0s1 device, but
> could you check this? (With ls -la da* /dev) The da0 device does hold a
> partition table, but it is either just faked, or read wrongly. (I
> strongly suspect that the internal memory is larger than just 18 megs,
> it surely is on my K750i) =20

You are right, at this time, there is only the da0 device. da0s1
appears, when I try to mount da0.

>=20
> Now it tries with the memory card:
>=20
> > da1 at umass-sim1 bus 1 target 0 lun 0
> > da1: <SEMC Mem-Stick 0000> Removable Direct Access SCSI-0 device
> > da1: 1.000MB/s transfers
> > da1: Attempt to query device size failed: NOT READY, Medium not present
>=20
> Here, either there is really no memory card in the phone, or we cannot
> query it either.

There is a 512MB card inserted.

>=20
> > Opened disk da1 -> 6
>=20
> Same dance, we give up again.
>=20
> > I assume that mount_msdosfs is lacking some way to mount these
> > partitions. Goggle told me that mounting it works on FreeBSD.
> > Not to mention that I can also mount it with Windows XP...
>=20
> I do not think this a problem with the msdosfs driver or mount. There is
> simply no device there to mount. Now why this happens is more
> interesting.
>=20
> So again: have you set the phone to "Mass storage mode" upon connecting?
> At this point the phone probably just shuts down so it is noticeable. (I
> have a nagging suspicion here, but will not present it yet)=20

The phone acts strange, when I select the "Mass storage mode". You are
right, that it shuts down and comes up in mass storage mode, and then
devd reports a lot of connects. The same on Win XP, with a lot of bells
ringing for every new device detected.


Lars

--ADZbWkCsHQ7r3kzd
Content-Type: application/pgp-signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (FreeBSD)

iD8DBQFF7E5FKc512sD3afgRAtc2AJ9rFzdloU/9EFhtJxV8xeK1HXHyHgCgwrH/
I/yhvaNpFRnx8k7GtkHh3wk=
=nwwh
-----END PGP SIGNATURE-----

--ADZbWkCsHQ7r3kzd--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20070305170717.GC52745>