Page 1 of 1

Other platforms

Posted: Mon Nov 14, 2005 5:26 pm
by lucaciti
I would like to know whether it is possible to use the BioSemi device under Linux. This would be a key point in the choice of the system because we need a device working with Real Time Linux. Is there already a Linux port of the Labview_DLL.dll? Are functions in Labview_DLL.dll "standard prototypes" to access a USB device or there is no hope to find similar ones in a Linux kernel or module?
Thank you,
Luca Citi

Posted: Tue Nov 15, 2005 11:40 am
by Coen
BioSemi only provides drivers for Windows XP, drivers for use under Linux are not available.

The ActiveTwo system can be used under Mac by using a National Instruments PCI-DIO32HS interface card (with NI drivers) with old style BioSemi receiver, instead of the current USB interface (use ActiView 4.09, see http://www.biosemi.com/download_actiview.htm). A third-party (www.comedi.org/) driver for the PCIO-DIO32-HS card is available to allow it to work under Linux, although this apparently is not entirely without problems, see for example http://lists.suse.com/archive/suse-prog ... /0107.html.

As an alternative, you can use the new TCP/IP option in ActiView to stream ActiveTwo data from a Windows PC to other platforms, see viewtopic.php?t=64. However, the variable timing delays caused by Windows and by the TCP/IP protocol of course compromise the real-time functioning in this case.

Best regards, Coen (BioSemi)

Posted: Tue Nov 15, 2005 2:37 pm
by lucaciti
It seems quite hard. I thought it would have been easier. I thought the Labview_DLL.dll was a compiled form of the LabView VI and I thought it could be easily recompiled with LabVIEW Development System for Linux and accessed by a C program in a system running the free LabView runtime for Linux. I have read that if you have VIs that don't use ActiveX, other DLLs or registry VIs you can compile it in LabView for Linux. What is the problem with Labview_DLL.dll?
Thank you again
Luca

Posted: Tue Nov 15, 2005 7:50 pm
by Coen
The Labview_DLL.dll does not contain LabVIEW VI's. The dll contains function calls for the initialization and readout of a ringbuffer. The ringbuffer is then filled with data from the USB receiver, see http://www.biosemi.com/faq/make_own_acq ... ftware.htm. These functions and the USB driver only work under Windows XP.

Best regards, Coen (BioSemi)

Posted: Wed May 07, 2008 7:27 pm
by alex
Given that the last traffic in this thread is from 2005, I have the faint hope that the situation might have changed in the meantime. So, can the ActiveTwo be used with OSX, for example? Or is Windows still the only platform that can interface the USB ringbuffer? I know that BioSemi propagates TCP data streaming to solve the platform issue, but this requires two computers. This is impractical for field usage, however.

My understanding is that the ActiveView client itself should run out of the box on any platform supported by LabVIEW, and the only critical part is the labview.dll for reading out the ringbuffered data from the USB port. From the FAQ I conclude that this DLL comprises only about half a dozen of functions. So what is the reason not to port them to *NIX platforms? And if BioSemi does not want to do it for whatever reason, would it be possible for an experienced programmer from the user community?

Posted: Mon May 12, 2008 11:46 am
by Coen
The critical part is the USB driver. The driver is only available for Windows XP and Vista.

Best regards, Coen (BioSemi)

Posted: Tue May 13, 2008 11:37 am
by alex
Yes, I know. And I do know that it is available for Windows only. My question is, if it would be possible to write a USB driver for other OSs. Or is there any technical or political reason for not trying? If not, would BioSemi support attempts to port the driver? E.g. by making the source of the existing (Windows) driver available?

Best,

ALEX.

Posted: Wed May 14, 2008 1:08 pm
by Coen
The reason for not investing in the development of drivers for operating systems other than Windows is that we do not feel it will be commercially worthwhile.

We do not plan to make the source code of the Windows driver available because of competitive reasons.

Best regards, Coen (BioSemi)

Open - Source

Posted: Wed Aug 27, 2008 8:02 pm
by MathewS
[quote]
We do not plan to make the source code of the Windows driver available because of competitive reasons. [/quote]

I think then your mission statement should change on your home page. Since you state:
They are optimized for this specific application by offering features like: freely configurable hardware and completely open-source software,......

Although you offer the source code for the Actiview and some other pieces of software you do not provide the source for the driver.


Thanks

Mathew

Posted: Thu Aug 28, 2008 11:46 am
by Coen
Our policy is actually a bit more subtle than stated in my previous message. We are prepared to share the source code of the Windows driver (and have done so in the past), under the following conditions:

- you will have to convince us that you actually have the knowledge to do anything useful with it.
- you will have to convince us that the development and distribution of alternative drivers will not increase our workload with respect to service and support.
- you will have to reassure us that our source code will not be shared with any commercial competitor.

I look forward to receive well-founded plans for the development of alternative drivers from the BioSemi user community.

Best regards, Coen (BioSemi)

Posted: Thu Aug 28, 2008 2:38 pm
by MathewS
That is perfectly clear. Thank you for clarifying BioSemi's position on the matter. I think the requests are perfectly reasonable for any one wanting to write the Linux driver. As stated it would have to be a community project with little involvement and support from BioSemi.

Posted: Thu Aug 28, 2008 7:46 pm
by brroach
Hi, I wonder if the activeView software and its usb driver would work on a newer mac (with intel hardware), that dual boots, and so it can run windows XP.

Has anyone done this? Can anyone imagine why this wouldn't work?

thanks,
Brian

Posted: Thu Aug 28, 2008 11:17 pm
by Mosimann
I am running new iMAC's with both, VMWare and also Bootcamp. VMWare running Windows XP under the OSX system booted, does not run the ActiView Software properly, since it handles memory a bit quirky.
However, I have been running Windows XP booted under Bootcamp for many months now, and ActiView (all versions) runs extremly nicely on my 24" 3.06Ghz iMAC! I get all the trigger information, and subsequently do my analysis using BESA 5.20 on the same iMAC.
Hoping this makes sense, let me know if not.

Kind regards, Marc Mosimann

drivers for linux

Posted: Wed Oct 08, 2008 11:02 pm
by cwa
I am very interested in working on developing drivers for Linux to interface with the BioSemi system via USB2. Has anyone started (or finished :D ) working on this?

Windows 32&64 and Linux drivers beta version.

Posted: Tue May 12, 2009 1:44 pm
by Robbie303
A new generation of drivers is now available for evaluation.
The below link has both the new Windows 64 bit and Linux drivers.

http://www.biosemi.com/download/USB%20drivers%20beta/

For the Linux drivers note the following:
1. The 64 bit version was developed and tested on 64 CentOS 5
(Linux 2.6.18 ) which is similar to RedHat AS5.
2. The 32 bit version was tested on RedHat AS4 (Linux 2.6.9).
3. The install procedure uses a Makefile to adapt as much as possible
to the host system's installed libraries.
4. The download file can be unpacked using the command:
tar xvjf USB_driver_Linux_beta.tar.bz2

Please note that the current ActiView (version 6.05) is not yet suitable for Vista64, only for Vista32 and XP32. An upgrade of Actiview (made with LabVIEW 8.6.1) will be available on our regular website within a week.

Please post any experience when using these new beta drivers on this forum.

Robert, Biosemi

Windows 7

Posted: Thu Oct 01, 2009 6:29 pm
by bburt
Any plans to support Windows 7? I'm trying to decide which OS to install on a machine we'd like to use for our BioSemi system.

Posted: Tue Oct 06, 2009 9:43 am
by Coen
We certainly plan to support Windows 7 in the future. However, at this moment we recommend XP or Vista operating systems.

Best regards, Coen (BioSemi)

Windows 7 runtime engine and driver for the USB Receiver!

Posted: Thu Nov 05, 2009 2:31 pm
by Mosimann
Dear Forum Members,

Glad to report the following achievement from the BioSemi side:

I have purchased an ACER Aspire 5538 with Windows 7 64-bit Ultimate, downloaded the VISTA 64-bit USB driver posted above (May 12th, 2009), along with getting the Runtime Engine 8.6.1 from NI (http://ftp.ni.com/support/softlib/labvi ... 861STD.exe) and am running a preliminary version of the ActiView-700 with full functionality!

This again proves, and along with a very shortly to be released MAC OS 10.6.1 Snow Leopard Version, that BioSemi is very active in getting their acquisition programs running across most platforms available today!!

Regards, Marc Mosimann - NEUROSPEC AG Switzerland

Posted: Fri Jan 15, 2010 8:30 am
by narsil
I confirm that the drivers works on Ubuntu Karmic 9.10 64 bits machine.
However the test program gives segfault when the device is not powered up with transfer_1 status 2 error. putting in debug mode fixes it though.

EDIT: it seems that I cannot use the same code within another environment and the maximum info on the error that I can get is " transfer_1 status 2/transfer_2 status 2". Do you have any idea where this can come from ?

Thank you

Nicolas

Posted: Thu Jan 21, 2010 5:53 am
by narsil
Ok the problem seems to be coming from a multithreaded environment (I use pthread). There is no concurrent access though. The problem seems to lie in the bsif_libusb.o

To reproduce just use a new main, and modify oldMain to receive void* and return void* (pthread requirement).


This works:

int main(int nargs, char **NULL){
oldMain(0);
return 0;
}


whereas this does not:

int main(int nargs, char **NULL){
pthread_t thread;
pthread_create(&thread,NULL, &oldMain,NULL);
pthread_join(thread,NULL);
return 0;
}

Posted: Thu Jan 21, 2010 10:20 pm
by pmac
[quote="narsil"]I confirm that the drivers works on Ubuntu Karmic 9.10 64 bits machine.
However the test program gives segfault when the device is not powered up with transfer_1 status 2 error. putting in debug mode fixes it though.

EDIT: it seems that I cannot use the same code within another environment and the maximum info on the error that I can get is " transfer_1 status 2/transfer_2 status 2". Do you have any idea where this can come from ?

Thank you

Nicolas[/quote]

Hi Nicolas,

I guess in all our testing on Linux we'd never tried acquisition when there was no power to the device!

The segfault occurs in the Labview_DLL_SyncTest test program.
When the acquisition is running READ_POINTER returns TRUE and when it's not running it returns FALSE.

The test program was not checking this returned value! This has now been fixed.

I've made a new version for the Biosemi download site that incorporates this fix and a number of other
changes that have been made since May 2009. Look for a version with today's date, or perhaps later by the
time it gets posted there.

The "transfer_1 status 2" message is a hint that a transfer timeout has occured. Normally, when each libusb
transfer request returns, the status of the transfer is 0. When it's not 0, something unusual has happened.
It could be that the transfer timed out, either because the power is off or the timeout value isn't long
enough for the amount of data and sample rate. Regardless, any status other than 0 stops further transfer
requests, the buffer stops filling and READ_POINTER starts returning FALSE.

Thanks for the feedback - finally someone else using Linux!

I hope this helps,

Paul

P.S. I think the pthread problem that you described in another post is fixed in this new download.

Posted: Fri Jan 22, 2010 1:41 pm
by Robbie303
The newest updated Linux driver developed by PCMac is available here:

http://www.biosemi.com/download/USB%20d ... x1.tar.bz2

Posted: Mon Jan 25, 2010 3:51 am
by narsil
The new version it does fix the no power on problem and the pthread errors.

Thank you very much !

MATLAB API

Posted: Tue Apr 17, 2012 4:09 pm
by Lloyd
If you are interested in an open source MATLAB API for ActiveTwo, see this topic viewtopic.php?p=2049#2049. Thanks.