On 2013-02-13 13:22, Zemskov, Evgeny wrote: >> Is there a packet frequency that is still fine? Are you sure your reader >> task is able to keep up with the data stream? What is your RX FIFO >> depth? Your hardware is 16550A compatible? > >> Check the rate of RX interrupts and what status reported on each >> (rt_16550_rx_interrupt). Do they complete successfully at all, only fail >> after a while? Do they come regularly? Maybe something (SMI?) is >> blocking interrupts for a longer period, causing the FIFO overflow. > > At the moment we're testing with low frequencies, the same problem > occurs even at 1..2 second intervals between packets. > The reader is definitely quick enough (essentially, it only executes an > rt_printf > with read notification), and it handles in time packets with at least 50msec > intervals. > > Interesting thing is that problem occurs _only_ if packets are received by > UART > during the startup or shutdown of the reader application. > In latter case, rt_dev_read fails on first packet received after startup > (probably, when > next RX interrupt is triggered). > No problem occurs is data is received by UART when application is not running. > > All RX interrupts are triggered and executed in xeno_16550A driver correctly > (I've added printk's in rt_16550_rx_interrupt), even after rt_dev_read has > failed > (but the application is still running and keeps driver initialized)/
Sorry, I still don't fully get the error: rt_dev_read suddenly returns -EIO and, after that, never works again until you do the hardware re-init via the Linux driver? After the first EIO, what does the interrupt handler read from the LSR register from that on? Always RTSER_LSR_OVERRUN_ERR? > > Hardware is a serial port built into ASUS P4 motherboard with i865 chipset. > Couldn't find which UART are they using, but it works fine with everything. > I believe that its Rx FIFO depth is standard 16 bytes (at least Rx trigger > level can be set to standard 1-4-8-14 bytes) And you leave the trigger depth at "1", right? Jan -- Siemens AG, Corporate Technology, CT RTC ITP SDP-DE Corporate Competence Center Embedded Linux _______________________________________________ Xenomai mailing list [email protected] http://www.xenomai.org/mailman/listinfo/xenomai
