Underruns and output buffer failures

Hi
I have two Catalyst 3550 connecting two datacenter and I'm receiving errors on connecting switchports. Errors are output buffer failures and underruns. Is it just that switches are running out of resources or what? We are using servers in the datacenters with nfs and I'v heard that this could cause these errors. I'd really appreciate a opinion from a network professional.
Here are port statistics. Both switchports are identical.
FastEthernet0/3 is up, line protocol is up
Hardware is Fast Ethernet, address is 000c.301f.c503 (bia 000c.301f.c503)
MTU 1500 bytes, BW 100000 Kbit, DLY 100 usec,
reliability 255/255, txload 3/255, rxload 6/255
Encapsulation ARPA, loopback not set
Keepalive set (10 sec)
Full-duplex, 100Mb/s
input flow-control is off, output flow-control is off
ARP type: ARPA, ARP Timeout 04:00:00
Last input 00:00:00, output 00:00:00, output hang never
Last clearing of "show interface" counters 21:54:22
Input queue: 0/75/0/0 (size/max/drops/flushes); Total output drops: 0
Queueing strategy: fifo
Output queue :0/40 (size/max)
1 minute input rate 2676000 bits/sec, 531 packets/sec
1 minute output rate 1432000 bits/sec, 528 packets/sec
123525330 packets input, 166317380 bytes, 0 no buffer
Received 887720 broadcasts, 0 runts, 0 giants, 0 throttles
0 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored
0 watchdog, 671127 multicast, 0 pause input
0 input packets with dribble condition detected
108650060 packets output, 322356071 bytes, 11269 underruns
0 output errors, 0 collisions, 0 interface resets
0 babbles, 0 late collision, 0 deferred
0 lost carrier, 0 no carrier, 0 PAUSE output
11269 output buffer failures, 0 output buffers swapped out
Thanks

Hello,
most likely, the erros are caused by your link being saturated.
I found a previous post which explains the error as following:
'The frames are being switched in hardware, since there are no output queue drops. But the hardware is attempting to put frames on the wire when it's pretty close to being saturated. Although your 1 minute average is only around 1,5 mbit, it only takes a couple millisecond long burst to fill up the hardware interface buffers and cause this error. It's probably time to add another link (forming an etherchannel) or jump to a gig interface. I don't think you can tune these hardware buffers at all to buy any additional time.'
Conclusion: your link is getting overloaded...
Regards,
GP

