Search

Technical Discussion Group Forum

This forum is provided for user discussion. While Beacon EmbeddedWorks support staff and engineers participate, Beacon EmbeddedWorks does not guarantee the accuracy of all information within in the Technical Discussion Group (TDG).

The "Articles" forums provide brief Articles written by Beacon EmbeddedWorks engineers that address the most frequently asked technical questions.

To receive email notifications when updates are posted for a Beacon EmbeddedWorks product download, please subscribe to the TDG Forum of interest.

TDG Forum

PrevPrev Go to previous topic
NextNext Go to next topic
Last Post 15 Dec 2004 08:56 AM by  miguelgu
PPP working?
 4 Replies
Sort:
You are not authorized to post a reply.
Author Messages
miguelgu
New Member
New Member
Posts:


--
27 Oct 2004 07:34 AM
    Is there anyone who has made a ppp conection (using uart B in LH79520 Zoom Development Kit) work ? It seems to be imposible, after the modem gets CONNECT, it only send 8 bytes through serial port !!!!! of the first PPP frame.
    7E Start of Frame
    FF Address
    7D 23 Control (escaped)
    C0 21 Protocol PPP LCP
    7D 21 Conf Request (escaped)
    After these bytes the serial port shut up.
    Of course I've configured both serial port and modem to work without signals control (CTS/RTS) (there is not control signals in LH79520's UART B).
    Using kernel:
    elf-coastal@buici.com
    New Member
    New Member
    Posts:


    --
    07 Dec 2004 10:21 AM
    If you send me a copy of the serial driver source file, I'll verify whether or not the bug exists in your version of the driver.
    miguelgu
    New Member
    New Member
    Posts:


    --
    15 Dec 2004 01:31 AM
    Finally PPP works fine in LH79520 Zoom Development Kit.
    The problem is the same as LH7A400, so applying the serial patch the problem fix.

    Thanks a lot.
    elf-coastal@buici.com
    New Member
    New Member
    Posts:


    --
    15 Dec 2004 08:48 AM
    Exactly what patch did you apply? Did you get the one that I posted to projects.buici.com?
    miguelgu
    New Member
    New Member
    Posts:


    --
    15 Dec 2004 08:56 AM
    That's it. The one I get from projects.buici.com, serial_lh7a400.c.diff, but apply to serial_amba_pl011.c.
    After that, I compiled several versions fo pppd, and works fine.
    [root@magutierrez serial]# diff -u serial_amba_pl011.c_orig serial_amba_pl011.c
    --- serial_amba_pl011.c_orig 2004-11-30 12:50:40.000000000 +0100
    +++ serial_amba_pl011.c 2004-12-10 09:32:26.000000000 +0100
    @@ -251,7 +251,7 @@
    static void amba11uart_tx_chars(struct uart_info *info)
    {
    struct uart_port *port = info->port;
    - int count;
    + int status;

    if (port->x_char) {
    UART_PUT_CHAR(port, port->x_char);
    @@ -266,14 +266,25 @@
    return;
    }

    - count = port->fifosize >> 1;
    + /* This assumes that there is room for at least one byte in
    + * the Tx FIFO. This ought to be true because of the fact
    + * that this is a service routine. Too, it will continue to
    + * push out bytes until either the transmit queue is empty or
    + * the FIFO fills. At 115200 baud, the transmitter sends a
    + * byte every 90us. No matter how unlikely, if the baudrate
    + * increases sufficiently to overcome the processor cycle
    + * time, it may be possible that this loop will always empty
    + * the transmit queue to the detriment of system
    + * responsiveness.
    + */
    +
    do {
    UART_PUT_CHAR(port, info->xmit.buf[info->xmit.tail]);
    info->xmit.tail = (info->xmit.tail + 1) & (UART_XMIT_SIZE - 1);
    - port->icount.tx++;
    - if (info->xmit.head == info->xmit.tail)
    - break;
    - } while (--count > 0);
    + ++port->icount.tx;
    + status = UART_GET_FR(port);
    + } while (UART_TX_READY (status)
    + && info->xmit.head != info->xmit.tail);

    if (CIRC_CNT(info->xmit.head, info->xmit.tail, UART_XMIT_SIZE) <
    WAKEUP_CHARS)
    You are not authorized to post a reply.