LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Creating a Ni845x.dll wrapper for Linux

Hi Folks,

 

I know that NI's USB-845x is not supported in Linux.

Upon looking at all of the 845x VIs, I see that all of the VIs use the CLN with Ni845x.dll.

Essentially, I would like to re-create all of the 845x VIs for my project to port to Linux using an so version of Ni845x.dll.

I wanted to know if anybody has tried creating a "thin wrapper" for that dll into a shared object for Linux.

I would think it should work assuming the Ni845x.dll doesn't make any Win32 API calls or depends/calls on other dlls.

Any feedback/suggestions/info would be appreciated.

 

Thank in advance.

 

LVexpert2b

CLD

0 Kudos
Message 1 of 2
(3,675 Views)

LVexpert2b wrote:

Hi Folks,

 

I know that NI's USB-845x is not supported in Linux.

Upon looking at all of the 845x VIs, I see that all of the VIs use the CLN with Ni845x.dll.

Essentially, I would like to re-create all of the 845x VIs for my project to port to Linux using an so version of Ni845x.dll.

I wanted to know if anybody has tried creating a "thin wrapper" for that dll into a shared object for Linux.

I would think it should work assuming the Ni845x.dll doesn't make any Win32 API calls or depends/calls on other dlls.

Any feedback/suggestions/info would be appreciated.

 

Thank in advance.

 

LVexpert2b

CLD


How do you want to run the dll under Linux????? The NI845x.dll does not only make calls to Windows APIs but has to make calls to NI device drivers that you will never be able to make run under Linux in any way. While the DLL might be possible to get to run using Wine, the device drivers would need quite a few man months or more of extra work in Wine to get to work. And such changes are generally not accepted by Wine anyhow since it is not meant to be a system that emulates Windows down to the kernel but mostly for application level only.

 

And even if it would eventually work under Wine, getting it to work for LabVIEW for Linux too would require even more extra work, since you would have to implement some sort of gateway using IPC between the Wine environment and the Unix application since the only way to get a Unix application to work under Wine directly is by creating a Winelib application, but since you can't change LabVIEW for Linux yourself that is really no option.

 

And developing your own Linux device driver, which IMHO is the only feasable option for something like this, will not be easy either since device driver development is quite a difficult task and you would need the exact hardware discription of the board too. 

Rolf Kalbermatter  My Blog
DEMO, Electronic and Mechanical Support department, room 36.LB00.390
0 Kudos
Message 2 of 2
(3,613 Views)