BDA USB Driver

Hi,

I’m starting a BDA driver development but i’ve get some issues. I’m using
the latest available WDK suite and basing my driver development on the
“swtuner” source samples.

First of all, i understand the BDA driver will be the only driver i need.
The manufacture device driver is no longer needed, right?

Then, if i got the idea, the WDK template already implements the necessary
filters (ATSC,DVTB, etc) but simulates device hardware. What i need to do is
make the template recognize the device attached at the usb port?

Any guidance will be very helpful.

Regards,


Att,

Rafael Madeira
Idea! Electronic Systems
www.idea-ip.com

Rafael Madeira wrote:

I’m starting a BDA driver development but i’ve get some issues. I’m
using the latest available WDK suite and basing my driver development
on the “swtuner” source samples.

First of all, i understand the BDA driver will be the only driver i
need. The manufacture device driver is no longer needed, right?

You need to learn how to ask smarter questions. The only reason I know
what you’re talking about here is that I responded to your original
question, and yours has been the only BDA question in the last month or
so. You are trying to build a USB digital tuner, and you thought you
needed to use the CyUSB.sys driver to do it, right? I told you to throw
out CyUSB, and I stand by that. CyUSB.sys is designed to provide
generic USB services to user-mode applications. If you are a kernel
driver, then you need to make your USB requests directly. The CyUSB
interface was not designed to be used from a driver, and you don’t
really want to pay the price of another driver in there.

Then, if i got the idea, the WDK template already implements the
necessary filters (ATSC,DVTB, etc) but simulates device hardware.

Well, not quite. A digital TV filter graph includes network provider
filters from Microsoft that provide part of the job for the standard
connections (ATSC and DVB). Your filter still have a lot of work to do.

What i need to do is make the template recognize the device attached
at the usb port?

Yes, but you have a long road a head of you. BDA is complicated. You
need to be able to recognize and handle tuning requests and their
errors, and you need to be able to manage the MPEG-2 video stream,
probably through your isochronous pipe. Swtuner has a lot of the
groundwork in place, but you have a lot of code to write.


Tim Roberts, xxxxx@probo.com
Providenza & Boekelheide, Inc.

Tanks for you replay Tim,

I will take yours considerations into about my questions.

I would like to suggest you do smarter replays too (and check your what you
are saying), as it is my first question about BDA/USB/Drivers in all WWW. I
don’t even know what CyUSB.sys refers to (despite the fact that is a .sys
file)

Sorry if i had silly doubts but, as you correctly notice, BDA is complex and
i’m trying to find a better guidance to start my development.

I will study your response deeply. Once again, tanks for your fast replay.

Regards,

On Tue, May 31, 2011 at 3:24 PM, Tim Roberts wrote:

> Rafael Madeira wrote:
> >
> > I’m starting a BDA driver development but i’ve get some issues. I’m
> > using the latest available WDK suite and basing my driver development
> > on the “swtuner” source samples.
> >
> > First of all, i understand the BDA driver will be the only driver i
> > need. The manufacture device driver is no longer needed, right?
>
> You need to learn how to ask smarter questions. The only reason I know
> what you’re talking about here is that I responded to your original
> question, and yours has been the only BDA question in the last month or
> so. You are trying to build a USB digital tuner, and you thought you
> needed to use the CyUSB.sys driver to do it, right? I told you to throw
> out CyUSB, and I stand by that. CyUSB.sys is designed to provide
> generic USB services to user-mode applications. If you are a kernel
> driver, then you need to make your USB requests directly. The CyUSB
> interface was not designed to be used from a driver, and you don’t
> really want to pay the price of another driver in there.
>
> > Then, if i got the idea, the WDK template already implements the
> > necessary filters (ATSC,DVTB, etc) but simulates device hardware.
>
> Well, not quite. A digital TV filter graph includes network provider
> filters from Microsoft that provide part of the job for the standard
> connections (ATSC and DVB). Your filter still have a lot of work to do.
>
> > What i need to do is make the template recognize the device attached
> > at the usb port?
>
> Yes, but you have a long road a head of you. BDA is complicated. You
> need to be able to recognize and handle tuning requests and their
> errors, and you need to be able to manage the MPEG-2 video stream,
> probably through your isochronous pipe. Swtuner has a lot of the
> groundwork in place, but you have a lot of code to write.
>
> –
> Tim Roberts, xxxxx@probo.com
> Providenza & Boekelheide, Inc.
>
>
> —
> NTDEV is sponsored by OSR
>
> For our schedule of WDF, WDM, debugging and other seminars visit:
> http://www.osr.com/seminars
>
> To unsubscribe, visit the List Server section of OSR Online at
> http://www.osronline.com/page.cfm?name=ListServer
>


Att,

Rafael Madeira
Idea! Electronic Systems
www.idea-ip.com

Rafael Madeira wrote:

> First of all, i understand the BDA driver will be the only driver i
> need. The manufacture device driver is no longer needed, right?

