Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 3 Jan 2007 22:54:08 +0100 (CET)
From:      Alexander Pohoyda <alexander.pohoyda@gmx.net>
To:        Micah <micahjon@ywave.com>
Cc:        freebsd-questions@freebsd.org
Subject:   Re: Problem with built-in USB memory card reader
Message-ID:  <200701032154.l03Ls8a5001539@oak.pohoyda.family>
In-Reply-To: <459C1EC2.7030000@ywave.com> (message from Micah on Wed, 03 Jan 2007 13:23:14 -0800)
References:  <200701012217.l01MHciY000672@oak.pohoyda.family>	<44sles6jpp.fsf@be-well.ilk.org> <200701032106.l03L64pr000540@oak.pohoyda.family> <459C1EC2.7030000@ywave.com>

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

> Alexander Pohoyda wrote:
> 
> > Lowell Gilbert writes:
> > 
> >> Alexander Pohoyda <alexander.pohoyda@gmx.net> writes:
> >> 
> >>> Everything works perfect if the system is started with a memory card
> >>> inserted into the reader.
> >>> 
> >>> The problem arises when the system is started without the memory card
> >>> inserted.  Since the reader is built-in (permanently attached to the
> >>> motherboard), it is detected by the system at startup and no umass
> >>> device is created.  Inserting a memory card at some later time has no
> >>> visible effect whatsoever.
> >>> 
> >>> I'm using the 5.4 release.  Is there a solution for this?
> >> USB handling would be better in a more recent release of FreeBSD, but
> >> I think you should be getting the basic da(4) device, just not the
> >> slices (which aren't there yet) if the medium isn't available at
> >> boot.  Is that the case?  [I haven't done this in a while, and don't
> >> have access to a card reader at the moment.]
> > 
> > Yes, exactly.  If no memory cards were inserted at the boot, only
> > da(4) devices are created and inserting/removing memory cards
> > afterwards has no visible effect.  This behavior is well known also
> > for external USB card readers, but those are easily
> > detached/re-attached which triggers their re-scanning.
> > 
> > I'm asking because Ms Windows somehow gets the insertion event and
> > mounts the memory card automatically.  So that is be possible.
> > 
> > Does anybody know how that is done?
> > 
> 
> There is a hack, but I can't quite remember it. I think it was "true
> > /dev/da0" to get devfs to reread the partitions and create the dev
> entires. I haven't been able to get to a reader to test it
> though. Test on a junk media card just in case I'm totally off base.

After some experiments in FreeBSD 4.9, I found out that just running
the fdisk on da(4) device will enable to mount partitions on it:

    $ fdisk /dev/da0
******* Working on device /dev/da0 *******
parameters extracted from in-core disklabel are:
cylinders=495 heads=2 sectors/track=16 (32 blks/cyl)

parameters to be used for BIOS calculations are:
cylinders=495 heads=2 sectors/track=16 (32 blks/cyl)

Media sector size is 512
Warning: BIOS sector numbering starts with sector 1
Information from DOS bootblock is:
The data for partition 1 is:
sysid 1,(Primary DOS with 12 bit FAT)
    start 25, size 15783 (7 Meg), flag 80 (active)
        beg: cyl 0/ head 1/ sector 10;
        end: cyl 493/ head 1/ sector 16
The data for partition 2 is:
<UNUSED>
The data for partition 3 is:
<UNUSED>
The data for partition 4 is:
<UNUSED>
    $ mount /dev/da0s1
<<Success>>

This should be automatically done by the system, I suppose.


-- 
Alexander Pohoyda <alexander.pohoyda@gmx.net>
PGP Key fingerprint: 7F C9 CC 5A 75 CD 89 72  15 54 5F 62 20 23 C6 44



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