Skip to contentSkip to conversation

Subjective maturity of tw6869, cx25821, bluecherry/softlogic drivers

DISCUSSION Nathaniel Bezanson 4 participants 5 messages Jul 2, 2015 – Jul 6, 2015 Media (V4L/DVB)

lore
Share & tools
lore
#0 lore raw

Hi all,

If this isn't the appropriate venue for this question, please gently steer me somewhere else. Thanks. :) I'm trying to head off the "well you shouldn't have bought *that* junk in the first place!" advice by doing some research ahead of time, and I'm here to check some assumptions.

I've been tasked with recommending a capture card for our hackerspace's video monitoring system. We'll be using motion so anything v4l/v4l2 is fair game. We presently have 8 cameras, but a 16-channel card wouldn't go to waste. Only quirk is the host system is PCI-Express only, no parallel PCI.

I've found the much-lauded Bluecherry driver release in 2010: http://ben-collins.blogspot.com/2010/06/softlogic-6010-4816-channel-mpeg-4.html
It claims to be 90% functional, and I haven't found any updates since then. Am I looking in the wrong place or is this completely orphaned? Cards sometimes come up cheap and the board looks really well-thought-out, but as a hardware guy I'm the last person you want rooting around in driver source trying to solder some code together and get the last bits working...

I found the intersil/techwell TW6869 chip on a very affordable card, and there's a nice looking driver here: https://github.com/igorizyumin/tw6869/ Only trouble is there only seems to be the one card using it, and it's v1.0 hardware without robust ESD protection on the inputs; I don't know if I'd expect it to survive a decade connected to 200-foot camera leads. It's cheap enough to keep spare boards around, though. Is this driver solid? Is the chip? Are there other cards based on it?

I popped into #v4l on freenode, and was pointed to the cx25821 chip, which seems well supported but I can't find any actual names of cards that claim to use it, except possibly a line of Russian cards and maybe I can get a Russian-speaking friend to help figure out their shopping cart... Is there a known/recommended Cx25821-based card I should look for? (And is the 25853 similar?)

I've seen talk of the older Geovision cards using the Bt878a chips, which is of course lovely, but I can't find any info on their PCIe offerings, nor even high-res photos of the board. That's a shame cuz their hardware looks really solid. Any chipset info? Anyone using these?

Anything else I'm missing?

Thanks a bunch in advance,
-Nate B-

#1 lore raw
Quoted 17 lines · Nathaniel Bezanson

Hi all,

If this isn't the appropriate venue for this question, please gently steer me somewhere else. Thanks. :) I'm trying to head off the "well you shouldn't have bought *that* junk in the first place!" advice by doing some research ahead of time, and I'm here to check some assumptions.

I've been tasked with recommending a capture card for our hackerspace's video monitoring system. We'll be using motion so anything v4l/v4l2 is fair game. We presently have 8 cameras, but a 16-channel card wouldn't go to waste. Only quirk is the host system is PCI-Express only, no parallel PCI.

I've found the much-lauded Bluecherry driver release in 2010:
http://ben-collins.blogspot.com/2010/06/softlogic-6010-4816-channel-mpeg-4.html

Quoted 6 lines

It claims to be 90% functional, and I haven't found any updates since then. Am I looking in the wrong place or is this completely orphaned? Cards sometimes come up cheap and the board looks really well-thought-out, but as a hardware guy I'm the last person you want rooting around in driver source trying to solder some code together and get the last bits working...

The support for the solo devices is now part of the kernel and it is maintained there. I still get patches from Bluecherry and it is a mature card.

Quoted 8 lines

I found the intersil/techwell TW6869 chip on a very affordable card, and there's a nice looking driver here:
https://github.com/igorizyumin/tw6869/ Only trouble is there only seems to be the one card using it, and it's v1.0 hardware without robust ESD protection on the inputs; I don't know if I'd expect it to survive a decade connected to 200-foot camera leads. It's cheap enough to keep spare boards around, though. Is this driver solid? Is the chip? Are there other cards based on it?

I don't know anything about this chip. Other Techwell devices give decent quality, but I've never used this one.

Quoted 6 lines

I popped into #v4l on freenode, and was pointed to the cx25821 chip, which seems well supported but I can't find any actual names of cards that claim to use it, except possibly a line of Russian cards and maybe I can get a Russian-speaking friend to help figure out their shopping cart... Is there a known/recommended Cx25821-based card I should look for? (And is the 25853 similar?)

