So this is a reply just in case someone find it useful one day, given this topic didn't exactly get much traction...
So eventually managed to get indi_v4l2_ccd working again with the SPC900NC modified for long exposure controlled by LED.

In addition to the modification documented here , I had to also patch the indi_v4l2_ccd in order to avoid reaching a part of the code which - according to the comment should anyway not be reached - where the capture was failing.
The patch is attached bellow, but BEWARE: I'M NO INDI DEVELOPER AND I DONT COMMIT TO ANYTHING, DON'T BLAME IT ON ME if it breaks your device, insult your mother or reelect Georges Bush (<- a geek reference is hidden here!)

Thanks to @geehalel for his help and for updating his driver for recent kernels (5.4)


Taking a look at the code I saw the error occurs in an "else" part of an "if" statement:

if ( PrimaryCCD.isExposing() )
        non_capture_frames = 0;

        if( non_capture_frames > 10 ) {
            /* If we arrive here, PrimaryCCD is not exposing anymore, we can't forward the frame and we can't be aborted neither, thus abort the exposure right now.
            * That issue can be reproduced when clicking the "Set" button on the "Main Control" tab while an exposure is running.
            * Note that the patch in StartExposure returning busy instead of error prevents the flow from coming here, so now it's only a safeguard. */
            IDLog("%s: frame received while not exposing, force-aborting capture\n", __FUNCTION__);

So it confirms the CCD should be exposing but indi reports it is not, although I can see the LED is on for the time of exposure and the error message says it's receiving frames in the error message...

I'm lost here, if anyone can shed a light on how frames should be grabbed and what can lead to this error? Is it the capture which doesn't happen at the right time? could it be indi v4l2 driver which do not talk to the device appropriately? Or could it be my mod which is just not right? (BTW, here is the mod I used: spc900 LED mod LX


Whenever I try to do long exposure frames with my spc900 and the v4l2_ccd driver, the driver goes unresponsive and spits the error message bellow repeatedly:

2021-01-31T20:20:23: Driver indi_v4l2_ccd: newFrame: frame received while not exposing, force-aborting capture

I have a webcam Phillips SPC900NC which I modified using the long exposure mod.
I have compiled the pwc-lxled driver for my led, which loads successfully and both normal capture (bellow 0.025 seconds or stacked) and streaming works ok in the indi client UI.
On the other hand, long exposure pictures gives me the error above, though I can see the LED turns on or the duration of the exposure and turns off after exposure time. Only then the error starts to appear in the logs.
I have checked the verbose logs but couldn't find anything obvious (see attached file

File Attachment:

File Name: indi_log.gz
File Size: 50 KB
I'm using a fairly recent version of libindi:
INDI Library: 1.8.7
Code v1.8.6-11-g92c1e617. Protocol 1.7.

The error message seem to suggest the driver didn't really notice it is actually exposing but that doesn't help me much.

Any help is mush appreciated as I have spent a fair amount of time moding this cam and would really like to get this working at some point :)


After a first successful test guiding my setup with an Orion 80x400 and the Phillips SPC900 (non modified), I wanted to try real guiding, not just test and shooting of objects in the sky.
Unfortunately I have tried many different settings but never managed to find a guiding star in the area I was shooting whatsoever!

I have tried fiddling with the V4L2 settings, to make it more sensitive by:
* decreasing fps to 5/s
* raising gain & exposure
* playing with contrast and autogain

Nothing worked... and I just ended up wasting a night :huh:

I'm wondering if I'm missing something, is there any settings or magic trick that's known to work and make the SPC900 sensitive enough for guiding in most areas of the sky?

I suspect that webcam is just not sensitive enough and I would need to mod it. So I have searched for ways to do that but what I found is very partial, talk about different cameras, or is full of broken links...
In particular I'm interested in the LXLED mod as it allows minimal modification and avoids having more cables.

Anyone knows where to find proper doc on how to complete this mod? The software part is already OK as I "ported" the pwc driver patch from @geehalel to the kernel I'm using (4.19) and the LED flashes according to the settings sent using the INDI driver!

Also, everytime the INDI client first connect to the INDI server, the V4L2_CCD driver connects to /dev/video0, while my cam is /dev/video2. So I have to manually disconnect, change the char device manually, reconnect and set the various properties I want... That's rather tedious. Is there a way to have those presets saved somewhere so my client knows which device to use , with which config at connect time?


Alexandre Chapellon replied to the topic 'SPC900 LX without mod' in the forum. 12 months ago

OK thank you very much for the answer.
It indeed seems I missunderstood the purpose of the LXLED feature. I guess I was trying to convince myself it was not necessary to go the hard way... :)



Alexandre Chapellon created a new topic ' SPC900 LX without mod' in the forum. 12 months ago

I just got a Phillips SPC900 I hoped I could use for guiding.
Most things on the setup are working but I can't seem to get the long exposure working on this cam.

It's not moded but my understanding was that it was not 100% necessary.
In particular I was under the impression one could use the LED ioctl in order to transmit long exposure commands.
In particular this thread bellow filled my heart with hope:

@gaetan mentioned his driver can work without moding the cam (at least that's my understanding), so I ported his changes to the current driver and recompiled but despite I can load the new module with appropriate settings (flashled=1) I still get an error when clicking on the "SPC900 LED" button in the "Long Exposure" tab of the indi_v4l2_ccd panel:

2020-08-05T14:24:30: Can not set Lx Mode to SPC900 LED 
2020-08-05T14:24:30: ERROR: device does not support PWC ioctl

Anyone know how to shoot long exposure frames with the SPC900? Is there any solution which doesn't involve soldering and buying more electronic parts?