[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

[debian-hppa] serial ports, what's in your ioctl? ;)



Title: Message
I am having some troubles with my serial ports on my B132L hppa machine. I am running kernel 2.4.17-32.  I have had no success with minicom or pppd/chat.  I have connected the serial port to a modem, and to a IC programmer (serial port type).  All these have worked on the i686 machine, but not this one.  statserial sees each serial port.  I have noticed changes on /dev/ttyS0 when I turn the modem on and off.  dmesg reports my serial ports as thus: (one is internal, ttyS2)
 
Serial driver version 5.05c (2001-07-08) with MANY_PORTS SHARE_IRQ SERIAL_PCI enabled
ttyS00 at iomem 0xffd05800 (irq = 90) is a 16550A
ttyS01 at iomem 0xfff83800 (irq = 138) is a 16550A
ttyS02 at iomem 0xffe02800 (irq = 121) is a 16550A
Notice it says ttyS00 and not ttyS0.
 
stty reported differences between the i686 machine, so I copied them to run identical.
I can use cat > /dev/ttyS0 and type ATL1M1DT and a phone number, and the modem will pickup and start dialing.
 
From strace -s 1024000 -ff -o log -- pon myisp, I noticed this output apparently from chat.
 
*-snip-*
send(3, "<150>May  9 05:33:47 chat[492]: send (ATZ^M)", 44, 0) = 44
rt_sigaction(SIGPIPE, {SIG_IGN}, NULL, 8) = 0
alarm(45)                               = 0
nanosleep({0, 10000000}, NULL)          = 0
write(1, "A", 1)                        = 1
nanosleep({0, 10000000}, NULL)          = 0
write(1, "T", 1)                        = 1
nanosleep({0, 10000000}, NULL)          = 0
write(1, "Z", 1)                        = 1
nanosleep({0, 10000000}, NULL)          = 0
write(1, "\r", 1)                       = 1
alarm(0)                                = 45
time([1084080827])                      = 1084080827
getpid()                                = 492
rt_sigaction(SIGPIPE, {0x40172cb2, [], 0}, {SIG_IGN}, 8) = 0
send(3, "<150>May  9 05:33:47 chat[492]: expect (OK)", 43, 0) = 43
rt_sigaction(SIGPIPE, {SIG_IGN}, NULL, 8) = 0
alarm(45)                               = 0
read(0, "A", 1)                         = 1
read(0, "T", 1)                         = 1
read(0, "Z", 1)                         = 1
read(0, "\r", 1)                        = 1
read(0, "\r", 1)                        = -512
--- SIGALRM (Alarm clock) ---
alarm(1)                                = 0
rt_sigaction(SIGALRM, {0x24aba, [], SA_RESTART}, {0x24aba, [], SA_RESTART}, 8) = 0
fcntl(0, F_GETFL)                       = 0x2 (flags O_RDWR)
fcntl(0, F_SETFL, O_RDWR|O_NONBLOCK)    = 0
time([1084080872])                      = 1084080872
getpid()                                = 492
rt_sigaction(SIGPIPE, {0x40172cb2, [], 0}, {SIG_IGN}, 8) = 0
send(3, "<150>May  9 05:34:32 chat[492]: alarm", 37, 0) = 37
*-snip-*
 
It looks as though chat spits out ATZ^M, but only sees its own echo, and not OK. And no, its not really May 9th.
 
All three serial ports act the same, including the internal isa modem on ttyS2.  I do not recall testing the serial ports when the machine had HPUNIX running.  I do know that I have not seen the serial ports function running Linux.
 
also, stty -g on each device:
ldap:~/strace# for a in 0 1 2 ; do stty -F /dev/ttyS$a -g ; done
5:0:800004bd:0:3:1c:7f:15:4:0:1:0:11:13:1a:0:12:f:17:16:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0
500:5:cbd:8a3b:3:1c:7f:15:4:0:1:0:11:13:1a:0:12:f:17:16:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0
500:5:cbd:8a3b:3:1c:7f:15:4:0:1:0:11:13:1a:0:12:f:17:16:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0
In this exercise, ttyS0 is essentialy the only one I modified.
 
Is this a kernel issue? or is there some other setting I need to check?
 
Thanks,
 
Scott Edwards
 

Reply to: