mardi 27 mai 2014

SDR with US Tv Tuner (Gadmei UTV382)

Hi, All last year i posted for solution to programatically retrieving I Q data from USB Tv Tuner (Gadmei UTV382 USB TV BOX) for implementation of SDR. Since then no reply was received that could solve the problem. Some detail of the device, it has

1. XCEIW XC4100ACQ tuner

2. SUNS AV600 Chip (i dont know exactly its DSP chip or demdulator)

3. No FM support



The questions are:

1. Having no FM support as present in RTL2832u, how confirm that this stick can deliver I Q samples?

2. Is there any tool(API) that can scan the internals of USB Stick as no datasheet is avaialble for these chips(they are clone chips, i think chinese)

3. i downloaded libusb and just able to retrieve its end point addresses along with product id.

4. The registers addresses are not known. but in its driver .inf file i found someting like this below (OEM.AddReg in the inf file may be representing registers, i am just guessing)



;



------------------------------------------------------------------

;

; GadmeiBDA.INF -- This file contains installation information

;

;

;

; This installation is for Windows XP/Vista

;

; Copyright (c) Gadmei Technologies Inc.

; All rights reserved.

;

;------------------------------------------------------------------

[Version]

signature="$CHICAGO$"

Class=Media

ClassGUID={4d36e96c-e325-11ce-bfc1-08002be10318}

Provider=%ProviderName%

DriverVer=03/18/2011, 1.1.4.13

CatalogFile=UTVAD.cat

[Manufacturer]

%ProviderName% = GadmeiBDA, NTamd64

[DestinationDirs]

GadmeiBDA.CopyDrivers = 12

[SourceDisksNames]

1=%GadmeiBDA.Disk1%,,,

[SourceDisksFiles]

UTVAD.sys=1

[GadmeiBDA.CopyDrivers]

UTVAD.sys

[GadmeiBDA]

%GadmeiBDA.DeviceDesc%=GadmeiBDA.Device, USB\VID_1F71&PID_3301

%GadmeiBDA.DeviceDesc%=GadmeiBDA.Device, USB\VID_1F71&PID_3306

[GadmeiBDA.NTamd64]

%GadmeiBDA.DeviceDesc%=GadmeiBDA.Device, USB\VID_1F71&PID_3301

%GadmeiBDA.DeviceDesc%=GadmeiBDA.Device, USB\VID_1F71&PID_3306

[GadmeiBDA.Device.NT]

Include= ks.inf,kscaptur.inf,BDA.inf,wdmaudio.inf

Needs= Stream.Registration,KS.Registration,KSCAPTUR.Regis tration.NT,BDA.Installation.NT,WDMAUDIO.Registrati on.NT

DelReg= OEM.DelReg

AddReg= GadmeiBDA.AddReg,OEM.AddReg

CopyFiles= GadmeiBDA.CopyDrivers

[GadmeiBDA.Device.NTamd64]

Include= ks.inf,kscaptur.inf,BDA.inf,wdmaudio.inf

Needs= Stream.Registration,KS.Registration,KSCAPTUR.Regis tration.NT,BDA.Installation.NT,WDMAUDIO.Registrati on.NT

DelReg= OEM.DelReg

AddReg= GadmeiBDA.AddReg,OEM.AddReg

CopyFiles= GadmeiBDA.CopyDrivers

[GadmeiBDA.AddReg]

HKR,,DevLoader,,*ntkern

HKR,,NTMPDriver,,UTVAD.sys

HKR,,PageOutWhenUnopened,3,01

HKR,,DontSuspendIfStreamsAreRunning,3,01

;---------------------------------------------------------------

; O E M

;---------------------------------------------------------------

[OEM.DelReg]

HKR,Settings\ATVSettings

HKR,Settings\PropDefaults

HKR,Settings\ProductDefaults

HKR,Settings\DecoderDefaults

HKR,Settings\DTVSettings

******[OEM.AddReg]

HKR,Settings\ATVSettings,AnalogTvTunerType, 0x00000001, 0x00

HKR,Settings\ATVSettings,AnalogTvTunerAddress, 0x00010001, 0xc0

HKR,Settings\ATVSettings,AnalogTvTunerIf, 0x00010001, 38000

HKR,Settings\ATVSettings,GlobalControlWord, 0x00010001, 0xCE

HKR,Settings\ATVSettings,HBandControlWord, 0x00010001, 0x02

HKR,Settings\ATVSettings,LBandControlWord, 0x00010001, 0x01

HKR,Settings\ATVSettings,LBandFrequencyDivid, 0x00010001, 160250

