USB-6001 and linux

Hi all

I have a NI USB-6001 DAQ device that I'm doing work on linux. My distro is opensuse 13.1, and I am using nor-daqmx base 14 to talk to the device. After much bother that I have finally made was get the drivers installed, however I am not having any chance to communicate with the device. The output of dmesg shows that the device is connected and recognized, however the output of lsdaq does not list the device at all as you can see below.
For the device user's guide suggests that it is supported by NEITHER-DAQmx 9.9 and later it is true that the doc is written from the point of view centered on mswindows, so I
hope that this applies also for linux.

If someone managed to get this device working under linux? If not, can anyone think why it is not detected?

Thanks for any help

> dmesg
...
[1,605963] usb 3-14: new USB full speed number 4 from the device using xhci_hcd
[1,617849] usb 3-14: new USB drive found, idVendor = 3923, idProduct = 76bf
[1,617851] usb 3-14: new USB device strings: Mfr = 1, product = 2, SerialNumber = 3
[1,617852] usb 3-14: product: USB-6001
[1,617853] usb 3-14: manufacturer: National Instruments
...

> lsdaq
--------------------------------
Detect of National Instruments DAQ devices
Find the following materials:
--------------------------------

> uname - r
3.11.10 - 25-Desktop

> lsmod | grep ^ or
663726 1 nimxdfk
322143 1 nipxirmk
441753 2 nipxirmk nidimk
3 524901 nimxdfk nimdbgk, nipxirmk
4 141747 nimxdfk niorbk, nipxirmk, nidimk, nimdbgk
nipalk 1193476 8 NiViPciK, nimxdfk, nipxirmk, nidimk, nimdbgk, niorbk
Nation 113161 6 nimxdfk, nipxirmk, nidimk, nimdbgk, niorbk, nipalk

It is not listed in the Readme as being supported.

Tags: NI Hardware

