Discussion:
ATI theatre 750 HD tuner USB stick
Fisher Grubb
2012-07-04 13:21:03 UTC
Permalink
Hi all,

My name is Fisher Grubb, I have an ATI (now AMD) theatre 750 HD based
TV tuner USB stick. I don't think this ATI chipset is supported by
linuxTV and have had no joy search google as others also hit a dead
end.

I have put USB bus dump for that device and the chip part numbers at the bottom.

Please may I have a quick reply if someone looks at this, thanks.

Model number is U5071, manufacturer site: http://www.geniatech.com/pa/u5071.asp

I think this is a very impressive piece of hardware as it can do:
Analogue TV, DVB, AV capture and S video capture. There is an IR
receiver on board and came with IR remote control.

I'm happy to provide any info on it that you may want such as picture
of board & chips. I'm almost finished my electronics degree and so
can do hardware probing if someone may give me something specific to
look for. I'm also happy to run software or commands to dump stuff or
even help with dumping things from the windows drivers if I've given
directions etc.

Thank you,

Fisher

lsusb: Bus 002 Device 021: ID 0438:ac14 Advanced Micro Devices, Inc.

sudo lsusb -vd 0438:ac14

Bus 002 Device 021: ID 0438:ac14 Advanced Micro Devices, Inc.
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 0 (Defined at Interface level)
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
idVendor 0x0438 Advanced Micro Devices, Inc.
idProduct 0xac14
bcdDevice 1.00
iManufacturer 1 AMD
iProduct 2 Cali TV Card
iSerial 3 1234-5678
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 97
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 0
bmAttributes 0x80
(Bus Powered)
MaxPower 500mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 5
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 255 Vendor Specific Subclass
bInterfaceProtocol 255 Vendor Specific Protocol
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 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 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 0x03 EP 3 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 3
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x84 EP 4 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 0x85 EP 5 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 1
bNumEndpoints 5
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 255 Vendor Specific Subclass
bInterfaceProtocol 255 Vendor Specific Protocol
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 0x03 EP 3 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 3
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x84 EP 4 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 0x85 EP 5 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Device Qualifier (for other device speed):
bLength 10
bDescriptorType 6
bcdUSB 2.00
bDeviceClass 0 (Defined at Interface level)
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
bNumConfigurations 1
Device Status: 0x0000
(Bus Powered)

Chips:
ATI:
T507
0930
MADE IN TAIWAN
P0U493.00
215-0692014

NXP:
TDA18271HDC2
P3KN4 02
PG09361
Fisher Grubb
2012-07-04 13:27:42 UTC
Permalink
Hi all,

I was in contact with AMD today regarding this tuner haveing no
support on Linux and I was given a link for a feedback form and told
to get specific needs from www.linuxtv.org to help the cause and if
there were enough people, then the AMD developers may help.

Of course I wouldn't be surprised if people will have to reverse
engineer it from the windows drivers but I thought I would mention it.
I could not find any info on this 750 HD on www.linuxtv.org regarding
where it stands. What help is needed for it?