HKR,Settings\ATVSettings,MaxFrequency, 0x00010001, 863250

HKR,Settings\ATVSettings,MinFrequency, 0x00010001, 49750

HKR,Settings\ATVSettings,UBandControlWord, 0x00010001, 0x08

HKR,Settings\ATVSettings,UBandFrequencyDivid, 0x00010001, 464250******

HKR,Settings\DTVSettings,DTV1Type, 0x00000001, 0x22

HKR,Settings\DTVSettings,DTV1NimType, 0x00000001, 0x00

HKR,Settings\DTVSettings,DTV2Type, 0x00000001, 0x22

HKR,Settings\DTVSettings,DTV2NimType, 0x00000001, 0x02

HKR,Settings\DTVSettings,NimCombination, 0x00000001, 0x00

HKR,Settings\PropDefaults,AVPalProp, 0x00000001, 0x40,0x00,0x00,0x02,0x80,0x12,0x90,0x00

HKR,Settings\PropDefaults,AVNtscProp, 0x00000001, 0x60,0x92,0x00,0x02,0x00,0x11,0xC0,0xD0

HKR,Settings\PropDefaults,AVSecamProp, 0x00000001, 0x20,0x00,0x00,0x02,0x00,0x12,0xA0,0x08

HKR,Settings\PropDefaults,BrightnessRange, 0x00000001, 0x00,0x00,0xFF,0x03

HKR,Settings\PropDefaults,ContrastRange, 0x00000001, 0x00,0x00,0xFF,0x03

HKR,Settings\PropDefaults,HueRange, 0x00000001, 0xFF,0x0F,0xFF,0x0F

HKR,Settings\PropDefaults,SaturationRange, 0x00000001, 0x00,0x00,0xFF,0x03

HKR,settings\PropDefaults,ShapnessRange, 0x00000001, 0x00,0xFF

HKR,Settings\ProductDefaults,SourceInput, 0x00000001, 0x03

HKR,Settings\ProductDefaults,AudioDefaultOuput, 0x00000001, 0x30

HKR,Settings\ProductDefaults,MaskLeftRightMargin, 0x00000001, 0x02

HKR,Settings\ProductDefaults,MaskTopBottomMargin, 0x00000001, 0x02

HKR,Settings\DecoderDefaults,AVPAL, 0x00000001, 0x04,0x68,0xD3,0x72,0xA2,0xB0,0x15,0x01,0x2C,0x10, 0x20,0x2e,0x08,0x02,0x02,0x59,0x16,0x35,0x17,0x16, 0x36

HKR,Settings\DecoderDefaults,AVNTSC, 0x00000001, 0x04,0x79,0xD3,0x68,0x9c,0xf0,0x15,0x00,0xfc,0x04, 0x08,0x2e,0x08,0x02,0x01,0x5f,0x12,0x01,0x1c,0x11, 0x05

HKR,Settings\DecoderDefaults,AVSECAM, 0x00000001, 0x04,0x73,0xDC,0x72,0xA2,0x90,0x35,0x01,0x30,0x04, 0x08,0x2D,0x28,0x08,0x02,0x69,0x16,0x35,0x21,0x16, 0x36

HKR,Settings\DecoderDefaults,TVPAL, 0x00000001, 0x04,0x68,0xD3,0x72,0xA2,0xB0,0x15,0x01,0x2C,0x10, 0x20,0x2C,0x08,0x02,0x02,0x59,0x16,0x35,0x17,0x16, 0x36

[GadmeiBDA.Device.NTamd64.Interfaces]

AddInterface = %KSCATEGORY_CAPTURE%, %GUID_STREAMCAPTURE%, VideoCapture,0

AddInterface = %KSCATEGORY_VIDEO%, %GUID_STREAMCAPTURE%, VideoCapture,0

AddInterface = %KSCATEGORY_AUDIO%, %GUID_STREAMCAPTURE%, VideoCapture,0

AddInterface = %KSCATEGORY_CROSSBAR%, %GUID_XBAR%, VideoCrossbar,0

AddInterface = %KSCATEGORY_TVAUDIO%, %GUID_TVAUDIO%, VideoTvAudio,0

AddInterface = %KSCATEGORY_TVTUNER%, %GUID_ANALOGVIDEODECODER%,VideoTvTuner,0

AddInterface = %KSCATEGORY_DEVICE_CTRL%, %GUID_DEVICE_CONTROL_Filter%, DeviceControlInterfaces, 0

AddInterface = %KSCATEGORY_BDA_NETWORK_TUNER%, %GUID_TS1_TUNER_FILTER%, TS1BDADevice

