64 Bit driver for OSX

Post Reply
w.m.vanvliet
Posts: 4
Joined: Tue Mar 13, 2012 2:47 pm
Location: Leuven, Belgium

64 Bit driver for OSX

Post by w.m.vanvliet »

I'm trying to build an online BCI on a recent mac, which is a 64 bit platform, and interfacing with the USB drivers directly.

The mac driver that Biosemi supplies contains two binary blobs (bsif_libusb.o, poll_keys.o) which are 32 bit. While OSX is capable of running 32 bit programs, all of my libraries and my Matlab version are 64 bit. Can a 64 bit version of the binary blobs be made available as well?

p.s. Why are these parts a binary blobs anyway, and not open source like the rest of your software? As far as I can see it only limits people interfacing with your hardware.

Coen
Site Admin
Posts: 1124
Joined: Fri Mar 26, 2004 7:00 pm
Location: Amsterdam, Netherlands
Contact:

Post by Coen »

A new version of the Mac driver with 64-bit support can be downloaded from http://www.biosemi.com/download/USB%20d ... rs_Mac.zip

Please post your experience with the new package.

Best regards, Coen (BioSemi)

w.m.vanvliet
Posts: 4
Joined: Tue Mar 13, 2012 2:47 pm
Location: Leuven, Belgium

Post by w.m.vanvliet »

Thank you for the quick response!

running the precompiled Labview_DLL_SyncTest gives me an error:
dyld: Library not loaded: /Users/pmacinnis/biosemi/svn/labview_dll-mac/mac64on32/lib/libusb-1.0.0.dylib
Referenced from: /Users/rodin/Downloads/USB_drivers_Mac/OSX-10.5-64/bin/liblabview_dll.0.0.1.dylib
Reason: image not found
Trace/BPT trap

Setting DYLD_LIBRARY_PATH = ./ fixes this.

Running the actual synctest reliably outputs the following:

****************************************
Parameters can be, in any order:
Time to run, in seconds:
default is 600 seconds (10 minutes)
0=unlimited

Ring buffer size, in 512 byte units,
must have a 'b' or 'B' prefix:
default is B65536 for 32 MBytes


Hit ctrl-c to quit
****************************************
sizeof long = 8
ring buffer size = 33554432
at second 0, buffer 0, #bytes 262144, seam 262144, word throughput/channel/sec 0
number of channels = 34
missing sync 1: buffer 0, [306] = 81546700
sync found again at [316] = ffffff00
missing sync 2: buffer 0, [588] = 81546400
sync found again at [598] = ffffff00
missing sync 3: buffer 0, [870] = 81545900
sync found again at [880] = ffffff00
missing sync 4: buffer 0, [1152] = 81543300
sync found again at [1162] = ffffff00
missing sync 5: buffer 0, [1434] = 81544900
sync found again at [1444] = ffffff00
missing sync 6: buffer 0, [1716] = 81545900
more than 5 missing syncs in 1 buffer
stopping ...
Aborted, hit ctrl-c to exit

Lots of dropped syncs, but this is actually the same output I get under a 64bit Windows 7 installation (both with the 64bit and 32bit versions of the driver), so I'm tempted to chalk it up to a bug in the synctest itself.

Compiling under OSX gave no problems at all, so all in all it seems to work just fine!

Coen
Site Admin
Posts: 1124
Joined: Fri Mar 26, 2004 7:00 pm
Location: Amsterdam, Netherlands
Contact:

Post by Coen »

The Sync errors are due to an incompatibility of the SyncTest program with the latest version of the hardware. Actually, the above results show that the FFFFFF00 words are detected and missing at exactly the right locations for your particular AD-box (but the program reports them as errors because it does not expect them at these locations). An updated Synctest program is under development.

Best regards, Coen (BioSemi)

Lloyd
Posts: 26
Joined: Fri Mar 26, 2004 7:46 pm
Location: Wilmington, NC, USA
Contact:

MATLAB API

Post by Lloyd »

If you are interested in an open source MATLAB API for ActiveTwo, see this topic viewtopic.php?p=2049#2049. Thanks.

Post Reply