misc/148644: Vgetty play voice file fails with 8.0 RELEASE/uart
works with 6.3/sio
freebsd at starkeffect.com
Thu Jul 15 15:10:05 UTC 2010
>Synopsis: Vgetty play voice file fails with 8.0 RELEASE/uart works with 6.3/sio
>Arrival-Date: Thu Jul 15 15:10:04 UTC 2010
>Originator: Gene Stark
Stony Brook University
I attempted to upgrade from FreeBSD 6.3 to FreeBSD 8.0 release.
In the process of doing so, I found that vgetty 0.9.32
from ports/comms/mgetty+sendfax (mgetty 1.1.35) no longer worked properly.
Specifically, when it answers the phone in voice mode and attempts to play
the greeting file, it plays correctly for a second or so, then lapses into
garbled sound. The modem (US Robotics Sportster 33.6 Voice Faxmodem) becomes unresponsive and it is not possible to record an incoming message.
I of course had to change cuad1 (sio driver) to cuau1 (uart driver) in the
process of doing the upgrade. The failure mode to me appears like a data
overrun on the channel from the computer to the modem, perhaps caused by
a failure of hardware flow control in the uart driver.
I did some amount of debugging to try to identify the problem. I didn't see
any way to get debugging output from the uart driver, so I used ktrace on
vgetty. It reaches the point where it is playing the voice data, outputs
the data to the modem via several write calls that send 800 bytes at a time,
and reports the total amount of voice data transmitted. At the point where
it expects a reply from the modem, it does not get one. Presumably this is
because the modem has become confused by the data overrun. There is no other
indication from the modem that something has gone wrong other than the garbled
audio and the fact that it becomes unresponsive.
This was the show-stopper for me. I am reverting to FreeBSD 6.3 for now.
I attempted to compile an 8.0 kernel with the sio driver in and the uart
driver, but it seems that this is not supported any more. So I can't offer
information about whether simply changing back to the old driver solves the
More information about the freebsd-bugs