AddInterface = %KSCATEGORY_BDA_RECEIVER_COMPONENT%, %GUID_TS1_CAPTURE_FILTER%, TS1BDACapture

AddInterface = %KSCATEGORY_BDA_NETWORK_TUNER%, %GUID_TS2_TUNER_FILTER%, TS2BDADevice

AddInterface = %KSCATEGORY_BDA_RECEIVER_COMPONENT%, %GUID_TS2_CAPTURE_FILTER%, TS2BDACapture

[GadmeiBDA.Device.NT.Interfaces]

AddInterface = %KSCATEGORY_CAPTURE%, %GUID_STREAMCAPTURE%, VideoCapture,0

AddInterface = %KSCATEGORY_VIDEO%, %GUID_STREAMCAPTURE%, VideoCapture,0

AddInterface = %KSCATEGORY_AUDIO%, %GUID_STREAMCAPTURE%, VideoCapture,0

AddInterface = %KSCATEGORY_CROSSBAR%, %GUID_XBAR%, VideoCrossbar,0

AddInterface = %KSCATEGORY_TVAUDIO%, %GUID_TVAUDIO%, VideoTvAudio,0

AddInterface = %KSCATEGORY_TVTUNER%, %GUID_ANALOGVIDEODECODER%, VideoTvTuner,0

AddInterface = %KSCATEGORY_DEVICE_CTRL%, %GUID_DEVICE_CONTROL_Filter%, DeviceControlInterfaces,0

AddInterface = %KSCATEGORY_BDA_NETWORK_TUNER%, %GUID_TS1_TUNER_FILTER%, TS1BDADevice

AddInterface = %KSCATEGORY_BDA_RECEIVER_COMPONENT%, %GUID_TS1_CAPTURE_FILTER%, TS1BDACapture

AddInterface = %KSCATEGORY_BDA_NETWORK_TUNER%, %GUID_TS2_TUNER_FILTER%, TS2BDADevice

AddInterface = %KSCATEGORY_BDA_RECEIVER_COMPONENT%, %GUID_TS2_CAPTURE_FILTER%, TS2BDACapture

[VideoCapture]

AddReg=VideoCapture.AddReg , PinNames.AddReg

[VideoTvTuner]

AddReg=VideoTvTuner.AddReg

[VideoCrossbar]

AddReg=VideoXBar.AddReg

[VideoTvAudio]

AddReg=VideoTvAudio.AddReg

[DeviceControlInterfaces]

AddReg=DeviceControlInterfaces.AddReg

[TS1BDADevice]

AddReg=TS1BDADevice.AddReg

[TS1BDACapture]

AddReg=TS1BDACapture.AddReg

[TS2BDADevice]

AddReg=TS2BDADevice.AddReg

[TS2BDACapture]

AddReg=TS2BDACapture.AddReg

[VideoCapture.AddReg]

HKR,,CLSID,,%KSProxy.CLSID%

HKR,,FriendlyName,,%GadmeiBDA.Capture%

[VideoTvTuner.AddReg]

HKR,,CLSID,,%KSTvTune.CLSID%

HKR,,FriendlyName,,%GadmeiBDA.TvTuner%

[VideoXBar.AddReg]

HKR,,CLSID,,%KSXBar.CLSID%

HKR,,FriendlyName,,%GadmeiBDA.Crossbar%

[VideoTvAudio.AddReg]

HKR,,CLSID,,%KSTVAudio.CLSID%

HKR,,FriendlyName,,%GadmeiBDA.TvAudio%

[DeviceControlInterfaces.AddReg]

HKR,,CLSID,,%KSProxy.CLSID%

HKR,,FriendlyName,,%GadmeiBDA.DeviceControl.Friend lyName%

[TS1BDACapture.AddReg]

HKR,,CLSID,,%KSProxy.CLSID%

HKR,,FriendlyName,,%GadmeiBDA.TS1BDACapture%

[TS1BDADevice.AddReg]

HKR,,CLSID,,%KSProxy.CLSID%

HKR,,FriendlyName,,%GadmeiBDA.TS1DeviceName%

[TS2BDACapture.AddReg]

HKR,,CLSID,,%KSProxy.CLSID%

HKR,,FriendlyName,,%GadmeiBDA.TS2BDACapture%

[TS2BDADevice.AddReg]

HKR,,CLSID,,%KSProxy.CLSID%

HKR,,FriendlyName,,%GadmeiBDA.TS2DeviceName%

[PinNames.AddReg]

HKLM,%MediaCategories%\%GUID.PINNAME_AnalogAudioIn %,Name,,%Pin.AnalogAudioIn%