By the way, what kind of device are you using? CyUSB is used for
devices like the FX2. Are you really planning to stream digital TV
video through an FX2? Who did your hardware design?


Tim Roberts, xxxxx@probo.com
Providenza & Boekelheide, Inc.

Rafael Madeira wrote:

I would like to suggest you do smarter replays too (and check your
what you are saying), as it is my first question about BDA/USB/Drivers
in all WWW. I don’t even know what CyUSB.sys refers to (despite the
fact that is a .sys file)

Then I apologize for my comments. Which vendor driver are you talking
about?


Tim Roberts, xxxxx@probo.com
Providenza & Boekelheide, Inc.

I’m using a elonics (elonics.com) usb tuner. Originaly a slscorp (
slscorp.com) driver was provided. Now, i need develop a BDA driver to elonic
IP.

On Tue, May 31, 2011 at 3:43 PM, Tim Roberts wrote:

> Rafael Madeira wrote:
> >
> > I would like to suggest you do smarter replays too (and check your
> > what you are saying), as it is my first question about BDA/USB/Drivers
> > in all WWW. I don’t even know what CyUSB.sys refers to (despite the
> > fact that is a .sys file)
>
> Then I apologize for my comments. Which vendor driver are you talking
> about?
>
> –
> Tim Roberts, xxxxx@probo.com
> Providenza & Boekelheide, Inc.
>
>
> —
> NTDEV is sponsored by OSR
>
> For our schedule of WDF, WDM, debugging and other seminars visit:
> http://www.osr.com/seminars
>
> To unsubscribe, visit the List Server section of OSR Online at
> http://www.osronline.com/page.cfm?name=ListServer
>


Att,

Rafael Madeira
Idea! Electronic Systems
www.idea-ip.com

Rafael Madeira wrote:

I’m using a elonics (elonics.com http:) usb tuner.

I’m a little confused, so please allow me to clarify. Elonics sells
tuner chips. They don’t sell USB tuners. Did you build your own tuner
device with the Elonics chip? The Elonics tuner sends out an analog
video signal, so there must be a capture chip on your device as well.
You’ll have to program that, too.

Elonics doesn’t do ATSC, at least according to their specs. They appear
to be pretty focused on Europe.

> Originaly a slscorp (slscorp.com http:) driver was
> provided. Now, i need develop a BDA driver to elonic IP.

How did SLS get involved? What kind of driver did they provide? Was it
just for generic access to USB devices? If so, then the same advice
applies to you – you do need to toss out the generic driver and write
your own.


Tim Roberts, xxxxx@probo.com
Providenza & Boekelheide, Inc.</http:></http:>

Hi Tim,

Sorry about my non deeply explanation. Let me be more specific.

He have our custom board with a elonic tuner chip and a sls usb port.

All the board is fully functional today. Trough the usb port (using sls
driver) we can communicate with our bank of registers and then, using a I2C
protocol, gain access to elonics tuner chip functionalities.

What i imagine is, once we are already able to use usb read/write functions,
talk with the tuner,etc…a new bda driver could use the same functions,
library, etc…to do the same jobe.

Please, let me know if you need more clarification.

On Tue, May 31, 2011 at 5:19 PM, Tim Roberts wrote:

> Rafael Madeira wrote:
> > I’m using a elonics (elonics.com http:) usb tuner.
>
> I’m a little confused, so please allow me to clarify. Elonics sells
> tuner chips. They don’t sell USB tuners. Did you build your own tuner
> device with the Elonics chip? The Elonics tuner sends out an analog
> video signal, so there must be a capture chip on your device as well.
> You’ll have to program that, too.
>
> Elonics doesn’t do ATSC, at least according to their specs. They appear
> to be pretty focused on Europe.
>
> > Originaly a slscorp (slscorp.com http:) driver was
> > provided. Now, i need develop a BDA driver to elonic IP.
>
> How did SLS get involved? What kind of driver did they provide? Was it
> just for generic access to USB devices? If so, then the same advice
> applies to you – you do need to toss out the generic driver and write
> your own.
>
> –
> Tim Roberts, xxxxx@probo.com
> Providenza & Boekelheide, Inc.
>
>
> —
> NTDEV is sponsored by OSR
>
> For our schedule of WDF, WDM, debugging and other seminars visit:
> http://www.osr.com/seminars
>
> To unsubscribe, visit the List Server section of OSR Online at
> http://www.osronline.com/page.cfm?name=ListServer
>


Att,

Rafael Madeira
Idea! Electronic Systems
www.idea-ip.com</http:></http:>

Rafael Madeira wrote:

He have our custom board with a elonic tuner chip and a sls usb port.

All the board is fully functional today. Trough the usb port (using
sls driver) we can communicate with our bank of registers and then,
using a I2C protocol, gain access to elonics tuner chip functionalities.

Well, a tuner and a USB port aren’t enough. A tuner produces an analog
RF signal that needs to be demodulated, decoded, and digitized, to
produce an MPEG-2 stream that you can pipe into a DShow graph. How is
that being handled? Have you tested all of that? How did you do the
streaming?