Fisher
Post by Fisher Grubb
Hi all,
My name is Fisher Grubb, I have an ATI (now AMD) theatre 750 HD based
TV tuner USB stick. I don't think this ATI chipset is supported by
linuxTV and have had no joy search google as others also hit a dead
end.
I have put USB bus dump for that device and the chip part numbers at the bottom.
Please may I have a quick reply if someone looks at this, thanks.
Model number is U5071, manufacturer site: http://www.geniatech.com/pa/u5071.asp
Analogue TV, DVB, AV capture and S video capture. There is an IR
receiver on board and came with IR remote control.
I'm happy to provide any info on it that you may want such as picture
of board & chips. I'm almost finished my electronics degree and so
can do hardware probing if someone may give me something specific to
look for. I'm also happy to run software or commands to dump stuff or
even help with dumping things from the windows drivers if I've given
directions etc.
Thank you,
Fisher
lsusb: Bus 002 Device 021: ID 0438:ac14 Advanced Micro Devices, Inc.
sudo lsusb -vd 0438:ac14
Bus 002 Device 021: ID 0438:ac14 Advanced Micro Devices, Inc.
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 0 (Defined at Interface level)
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
idVendor 0x0438 Advanced Micro Devices, Inc.
idProduct 0xac14
bcdDevice 1.00
iManufacturer 1 AMD
iProduct 2 Cali TV Card
iSerial 3 1234-5678
bNumConfigurations 1
bLength 9
bDescriptorType 2
wTotalLength 97
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 0
bmAttributes 0x80
(Bus Powered)
MaxPower 500mA
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 5
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 255 Vendor Specific Subclass
bInterfaceProtocol 255 Vendor Specific Protocol
iInterface 0
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
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
bLength 7
bDescriptorType 5
bEndpointAddress 0x03 EP 3 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 3
bLength 7
bDescriptorType 5
bEndpointAddress 0x84 EP 4 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
bLength 7
bDescriptorType 5
bEndpointAddress 0x85 EP 5 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 1
bNumEndpoints 5
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 255 Vendor Specific Subclass
bInterfaceProtocol 255 Vendor Specific Protocol
iInterface 0
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
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
bLength 7
bDescriptorType 5
bEndpointAddress 0x03 EP 3 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 3
bLength 7
bDescriptorType 5
bEndpointAddress 0x84 EP 4 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
bLength 7
bDescriptorType 5
bEndpointAddress 0x85 EP 5 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
bLength 10
bDescriptorType 6
bcdUSB 2.00
bDeviceClass 0 (Defined at Interface level)
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
bNumConfigurations 1
Device Status: 0x0000
(Bus Powered)
T507
0930
MADE IN TAIWAN
P0U493.00
215-0692014
TDA18271HDC2
P3KN4 02
PG09361
Devin Heitmueller
2012-07-04 13:48:13 UTC
Permalink
Post by Fisher Grubb
I was in contact with AMD today regarding this tuner haveing no
support on Linux and I was given a link for a feedback form and told
to get specific needs from www.linuxtv.org to help the cause and if
there were enough people, then the AMD developers may help.
I'm not sure why they would direct you to linuxtv.org. *They* are the
ones with all the information that the linuxtv community would need.
Post by Fisher Grubb
Of course I wouldn't be surprised if people will have to reverse
engineer it from the windows drivers but I thought I would mention it.
I could not find any info on this 750 HD on www.linuxtv.org regarding
where it stands. What help is needed for it?
1. Datasheets for the 750 (under NDA is fine), but they need to agree
to allow them to be used to author a GPL driver.
2. Reference driver sources which can be legally incorporated into a
GPL driver.
3. Firmware with a license that permits free redistribution.

I attempted to work with them back in 2009 on the T316 chip (an
ATSC/ClearQAM demodulator), and they couldn't provide all of the
above. Perhaps things have changed since then but I doubt it (in
particular, the sale of their TV chip unit to Broadcom left all sorts
of unknowns regarding who owns the relevant intellectual property).

Finally, even if you get the above, there still needs to be some
developer who has the time/interest to do the work. While three years
ago the big challenge was getting access to the datasheets, nowadays a
much bigger problem is there are no developers who are both qualified
and not already too busy with other work. Bootstrapping a new chip
like that is probably a 50-100 hour investment for somebody who is
experienced in this area, which is a fairly big chunk of time if the
developer doesn't have any vested interest.

Devin
--
Devin J. Heitmueller - Kernel Labs
http://www.kernellabs.com
Alex Deucher
2012-07-04 13:51:58 UTC
Permalink
Post by Fisher Grubb
Hi all,
I was in contact with AMD today regarding this tuner haveing no
support on Linux and I was given a link for a feedback form and told
to get specific needs from www.linuxtv.org to help the cause and if
there were enough people, then the AMD developers may help.
Of course I wouldn't be surprised if people will have to reverse
engineer it from the windows drivers but I thought I would mention it.
I could not find any info on this 750 HD on www.linuxtv.org regarding
where it stands. What help is needed for it?
Unfortunately, I don't think there is much AMD can do. We sold our
multimedia DTV division to Broadcom several years ago. IANAL, so I
don't know exactly what rights we retained for the IP. You may need
to talk to Broadcom now.

