×

INDI Library v2.0.6 is Released (02 Feb 2024)

Bi-monthly release with minor bug fixes and improvements

Getting SBIG Drivers Working on Raspberry Pi

  • Posts: 6
  • Thank you received: 0
I had trouble getting the SBIG drivers working on a Raspberry Pi model 1 B+ with Raspbian installed so I thought I would share my experience here in case someone else runs into the same issue I did. I installed the basic INDI library and the SBIG drivers (indi-sbig and libsbigudrv) using the libindi_1.1.0_rpi.tar package from this site. When I started the indiserver with the indi_sbig_ccd driver the server went into a loop with the following messages.
2015-07-03T16:55:28: startup: indiserver -vv indi_sbig_ccd 
2015-07-03T16:55:28: Driver indi_sbig_ccd: pid=9824 rfd=3 wfd=6 efd=7
2015-07-03T16:55:28: listening to port 7624 on fd 4
2015-07-03T16:55:28: Driver indi_sbig_ccd: sending <getProperties version='1.7'/>
2015-07-03T16:55:28: Driver indi_sbig_ccd: stdin EOF
2015-07-03T16:55:28: Driver indi_sbig_ccd: restart #1
2015-07-03T16:55:28: Driver indi_sbig_ccd: pid=9825 rfd=0 wfd=6 efd=7
2015-07-03T16:55:28: Driver indi_sbig_ccd: sending <getProperties version='1.7'/>

I had to halt the process with Ctl-c. If I executed the indi_sbig_ccd module from the command line I got a "Illegal instruction" message. I used gdb to run the indi_sbig_ccd driver and found that the problem was in the libsbigudrv library.
Program received signal SIGILL, Illegal instruction.
0xb6af18d8 in ?? () from /usr/lib/libsbigudrv.so

I ended up installing the libsbigudrv source package and building it on the Raspberry Pi. That resolved my issue and I was able to connect to the Raspberry Pi using KStars/Ekos on a laptop and successfully capture images from my SBIG camera attached to the Raspberry Pi.

If you are interested, here is what I did to download and build the libsbigudrv package. First, I had to add the mutlaqja repository manually since the apt-add-repository tool is not installed by default on the Raspbian distribution.
Create the followiing file /etc/apt/sources.list.d/mutlaqja.list
deb http://ppa.launchpad.net/mutlaqja/ppa/ubuntu trusty main
deb-src http://ppa.launchpad.net/mutlaqja/ppa/ubuntu trusty main

I used the "trusty" Ubuntu release since it was the oldest supported release on the repository site. The Raspbian distribution is based on Debian wheezy which is roughly equivalent to Ubuntu saucy (13.10).

Then you have to get the public key using the following command
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 3F33A288

Now to download and build the package.
cd /home/pi
sudo apt-get source libsbigudrv2
cd sbig_2.1.0+r23.219~ubuntu14.04.1
sudo mkdir build
cd build
sudo cmake -DCMAKE_INSTALL_PREFIX=/usr . ../
sudo make install

The library is not really compiled from source, rather the cmake determines which of the supplied library files should be used for the current machine architecture. In my case, with a Raspberry Pi B+, it used the libsbigudrv_arm_v6.bin file which gets copied to libsbigudrv.so.2.1.0 file and linked as libsgibudrv.so.

I hope this helps.
8 years 8 months ago #4534

Please Log in or Create an account to join the conversation.

Time to create page: 0.599 seconds