[OpenIndiana-discuss] stty source code

Reginald Beardsley pulaskite at yahoo.com
Thu Sep 6 11:26:46 UTC 2012


Andrew,

There are no serial ports and hence no /dev/term/b on this system.  In fact if the USB<->RS-232 adapter is not plugged in, there is no /dev/term or /dev/cua either. Which may explain some of the weirdness when I was setting up the port as I don't think I had plugged in the Keyspan adapter when I started configuring it. /dev/{term,cua}/0 don't get created until you plug in the adapter and disappear when you unplug it.

ttymon holds /dev/term/0, so even root or uucp cannot open /dev/term/0.  stty just hangs until interrupted.  Everything I've read suggests that it is not possible to have a port be outbound only and that is must be bidirectional.  However, I've not attempted to test that. I've got enough annoyance as it is.  However, I  can see lots of opportunity for trouble w/ ttymon running on a port that goes away when the USB-serial adapter is unplugged.

I can open /dev/cua/0 w/ stty, but do not seem to be able to make any changes.

To wit:

root at openindiana:~# /bin/sh
root at openindiana:~# su uucp
root at openindiana:~# stty -a </dev/term/0
^Csu: /dev/term/0: cannot open [Interrupted system call]
root at openindiana:~# stty -a </dev/cua/0                                         
speed 9600 baud; rows 0; columns 0;
intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = <undef>;
eol2 = <undef>; swtch = <undef>; start = ^Q; stop = ^S; susp = ^Z; dsusp = ^Y;
rprnt = ^R; werase = ^W; lnext = ^V; flush = ^O;
-parenb -parodd cs8 -hupcl -cstopb cread -clocal -crtscts
-ignbrk brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr icrnl ixon -ixoff
-iuclc -ixany imaxbel
opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab3 bs0 vt0 ff0
isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt
echoctl echoke
root at openindiana:~# stty olcuc </dev/cua/0                                      
root at openindiana:~# stty -a </dev/cua/0                                      
speed 9600 baud; rows 0; columns 0;
intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = <undef>;
eol2 = <undef>; swtch = <undef>; start = ^Q; stop = ^S; susp = ^Z; dsusp = ^Y;
rprnt = ^R; werase = ^W; lnext = ^V; flush = ^O;
-parenb -parodd cs8 -hupcl -cstopb cread -clocal -crtscts
-ignbrk brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr icrnl ixon -ixoff
-iuclc -ixany imaxbel
opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab3 bs0 vt0 ff0
isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt
echoctl echoke                            root at openindiana:~# stty olcuc </dev/cua/0; stty -a </dev/cua/0                 
speed 9600 baud; rows 0; columns 0;
intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = <undef>;
eol2 = <undef>; swtch = <undef>; start = ^Q; stop = ^S; susp = ^Z; dsusp = ^Y;
rprnt = ^R; werase = ^W; lnext = ^V; flush = ^O;
-parenb -parodd cs8 -hupcl -cstopb cread -clocal -crtscts
-ignbrk brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr icrnl ixon -ixoff
-iuclc -ixany imaxbel
opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab3 bs0 vt0 ff0
isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt
echoctl echoke
                                

Note that attempting to set olcuc on /dev/cua/0 had no apparent effect.  

Reg



More information about the OpenIndiana-discuss mailing list