There used to be a cx25821 card on dx.com (which is where I got mine), but it's out of stock. I haven't been able to find one either. It's unclear to me whether the 25853 is similar enough to work with the cx25821 driver. I'm not optimistic.

Quoted 5 lines

I've seen talk of the older Geovision cards using the Bt878a chips, which is of course lovely, but I can't find any info on their PCIe offerings, nor even high-res photos of the board. That's a shame cuz their hardware looks really solid. Any chipset info? Anyone using these?

I don't think there is any linux support for Geovision PCIe cards.

Quoted 1 line

Anything else I'm missing?

No, I don't think so.

If you want to have a well-supported card, then Bluecherry is your best bet. Techwell will likely work too, but the driver is not in the kernel (which may or may not be a problem for you). Getting it ready for inclusion into the kernel is a fair amount of work.

Regards,

Hans

#2 lore raw
In reply to Nathaniel Bezanson
Quoted 3 lines · Nathaniel Bezanson

I found the intersil/techwell TW6869 chip on a very affordable card, and there's a nice looking driver here:
https://github.com/igorizyumin/tw6869/

It didn't work for me. Probably because it uses large coherent allocations (which aren't possible on ARM, and shouldn't be used on any hardware). Other problems (not sure if in this very driver, or another of its clones): not using DMA SG, using CPU to copy frame data in DQBUF (or somewhere), apparent support for nonexistent hardware features (tuners?).

This reminds me to post my own driver for these cards, a bit smaller and lacking some features (like scaling and cropping) but working and using SG DMA.

Quoted 2 lines

Only trouble is there only
seems to be the one card using it

There are at least Sensoray (8-port, a bit improved chip) and Commell (4-port, based on older TW6864) cards.

These chips aren't ideal - but they work.
For example, in DMA SG mode, they can't produce a single continuous interlaced frame in memory - they can only make two separate fields. A limitation of their DMA engine, since in non-SG mode they can make (pseudo)-progressive frames.

Also, they can't do YUV420 - they only do things like YUV422 and RGB565/555 (well they can do YUV420 with custom encoding in a mode with reduced vertical resolution - with field dropping or in field mode, where each field is a different picture encoded with YUV420).

I'm using SOLO6110-based cards, too. They work. There are apparently certain problems, but I wasn't able to reproduce them. My use is limited to 4-channel operation, though (the chip can do up to 5 full D1 H.264 streams, but there are 16-channel versions which can do 16 simultaneous H.264s with a reduced resolution and/or with frame dropping - I suspect the latter could be the problem).

SOLO6110 doesn't produce a valid interlaced H.264 stream (with field encoding) - only a (pseudo) progressive stream (frame mode). This is actually what TW686x lacks :-)

Also, TW686x are (mini) PCIe while SOLO6110 (and earlier SOLO6010 which produces MPEG4 part 2 instead of H.264) are (mini) PCI. TW686x don't have hardware H.264 encoder (though I'm told certain TW586x do have).

Signature · 4 lines
Krzysztof Halasa

Industrial Research Institute for Automation and Measurements PIAP
Al. Jerozolimskie 202, 02-486 Warsaw, Poland
#3 lore raw
Quoted 2 lines · Krzysztof Hałasa

Also, TW686x are (mini) PCIe while SOLO6110 (and earlier SOLO6010 which produces MPEG4 part 2 instead of H.264) are (mini) PCI.

solo6110 is PCI-E, not PCI.

Signature · 1 line
Bluecherry developer.
#4 lore raw
Quoted 4 lines · Andrey Utkin
Quoted 2 lines

Also, TW686x are (mini) PCIe while SOLO6110 (and earlier SOLO6010 which produces MPEG4 part 2 instead of H.264) are (mini) PCI.

solo6110 is PCI-E, not PCI.

No, it's not, both SOLO6010 and SOLO6110 are 32-bit PCI.

SOLO6110 Data Sheet
1.2.5. PCI/HOST Interface
- PCI Local Bus Specification, Rev. 2.2. 32bit/33MHz(66MHz)
- PCI Master/Target Mode.
- 32bit CPU Host Interface

There are probably PCIe cards using SOLO6110, but they have to use a PCIe-PCI bridge.

One can also use a SOLO6x10 card with a separate converter board. We're using converters with PLX PEX8112 bridge chip for this.

Signature · 4 lines
Krzysztof Halasa

Industrial Research Institute for Automation and Measurements PIAP
Al. Jerozolimskie 202, 02-486 Warsaw, Poland