Eugene Grosbein writes:
On Wed, Jul 22, 2009 at 10:20:27AM +0800, Sagara Wijetunga wrote:
My questions in this regards are:
1. Is this an error/bug in FreeBSD 7.2?
This is regression from pre-5.x days. In 4.x and earlier,
you can have static device nodes and access them just fine.
2. Or, does it require some configuration tweak?
As a workaround, you should drop cardreader.conf into /usr/local/etc/devd/
(create directory if it does not exist) with contents like:
attach 1000 {
device-name "umass[0-9]+";
action "/usr/local/libexec/umass/attach-umass $device-name";
};
Script /usr/local/libexec/umass/attach-umass is invoked
when umassX appears:
#!/bin/sh
PATH=/bin:/sbin:/usr/bin:/usr/sbin
DEV=/dev
p=`dirname $0`
[ -z "$1" ] && exit 1
u="$1"
# wait until dust settles
i=1;
while [ $i -le 10 ]
do
sleep 1
device=`$p/umass2da $u`
if [ $? = 0 ]; then
: > $DEV/${device}
break
fi
i=$(($i+1))
done
This script calls /usr/local/libexec/umass/umass2da helper
to translate umassX to daY (in hope this translation is possible):
#!/bin/sh
PATH=/sbin:/usr/bin
camcontrol devlist -v | awk -v u=$1 '\
BEGIN { s = ""; e = 1; }
$3 ~ /umass-sim[0-9]+/ { s = $3; sub("-sim","",s); }
/[,(]da[0-9]+.*\)$/ {
if(s == u) {
match($NF, /da[0-9]+/);
print substr($NF, RSTART, RLENGTH);
e=0; exit 0;
}
}
END { exit e; }'
Hi Eugene, thanks for the reply. The issue we discussed is about internal
multi-card readers. For internal multi-card readers, the umassX created at
boot time. If there is media inside at boot time, the device node for slices
are also created. There is no issue about it. But the issue is after boot
up, later some time, if you plug in a media card, FreeBSD does not generate
any devd event. This needs to be fixed at the FreeBSD end, appreciate if the
FreeBSD community actively fix it soon.
Best regards
Sagara
_______________________________________________
freebsd-stable@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-stable
To unsubscribe, send any mail to "freebsd-stable-unsubscr...@freebsd.org"