"cu: Got hangup signal" on sio0 probe
koitsu at FreeBSD.org
Thu May 10 12:36:15 UTC 2007
On Thu, May 10, 2007 at 09:34:55AM +0200, Jeremie Le Hen wrote:
> On Wed, May 09, 2007 at 04:06:19PM -0700, Jeremy Chadwick wrote:
> > On Thu, May 10, 2007 at 12:19:27AM +0200, Jeremie Le Hen wrote:
> > > % obiwan:root# cat /boot.config
> > > % -D
> > > % obiwan:root# grep ttyd0 /etc/ttys
> > > % ttyd0 "/usr/libexec/getty std.9600" dialup on secure
> > >
> > > This works correctly but on startup, when the kernel probes sio0,
> > > I get "Got hangup signal". Is it expected?
> > I wonder if that's some sort of reference to carrier detect being
> > wired wrong on whatever device or adapter you have connected to
> > your serial port.
> > However, I can't find this string referenced anywhere in the kernel
> > source code for RELENG_6. An (admittedly bad) egrep shows:
> > $ egrep -r "Got .+ signal" /usr/src
> > /usr/src/contrib/amd/amd/nfs_start.c: /* Got a signal */
> > /usr/src/usr.bin/make/job.c: * Got a signal. Set global variables and hope that someone will
> > /usr/src/usr.sbin/bluetooth/bthidd/bthidd.c: syslog(LOG_NOTICE, "Got signal %d, total number of signals %d",
> > /usr/src/usr.sbin/bluetooth/hcsecd/hcsecd.c: syslog(LOG_DEBUG, "Got signal %d, total number of signals %d",
> > /usr/src/usr.sbin/bluetooth/sdpd/main.c: log_notice("Got signal %d. Total number of signals received %d",
> > What version of FreeBSD are you referring to?
> cu(1) was running on RELENG_4 :-). But I expected to problem to be on
> the remote side, a RELENG_6 box.
I'm sure you know RELENG_4 has been decomissioned/is no longer
RELENG_4 has a couple references to the string, but only in userland
utilities -- I see no evidence of this message coming from the kernel
when sio0 is probed (I read "probed" as "when sio0 is detected and
configured by the kernel during boot-time").
The most likely culprits are these:
/usr/src/gnu/libexec/uucp/common_sources/log.c: ulog (LOG_ERROR, "Got %s signal", azSignal_names[isig]);
/usr/src/sbin/startslip/startslip.c: syslog(LOG_INFO, "%s: got hangup signal", username);
As pointed out, I don't find any evidence of these strings in RELENG_6.
The entry for uucp/common_sources/log.c will output "Got hangup signal"
if SIGHUP (kill -HUP) is sent to the program. The actual string
("hangup") that gets sent is defined in uucp/common_sources/uudefs.h.
The logging is done via syslog(), level LOG_ERROR, which means the
output could end up a console (read: serial console) since the default
syslog.conf on FreeBSD says *.err --> /dev/console.
sbin/startslip/startslip.c will output "got hangup signal" on a SIGHUP
(kill -HUP) when someone is logged in. It gets logged via syslog(),
level LOG_INFO. Again, same rules apply to the syslog.conf.
Other than these two examples, I don't see how you're getting the
message you're seeing. My guess is that you're using uucp.
> > Consider using uart(4) as a possible alternative, but depending upon
> > the answer to the above question, this might not be applicable.
> > I wrote some directions on how to get uart(4) to work, and one caveat I
> > found when attempting to use it. Those docs are here:
> > http://jdc.parodius.com/freebsd_uart.txt
> Do you mean on the client or server side?
The directions apply to whatever machine you want to use uart(4) on as a
replacement for sio(4). But this doesn't matter because you're using a
RELENG_4 box and not RELENG_6 (uart(4) isn't available in 4.x).
| Jeremy Chadwick jdc at parodius.com |
| Parodius Networking http://www.parodius.com/ |
| UNIX Systems Administrator Mountain View, CA, USA |
| Making life hard for others since 1977. PGP: 4BD6C0CB |
More information about the freebsd-stable