Red Hat Bugzilla – Bug 58812
usb modem drops \n characters when is used as a tty character terminal
Last modified: 2008-08-01 12:22:52 EDT
From Bugzilla Helper:
User-Agent: Mozilla/4.51 [en] (WinNT; I)
Description of problem:
We use a usb modem as a tty character device with N_TTY line
discipline. For that terminal ONLCR flag is on, so opost() function
from n_tty.c tries to output \n character as a pair \r + \n.
To do that it calls tty->driver.put_char(tty, c) which points to
acm_tty_write() two times, once for each character.
First call for \r goes through fine, but the second call for \n
returns 0 because of acm->writeurb.status == -EINPROGRESS and
doesn't send that \n character.
opost() function doesn't check a return value from put_char(), doesn't
detect dropped characters, and always returns 0 (OK).
write_chan() gets that OK from opost() and doesn't know that it needs to
re-send a character.
The same problem occurs on several different hardware platforms, with
two different Linux kernels (2.2 and 2.4),
and with different usb-modems.
Version-Release number of selected component (if applicable):
Steps to Reproduce:
1.use mgetty to answer incoming calls on a usb modem
2.use another machine to dail in (we used cu program to do that)
Actual Results: All output from the remote site goes into one line
Thanks for the bug report. However, Red Hat no longer maintains this version of
the product. Please upgrade to the latest version and open a new bug if the problem
The Fedora Legacy project (http://fedoralegacy.org/) maintains some older releases,
and if you believe this bug is interesting to them, please report the problem in
the bug tracker at: http://bugzilla.fedora.us/