Date: Wed, 22 Jul 2009 22:20:33 +0800 From: Eugene Grosbein <eugen@kuzbass.ru> To: Sagara Wijetunga <sagara@tomahawk.com.sg> Cc: freebsd-stable@freebsd.org Subject: Re: SCSI device not created upon a CF card plug in Message-ID: <20090722142033.GA13316@svzserv.kemerovo.su> In-Reply-To: <20090722022027.12059.qmail@us1.tomahawkonline.net> References: <20090722022027.12059.qmail@us1.tomahawkonline.net>
next in thread | previous in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20090722142033.GA13316>