Similar Messages

  • Output errors, Transmit discards and big buffer errors on 1121 AP

    I have a AIR-AP1121G-A-K9 running c1100-k9w7-tar.123-7.JA2 (Autonomous)
    We have monitoring setup with Orion NPM and we consistently see output errors, Transmit discards and big buffer errors
    The users at the site have not reporting any issues but was wondering how to prevent these or are these normal?
    What causes the output errors on Wireless Radio ? How to troubleshoot further ?
    Radio0-802.11G
    Total Output Errors         0              47749
    Small Buffer Misses
    4 misses
    139 misses
    Medium Buffer Misses
    117 misses
    249 misses
    Big Buffer Misses
    62 misses
    8982 misses
    Dot11Radio0 is up, line protocol is up
    MTU 1500 bytes, BW 54000 Kbit, DLY 1000 usec,
         reliability 255/255, txload 1/255, rxload 1/255
    Encapsulation ARPA, loopback not set
    ARP type: ARPA, ARP Timeout 04:00:00
    Last input 00:00:00, output 00:00:00, output hang never
    Last clearing of "show interface" counters never
    Input queue: 0/75/479/0 (size/max/drops/flushes); Total output drops: 245980
    Queueing strategy: fifo
    Output queue: 0/30 (size/max)
    5 minute input rate 48000 bits/sec, 25 packets/sec
    5 minute output rate 34000 bits/sec, 22 packets/sec
         32482389 packets input, 2056095954 bytes, 0 no buffer
         Received 1622227 broadcasts, 0 runts, 0 giants, 0 throttles
         0 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored
         0 input packets with dribble condition detected
         44289160 packets output, 1268314927 bytes, 0 underruns
         47752 output errors, 0 collisions, 1 interface resets
         0 babbles, 0 late collision, 0 deferred
         0 lost carrier, 0 no carrier
         0 output buffer failures, 0 output buffers swapped out
    Thanks

    This is normal.
    Remember that wireless network is like a hub:  One talks and everyone stops to listen and waits for their turn.

  • Buffer Failures

    I have a cisco 851
    I monitor the cisco using opmanager
    opmanger is reporting Buffer and Create Buffer Failures
    I did a show buffers
    MyRouter#show buffers
    Buffer elements:
         1117 in free list (500 max allowed)
         9044926 hits, 0 misses, 1119 created
    Public buffer pools:
    Small buffers, 104 bytes (total 59, permanent 50, peak 150 @ 2w1d):
         32 in free list (20 min, 150 max allowed)
         15029144 hits, 330 misses, 461 trims, 470 created
         109 failures (0 no memory)
    Middle buffers, 600 bytes (total 40, permanent 25, peak 108 @ 2w1d):
         17 in free list (10 min, 150 max allowed)
         1428730 hits, 770 misses, 2087 trims, 2102 created
         42 failures (0 no memory)
    Big buffers, 1536 bytes (total 50, permanent 50, peak 62 @ 3d18h):
         50 in free list (5 min, 150 max allowed)
         7446506 hits, 50 misses, 12 trims, 12 created
         38 failures (0 no memory)
    VeryBig buffers, 4520 bytes (total 10, permanent 10, peak 12 @ 3d18h):
         9 in free list (0 min, 100 max allowed)
         30 hits, 9 misses, 2 trims, 2 created
         9 failures (0 no memory)
    Large buffers, 5024 bytes (total 1, permanent 0, peak 3 @ 3d18h):
         1 in free list (0 min, 10 max allowed)
         3 hits, 6 misses, 35 trims, 36 created
         6 failures (0 no memory)
    Huge buffers, 18024 bytes (total 1, permanent 0, peak 3 @ 3d18h):
         1 in free list (0 min, 4 max allowed)
         6 hits, 3 misses, 35 trims, 36 created
         3 failures (0 no memory)
    Interface buffer pools:
    MOTCR buffers, 1552 bytes (total 321, permanent 321):
         0 in free list (0 min, 321 max allowed)
         321 hits, 0 fallbacks
         321 max cache size, 321 in cache
         12021922 hits in cache, 0 misses in cache
    Dot11Radio0Psp buffers, 1680 bytes (total 80, permanent 80):
         80 in free list (0 min, 80 max allowed)
         0 hits, 0 fallbacks
    Dot11Radio0 buffers, 2400 bytes (total 96, permanent 96):
         32 in free list (0 min, 96 max allowed)
         804555 hits, 0 fallbacks
    Header pools:
    Header buffers, 0 bytes (total 137, permanent 128, peak 137 @ 3w5d):
         9 in free list (10 min, 512 max allowed)
         125 hits, 3 misses, 0 trims, 9 created
         0 failures (0 no memory)
         128 max cache size, 128 in cache
         505521 hits in cache, 0 misses in cache
    Dot11Radio0 buffers, 0 bytes (total 300, permanent 300):
         150 in free list (0 min, 300 max allowed)
         150 hits, 0 misses
         150 max cache size, 150 in cache
         0 hits in cache, 0 misses in cache
    Particle Clones:
         1024 clones, 505360 hits, 0 misses
    Public particle pools:
    F/S buffers, 256 bytes (total 385, permanent 384):
         129 in free list (128 min, 1024 max allowed)
         3247 hits, 329 misses, 234 trims, 235 created
         0 failures (0 no memory)
         256 max cache size, 256 in cache
         505360 hits in cache, 0 misses in cache
    Normal buffers, 1536 bytes (total 512, permanent 512):
         384 in free list (128 min, 1024 max allowed)
         272 hits, 0 misses, 0 trims, 0 created
         0 failures (0 no memory)
         128 max cache size, 128 in cache
         0 hits in cache, 0 misses in cache
    Private particle pools:
    FastEthernet0 buffers, 1536 bytes (total 192, permanent 192):
         0 in free list (0 min, 192 max allowed)
         192 hits, 0 fallbacks
         192 max cache size, 128 in cache
         20078758 hits in cache, 0 misses in cache
    FastEthernet4 buffers, 1536 bytes (total 192, permanent 192):
         0 in free list (0 min, 192 max allowed)
         192 hits, 0 fallbacks
         192 max cache size, 128 in cache
         18501051 hits in cache, 16 misses in cache
    MyRouter#
    Any ideas on what I might need to do?
    Thanks
    Tom

    Hello,
    most likely, the erros are caused by your link being saturated.
    I found a previous post which explains the error as following:
    'The frames are being switched in hardware, since there are no output queue drops. But the hardware is attempting to put frames on the wire when it's pretty close to being saturated. Although your 1 minute average is only around 1,5 mbit, it only takes a couple millisecond long burst to fill up the hardware interface buffers and cause this error. It's probably time to add another link (forming an etherchannel) or jump to a gig interface. I don't think you can tune these hardware buffers at all to buy any additional time.'
    Conclusion: your link is getting overloaded...
    Regards,
    GP

  • Rman input/output buffer

    Hi,
    We taking rman backup in 10.2 and 11.2.Db size is 3Tb and every day 3 tb redo generated.
    While taking backup in tape(9 to 12 hours) is slower than disk(took 3 to 4 hours).
    I read the below doument
    http://docs.oracle.com/cd/B28359_01/backup.111/b28270/rcmtunin.htm.
    It says that input buffer and output buffer for rman.
    Is it possible to change default input buffer / output buffer size for rman?
    Br,

    Hello;
    There's a White Paper which I believe is worth a look :
    http://www.oracle.com/technetwork/database/focus-areas/availability/rman-perf-tuning-bp-452204.pdf
    Best Regards
    mseberg

  • How do I make a VI that contols a 6534 card take less time to load 1Mbyte and output data ?

    Hello-
    I'm developing a pattern generation burst mode type VI that reads byte characters from a text file, manipulates the bytes that it reads and then outputs the data from a 6534 card. The REQ1 pin is pulled high which makes the card continually output data until the internal buffer is empty. An internal clock is used. The problem is that the size of the file that is read by the VI can be relatively large, in the 1MByte range. After the VI manipulation, the output array is 16 times larger than the input string. So, when the VI reads a 1MByte text file, the output array contains 16 million entries (each array entry is 3 bits by the way). It takes about 20 seco
    nds to run and output data from the 6534 even when reading files that are 200kbyte or so. I'm outputting the data at 5Mbps. I'm not sure where all the delay is coming from. Using the 'Profile VI" function under the 'Tools' menu shows a snapshot of time that really doesn't help me since it only shows that the time is spent in my VI. Is this just the result of loading large files ? Or, is there a way to preload the 1MByte file into the 32MB of RAM on the 6534 card before the VI is actually run. What I mean is that I do have the option in my system to have a time when all text files will somehow be loaded into the 6534 memory, during some initialization period, and then the VI would be run with the text file already loaded. This of course assumes that the delay is loading the file from the harddrive, but since the harddrive transfer speed is fast, I have no idea where to speed things up. Any ideas ? Thanks !

    Your question actually belongs to the Measurement Devices >> Digital IO section since it concerns operating the 653x family of digital boards. You will see other related questions and answers there. In the future, please direct your digital questions to that forum.
    If you are trying to profile your VI, you can break it into different pieces. For instance, you can make a subVI out of the file data manipulation.
    Now, are you doing pattern generation or burst mode handshaking output? From your description of the signal connections, it looks like burst mode. You can double-check in the 653x User Manual at the http://www.ni.com/manuals pages. Still, it looks like you could accomplish your task with pattern generation. There are example VIs for both operations that
    I suggest you start with. They are located in the LabVIEW >> Examples >> Daq >> Digital >> 653x.llb directory.
    It also sounds like you are doing a single buffered operation, where you have a set amount of data that you want to output, and once done, the VI will stop. You are preloading the data to the buffer at DIO Write.vi before the 6534 actually outputs the data with DIO Start.vi when you program like the examples.
    Thus, start with the appropriate example and then add the File I/O to it. You can even test with a smaller file to see the effects. You will also find useful information concerning the 6534 in the KnowledgeBase, particularly KnowledgeBase 298CGF9M "How Many Samples of Data Can I Store in the Onboard Memory of the NI 6534?". You can find this online by going to the http://www.ni.com/support and choosing KnowledgeBase from the Technical Resources pull-down menu. Then, type in keywords to search for, such as "6534".
    Regards,
    Geneva L.
    Applications Engineering
    Nati
    onal Instruments
    http://www.ni.com/ask

  • How can I input read a line from a file and output it into the screen?

    How can I input read a line from a file and output it into the screen?
    If I have a file contains html code and I only want the URL, for example, www24.brinkster.com how can I read that into the buffer and write the output into the screen that using Java?
    Any help will be appreciate!
    ======START FILE default.html ========
    <html>
    <body>
    <br><br>
    <center>
    <font size=4 face=arial color=#336699>
    <b>Welcome to a DerekTran's Website!</b><br>
    Underconstructions.... <br>
    </font> </center>
    <font size=3 face=arial color=black> <br>
    Hello,<br>
    <br>
    I've been using the PWS to run the website on NT workstation 4.0. It was working
    fine. <br>
    The URL should be as below: <br>
    http://127.0.0.1/index.htm or http://localhost/index.htm
    <p>And suddently, it stops working, it can't find the connection. I tried to figure
    out what's going on, but still <font color="#FF0000">NO CLUES</font>. Does anyone
    know what's going on? Please see the link for more.... I believe that I setup
    everything correctly and the bugs still flying in the server.... <br>
    Thank you for your help.</P>
    </font>
    <p><font size=3 face=arial color=black>PeerWebServer.doc
    <br>
    <p><font size=3 face=arial color=black>CannotFindServer.doc
    <br>
    <p><font size=3 face=arial color=black>HOSTS file is not found
    <br>
    <p><font size=3 face=arial color=black>LMHOSTS file
    <br>
    <p><font size=3 face=arial color=black>How to Setup PWS on NT
    <BR>
    <p><font size=3 face=arial color=black>Issdmin doc</BR>
    Please be patient while the document is download....</font>
    <font size=3 face=arial color=black><br>If you have any ideas please drop me a
    few words at [email protected] </font><br>
    <br>
    <br>
    </p>
    <p><!--#include file="Hits.asp"--> </p>
    </body>
    </html>
    ========= END OF FILE ===============

    Hi!
    This is a possible solution to your problem.
    import java.io.*;
    class AddressExtractor {
         public static void main(String args[]) throws IOException{
              //retrieve the commandline parameters
              String fileName = "default.html";
              if (args.length != 0)      fileName =args[0];
               else {
                   System.out.println("Usage : java AddressExtractor <htmlfile>");
                   System.exit(0);
              BufferedReader in = new BufferedReader(new FileReader(new File(fileName)));
              StreamTokenizer st = new StreamTokenizer(in);
              st.lowerCaseMode(true);
              st.wordChars('/','/'); //include '/' chars as part of token
              st.wordChars(':',':'); //include ':' chars as part of token
              st.quoteChar('\"'); //set the " quote char
              int i;
              while (st.ttype != StreamTokenizer.TT_EOF) {
                   i = st.nextToken();
                   if (st.ttype == StreamTokenizer.TT_WORD) {          
                        if (st.sval.equals("href")) {               
                             i = st.nextToken(); //the next token (assumed) is the  '=' sign
                             i = st.nextToken(); //then after it is the href value.               
                             getURL(st.sval); //retrieve address
              in.close();
         static void getURL(String s) {     
              //Check string if it has http:// and truncate if it does
              if (s.indexOf("http://") >  -1) {
                   s = s.substring(s.indexOf("http://") + 7, s.length());
              //check if not mailto: do not print otherwise
              if (s.indexOf("mailto:") != -1) return;
              //printout anything after http:// and the next '/'
              //if no '/' then print all
                   if (s.indexOf('/') > -1) {
                        System.out.println(s.substring(0, s.indexOf('/')));
                   } else System.out.println(s);
    }Hope this helps. I used static methods instead of encapsulating everyting into a class.

  • Sound Input and Output Disappeared

    I am considering a purchase of a used Macbook Pro (4,1) from early 2008 with Snow Leopard 10.6.8 installed. When I first tried the machine, the sound input and output were absent. After removing preference files, resetting NVRAM, etc., I finally got them to work. They worked for a few weeks, but recently they disappeared again. This time, my efforts to ressurrect them have been fruitless.
    Here is what I have done in an attempt to remedy the situation:
    •Delete com.apple.audio.DeviceSettings.plist and com.apple.audio.SystemSettings.plist
    •Jiggle a digital headphone jack in the headphone port
    •Verifiy Disk and Repair Permissions
    •Reset NVRAM
    •Reset SMC
    I have read online that some people have replaced the AppleHDA.kext file with the one from 10.6.7 - however, every effort I have made to find this file has resulted in failure. I am not able to locate MacOSXupdCombo 10.6.7.pkg anywhere on the web
    Any recommendations? I was able to fix this once before - why not now? Thanks for any and all constructive input...

    Did you recieve the install disk(s) when you purchase the machine? I would try doing a back up of your data then a fresh install of the OS. Insert the disk into the mac then click restart and hold the c key, ten follow the prompts.
    If you wish to take this route, I would try the 10.6.8 combo update first (it should be fine to run it again), then if you wish you may try the 10.6.7 update. Altough I would just do a OS X reinstall and then run software update till you bring it up to date. On disk 2 there should be the AHT (Apple Hardware Test) that you can run by booting the disk holding the D key to check for a hardware fault.
    You may also make a Genius bar appointment for a free evaluation, they have more extensive diagnosis tools and would then tell you what your otions would be. (hey it's free)
    Genius Bar appointment http://support.apple.com/kb/DL1361
    10.6.8 Combo update
    http://support.apple.com/kb/DL1399
    10.6.7 Combo Update:
    http://support.apple.com/kb/DL1361
    All the Best

  • Java Input and Output streams

    I have maybe simple question, but I can`t really understand how to figure out this problem.
    I have 2 applications(one on mobile phone J2ME, one on computer J2SE). They commuinicate with Input and Output Streams. Everything is ok, but all communication is in sequence, for example,
    from mobile phone:
    out.writeUTF("GETIMAGE")
    getImage();
    form computer:
    reply = in.readUTF();
    if(reply.equals("GETIMAGE")) sendimage()
    But I need to include one simple thing in my applications - when phone rings there is function in MIDlet - pauseApp() and i need to send some signal to Computer when it happens. But how can i catch this signal in J2SE, because mayble phone rings when computer is sending byte array? and then suddnely it receives command "RINGING"....?
    Please explain how to correcly solve such problem?
    Thanks,
    Ervins

    Eh?
    TCP/IP is not a multiplexed protocol. And why would you need threads or polling to decipher a record-oriented input stream?
    Just send your images in packets with a type byte (1=command, 2=image, &c) and a packet length word. At the receiver:
    int type = dataInputStream.read();
    int length = dataInputStream.readInt();
    byte[] buffer = new byte[length];
    int count, read = 0;
    while ((count = dataInputStream.read(buffer,count,buffer.length)) > 0)
    read += count;
    // At this point we either have:
    // type == -1 || count = -1 => EOF
    // or count > 0, type >= 0, and buffer contains the entire packet.
    switch (type)
    case -1:
    // EOF, not shown
    break;
    case COMMAND: // assuming a manifest constant somewhere
    // process incoming command
    break;
    case IMAGE:
    // process or continue to process incoming image
    break;
    }No threads, no polling, and nuthin' up my sleeve.
    Modulo bugs.

  • Analog Input and Output in One Single VI

    I need help in setting both analog input and output in one single VI. How do I assign channels to be either input or output? How do I simultaneously uses both in one single VI with a while loop structure?? Which AO am I suppose to use to obtain signal from the function generator I have built to feed into the DAQCard-1200?? Help!!
    Attachments:
    Test1.vi ‏48 KB

    One thing you'll need to be aware of is that you will need to DMA lines: one for AI and one for AO. If you don't, then you can configure the DAQCard to do without DMA using the Config VI. But you certainly can do this.
    As far as your function generator, you will want to do a buffered analog output. You will write your buffer of points to the buffer, and then tell NI-DAQ how fast to update your analog output channel with these values.
    So, you can be reading from AI and checking the AO process in the same while loop. Just make sure you handle the while loop execution (the wait it exits) correctly. This can get tricky when you're doing two types of measurements.
    J.R. Allen

  • Synchronize input and output tasks to start at the same sample point [C++ NI_DAQmx Base]

    I'm trying to initiate the analog input and output streams to start reliably at the same sample. I've tried triggering the output from the start of the input using the following code [NI-DAQmx Base 2.1 under Mac OS X with an M-Series multifunction board]. It compiles and runs, but gives an error message at the call to "DAQmxBaseCfgDigEdgeStartTrig". Any suggestions about synchronized I/O on this platform?
    #include "NIDAQmxBase.h"
    #include
    #include
    #include
    #define DAQmxErrorCheck( functionCall ) { if ( DAQmxFailed( error=( functionCall ) ) ) { goto Error; } }
    int main( int argc, char *argv[] )
    // Task parameters
    int32 error = 0;
    TaskHandle inputTaskHandle = 0;
    TaskHandle outputTaskHandle = 0;
    char errorString[ 2048 ] = {'\0'};
    int32 i;
    time_t startTime;
    // input channel parameters
    char inputChannelList[] = "Dev1/ai0, Dev1/ai1";
    float64 inputVoltageRangeMinimum = -10.0;
    float64 inputVoltageRangeMaximum = 10.0;
    // output channel parameters
    char outputChannelList[] = "Dev1/ao0, Dev1/ao1";
    char outputTrigger[] = "Dev1/ai/StartTrigger";
    float64 outputVoltageRangeMinimum = -10.0;
    float64 outputVoltageRangeMaximum = 10.0;
    // Timing parameters
    char clockSource[] = "OnboardClock";
    uInt64 samplesPerChannel = 100000;
    float64 sampleRate = 10000.0;
    // Input data parameters
    static const uInt32 inputBufferSize = 100;
    int16 inputData[ inputBufferSize * 2 ];
    int32 pointsToRead = inputBufferSize;
    int32 pointsRead;
    float64 timeout = 10.0;
    int32 totalRead = 0;
    // Output data parameters
    static const uInt32 outputBufferSize = 1000;
    float64 outputData[ outputBufferSize * 2 ];
    int32 pointsToWrite = outputBufferSize;
    int32 pointsWritten;
    for( int i = 0; i < outputBufferSize; i++ )
    outputData[ 2 * i ] = 9.95 * sin( 2.0 * 3.14159 * i / outputBufferSize );
    outputData[ 2 * i + 1 ] = -9.95 * sin( 2.0 * 3.14159 * i / outputBufferSize );
    // ------------------- configure input task -----------------------
    DAQmxErrorCheck ( DAQmxBaseCreateTask( "", &inputTaskHandle ) );
    printf( "Created input task\n" );
    DAQmxErrorCheck ( DAQmxBaseCreateAIVoltageChan( inputTaskHandle, inputChannelList, "", DAQmx_Val_RSE, inputVoltageRangeMinimum, inputVoltageRangeMaximum, DAQmx_Val_Volts, NULL ) );
    printf( "Created AI Voltage Chan\n" );
    DAQmxErrorCheck ( DAQmxBaseCfgSampClkTiming( inputTaskHandle, clockSource, sampleRate, DAQmx_Val_Rising, DAQmx_Val_ContSamps, samplesPerChannel ) );
    printf( "Set sample rate\n" );
    // ------------------- configure output task -----------------------
    DAQmxErrorCheck ( DAQmxBaseCreateTask( "", &outputTaskHandle ) );
    printf( "Created output task\n" );
    DAQmxErrorCheck ( DAQmxBaseCreateAOVoltageChan( outputTaskHandle, outputChannelList, "", outputVoltageRangeMinimum, outputVoltageRangeMaximum, DAQmx_Val_Volts, NULL ) );
    printf( "Created AO Voltage Chan OK\n" );
    DAQmxErrorCheck ( DAQmxBaseCfgSampClkTiming( outputTaskHandle, clockSource, sampleRate, DAQmx_Val_Rising, DAQmx_Val_ContSamps, samplesPerChannel ) );
    printf( "Set sample rate\n" );
    // trigger output when input starts
    DAQmxErrorCheck ( DAQmxBaseCfgDigEdgeStartTrig( outputTaskHandle, outputTrigger, DAQmx_Val_Rising ) );
    printf( "Set output trigger\n" );
    // ------------------- configuration -----------------------
    // write output signal
    DAQmxErrorCheck ( DAQmxBaseWriteAnalogF64( outputTaskHandle, pointsToWrite, 0, timeout, DAQmx_Val_GroupByScanNumber, outputData, &pointsWritten, NULL ) );
    printf( "Write output signal\n" );
    // set up input buffer
    DAQmxErrorCheck ( DAQmxBaseCfgInputBuffer( inputTaskHandle, 200000 ) ); // use a 100,000 sample DMA buffer
    // initiate acquisition - must start output task first
    DAQmxErrorCheck ( DAQmxBaseStartTask( outputTaskHandle ) );
    DAQmxErrorCheck ( DAQmxBaseStartTask( inputTaskHandle ) );
    // The loop will quit after 10 seconds
    Dr John Clements
    Lead Programmer
    AxoGraph Scientific

    Hi Michael,
    First of all, thanks very much for taking the time to investigate this problem! Much appreciated.
    You asked for "an actual error code you got and any description that is given". The full output from the program that I posted earlier in this thread is appended to the end of this message. In summary, following the call to...
    DAQmxErrorCheck ( DAQmxBaseCfgDigEdgeStartTrig( outputTaskHandle, outputTrigger, DAQmx_Val_Rising ) );
    ... with ...
    char outputTrigger[] = "Dev1/ai/StartTrigger";
    ...the error message is ...
    DAQmxBase Error: Specified route cannot be satisfied, because the hardware does not support it.
    You asked "specifically which M series device you are using"? It is the PCIe 6251 (with BNC 2111 connector block). I'm testing and developing on an Intel Mac Pro (dual boot OS X and Windows XP).
    You asked for "the location you pulled the code from". Here it is...
    http://zone.ni.com/devzone/cda/epd/p/id/879
    ...specifically from the file "Multi-Function-Synch AI-AO_Fn.c".
    I adapted the NI-DAQmx calls to their NI-DAQmx Base equivalents.
    Finally, you asked "Is the trigger necessary, or do you just need to know that the measurements are running on the same clock?". I believe that some kind of sychronized trigger is necessary in my situation (correct me if I'm wrong). Timing is crucial. Say I initiate an analog output stream that delivers a voltage command step 5 ms from the onset. I need to record the response (analog input stream) so that its onset is accurately aligned (synchronized) at 5 ms. A typical recording situation would stimulate and record a short data 'sweep', then wait for the (biological) system to recover, then stimulate and record another short sweep, and repeat. I need all the recorded sweeps to align accurately so that they can be averaged and analyzed conveniently.
    I definitely do not want my customers to rely on an expensive external TTL pulse generator to initiate and synchronize each 'sweep'. That would effectively eliminate the cost advantage of an NI board, as well as adding unnecessary complexity in setup and use. It would be a show-stopper for me.
    It seems perverse, but would it be possible to use a digital output channel connected directly to a digital input chanel to trigger the input and output streams?
    Regards,
    John.
    Full output from test program. Compiled with gcc 4 under OS X...
    [Session started at 2007-05-23 14:17:01 +1000.]
    LoadRuntime: MainBundle
    CFBundle 0x303cc0 (executable, loaded)
    _CompatibleWithLabVIEWVersion: linkedAgainst: 08208002
    _CompatibleWithLabVIEWVersion: result= false, mgErr= 1, theActualVersion= 00000000
    _CompatibleWithLabVIEWVersion: linkedAgainst: deadbeef
    _CompatibleWithLabVIEWVersion: Reseting Linked Against
    _CompatibleWithLabVIEWVersion: linkedAgainst: 08208002
    _CompatibleWithLabVIEWVersion: result= true, mgErr= 0, theActualVersion= 00000000
    _CompatibleWithLabVIEWVersion: linkedAgainst: 08208002
    _CompatibleWithLabVIEWVersion: result= true, mgErr= 0, theActualVersion= 00000000
    com.ni.LabVIEW.dll.nidaqmxbaselv
    CFBundle 0x313760 (framework, loaded)
    {type = 15, string = file://localhost/Library/Frameworks/nidaqmxbaselv.framework/, base = (null)}
    Amethyst:Library:Frameworks:nidaqmxbaselv.framework
    2007-05-23 14:17:02.248 test-ni[4445] CFLog (21): Error loading /Library/Frameworks/LabVIEW 8.2 Runtime.framework/resource/nitaglv.framework/nitaglv: error code 4, error number 0 (no suitable image found. Did find:
    /Library/Frameworks/LabVIEW 8.2 Runtime.framework/resource/nitaglv.framework/nitaglv: mach-o, but wrong architecture)
    CFBundle 0x1751fdc0 (framework, not loaded)
    Created input task
    Created AI Voltage Chan
    Set sample rate
    Created output task
    Created AO Voltage Chan OK
    Set sample rate
    DAQmxBase Error: Specified route cannot be satisfied, because the hardware does not support it.
    test-ni has exited with status 0.
    Dr John Clements
    Lead Programmer
    AxoGraph Scientific

  • 6534 in Pattern Generation Input and Output

    Hello All
    I have a PCI 6534 High Speed Digital I/O card that I am trying to use to generate a pattern output from port A and acquire some data from port C. I have connected Port C, bit 0 to high and all the others low and I have also connected the two REQ pins together. This is to allow for the REQ pin from the pattern generation output to drive the input as an external clock. I have set the timebase as 1uS and the request interval as 10, to give a REQ pulse every 10uS. The idea being that the pattern generation output will generate a REQ pulse every 10uS and this would cause an input read to occur. My code can be found in the attached word file.
    Now initially I placed the DIG_Block_In command before the DIG_Block_Out and set the two counts to 100. For a single run of the application this filled my input buffer array with 50 elements of 257.... which I think is what I would expect as for a count of 100 it takes 2 to fill both the upper and lower 8 bits of the input array. OK....
    Now if I change the In Count to 200 and leave the Out Count at 100 I only fill 48 elements. I have no idea why this would happen. In my finall application I hope to increase the count to nearer 2000 and this loss of elements becomes significant.
    If I swap the DIG_Block_Out command to go before the DIG_Block_In then with both counts set to 100 I get no data acquired at all. If I increase both counts to say 2000, I actually acquire 944 elements, 56 less than I would expect? Why is this....?? Is it because the DIG_Block_Out command has already started the process before the DIG_Block_In command is initiated?
    Does anybody know what is going on here? I have had the same problem with a PCMCIA 6533 card (worse) and thought it would be solved with the PCI 6534. Does anybody know how I can ensure the correct numbers of data are acquired every time I run this operation? I need to be sure that all the desired data is being acquired as my final application is very dependent on this.
    Any help would be gratefully appreciated.
    Jamie
    Attachments:
    6534_Timing_Issues.doc ‏27 KB

    Hi Jamie,
    Whenever you are communicating from one group to the other on the 653x boards, you should have the input clocked on an external signal and you should have the output start AFTER the input process has started.
    As for why your input buffer is half your output buffer, it could be that the intermediate PC memory buffer is in terms of bytes and your application buffer was casting this data to a 2 byte word.
    I linked on one of your other posts 2 example programs. Adapting those might suit your needs best. Have a good day.
    http://exchange.ni.com/servlet/ProcessRequest?RHIVEID=101&RPAGEID=135&HFORCEKWTID=75069:5&HOID=5065000000080000008BA10000&HExpertOnly=&UCATEGORY_0=_31_%24_12_&UCATEGORY_S=0
    Ron

  • Producer consumer with analog and digital inputs and outputs

    Hi everyone,
    I am working on a control system program for some practical test work. Currently I am working on the data acuisition component of the Labview program. My architecture is produced-consumer loops with a que. My system will have analog inputs, analog outputs, digital inputs and digital outputs. It's not a time critical sytem, but I would like all of the data acquisition to be synchronised. I have attached my program as it is at the moment. I am having trouble getting all of the data into the que since I have two data types. Also, I'm not sure if i've synchronised the four read/write sequences correctly. I would greatly appreciate if somebody could take a look at my program and give me some advice. Thanks in advance.
    Solved!
    Go to Solution.
    Attachments:
    control_v2_DAQ loop.vi ‏46 KB

    Robert, the specific error that I get is:
    Error -200462 occurred at DAQmx Start Task.vi:6
    Possible reason(s):
    Generation cannot be started because the output buffer is empty. 
    Write data before starting a buffered generation. The following actions can empty the buffer: changing the size of the buffer, unreserving a task, setting the Regeneration Mode property, changing the Sample Mode, or configuring retriggering.
    Task Name: Heater testing lab digital outputs
    This error occurs at the 'DAQmx write.vi' function. I just want to sent one sample per second, for each channel. I would like the producer and consumer loops to each run once every second.
    I have attached part of my code with just the data acquisition and writing. Any help would be greatly appreciated.
    Attachments:
    control_v2_ML_simple.vi ‏83 KB

  • Pixellated display and output

    Hi there,
    As of yesterday, images are opening at 50% the size they appear in preview for example and on the web. Unlike some other threads I've seen on this, they are also outputting with pixelatted low quality text...
    If you look really closely at the logo in the following site, the text is not smooth and crisp as the live text in the navigation - it is slightly pixellated and the quality is definitely compromised esp when viewed on the mac screen as opposed to the monitor. Anti-aliasing is on btw... Virgo Fidelis
    Another strange thing: when I move the file between my macbook pro to my samsung monitor in a 2 monitor set-up, the zoom auto changes to 50% on the samsung...
    What is going on?
    Your help much appreciated.

    Steven,
    1. If you attempt to write data to the analog output buffer before there is sufficient space available in the buffer, AO Write.vi will wait until space is available. At that time, it will write the data to the buffer.
    2. Synchronizing the file reading and the analog output does not occur in a strict sense. New data is read from file and written to the analog output buffer as the previous data is output.
    3. To obtain information concerning a DAQ device, you should use Get DAQ Device Information.vi. It is available in the following location:
    Functions >> NI Measurements >> Data Acquisition >> Calibration and Configuration
    Good luck with your application.
    Spencer S.

  • I/O Error ioe: Output buffer too small

    I am currently running an FTP process from within the database using a Java stored procedure attempting to send about 199 rows. I am receiving the error message i/o error ioe: Output buffer too small.
    If I reduce the number of rows to below 83, I can successfully complete, however, any number over 83, and the technical problem occurs.
    Is there an Oracle Parameter in the init.ora file that I can modify to increase the amount of data sent... (BTW.. 82 Rows is approximately 8K of data)
    Thanks,
    wn

    I am currently running an FTP process from within the database using a Java stored procedure attempting to send about 199 rows. I am receiving the error message i/o error ioe: Output buffer too small.
    If I reduce the number of rows to below 83, I can successfully complete, however, any number over 83, and the technical problem occurs.
    Is there an Oracle Parameter in the init.ora file that I can modify to increase the amount of data sent... (BTW.. 82 Rows is approximately 8K of data)
    Thanks,
    wn

  • Underruns and Overruns Issue in CESoPSN PWE3

    I am doing a testing with CESoPSN PWE3 where in my local E1 is getting heavy underruns and overruns counters. But someone suggested me to increase the jitter buffer size. I don't know why he has suggested this and whats the root cause of jitter buffer in underruns and overruns. If anyone is having any type of clarity or document, please share.
    regards
    Shivlu Jain
    http://www.mplsvpn.info

    Hi Shiv,
    Attenuate Packet Delay Variation (PDV) : Packet networks create latency and more important PDV, also known as jitter. The TDM service cannot function with the jitter inherent in packet networks and so the pseudowire emulation must be able to smooth out the jitter of the packet network. This is done by using a jitter buffer, which stores packets on the receive side and transmits them smoothly to the
    TDM link.
    Please refer the attach document
    Regards
    Chetan Kumar

Maybe you are looking for

  • Add .txt files into .zip file

    Hello friends, Any buddy knows how to add ".txt" files into ".zip" format through the ABAP code.  Thanks in advance.

  • Can't import still images into a project or create a podcast track

    I'd be grateful if anyone can explain why I can't import still images onto a track like you can easily do in garage band - in garage band you simply create a podcast track, then drag your photos onto it. However in logic, when I open the media browse

  • BCS - Message from External System : 'Login failed for user 'NT AUTHORITY\IUSR'.'.

    Hello,  I have create a an external content type .  I Choose "Connect with user's Identity".  I create a external list that uses the ExternalContentType.  When I try open the external list from browser by User "TestUser" . I get the following error "

  • Leading zero on 24 hour clock

    Is it possible to have the 24-hour clock display a leading zero? Such as 09:00 instead of 9:00.

  • Purchase Default Settings

    Dear All               In the Create Purchase Order Screen, when i enter the Material, then by default i should get the: >Purchase Org., >Pur. Group, >Company Code And the >Vendor                 for the material entered. How to achieve this!!! Regar