From owner-freebsd-stable@FreeBSD.ORG Wed Jul 22 14:20:38 2009 Return-Path: Delivered-To: freebsd-stable@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 4C5251065672 for ; Wed, 22 Jul 2009 14:20:38 +0000 (UTC) (envelope-from eugen@kuzbass.ru) Received: from www.svzserv.kemerovo.su (www.svzserv.kemerovo.su [213.184.65.80]) by mx1.freebsd.org (Postfix) with ESMTP id ABE3A8FC1A for ; Wed, 22 Jul 2009 14:20:37 +0000 (UTC) (envelope-from eugen@kuzbass.ru) Received: from www.svzserv.kemerovo.su (eugen@localhost [127.0.0.1]) by www.svzserv.kemerovo.su (8.13.8/8.13.8) with ESMTP id n6MEKYaq015345; Wed, 22 Jul 2009 22:20:34 +0800 (KRAST) (envelope-from eugen@www.svzserv.kemerovo.su) Received: (from eugen@localhost) by www.svzserv.kemerovo.su (8.13.8/8.13.8/Submit) id n6MEKXhv015339; Wed, 22 Jul 2009 22:20:33 +0800 (KRAST) (envelope-from eugen) Date: Wed, 22 Jul 2009 22:20:33 +0800 From: Eugene Grosbein To: Sagara Wijetunga Message-ID: <20090722142033.GA13316@svzserv.kemerovo.su> References: <20090722022027.12059.qmail@us1.tomahawkonline.net> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20090722022027.12059.qmail@us1.tomahawkonline.net> User-Agent: Mutt/1.4.2.3i Cc: freebsd-stable@freebsd.org Subject: Re: SCSI device not created upon a CF card plug in X-BeenThere: freebsd-stable@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Production branch of FreeBSD source code List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 22 Jul 2009 14:20:38 -0000 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