[#4131] ppp hangs at ioctl(TIOCSETD)

Document created by Aaronwu Employee on Aug 29, 2013
Version 1Show Document
  • View in full screen mode

[#4131] ppp hangs at ioctl(TIOCSETD)

Submitted By: Yi Li

Open Date

2008-05-28 05:56:52     Close Date

2008-06-27 05:19:15

Priority:

Medium     Assignee:

Yi Li

Status:

Closed     Fixed In Release:

N/A

Found In Release:

N/A     Release:

trunk,2008r1

Category:

N/A     Board:

EZKIT Lite

Processor:

BF548     Silicon Revision:

Is this bug repeatable?:

Yes     Resolution:

Fixed

Uboot version or rev.:

    Toolchain version or rev.:

08r1-8

App binary format:

N/A     

Summary: ppp hangs at ioctl(TIOCSETD)

Details:

 

I tried to start ppp link over serial port, according to:

  docs.blackfin.uclinux.org/doku.php?id=uclinux-dist:ppp.

 

Kernel configure, pppd configure are the same as the document.

 

When starting pppd (using telnet, the serial terminal emulator is closed), it hangs. strace shows:

 

root:/> strace pppd

[snip]

open("/dev/ttyBF0", O_RDWR|O_NONBLOCK)  = 7

fcntl(7, F_GETFL)                       = 0x802 (flags O_RDWR|O_NONBLOCK)

fcntl(7, F_SETFL, O_RDWR)               = 0

ioctl(7, TIOCMBIS, [TIOCM_DTR])         = 0

ioctl(7, SNDCTL_TMR_TIMEBASE or TCGETS, {B57600 opost -isig -icanon -echo ...}) = 0

ioctl(7, SNDCTL_TMR_CONTINUE or TCSETSF, {B115200 -opost -isig -icanon -echo ...}) = 0

fcntl(6, F_SETLKW, {type=F_WRLCK, whence=SEEK_SET, start=544, len=1}) = 0

fcntl(6, F_SETLK, {type=F_WRLCK, whence=SEEK_SET, start=1092, len=1}) = 0

fcntl(6, F_SETLK, {type=F_UNLCK, whence=SEEK_SET, start=1092, len=1}) = 0

fcntl(6, F_SETLKW, {type=F_WRLCK, whence=SEEK_SET, start=164, len=1}) = 0

fcntl(6, F_SETLKW, {type=F_UNLCK, whence=SEEK_SET, start=164, len=1}) = 0

fcntl(6, F_SETLKW, {type=F_WRLCK, whence=SEEK_SET, start=164, len=1}) = 0

fcntl(6, F_SETLKW, {type=F_UNLCK, whence=SEEK_SET, start=164, len=1}) = 0

fcntl(6, F_SETLKW, {type=F_UNLCK, whence=SEEK_SET, start=544, len=1}) = 0

ioctl(7, TIOCEXCL, 0)                   = 0

ioctl(7, TIOCSETD

[hangs here]

 

I am not sure this is configuration issue or ppp problem.

 

Follow-ups

 

--- Yi Li                                                    2008-06-27 06:19:18

This is not a bug.

 

We need to disable blackfin serial console when using PPP on serial line,

otherwise, pppd will hangs at:

 

ioctl(TIOCSETD) --> tty_set_ldisc()

--->

if (wait_event_interruptible(tty_ldisc_wait, tty->ldisc.refcount == 0) <

0)

                return -ERESTARTSYS;

 

the serial console uses the line discipline. Simply close the console will not

release the line discipline (a bug?).

 

If enabled the serial console, I boot uboot with the option:

Kernel command line:

ip=10.99.23.104:10.99.23.118:10.99.23.1:255.255.255.0:BF537:eth0:off

 

Then telnet to the board when kernel booted (did not open serial console at

all), pppd still hangs.

 

--- Mike Frysinger                                           2008-06-28 10:31:06

if you enable the serial console, you need to run pppd in the serial console,

you cant run it from the telnet session

 

 

 

    Files

    Changes

    Commits

    Dependencies

    Duplicates

    Associations

    Tags

 

File Name     File Type     File Size     Posted By

No Files Were Found

Attachments

    Outcomes