Similar Questions

  • USB-6001 and LabVIEW 6.1

    I'm working on a project with LabVIEW 6.1.

    They just bought a NI USB-6001.

    I installed the driver NOR-DAQmx 9.9 and the device comes in OR-MAX and I am able to use the Test panels to read and put pins.

    In LabVIEW 6.1, the device does not appear.

    What should I do to be able to program this device with LabVIEW 6.1?

    You need tasks in order to use the DAQmx Read and Write DAQmx.  You can create tasks in MAX or do it programmatically with the available in the palette DAQmx screws.

  • NEITHER USB-6008 and Linux Comedi compatibility

    Hello!

    Could you tell if NI USB-6008 compatible with:

    -Driver Linux Comedi

    - NI DaqMx Base

    If it is compatible, please give me the link for documentation on installing and programming.

    Thanks in advance,

    Vadim.

    Hi Vadim,

    What version of DAQmx Base you trying to install?  I recommend you to install NI-VISA first, version 4.5, here.  Please let me know if this does not work!

  • take the digital output USB-6001 always high or low in c

    Hi all

    I am new to the NI DAQ interface. I have a USB-6001 and I am trying to use this device to control some flowchart in C. What I want to do is:

    * set digital output lines with high and low intensity and change their status as needed (in C).

    I tested the device NEITHER Max--> Test panels and found that the device is capable to do that. Then I try to do in C. I have checked hace examples and function I use is one called "DAQmxWriteDigitalU32". I have problem in the understanding of its input parameters. I tried something with my own knowledge, but it does not work as I expected. Here is a test I did:

    data uInt32 = 1;

    Int32 wrote;

    TaskHandle taskHandle = 0;

    DAQmxErrChk (DAQmxCreateTask("",&taskHandle));
    DAQmxErrChk (DAQmxCreateDOChan (taskHandle, "Dev1/port0/line7", "", DAQmx_Val_ChanForAllLines));
    DAQmxErrChk (DAQmxStartTask (taskHandle));
    DAQmxErrChk (DAQmxWriteDigitalU32(taskHandle,1,1,10.0,DAQmx_Val_GroupByChannel,&data,&written,));

    taskHandle = 0;
    DAQmxErrChk (DAQmxCreateTask("",&taskHandle));
    DAQmxErrChk (DAQmxCreateDOChan (taskHandle, "Dev1/port0/$line0", "", DAQmx_Val_ChanForAllLines));
    DAQmxErrChk (DAQmxStartTask (taskHandle));
    DAQmxErrChk (DAQmxWriteDigitalU32(taskHandle,1,1,10.0,DAQmx_Val_GroupByChannel,&data,&written,));

    I just want to set ' Dev1/port0/line7' and ' Dev1/port0/$line0"at a high level, but only ' Dev1/port0/$line0' answer me. The second parameter of the DAQmxWriteDigitalU32 function is numSampsPerChan. If I replace (currently 1) with a higher value, such as 100, I see that "Dev1/port0/line7" sends a number of 1 output, then back to 0. So I guess that the problem is just that I understand not all parameters for the DAQmxWriteDigitalU32 function. Is someone can you please tell me how I can set up a line of digital output 1 or 0?

    Thank you!

    Hongkun

    Hello

    I finally find a way to do it! The feature works very well, and my problem was not set the data value to write correctly. It seems that if I want to write a 1 to the port0/line1, I put "data = 2 ^ 1" rather than "data = 1", because by default it is the second bit of the port.» Similarly, "data = 2 ^ 7 ' high level to port0/line7. I find that this setting is surprising when you want to control an individual line. It seems more reasonable when you control the whole port. In any case, is to solve the problem!

    Thanks anyway!

    Hongkun

  • ContGenVoltageWfm_ExtClk-USB-6001

    Hi all

    I just got USB-6001 and tried to go although the demo examples. The question is about the "ContGenVoltageWfm_ExtClk". To after my understanding, there should be no signal AO while no pulse train provided the sample clock source defined (/ PFI0). However, AO signal is always generated as if it is running an internal integrated clock. I use Examples\DotNET4.5.1. Support for USB-6001 external clock example? Any help will be appreciated. Thank you.

    Hello

    The Specification 6001 OR don't mention external trigger. To compare with another product, here's the Specifications NI USB-6211. On page 9, there is an external digital triggersection. for the analog output function, PFI can be used as Trigger Start, relaxing break, sample clock or time Base clock sample.

    This let me think that the external clock for analog output is not supported by NI 6001. Check if for example there are a list of supported hardware.

    Best regards

  • More and more common digital output on USB-6001 with ULN2003A

    I am ordering an engine step by step and the current required on the digital inputs of the stepper driver is close to 11mA (at 5V).  My USB-6001 is not capable of producing this high current.  I've seen people using the ULN2003A to control relay and it looks like it should work for my application.  It will work and then I use the 5V output to go to the ULN2003A because it can produce for a 150mA.  To associate the ULN2003A I use the 5V output and put the positive on the COM?

    As you drew it should be fine. Do not connect data acquisition + 5 V because the controller inputs are opto-isolated. That circuit is also compatible with the 11 current requirement my mentioned in your first post.

    USB-6001 digital lines are software timed so your maximum stage rates will be very high.

    Lynn

  • Clock and hw external trigger with USB-6210 on Linux with NOR-DAQmx Base?

    I have two devices USB-6210 I need to synchronize so that they both collect data exactly at the same time. I was told by support OR I can send the clock off Dev1/PFI4 and have the two USB-6210 s read the clock in through their own PFI0. I also want to trigger data collected for each device by sending a trigger off Dev1/PFI6 and have two devices to receive the signal on PFI2.

    All my attempts to try this are filled with error messages and my research online seem to say that's not possible with USB devices on NOR-DAQmx Base 3.4.0f2 on Linux.

    I "ve tried using example AI programs and those who do not seem to work either for external clocks. Here is the code I tried:

    #include "NIDAQmxBase.h"#include 
    
    #define DAQmxErrChk(functionCall) { if( DAQmxFailed(error=(functionCall)) ) { goto Error; } }
    
    int main(void){    // Task parameters    int32       error = 0;    TaskHandle  taskHandle = 0;    char        errBuff[2048]={'\0'};    int32       i;
    
        // Channel parameters    char        chan[] = "Dev1/ai0";    float64     min = -10.0;    float64     max = 10.0;
    
        // Timing parameters    char        clockSource[] = "/Dev1/PFI7";    uInt64      samplesPerChan = 1000;    float64     sampleRate = 10000.0;
    
        // Data read parameters    #define     bufferSize (uInt32)1000    float64     data[bufferSize];    int32       pointsToRead = bufferSize;    int32       pointsRead;    float64     timeout = 10.0;
    
    printf("Calling CreateTask...\n");    DAQmxErrChk (DAQmxBaseCreateTask("",&taskHandle));printf("Calling CreateAIVoltageChan...\n");    DAQmxErrChk (DAQmxBaseCreateAIVoltageChan(taskHandle,chan,"",DAQmx_Val_Cfg_Default,min,max,DAQmx_Val_Volts,NULL));printf("Calling CfgSampleClkTiming...\n");    DAQmxErrChk (DAQmxBaseCfgSampClkTiming(taskHandle,clockSource,sampleRate,DAQmx_Val_Rising,DAQmx_Val_FiniteSamps,samplesPerChan));printf("Calling StartTask...\n");    DAQmxErrChk (DAQmxBaseStartTask(taskHandle));printf("Calling ReadAnalogF64\n");    DAQmxErrChk (DAQmxBaseReadAnalogF64(taskHandle,pointsToRead,timeout,DAQmx_Val_GroupByChannel,data,bufferSize,&pointsRead,NULL));
    
        printf ("Acquired %d samples\n", pointsRead);
    
        // Just print out the first 10 points    for (i = 0; i < 10; ++i)        printf ("data[%d] = %f\n", i, data[i]);
    
    Error:    if( DAQmxFailed(error) )        DAQmxBaseGetExtendedErrorInfo(errBuff,2048);    if(taskHandle != 0) {        DAQmxBaseStopTask (taskHandle);        DAQmxBaseClearTask (taskHandle);    }    if( DAQmxFailed(error) )       printf ("DAQmxBase Error %d: %s\n", error, errBuff);    return 0;}
    

    When I run the resulting program, I see this:

    $. / acquireNScans-ExtClk
    The CreateTask call...
    Call for CreateAIVoltageChan...
    Call for CfgSampleClkTiming...
    Error-89136 DAQmxBase: route specified cannot be satisfied, because the hardware does not support it.

    For example, a clock and a trigger can be imported via one of the PFI lines by using a USB-6210 on Linux with NOR-DAQmx Base? A clock and a trigger exportable via one of the PFI lines?

    If so, does anyone have the code example illustrating how to do this, or can you at least tell me the names of the lines ("PFI0/Dev1" or other) so I can try again?

    Clues or suggestions would be helpful.

    Thank you

    -Tom

    The clockSource in the example specifies an output rather than an input channel channel. Change source "/ Dev1 / PFI0" solved the problem.

    Please close this post.

  • Simultaneous to the AO and HAVE with the acquisition of data NOR USB 6001/MATLAB Toolbox

    I am very new to data acquisition and bought a NI USB 6001 to start to learn. Because I can get free MATLAB through my University, I use Matlab data acquisition Toolkit as the data acquisition software.

    My problem is that I get the following error message when I try to generate an AO (an LED voltage) signal and measure a signal I (voltage of a battery of 9V) simultaneously.

    ATTENTION: This change is caused in the dump output data queue.  Use queueOutputData for the queue data before the start of the object.
    Hardware does not support the specified connection. Check the user manual of the device for the valid device routes and pinout.

    However to measure IA or by generating the AO each by themselves works perfectly well.

    My Matlab script looks like this:

    daq.getDevices;

    s = DAQ.createSession ('or');

    s.Rate = 1000;

    s.DurationInSeconds = 10;

    addAnalogInputChannel (s, 'Dev1', 'ai0', 'Voltage');

    addAnalogOutputChannel (s, 'Dev1', 'ao0', 'Voltage');

    aoVoltage = 1.8 + 0.1 * sin (linspace (0, 2 * pi, 10000))';

    queueOutputData (s, aoVoltage);

    s

    startBackground (s);

    Note that adding the channels HAVE and AO at the session also works, however I get the error mentioned at the start of the session. This is a limitation of my data acquisition hardware (I don't see something like that mentioned in the manual) or do I have to modify the script?

    The pins connected for the LED are AO0 (+) and AO GND (-).

    The pins connected to the battery are AI0 (+) and (-) AI4. (The problem is still there if I use the reference to the ground for AI)

    6001 cannot make simultaneous tasks.  Very standard limitation of the low-end hardware... just don't have on board computing resources to handle such things.  Even the 621 x boards have only limited multitasking abilities.

    Can intensify to a high range data acquisition ($$$) or buy a 2nd a low end and synchronize tasks in software (not as precise calendar).  I've done two approaches, one is "best" really depends on demand... If low-cost or high-performance is a priority.

  • The mouse no longer works on Satellite Pro A200-1F9 (on Windows and Linux)

    Hello. Suddenly, my USB mouse doesn't work on my satellite pro A200-1F9 laptop. I had this same problem on my Linux (Ubuntu Feisty) for the last week or two, but today was the first time that the mouse no longer works in Windows. Ideas for what's gone wrong? (If I boot Linux with the attached mouse, I get an error message when loading upward.) The mouse does not work it is logged at startup or I plug it later).

    Under Windows and Linux, the laptop still recognizes my external HD which also has a USB connection...

    Thanks, Shoko.

    In my opinion, you should test the USB feature. If you are 100% sure that the USB ports are working well check your mouse or try to use the other.

    Laptop mouse pad still works?

  • entry digital usb 6001 of nor

    I am trying to simulate a signal digital 72Hz to an external circuit. Attached below is the pattern that I use. I had to initially waveform graph to view the signal, but data types are different, so I ended up using a waveform digital chart vi. Once I run the simulation, nothing in the graph. Help, please. I use a hardware DAQ USB 6001.

    BTW, I tried to create a task in the DAQ Assistant, but succeeds only when the acquisition mode has been set to 1 sample (on request). When you do what I wanted, which was a continuous sampling, an error has occurred.

    Error-200077

    Requested value is not a vaalue supported for this property. The value of the property may be invalid because it is in conflict with another property.

    Property: SampTimingType

    Requested value: sample clock

    Possible values: on request

    Basically, what I want is to see the place in the graph of the signal waveform and perform a signal processing.

    Too bad. I already solved the problem. I used to analog rather than digital input

  • for control voltage can we use usb-6001?

    where can I find the usb-6001 software and driver?

    You can certainly use a 6001 to control the tension... in line with the specifications of the device.

    Driver belongs to DAQmx, available here: http://www.ni.com/download/ni-daqmx-14.1/4953/en/

  • Voltage of e/s-USB-6001

    Hello world

    The USB-6001 reference manual says on page 9 that I/O voltage is 5V.

    I think use to test a PCB where the microcontroller is powered from 3.3Vdc so the question is, first, is it possible to connect the I/O entrance to 3v3 rather 5Vdc os?

    Thank you and best regards

    The 5 v PIN is an output. The 6001 is powered by the USB interface.

  • Level of measurement OR-USB-6001 nosie

    I use a NOR-USB-6001 to measure voltages @ 5V level.

    I am trying to use an entry to measure the noise level on a 5V signal. The ripple is about 200 mV ACC (when you look at a scope in coupling AC mode). I can't find a framework in the DAQmx VI to set to measure with a higher resolution (4.9V - 5.1V)

    to be able to see this ripple.

    You could try to configure the line HAVE as a differential input (AI0/AI4).  Power of your signal to AI0 entry and ground of your signal to a DGND.  Feed in the + 5V on the USB-6001 to AI4.

  • USB-6210 on Linux - is DAQmxBaseExportSignal supposed to work for this unit?

    I have two devices USB-6210 I need to synchronize so that they
    both collect data exactly at the same time. I want to trigger data
    collection for each device by sending a trigger off Dev1/PFI6 and
    have two devices to receive the signal on PFI0.

    The input analog trigger doesn't seem to work, but the input digital trigger seems to be accepted. Unfortunately, I can't get the clock signal to export.

    Here is the sample program that I use:

    /*********************************************************************
    *
    * ANSI C program example:
    * contAcquire-ExtClk - DigStart.c
    *
    * Example category:
    * HAVE
    *
    * Description:
    * This example shows how to acquire a continuous quantity
    * the data using an external sample clock, launched by a numerical advantage.
    *
    * Execution mode:
    * 1. Select the physical channel is the place where your
    * a signal came on the DAQ hardware.
    * 2. Enter ranges of minimum and maximum voltage.
    * Note: for best accuracy try to match ranges of entry of the
    * waits the voltage level of the measured signal.
    * 3. Select a sample clock source.
    * 4. Set the approximate rate of the external clock. This allows to
    * the internal features of the acquisition to be like
    * effective as possible. Read also assign samples.
    * 5. Select a source for the beginning of digital edge trigger.
    * 6. Select the edge, rising or falling, to trigger.
    *
    * As follows:
    * 1. Create a task.
    * 2. Creating an analog voltage input channel.
    * 3. Set the parameters for an external clock Source.
    * In addition, set the sampling mode to be continuous. The
    * external clock frequency is given to allow internal
    * characteristics of the acquisition to be as effective as
    * possible.
    * 4. Set the parameters of a beginning of digital edge trigger.
    * 5. Call the start feature to start the acquisition.
    * 6. Read data from waveform looping up to 10 seconds or a
    * error occurs.
    * 7. Call the function in the task to clear to clear the task.
    * 8. Display an error, as appropriate.
    *
    * Overview of e/s connections:
    * Make sure that your input of the signal Terminal corresponds to the physical
    * Control I/o channels. Also, make sure that your digital results in the application
    * signal is connected to the terminal that is specified in the command Source.
    *
    * Recommended use:
    * 1. Configure and start calling features.
    * 2. Call loop function.
    * 3. Call Stop function at the end.
    *
    *********************************************************************/

    #include "NIDAQmxBase.h".


    #define DAQmxErrChk (functionCall) {if (DAQmxFailed (error = (functionCall))) {goto error ;}}

    int main (void)
    {
    Task settings
    Int32 = 0 error;
    TaskHandle AITaskHandle = 0;
    tank errBuff [2048] = {'\0'};
    Int32 i;
    time_t startTime;

    Channel settings
    char [] = "Dev1/ai0" chan
    float64 min = - 10.0;
    float64 max = 10.0;

    Sync settings
    char [] = clockIn ' / Dev1/PFI0 ";
    char [clockOut] = ' / PFI4/Dev1;
    uInt64 samplesPerChan = 1000;
    float64 sampleRate = 10000.0;

    Trip parameters
    char [] = triggerIn "/ Dev1/PFI2";
    char [triggerOut] = ' / PFI6/Dev1;
    uInt32 = DAQmx_Val_RisingSlope triggerSlope;
    uInt32 = 100 triggerSamples;

    The data read settings
    #define bufferSize (uInt32) 1000
    float64 data [bufferSize];
    Int32 pointsToRead = bufferSize;
    Int32 pointsRead;
    float64 timeout = 10.0;
    Int32 = 0 totalRead;

    printf ("calling CreateTask - HAVE... \n");
    DAQmxErrChk (DAQmxBaseCreateTask("",&AITaskHandle));
    printf ("calling CreateAIVoltage - HAVE... \n");


    DAQmxErrChk (DAQmxBaseCreateAIVoltageChan(AITaskHandle,chan,"",DAQmx_Val_Cfg_Default,min,max,DAQmx_Val_Volts,));
    printf ("calling CfgSampleClkTiming - HAVE... \n");
    DAQmxErrChk (DAQmxBaseCfgSampClkTiming (AITaskHandle, clockIn, sampleRate, DAQmx_Val_Rising, DAQmx_Val_ContSamps, 1000));
    printf ("calling CfgSampleClkTiming - HAVE... \n");
    DAQmxErrChk (DAQmxBaseCfgSampClkTiming (AITaskHandle, "OnboardClock", sampleRate, DAQmx_Val_Rising, DAQmx_Val_ContSamps, 1000));
    printf ("calling DigEdgeStartTrig...\n");
    DAQmxErrChk (DAQmxBaseCfgDigEdgeStartTrig (AITaskHandle, triggerIn, triggerSlope));
    printf ("calling ExportSignal - sample on %s...\n clock", clockOut);
    DAQmxErrChk (DAQmxBaseExportSignal (AITaskHandle, DAQmx_Val_SampleClock, clockOut));
    printf ("calling StartTask - AI\n");
    DAQmxErrChk (DAQmxBaseStartTask (AITaskHandle));

    The loop will leave after 10 seconds

    startTime = time (NULL);
    While (time (NULL)
    printf ("loop - calling ExportSignal - Trigger...\n");
    DAQmxErrChk (DAQmxBaseExportSignal (AITaskHandle, DAQmx_Val_StartTrigger, triggerOut));
    printf ("loop - call ReadAnalogF64...\n");
    DAQmxErrChk (DAQmxBaseReadAnalogF64(AITaskHandle,pointsToRead,timeout,DAQmx_Val_GroupByChannel,data,bufferSize,&pointsRead,));
    totalRead += pointsRead;
    printf ("acquired %d samples. %D total \n",pointsRead,totalRead);
    Print only the first 10 points of the last data read
    for (i = 0; i< 10;="">
    printf ("data [%d] = %f\n", i, data [i] ");

    }
    printf ("%d \nAcquired total samples.") "\n", totalRead);

    Error:
    If (DAQmxFailed (error))
    DAQmxBaseGetExtendedErrorInfo (errBuff, 2048);
    If (AITaskHandle! = 0) {}
    DAQmxBaseStopTask (AITaskHandle);
    DAQmxBaseClearTask (AITaskHandle);
    }
    If (DAQmxFailed (error))
    printf ("Error in DAQmxBase % d: %s\n", error, errBuff);
    return 0;
    }

    And here is the result of the execution of the example program.

    $. / contAcquire-ExtClk-DigStart
    the CreateTask call - HAVE...
    call CreateAIVoltage - HAVE...
    call CfgSampleClkTiming - HAVE...
    call for DigEdgeStartTrig...
    Calling ExportSignal - sample on/Dev1/PFI4 clock...
    DAQmxBase error-200428: value passed to the control task/channels is not valid.

    Someone can tell me what I am doing wrong or is ExportSignal not supported for devices USB-6210 on Linux?

    Thank you

    -Tom

    Hey Tom,

    Thanks for the update, I should have tested my suggestion before posting but I had no useful material at a time.  It turns out that, DAQmx Base supports not the outputs of the internal sample clock routing counter HAVE.

    Workaround will be physically wiring the meter output terminal (default is 4 PFI for counter 0, PFI 5 to 1 meter) until one of the PFI input lines (PFI 0:3) and use the PFI input as SOURCE for your sample clock (for example "/ Dev1/PFI0").

    Best regards

  • What is the first version of labview can be used with a USB-6001

    What is the first version of Labview, which can be used with a USB-6001?

    According to the user's Guide, you must DAQmx 9.9 or later version.  The oldest version of support DAQmx 9.9 is LabVIEW 2010 (DAQmx and LabVIEW version compatibility).

Maybe you are looking for