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.Registration.NT,BDA.Installation.NT,WDMAUDIO.Registration.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.Registration.NT,BDA.Installation.NT,WDMAUDIO.Registration.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.FriendlyName%
[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%,Name,,%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