What i imagine is, once we are already able to use usb read/write
functions, talk with the tuner,etc…a new bda driver could use the
same functions, library, etc…to do the same jobe.

Yes, indeed. I’d expect you to copy that code into your BDA driver.


Tim Roberts, xxxxx@probo.com
Providenza & Boekelheide, Inc.

On Wed, Jun 1, 2011 at 2:05 PM, Tim Roberts wrote:

> Rafael Madeira wrote:
> >
> > He have our custom board with a elonic tuner chip and a sls usb port.
> >
> > All the board is fully functional today. Trough the usb port (using
> > sls driver) we can communicate with our bank of registers and then,
> > using a I2C protocol, gain access to elonics tuner chip functionalities.
>
> Well, a tuner and a USB port aren’t enough. A tuner produces an analog
> RF signal that needs to be demodulated, decoded, and digitized, to
> produce an MPEG-2 stream that you can pipe into a DShow graph. How is
> that being handled? Have you tested all of that? How did you do the
> streaming?
>
>
Yes, i’m already able to read TS data from usb port of my board. Despite
playing problems (due players limitations, computer performance) the TS is
on the usb port.

> > What i imagine is, once we are already able to use usb read/write
> > functions, talk with the tuner,etc…a new bda driver could use the
> > same functions, library, etc…to do the same jobe.
>
> Yes, indeed. I’d expect you to copy that code into your BDA driver.
>
> –
> Tim Roberts, xxxxx@probo.com
> Providenza & Boekelheide, Inc.
>
>
> —
> NTDEV is sponsored by OSR
>
> For our schedule of WDF, WDM, debugging and other seminars visit:
> http://www.osr.com/seminars
>
> To unsubscribe, visit the List Server section of OSR Online at
> http://www.osronline.com/page.cfm?name=ListServer
>


Att,

Rafael Madeira
Idea! Electronic Systems
www.idea-ip.com

Studying BDA driver templates, i foud a filter topology description which
includes:

*antenna pin -> tuner node -> demodulator node -> output pin.*

Basically it is what i have at my board. My doubt is if is all this
description necessary without a hardware simulation or has my bda driver
focus just on the output pin (usb port)?

On Wed, Jun 1, 2011 at 2:40 PM, Rafael Madeira
wrote:

>
>
> On Wed, Jun 1, 2011 at 2:05 PM, Tim Roberts wrote:
>
>> Rafael Madeira wrote:
>> >
>> > He have our custom board with a elonic tuner chip and a sls usb port.
>> >
>> > All the board is fully functional today. Trough the usb port (using
>> > sls driver) we can communicate with our bank of registers and then,
>> > using a I2C protocol, gain access to elonics tuner chip functionalities.
>>
>> Well, a tuner and a USB port aren’t enough. A tuner produces an analog
>> RF signal that needs to be demodulated, decoded, and digitized, to
>> produce an MPEG-2 stream that you can pipe into a DShow graph. How is
>> that being handled? Have you tested all of that? How did you do the
>> streaming?
>>
>>
> Yes, i’m already able to read TS data from usb port of my board. Despite
> playing problems (due players limitations, computer performance) the TS is
> on the usb port.
>
>
>> > What i imagine is, once we are already able to use usb read/write
>> > functions, talk with the tuner,etc…a new bda driver could use the
>> > same functions, library, etc…to do the same jobe.
>>
>> Yes, indeed. I’d expect you to copy that code into your BDA driver.
>>
>> –
>> Tim Roberts, xxxxx@probo.com
>> Providenza & Boekelheide, Inc.
>>
>>
>> —
>> NTDEV is sponsored by OSR
>>
>> For our schedule of WDF, WDM, debugging and other seminars visit:
>> http://www.osr.com/seminars
>>
>> To unsubscribe, visit the List Server section of OSR Online at
>> http://www.osronline.com/page.cfm?name=ListServer
>>
>
>
>
> –
> Att,
>
> Rafael Madeira
> Idea! Electronic Systems
> www.idea-ip.com
>


Att,

Rafael Madeira
Idea! Electronic Systems
www.idea-ip.com

Rafael Madeira wrote:

Studying BDA driver templates, i foud a filter topology description
which includes:

*antenna pin -> tuner node -> demodulator node -> output pin.*

Basically it is what i have at my board. My doubt is if is all this
description necessary without a hardware simulation or has my bda
driver focus just on the output pin (usb port)?

It is possible to build a capture driver that only has an output pin and
delivers MPEG-2 packets. Such a driver will be seen as a capture
source. However, what you describe above is part of the convention for
digital television devices. Television applications expect to send
tuner commands to a tuner node. They expect to be able to discover the
architecture of the device by probing the topology.

If you want your device to be seen by television applications just like
every other digital tuner board, then you need to use a standard topology.


Tim Roberts, xxxxx@probo.com
Providenza & Boekelheide, Inc.