HKLM,%MediaCategories%\%GUID.PINNAME_AudioOut%,Nam e,,%Pin.AudioOut%

[GadmeiBDA.Device.NT.Services]

AddService = GadmeiBDA,0x00000002,GadmeiBDA.ServiceInstall

[GadmeiBDA.Device.NTamd64.Services]

AddService = GadmeiBDA,0x00000002,GadmeiBDA.ServiceInstall

[GadmeiBDA.ServiceInstall]

DisplayName = %GadmeiBDA.ServiceName%

ServiceType = 1

StartType = 3

ErrorControl = 1

ServiceBinary = %12%\UTVAD.sys

;---------------------------------------------------------------

; S t r i n g s

;---------------------------------------------------------------

[Strings]

KSProxy.CLSID= "{17CCA71B-ECD7-11D0-B908-00A0C9223196}"

KSXBar.CLSID= "{71F96460-78F3-11d0-A18C-00A0C9118956}"

KSTVAudio.CLSID= "{71F96462-78F3-11d0-A18C-00A0C9118956}"

KSTvTune.CLSID= "{266EEE40-6C63-11cf-8A03-00AA006ECB65}"

KSCATEGORY_CAPTURE= "{65E8773D-8F56-11D0-A3B9-00A0C9223196}"

KSCATEGORY_VIDEO= "{6994AD05-93EF-11D0-A3CC-00A0C9223196}"

KSCATEGORY_AUDIO= "{6994AD04-93EF-11D0-A3CC-00A0C9223196}"

KSCATEGORY_CROSSBAR= "{a799a801-a46d-11d0-a18c-00a02401dcd4}"

KSCATEGORY_TVAUDIO= "{a799a802-a46d-11d0-a18c-00a02401dcd4}"

KSCATEGORY_TVTUNER= "{a799a800-a46d-11d0-a18c-00a02401dcd4}"

KSCATEGORY_DEVICE_CTRL = "{CC7BFB46-F175-11d1-A392-00E0291F3959}"

KSCATEGORY_BDA_RECEIVER_COMPONENT= "{FD0A5AF4-B41D-11d2-9C95-00C04F7971E0}"

KSCATEGORY_BDA_NETWORK_TUNER= "{71985F48-1CA1-11d3-9CC8-00C04F7971E0}"

GUID_STREAMCAPTURE= "{13FC27E1-C28A-4270-BBC8-2DF754FC74F2}"

GUID_ANALOGVIDEODECODER= "{05352B3A-ADA0-42fe-A127-12F7F6E52A3C}"

GUID_TVAUDIO= "{430C3E41-1B20-4fd1-8F05-E9C1305B496D}"

GUID_XBAR= "{534D26A1-F563-4d44-A5E4-82D0671F6B6D}"

GUID_DEVICE_CONTROL_Filter = "{A139D962-F213-49e3-8E64-93C60D892597}"

;TS1

GUID_TS1_CAPTURE_FILTER = "{E50B8DDB-3327-4b37-86BE-D531017C5906}"

GUID_TS1_TUNER_FILTER = "{47B40D0C-9F71-4896-A29C-50C0E53A6508}"

;TS2

GUID_TS2_CAPTURE_FILTER = "{91453551-F17A-4b3c-AE00-A13383029E0B}"

GUID_TS2_TUNER_FILTER = "{74D646B8-D8BD-4450-890E-1CEC212840C4}"

MediaCategories="SYSTEM\CurrentControlSet\Control\ MediaCategories"

GUID.PINNAME_AnalogAudioIn="{611471C4-68CF-48bb-AD6A-5189101A08FB}"

GUID.PINNAME_AudioOut="{21EBB6E1-7062-4c60-9366-6AEF935BA738}"

;----------------

; Localizable

;----------------

ProviderName= "Gadmei Electronic Technology Corporation"

GadmeiBDA.Disk1= "Install Disk"

GadmeiBDA.ServiceName = "USB TV Device"

GadmeiBDA.DeviceDesc= "USB TV Device"

GadmeiBDA.Capture = "USB TV Device"

GadmeiBDA.AudioName = "Gadmei Analog Audio"

GadmeiBDA.TvTuner = "Gadmei Analog TvTuner"

GadmeiBDA.Crossbar = "Gadmei Analog Crossbar"

GadmeiBDA.TvAudio = "Gadmei Analog TvAudio"

Pin.AnalogVideoIn="Analog Video In"

Pin.AnalogAudioIn="Analog Audio In"

Pin.VideoOut="VideoOut"

Pin.AudioOut="AudioOut"

GadmeiBDA.DeviceControl.FriendlyName = "Gadmei Device Control Filter"

