kern/95512: uplcom(4) causes system hangups
Kyryll A Mirnenko
mirya at matrix.ua
Sat Apr 8 09:30:20 UTC 2006
>Number: 95512
>Category: kern
>Synopsis: uplcom(4) causes system hangups
>Confidential: no
>Severity: serious
>Priority: low
>Responsible: freebsd-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: sw-bug
>Submitter-Id: current-users
>Arrival-Date: Sat Apr 08 09:30:15 GMT 2006
>Closed-Date:
>Last-Modified:
>Originator: Kyryll A Mirnenko
>Release: 6.0-RELEASE
>Organization:
>Environment:
FreeBSD myhost 6.0-RELEASE-p6 FreeBSD 6.0-RELEASE-p6 #5: Thu Mar 23 15:57:16 EET 2006 root at myhost:/usr/src/sys/i386/compile/GENERIC i386
>Description:
There 2 bugs seems to come from the same source when using uplcom(4):
1) both /dev/cuaU0 and /dev/ttyU0 can't be opened the same time. E.g. if starting getty on the latter it's impossible to make ppp call on the first (handbook-described dialup callback method). The kernel says:
ucom0: open bulk out error (addr 2): IN_USE
As far as this is definitely possible with direct COM modem (cuad) and comms/ltmdm winmodem driver (cual) such behavior is at least strange.
2) When making direct ppp call and receiving incoming via getty repeated message is produced by kernel:
putc to a clist with no reserved cblocks
At last when getty passes control to ppp (via a login script which is exec'ing `ppp -direct`) i'm getting a couple of "clist" mesages and one about "IN_USE" (in random sequence), after that the system freezes.
The kernel used is GENERIC, uplcom is added to loader.conf
>How-To-Repeat:
The USB2Serail i'm using is (according to usbdevs):USB-Serial Controller(0x2303), Prolific Technology Inc.(0x067b), rev 3.00.
/etc/gettytab contains:
callback1|38400-baud:\
:np:sp#38400:pp=/etc/ppp/callback.ppp:
/etc/ppp/callback.ppp:
#!/bin/sh
exec /usr/sbin/ppp -direct myisp-cb
/etc/ppp/ppp.conf:
default:
set log Phase Chat LCP IPCP CCP tun
ident user-ppp VERSION (built COMPILATIONDATE)
set device /dev/cuaU0
set speed 38400
set dial "ABORT BUSY ABORT NO\\sCARRIER TIMEOUT 5 \
\"\" AT OK-AT-OK ATE1Q0 OK \\dATDP\\T TIMEOUT 80 CONNECT"
set timeout 600
enable dns
disable pred1 deflate lqr
deny pred1 deflate lqr
set urgent udp +53
allow user mirya
set ifaddr 0.0.0.0 0.0.0.0 0.0.0.0
myisp:
set phone ispphone
set authname auth
set authkey pass
set dial "ABORT BUSY ABORT NO\\sCARRIER TIMEOUT 5 \
\"\" AT OK-AT-OK ATS0=1 OK \\dAT OK \\dAT OK \\dATDP\\T TIMEOUT 80 CONNECT"
add default HISADDR
set callback cbcp
set cbcp myphone
myisp-cb:
add default HISADDR
set authname auth
set authkey pass
set logout "AT OK-AT-OK ATS0=0 OK \\dAT OK \\dAT OK"
Running as root:
# ppp -background cheap
# /usr/libexec/getty callback1 ttyU0 2>/dev/null >/dev/null &
Direct call is done correctly (some "clist" messages are dropped), getty seems to answer it and pass control to ppp, then everything hangs up as described above
>Fix:
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-bugs
mailing list