SCSI device not created upon a CF card plug in
Eugene Grosbein
eugen at kuzbass.ru
Wed Jul 22 14:20:38 UTC 2009
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; }'
Eugene Grosbein
More information about the freebsd-stable
mailing list