GadmeiBDA.TS1DeviceName= "BDA DTV Tuner 1"

GadmeiBDA.TS1BDACapture= "BDA DTV Capture 1"

GadmeiBDA.TS2DeviceName= "BDA DTV Tuner 2"

GadmeiBDA.TS2BDACapture= "BDA DTV Capture 2"



If adresses are under "OEM.AddReg" tag above then what command i should sent and how. (Example source code)



Are the usb tuner commands Generic?



On web Directx based Tuning software are avaialbe but they output video and audio. i wonder if directx be made to read I Q data directly from Chip. Is it possible?



How RTL2832U based chips output above and below FM range RF I Q signals, if using TV tuner front end then UTV382 (having no FM support) can also provide RF I Q signals if chips supports output of I Q Data. Is that true?

Please share if any software (source code) for retrieving the I Q Data for SDR implemetation from this device.



endpoints and device description is detailed below



Bus 001 Device 002: ID 1f71:3306

Couldn't open device, some information will be missing

Device Descriptor:

bLength 18

bDescriptorType 1

bcdUSB 2.00

bDeviceClass 0 (Defined at Interface level)

bDeviceSubClass 0

bDeviceProtocol 0

bMaxPacketSize0 64

idVendor 0x1f71

idProduct 0x3306

bcdDevice 1.00

iManufacturer 3

iProduct 4

iSerial 2

bNumConfigurations 1

Configuration Descriptor:

bLength 9

bDescriptorType 2

wTotalLength 83

bNumInterfaces 1

bConfigurationValue 1

iConfiguration 0

bmAttributes 0x80

(Bus Powered)

MaxPower 500mA

Interface Descriptor:

bLength 9

bDescriptorType 4

bInterfaceNumber 0

bAlternateSetting 0

bNumEndpoints 4

bInterfaceClass 255 Vendor Specific Class

bInterfaceSubClass 0

bInterfaceProtocol 255

iInterface 0

Endpoint Descriptor:

bLength 7

bDescriptorType 5

bEndpointAddress 0x81 EP 1 IN

bmAttributes 1

Transfer Type Isochronous

Synch Type None

Usage Type Data

wMaxPacketSize 0x0000 1x 0 bytes

bInterval 1

Endpoint Descriptor:

bLength 7

bDescriptorType 5

bEndpointAddress 0x82 EP 2 IN

bmAttributes 2

Transfer Type Bulk

Synch Type None

Usage Type Data

wMaxPacketSize 0x0200 1x 512 bytes

bInterval 0

Endpoint Descriptor:

bLength 7

bDescriptorType 5

bEndpointAddress 0x83 EP 3 IN

bmAttributes 2

Transfer Type Bulk

Synch Type None

Usage Type Data

wMaxPacketSize 0x0200 1x 512 bytes

bInterval 0

Endpoint Descriptor:

bLength 7

bDescriptorType 5

bEndpointAddress 0x84 EP 4 IN

bmAttributes 3

Transfer Type Interrupt

Synch Type None

Usage Type Data

wMaxPacketSize 0x0040 1x 64 bytes

bInterval 4

Interface Descriptor:

bLength 9

bDescriptorType 4

bInterfaceNumber 0

bAlternateSetting 1

bNumEndpoints 4

bInterfaceClass 255 Vendor Specific Class

bInterfaceSubClass 0

bInterfaceProtocol 255

iInterface 0

Endpoint Descriptor:

bLength 7

bDescriptorType 5

bEndpointAddress 0x81 EP 1 IN

bmAttributes 1

Transfer Type Isochronous

Synch Type None

Usage Type Data

wMaxPacketSize 0x1400 3x 1024 bytes

bInterval 1

Endpoint Descriptor:

bLength 7

bDescriptorType 5

bEndpointAddress 0x82 EP 2 IN

bmAttributes 2

Transfer Type Bulk

Synch Type None

Usage Type Data

wMaxPacketSize 0x0200 1x 512 bytes

bInterval 0

Endpoint Descriptor:

bLength 7

bDescriptorType 5

bEndpointAddress 0x83 EP 3 IN

bmAttributes 2

Transfer Type Bulk

Synch Type None

Usage Type Data

wMaxPacketSize 0x0100 1x 256 bytes

bInterval 0

Endpoint Descriptor:

bLength 7

bDescriptorType 5

bEndpointAddress 0x84 EP 4 IN

bmAttributes 3

Transfer Type Interrupt

Synch Type None

Usage Type Data

wMaxPacketSize 0x0040 1x 64 bytes

bInterval 4




Aucun commentaire:

Enregistrer un commentaire