[Soekris] hard reset required on soekris box when connecting via xp (non-html)
Mike Tancsa
mike at sentex.net
Wed May 21 20:56:24 UTC 2008
At 11:24 AM 5/21/2008, Moe Sizlak wrote:
>I will see how it goes over the next few days but note to
>freebsd/monowall/openbsd developers
>the vr driver is *broken* for soekris net5501.
>
>Not all users but certainly enough.
All of the problems I saw were fixed in RELENG_7 of FreeBSD back on April 11th
http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/dev/vr/if_vr.c
has the details of all the bugs that were fixed.
There is also a userland work around to the issue (on FreeBSD at
least) where the driver gets wedged after a media transition. e.g.
if someone unplugges an ethernet cable, or the port goes down and up,
the old driver will often wedge and you need to do an ifconfig
down;ifconfig up on the NIC to fix it. I have a few releng_6 boxes
deployed in remote locations I cant safely upgrade where I have a
script that watches syslog messages and resets the NIC automatically.
#!/bin/sh
#look for the following in kern.* on FreeBSD vr1: link state changed to UP
#this means the interface state might have bounced, or just come
up. On FreeBSD 6.x
#this often results in a wedged NIC, so do an extra down/up and
generate some traffic
while read LINE
do
TRIG=`echo "$LINE"|awk '/vr.: link state changed to UP/ {where =
match($0, /vr.:/);if (where) {print substr($0, where, 3)}}'`
if [ -n "$TRIG" ]
then
echo $TRIG
/usr/bin/logger "Resetting due to up/down event $TRIG"
sleep 5
/sbin/ifconfig $TRIG down
/sbin/ifconfig $TRIG up
# ping the broadcast address just to generate some
traffic. This helps as well
/sbin/ping -c 1 -t1 -q `/sbin/ifconfig $TRIG |awk
'/broadcast/ {print $6}'`
/usr/bin/logger "$TRIG restart done"
TRIG=""
fi
done
In syslog, I have
kern.* | exec
/usr/local/sbin/interface-check.sh
---Mike
More information about the Soekris-tech
mailing list