Alex
Post by Fisher Grubb
Fisher
Post by Fisher Grubb
Hi all,
My name is Fisher Grubb, I have an ATI (now AMD) theatre 750 HD based
TV tuner USB stick. I don't think this ATI chipset is supported by
linuxTV and have had no joy search google as others also hit a dead
end.
I have put USB bus dump for that device and the chip part numbers at the bottom.
Please may I have a quick reply if someone looks at this, thanks.
Model number is U5071, manufacturer site: http://www.geniatech.com/pa/u5071.asp
Analogue TV, DVB, AV capture and S video capture. There is an IR
receiver on board and came with IR remote control.
I'm happy to provide any info on it that you may want such as picture
of board & chips. I'm almost finished my electronics degree and so
can do hardware probing if someone may give me something specific to
look for. I'm also happy to run software or commands to dump stuff or
even help with dumping things from the windows drivers if I've given
directions etc.
Thank you,
Fisher
lsusb: Bus 002 Device 021: ID 0438:ac14 Advanced Micro Devices, Inc.
sudo lsusb -vd 0438:ac14
Bus 002 Device 021: ID 0438:ac14 Advanced Micro Devices, Inc.
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 0 (Defined at Interface level)
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
idVendor 0x0438 Advanced Micro Devices, Inc.
idProduct 0xac14
bcdDevice 1.00
iManufacturer 1 AMD
iProduct 2 Cali TV Card
iSerial 3 1234-5678
bNumConfigurations 1
bLength 9
bDescriptorType 2
wTotalLength 97
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 0
bmAttributes 0x80
(Bus Powered)
MaxPower 500mA
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 5
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 255 Vendor Specific Subclass
bInterfaceProtocol 255 Vendor Specific Protocol
iInterface 0
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
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
bLength 7
bDescriptorType 5
bEndpointAddress 0x03 EP 3 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 3
bLength 7
bDescriptorType 5
bEndpointAddress 0x84 EP 4 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
bLength 7
bDescriptorType 5
bEndpointAddress 0x85 EP 5 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 1
bNumEndpoints 5
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 255 Vendor Specific Subclass
bInterfaceProtocol 255 Vendor Specific Protocol
iInterface 0
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
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
bLength 7
bDescriptorType 5
bEndpointAddress 0x03 EP 3 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 3
bLength 7
bDescriptorType 5
bEndpointAddress 0x84 EP 4 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
bLength 7
bDescriptorType 5
bEndpointAddress 0x85 EP 5 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
bLength 10
bDescriptorType 6
bcdUSB 2.00
bDeviceClass 0 (Defined at Interface level)
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
bNumConfigurations 1
Device Status: 0x0000
(Bus Powered)
T507
0930
MADE IN TAIWAN
P0U493.00
215-0692014
TDA18271HDC2
P3KN4 02
PG09361
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
More majordomo info at http://vger.kernel.org/majordomo-info.html
Antti Palosaari
2012-07-04 14:33:28 UTC
Permalink
Post by Fisher Grubb
Of course I wouldn't be surprised if people will have to reverse
engineer it from the windows drivers but I thought I would mention it.
I could not find any info on this 750 HD on www.linuxtv.org regarding
where it stands. What help is needed for it?
Post by Fisher Grubb
T507
0930
MADE IN TAIWAN
P0U493.00
215-0692014
T507 driver is the missing piece. I suspect that SoC integrates many
chips, USB-bridge (with IR etc.), DVB-T demodulator and analog decoder.
Getting it work as DVB-T device is not mission impossible even without a
specs. Reverse-engineering is fun ;-)

Generally speaking DVB-bridge is very simple, no problems at all to
reverse. DVB demodulator is little bit harder but still possible without
loosing even sensitivity. What you lose is configuration options like
how IF frequency, SNR, BER is calculated. Tuners are most tricky as
there is all kind of calibration routines etc. but in that case tuner
driver exists.
Post by Fisher Grubb
Post by Fisher Grubb
TDA18271HDC2
P3KN4 02
PG09361
That TDA18271 driver already exists - even two different drivers.

regards
Antti
--
http://palosaari.fi/
Joshua Roys
2012-07-23 16:13:58 UTC
Permalink
Post by Fisher Grubb
Hi all,
My name is Fisher Grubb, I have an ATI (now AMD) theatre 750 HD based
TV tuner USB stick. I don't think this ATI chipset is supported by
linuxTV and have had no joy search google as others also hit a dead
end.
Hello,

I'm working on writing a partial userspace driver for this device from
traffic dumps presently. I believe that it supports / performs similar
functions to the rtl-sdr project, but with better specifications (minus
the great tuner range of the E4000). See
https://github.com/roysjosh/tvw-sdr for current progress. I suspect it
can send 8MHz at 12 bits resolution (it sends roughly 125Mbps through
the USB interface when listening to an FM station).

Currently, my code initializes the T507 and uploads the firmware blob(s)
and all register readouts match. Also, my code does it in under 2
seconds (including a 1 second sleep after the 2nd blob upload) compared
to the over 45 seconds the closed driver needs. I can reach the TDA18271
through an I2C bridge, but I don't configure it yet. I'm considering how
to use existing code rather than write my own from scratch, as much code
already exists (as was mentioned already).

I would love some help, especially from people who are able to safely RE
without legal issues.

Thanks,

Josh

Loading...