Problem with built-in USB memory card reader
Alexander Pohoyda
alexander.pohoyda at gmx.net
Wed Jan 3 13:54:13 PST 2007
Micah wrote:
> Alexander Pohoyda wrote:
>
> > Lowell Gilbert writes:
> >
> >> Alexander Pohoyda <alexander.pohoyda at 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 at gmx.net>
PGP Key fingerprint: 7F C9 CC 5A 75 CD 89 72 15 54 5F 62 20 23 C6 44
More information about the freebsd-questions
mailing list