Bug 24528

Summary: Bad tracking of Modem status
Product: Base System Reporter: Wilhelm B. Kloke <wb>
Component: kernAssignee: freebsd-bugs (Nobody) <bugs>
Status: Closed Overcome By Events    
Severity: Affects Only Me CC: jpaetzel
Priority: Normal    
Version: 4.0-STABLE   
Hardware: Any   
OS: Any   

Description Wilhelm B. Kloke 2001-01-22 13:50:00 UTC
	I tried to adapt a Linux application for model railroads
	(Digital Direct for Linux). I got no acceptable acknowledge from
	the NMRA-programmer application. AFAIS this is due to the
	following defect in the handling of Modem status signals:
	The input signal is on RI. After triggering the corresponding
	status bit further reads via TIOCMGET don't reflect the state
	of the line until output occurs.

Fix: 

IMHO TIOCMGET should update 
	the internal copy of MSR, at least after reading. Thus the next
	TIOCMGET gets the right info.

	I saw that sio is heavily affected by current development.
	So I just fix it at home, and give you just the information.

	Further comments on the 16550A driver. I feel that there are
	reasons to relieve unnecessary restrictions on the baud rates.
	The hardware is able to produce at least 3 more useful Baud rates:
	1. (and least) NMRA timing needs 58us pulses resulting in ~17000Bd,
	2. The bus of my NMRA-DCC is on 62500 Bd,
	3. (probably the only important) MIDI is on 31250Bd.
	You could just accept any Bd rate not exceeding some upper limit
	for this device.
How-To-Repeat: 
	Use kermit and 'show modem'. RI goes to off only after output    
	(in connect state e.g.).
Comment 1 Josh Paetzel freebsd_committer freebsd_triage 2017-06-27 00:41:08 UTC
Bug scrub.