View Full Version : Af9015
arnebaier
November 8th, 2007, 01:57 AM
Hi, I am trying to get an AfaTech AF9015 chip (USB stick) up and running, but mythbuntu doesn't seem to recognize it as a DVB-T source. Who can help?
mvirkkil
January 14th, 2008, 08:47 AM
The chip AF9015 is not supported yet.
As you might know the linux-dvb project (http://www.linuxtv.org) develops support for different DVB-chips. One of the people working on it has created a driver to support the AF9015 chip, and you might be able to use it. The sourcecode for the driver can be found in his mercurial repository at http://linuxtv.org/hg/~anttip/af9015/ and the firmware is at http://otit.fi/~crope/v4l-dvb/af9015/af9015_firmware_cutter/firmware_files/
Please note that getting this to work means you probably need to get the development version of the linux kernel dvb subsystem, patch it and compile it.
Eventually the support will probably get in to linux-dvb and Linux in general but at the moment getting the AF9015 to work is a bit challenging.
seanemerald
January 29th, 2008, 08:44 AM
So once I run "make install" on the downloaded files mentioned above, will the tuner automatically be recognized in mythbuntu or any other media center?
mvirkkil
January 30th, 2008, 11:08 AM
What I did to get it working was (iirc):
- download and extract sources from http://linuxtv.org/hg/~anttip/af9015/archive/ca6a41d1798b.tar.bz2
- compile, you need at least the build-essentials and kernel-headers packages, you will find the compiled kernel modules (*.ko) in the v4l directory
- remove any dvb or v4l kernel modules you currently have loaded in your kernel (lsmod and "modprobe --remove")
- insert the newly compiled modules in to your kernel "sudo insmod ./v4l2-core.ko" etc.
I don't exactly remember which modules I loaded to get it to work. If you get any error like undefined symbol, check dmesg for more information. What I remember is that I needed to modprobe i2c-core, and to insmod at least dvb-usb. the af9013 -frontend and mt2060 and maybe qt1010. Oh and of course af9015. I also added a bunch more because of dependencies revealed by "undefined symbol" messages.
You also need to place the firmware file in /lib/firmware
motumboe
January 31st, 2008, 10:13 AM
@mvirkkil
So you got a tv tuner with af9015 to work??? great!
what is the usb id of your tuner (obtain e.g. with lsusb?)
cheers
motumboe
January 31st, 2008, 10:15 AM
I'm trying to get it working on a Terratec USB T XE tuner but at the moment without success.
USB ID 0ccd 0069
mvirkkil
February 4th, 2008, 11:08 AM
Install at least the following packages
build-essential
linux-headers-generic
dvb-utils
- Download the firmware to /lib/firmware/dvb-usb-af9015.fw
- remove any loaded v4l and dvb modules from your kernel
* first check what modules are loaded by issuing 'lsmod'
* remove modules by calling modprobe --remove modulename
ex: 'sudo modprobe --remove v4l2_common'
* if you get the error message "FATAL: Module v4lsomething is in use.", check which module is using it, and remove that one first.
- Download and unpack af9015-ca6a41d1798b.tar.bz2
- go to the af9015-ca6a41d1798b directory
- run `make`
- go to the subdirectory v4l (typing ls *.ko should show a whole bunch of kernel modules)
- 'sudo modprobe i2c-core'
- 'sudo insmod ./dvb-core.ko'
- 'sudo insmod ./dvb-usb.ko'
- 'sudo insmod ./mt2060.ko'
- 'sudo insmod ./qt1010.ko'
- 'sudo insmod ./af9013.ko'
- 'sudo insmod ./dvb-usb-af9015.ko'
Note: If you get something like "symbol not found (-1)" while insmod:ing the modules, check dmesg for the details and try to figure which module you are missing.
When you input the usb stick you should see the following messages:
af9015_usb_probe:
af9015_identify_state: reply:01
dvb-usb: found a 'Afatech AF9015 DVB-T USB2.0 stick' in cold state, will try to load a firmware
dvb-usb: downloading firmware from file 'dvb-usb-af9015.fw'
af9015_download_firmware:
dvb-usb: found a 'Afatech AF9015 DVB-T USB2.0 stick' in warm state.
dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer.
DVB: registering new adapter (Afatech AF9015 DVB-T USB2.0 stick)
af9015_eeprom_dump:
00: 2c 75 9b 0b 00 00 00 00 a4 15 16 90 00 02 01 02
10: 00 80 00 fa fa 10 40 ef 01 30 31 30 31 31 30 30
20: 34 30 36 30 30 30 30 31 ff ff ff ff ff ff ff ff
30: 00 00 3a 01 00 08 02 00 1d 8d c4 04 82 ff ff ff
40: ff ff ff ff ff 08 02 00 1d 8d c4 04 82 ff ff ff
50: ff ff ff ff ff 24 00 00 04 03 09 04 10 03 41 00
60: 66 00 61 00 74 00 65 00 63 00 68 00 10 03 44 00
70: 56 00 42 00 2d 00 54 00 20 00 32 00 20 03 30 00
80: 31 00 30 00 31 00 31 00 30 00 30 00 34 00 30 00
90: 36 00 30 00 30 00 30 00 30 00 31 00 00 ff ff ff
a0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
b0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
c0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
d0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
e0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
f0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
af9015_read_config: xtal:2 set adc_clock:28000
af9015_read_config: tuner id1:130
af9015_read_config: spectral inversion:0
af9015_set_gpios:
af9013: firmware version:4.95.0
DVB: registering frontend 0 (Afatech AF9013 DVB-T)...
af9015_tuner_attach:
af9015_mt2060_tuner_attach:
MT2060: successfully identified (IF1 = 1220)
dvb-usb: Afatech AF9015 DVB-T USB2.0 stick successfully initialized and connected.
af9015_init:
af9015_download_ir_table:
usbcore: registered new interface driver dvb_usb_af9015
Writing 'ls /dev/dvb/adapter0' should show
demux0 dvr0 frontend0 net0
Ok, so next you will need a channels.conf file. To generate it you should use the command (replace xx-CityName with something more suitable):
'scan /usr/share/doc/dvb-utils/examples/scan/dvb-t/xx-CityName > channels.conf'
I haven't tested it very heavily, just by using xine. I couldn't get the radio channels to work in xine so I simply removed them from the config file.
To test it with xine copy the channels.conf file to the .xine directory. Start xine and press the dvb button.
There is currently no support for the remote controller, so I have not inserted the modules that the remote would use (probably ir-common.ko and ir-kbd-i2c.ko).
'lsusb -v' shows the following info about the stick:
Bus 007 Device 002: ID 15a4:9016
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 0 (Defined at Interface level)
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
idVendor 0x15a4
idProduct 0x9016
bcdDevice 2.00
iManufacturer 1 Afatech
iProduct 2 DVB-T 2
iSerial 0
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 71
bNumInterfaces 2
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 0
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 0x02 EP 2 OUT
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 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 1
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 3 Human Interface Devices
bInterfaceSubClass 0 No Subclass
bInterfaceProtocol 1 Keyboard
iInterface 0
HID Device Descriptor:
bLength 9
bDescriptorType 33
bcdHID 1.01
bCountryCode 0 Not supported
bNumDescriptors 1
bDescriptorType 34 Report
wDescriptorLength 65
Report Descriptors:
** UNAVAILABLE **
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x83 EP 3 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 16
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)
teetee
February 4th, 2008, 01:18 PM
When trying to install af9015-ca6a41d1798b (or v4l) I'll get:
/home/tt/asennus/AlinkUSBdigi/af9015-ca6a41d1798b/v4l/saa7134-core.c: In function 'saa7134_resume':
/home/tt/asennus/AlinkUSBdigi/af9015-ca6a41d1798b/v4l/saa7134-core.c:1348: error: size of array 'type name' is negative
/home/tt/asennus/AlinkUSBdigi/af9015-ca6a41d1798b/v4l/saa7134-core.c:1348: warning: comparison of distinct pointer types lacks a cast
/home/tt/asennus/AlinkUSBdigi/af9015-ca6a41d1798b/v4l/saa7134-core.c:1362: error: size of array 'type name' is negative
/home/tt/asennus/AlinkUSBdigi/af9015-ca6a41d1798b/v4l/saa7134-core.c:1362: warning: comparison of distinct pointer types lacks a cast
make[3]: *** [/home/tt/asennus/AlinkUSBdigi/af9015-ca6a41d1798b/v4l/saa7134-core.o] Error 1
make[2]: *** [_module_/home/tt/asennus/AlinkUSBdigi/af9015-ca6a41d1798b/v4l] Error 2
make[2]: Leaving directory `/usr/src/linux-headers-2.6.22-14-rt'
make[1]: *** [default] Virhe 2
make[1]: Poistutaan hakemistosta "/home/tt/asennus/AlinkUSBdigi/af9015-ca6a41d1798b/v4l"
make: *** [all] Virhe 2
And that "Virhe" is Error...
teetee
February 4th, 2008, 01:32 PM
And by the way, from where can I found firmware that is needed here?
http://otit.fi/~crope/v4l-dvb/af9015/af9015_firmware_cutter/firmware_files/
Won't open...
Edit: And should that firmware be located at /lib/firmware/dvb-usb-af9015.fw before starting to do anything else?
motumboe
February 5th, 2008, 03:27 AM
mvirkkil,
thank you very much for your really detailed explanation! This evening I'll try it!
Thank you again,
Marco
motumboe
February 5th, 2008, 03:30 AM
When trying to install af9015-ca6a41d1798b (or v4l) I'll get:
And that "Virhe" is Error...
teetee, check out if this is the problem:
http://linuxtv.org/wiki/index.php/Afatech_AF9015
For devices based on the MT2060 tuner (such as the Geniatech T328B) you may need to patch the file MT2060M.h in the following way:
replace
typedef unsigned long UData_t;
with
typedef unsigned int UData_t;
Then compile, install, modprobe dvb_usb_af9015 and you are finished.
teetee
February 5th, 2008, 11:05 AM
OK.
Where that MT2060M.h -file can be found? I have found:
mt20xx.h, mt2060.h and mt2060_priv.h -files (in several places, actually).
So if it some one of those, then in what directory file needed to patch is located?
Thanks.
Edit:
Hmm. Maybe I have tried with wrong drivers? Now I got drivers from here:
http://af.zsolttech.com/
teetee
February 5th, 2008, 11:33 AM
Ok. Now I have installed drivers. Nice...
dmesg | grep dvb
[ 4090.537745] dvb-usb: found a 'Afatech USB2.0 DVB-T Recevier' in warm state.
[ 4090.539739] dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer.
[ 4090.543733] dvb-usb: Afatech USB2.0 DVB-T Recevier successfully initialized and connected.
[ 4090.543759] usbcore: registered new interface driver dvb_usb_af901x
Is anything else needed to install? Well, next I will try to use this one also. So I will try to find something to watch...
teetee
February 5th, 2008, 12:08 PM
It seems that it is now working. Badly, but working anyway...
There is lot of errors (or something) in audio and video. Also all channels cannot be found. And I have my house's antenna attached.
teetee
February 5th, 2008, 12:47 PM
If anybody know place to get firmware for AF9015 let me know... (maybe I should get correct firmware to get better quality?)
Also I am wondering if my USB-port cannot give enough power, but I will get very soon USB-hub to test, so I will find that out.
Edit: USB-hub didn't help.
motumboe
February 5th, 2008, 05:44 PM
unfortunately my tuner uses mc44s803 from freescale, I'll try a different way http://linuxtv.org/pipermail/linux-dvb/2007-September/020689.html
thanks anyway again.
mvirkkil
February 11th, 2008, 12:39 PM
Try the followin address instead:
http://www.otit.fi/~crope/v4l-dvb/af9015/af9015_firmware_cutter/firmware_files/4.95.0/dvb-usb-af9015.fw
ceminino
February 14th, 2008, 02:47 PM
I don't speak spanish but I managed to make it work thanks to this page, it's quite easy actually! Just copy paste!
http://www.ubuntu-es.org/index.php?q=node/76680
though I didn't figure out how to make it work with vlc but mplayer /dev/dvb/adapter0/dvr0 works.
mvirkkil
February 15th, 2008, 09:45 AM
FYI: Antti added support for the remote control which comes with the af9015. I don't have the remote control so I cannot test or give additional instructions, but I figured someone might be interested in trying it out. http://linuxtv.org/hg/~anttip/af9015/
ceminino
February 19th, 2008, 07:54 AM
damn! installing the tuner somehow destroyed the webcam, The module uvcvideo.ko can't be loaded anymore!
FATAL: Error inserting uvcvideo (/lib/modules/2.6.22-14-generic/ubuntu/media/usbvideo/uvcvideo.ko): Unknown symbol in module, or unknown parameter (see dmesg)
damn!
mvirkkil
February 25th, 2008, 12:30 PM
The reason why the webcam stopped working is that you inserted your own video4linux modules, and the uvcvideo module is compiled against the ubuntu video4linux. This is not really a bug or a problem. You cannot mix and match different versions of the video4linux. To get it to work, you would need to get the uvcvideo module's sources and compile against your version of the video4linux.
Hopey
May 19th, 2008, 08:48 AM
I got some strange problem with this. I compile the modules, install them, and dmesg gives me all the usual stuff and in the end:
[ 3269.339841] d0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[ 3269.365453] e0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[ 3269.391437] f0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[ 3269.392937] af9015_read_config: xtal:2 set adc_clock:28000
[ 3269.396064] af9015_read_config: IF1:36125
[ 3269.399190] af9015_read_config: MT2060 IF1:1220
[ 3269.400683] af9015_read_config: tuner id1:130
[ 3269.402181] af9015_read_config: spectral inversion:0
[ 3269.403679] af9013: firmware version:4.95.0
[ 3269.403687] DVB: registering frontend 0 (Afatech AF9013 DVB-T)...
[ 3269.403746] af9015_tuner_attach:
[ 3269.403751] af9015_set_gpio: gpio:3 gpioval:03
[ 3269.407536] MT2060: successfully identified (IF1 = 1220)
[ 3269.882659] dvb-usb: Afatech AF9015 DVB-T USB2.0 stick successfully initialized and connected.
[ 3269.882669] af9015_init:
[ 3269.882672] af9015_init_endpoint: USB speed:3
[ 3269.888161] af9015_download_ir_table:
[ 3269.956057] input: MSI MSI K-VOX as /devices/pci0000:00/0000:00:1d.7/usb5/5-5/5-5:1.1/input/input20
[ 3270.003593] input,hidraw1: USB HID v1.01 Keyboard [MSI MSI K-VOX] on usb-0000:00:1d.7-5
See the last lines about some MSI input keyboard. That happens every time I plug the dvb-t stick. lsusb -v doesn't show the dvb-t installed, but it shows the keyboard that I don't have. Is this some kind of conflict? How could I resolve it?
ernstkl
June 21st, 2008, 03:51 AM
the keyboard device you see is the representation of the remote control input from the dvb-t stick
dagrende
August 18th, 2008, 04:12 PM
Hi,
Thank you mvirkkil for the guide that made my af9015 work!
Now I would like a permanent working af9015 even after a reboot.
The funny thing is that is I check out af9015 and make make; sudo make install, it doesn't work.
But it works if I do as mvirkkil said:
cd v4l
sudo modprobe i2c-core
sudo insmod ./dvb-core.ko
sudo insmod ./dvb-usb.ko
sudo insmod ./mt2060.ko
sudo insmod ./qt1010.ko
sudo insmod ./af9013.ko
sudo insmod ./dvb-usb-af9015.ko
dmesg on device insert in this case (when it works):
Aug 18 22:04:51 tp kernel: [ 759.781462] usb 4-2: new high speed USB device using ehci_hcd and address 38
Aug 18 22:04:51 tp kernel: [ 759.934742] usb 4-2: configuration #1 chosen from 1 choice
Aug 18 22:04:51 tp kernel: [ 759.935218] af9015_usb_probe: interface:0
Aug 18 22:04:51 tp kernel: [ 759.960194] af9015_read_config: IR mode:1
Aug 18 22:04:51 tp kernel: [ 759.961971] af9015_read_config: TS mode:0
Aug 18 22:04:51 tp kernel: [ 759.963982] af9015_read_config: [0] xtal:2 set adc_clock:28000
Aug 18 22:04:51 tp kernel: [ 759.967843] af9015_read_config: [0] IF1:36125
Aug 18 22:04:51 tp kernel: [ 759.970998] af9015_read_config: [0] MT2060 IF1:1220
Aug 18 22:04:51 tp kernel: [ 759.972532] af9015_read_config: [0] tuner id:130
Aug 18 22:04:51 tp kernel: [ 759.973265] af9015_identify_state: reply:01
Aug 18 22:04:51 tp kernel: [ 759.973274] dvb-usb: found a 'Afatech AF9015 DVB-T USB2.0 stick' in cold state, will try to load a firmware
Aug 18 22:04:51 tp kernel: [ 759.999217] dvb-usb: downloading firmware from file 'dvb-usb-af9015.fw'
Aug 18 22:04:51 tp kernel: [ 759.999226] af9015_download_firmware:
Aug 18 22:04:51 tp kernel: [ 760.083687] af9015_usb_probe: interface:1
Aug 18 22:04:51 tp kernel: [ 760.083749] usb 4-2: USB disconnect, address 38
Aug 18 22:04:51 tp kernel: [ 760.103630] af9015_usb_device_exit:
Aug 18 22:04:51 tp kernel: [ 760.103635] dvb-usb: generic DVB-USB module successfully deinitialized and disconnected.
Aug 18 22:04:51 tp kernel: [ 760.103697] af9015_usb_device_exit:
Aug 18 22:04:51 tp kernel: [ 760.103699] dvb-usb: generic DVB-USB module successfully deinitialized and disconnected.
Aug 18 22:04:51 tp kernel: [ 760.196143] usb 4-2: new high speed USB device using ehci_hcd and address 39
Aug 18 22:04:52 tp kernel: [ 760.350085] usb 4-2: configuration #1 chosen from 1 choice
Aug 18 22:04:52 tp kernel: [ 760.350580] af9015_usb_probe: interface:0
Aug 18 22:04:52 tp kernel: [ 760.351997] af9015_read_config: IR mode:1
Aug 18 22:04:52 tp kernel: [ 760.361579] af9015_read_config: TS mode:0
Aug 18 22:04:52 tp kernel: [ 760.363239] af9015_read_config: [0] xtal:2 set adc_clock:28000
Aug 18 22:04:52 tp kernel: [ 760.367877] af9015_read_config: [0] IF1:36125
Aug 18 22:04:52 tp kernel: [ 760.370952] af9015_read_config: [0] MT2060 IF1:1220
Aug 18 22:04:52 tp kernel: [ 760.372499] af9015_read_config: [0] tuner id:130
Aug 18 22:04:52 tp kernel: [ 760.372941] af9015_identify_state: reply:02
Aug 18 22:04:52 tp kernel: [ 760.372948] dvb-usb: found a 'Afatech AF9015 DVB-T USB2.0 stick' in warm state.
Aug 18 22:04:52 tp kernel: [ 760.373024] dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer.
Aug 18 22:04:52 tp kernel: [ 760.373848] DVB: registering new adapter (Afatech AF9015 DVB-T USB2.0 stick)
Aug 18 22:04:52 tp kernel: [ 760.374240] af9015_af9013_frontend_attach: init I2C
Aug 18 22:04:52 tp kernel: [ 760.374245] af9015_i2c_init:
Aug 18 22:04:52 tp kernel: [ 760.402480] 00: 2c 1a 97 0b 00 00 00 00 a4 15 16 90 00 02 01 02
Aug 18 22:04:52 tp kernel: [ 760.434136] 10: 00 80 00 fa fa 10 40 ef 01 30 31 30 31 30 34 30
Aug 18 22:04:52 tp kernel: [ 760.461589] 20: 31 30 38 30 30 30 30 31 ff ff ff ff ff ff ff ff
Aug 18 22:04:52 tp kernel: [ 760.480674] 30: 00 00 3a 01 00 08 02 00 1d 8d c4 04 82 ff ff ff
Aug 18 22:04:52 tp kernel: [ 760.494160] 40: ff ff ff ff ff 08 02 00 1d 8d c4 04 82 ff ff ff
Aug 18 22:04:52 tp kernel: [ 760.508045] 50: ff ff ff ff ff 24 00 00 04 03 09 04 10 03 41 00
Aug 18 22:04:52 tp kernel: [ 760.521327] 60: 66 00 61 00 74 00 65 00 63 00 68 00 0c 03 44 00
Aug 18 22:04:52 tp kernel: [ 760.534550] 70: 56 00 42 00 2d 00 54 00 20 03 30 00 31 00 30 00
Aug 18 22:04:52 tp kernel: [ 760.547674] 80: 31 00 30 00 31 00 30 00 31 00 30 00 36 00 30 00
Aug 18 22:04:52 tp kernel: [ 760.561136] 90: 30 00 30 00 30 00 31 00 00 ff ff ff ff ff ff ff
Aug 18 22:04:52 tp kernel: [ 760.574383] a0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
Aug 18 22:04:52 tp kernel: [ 760.589803] b0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
Aug 18 22:04:52 tp kernel: [ 760.603388] c0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
Aug 18 22:04:52 tp kernel: [ 760.618904] d0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
Aug 18 22:04:52 tp kernel: [ 760.640390] e0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
Aug 18 22:04:52 tp kernel: [ 760.664482] f0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
Aug 18 22:04:52 tp kernel: [ 760.667478] af9013: firmware version:4.95.0
Aug 18 22:04:52 tp kernel: [ 760.673472] DVB: registering frontend 0 (Afatech AF9013 DVB-T)...
Aug 18 22:04:52 tp kernel: [ 760.673522] af9015_tuner_attach:
Aug 18 22:04:52 tp kernel: [ 760.675948] MT2060: successfully identified (IF1 = 1220)
Aug 18 22:04:53 tp kernel: [ 761.246316] dvb-usb: Afatech AF9015 DVB-T USB2.0 stick successfully initialized and connected.
Aug 18 22:04:53 tp kernel: [ 761.246328] af9015_init:
Aug 18 22:04:53 tp kernel: [ 761.246331] af9015_init_endpoint: USB speed:3
Aug 18 22:04:53 tp kernel: [ 761.257393] af9015_download_ir_table:
Aug 18 22:04:53 tp kernel: [ 761.260374] input: Afatech DVB-T as /devices/pci0000:00/0000:00:1d.7/usb4/4-2/4-2:1.1/input/input32
Aug 18 22:04:53 tp kernel: [ 761.362194] input,hidraw0: USB HID v1.01 Keyboard [Afatech DVB-T] on usb-0000:00:1d.7-2
When I did only make;sudo make install (and it does NOT work) I get dmesg on device insert:
Aug 18 22:01:53 tp kernel: [ 729.692630] usb 4-2: new high speed USB device using ehci_hcd and address 36
Aug 18 22:01:53 tp kernel: [ 729.846042] usb 4-2: configuration #1 chosen from 1 choice
Aug 18 22:01:53 tp kernel: [ 729.846471] af9015_usb_probe: interface:0
Aug 18 22:01:53 tp kernel: [ 729.847824] af9015_read_config: IR mode:1
Aug 18 22:01:53 tp kernel: [ 729.858341] af9015_read_config: TS mode:0
Aug 18 22:01:53 tp kernel: [ 729.860055] af9015_read_config: [0] xtal:2 set adc_clock:28000
Aug 18 22:01:53 tp kernel: [ 729.864829] af9015_read_config: [0] IF1:36125
Aug 18 22:01:53 tp kernel: [ 729.867861] af9015_read_config: [0] MT2060 IF1:1220
Aug 18 22:01:53 tp kernel: [ 729.869369] af9015_read_config: [0] tuner id:130
Aug 18 22:01:53 tp kernel: [ 729.869931] af9015_identify_state: reply:01
Aug 18 22:01:53 tp kernel: [ 729.869938] dvb-usb: found a 'Afatech AF9015 DVB-T USB2.0 stick' in cold state, will try to load a firmware
Aug 18 22:01:53 tp kernel: [ 729.884530] dvb-usb: downloading firmware from file 'dvb-usb-af9015.fw'
Aug 18 22:01:53 tp kernel: [ 729.884539] af9015_download_firmware:
Aug 18 22:01:54 tp kernel: [ 729.957170] af9015_usb_probe: interface:1
Aug 18 22:01:54 tp kernel: [ 729.957305] usb 4-2: USB disconnect, address 36
Aug 18 22:01:54 tp kernel: [ 729.961905] af9015_usb_device_exit:
Aug 18 22:01:54 tp kernel: [ 729.961913] dvb-usb: generic DVB-USB module successfully deinitialized and disconnected.
Aug 18 22:01:54 tp kernel: [ 729.962053] af9015_usb_device_exit:
Aug 18 22:01:54 tp kernel: [ 729.962056] dvb-usb: generic DVB-USB module successfully deinitialized and disconnected.
Aug 18 22:01:54 tp kernel: [ 730.059946] usb 4-2: new high speed USB device using ehci_hcd and address 37
Aug 18 22:01:54 tp kernel: [ 730.214357] usb 4-2: configuration #1 chosen from 1 choice
Aug 18 22:01:54 tp kernel: [ 730.214766] af9015_usb_probe: interface:0
Aug 18 22:01:54 tp kernel: [ 730.216244] af9015_read_config: IR mode:1
Aug 18 22:01:54 tp kernel: [ 730.217866] af9015_read_config: TS mode:0
Aug 18 22:01:54 tp kernel: [ 730.220446] af9015_read_config: [0] xtal:2 set adc_clock:28000
Aug 18 22:01:54 tp kernel: [ 730.223514] af9015_read_config: [0] IF1:36125
Aug 18 22:01:54 tp kernel: [ 730.226482] af9015_read_config: [0] MT2060 IF1:1220
Aug 18 22:01:54 tp kernel: [ 730.227977] af9015_read_config: [0] tuner id:130
Aug 18 22:01:54 tp kernel: [ 730.228476] af9015_identify_state: reply:02
Aug 18 22:01:54 tp kernel: [ 730.228479] dvb-usb: found a 'Afatech AF9015 DVB-T USB2.0 stick' in warm state.
Aug 18 22:01:54 tp kernel: [ 730.228510] dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer.
Aug 18 22:01:54 tp kernel: [ 730.228832] DVB: registering new adapter (Afatech AF9015 DVB-T USB2.0 stick)
Aug 18 22:01:54 tp kernel: [ 730.229008] af9015_af9013_frontend_attach: init I2C
Aug 18 22:01:54 tp kernel: [ 730.229010] af9015_i2c_init:
Aug 18 22:01:54 tp kernel: [ 730.258153] 00: 2c 1a 97 0b 00 00 00 00 a4 15 16 90 00 02 01 02
Aug 18 22:01:54 tp kernel: [ 730.285104] 10: 00 80 00 fa fa 10 40 ef 01 30 31 30 31 30 34 30
Aug 18 22:01:54 tp kernel: [ 730.307676] 20: 31 30 38 30 30 30 30 31 ff ff ff ff ff ff ff ff
Aug 18 22:01:54 tp kernel: [ 730.321213] 30: 00 00 3a 01 00 08 02 00 1d 8d c4 04 82 ff ff ff
Aug 18 22:01:54 tp kernel: [ 730.334400] 40: ff ff ff ff ff 08 02 00 1d 8d c4 04 82 ff ff ff
Aug 18 22:01:54 tp kernel: [ 730.348213] 50: ff ff ff ff ff 24 00 00 04 03 09 04 10 03 41 00
Aug 18 22:01:54 tp kernel: [ 730.361773] 60: 66 00 61 00 74 00 65 00 63 00 68 00 0c 03 44 00
Aug 18 22:01:54 tp kernel: [ 730.375442] 70: 56 00 42 00 2d 00 54 00 20 03 30 00 31 00 30 00
Aug 18 22:01:54 tp kernel: [ 730.388763] 80: 31 00 30 00 31 00 30 00 31 00 30 00 36 00 30 00
Aug 18 22:01:54 tp kernel: [ 730.402649] 90: 30 00 30 00 30 00 31 00 00 ff ff ff ff ff ff ff
Aug 18 22:01:54 tp kernel: [ 730.415237] a0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
Aug 18 22:01:54 tp kernel: [ 730.428964] b0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
Aug 18 22:01:54 tp kernel: [ 730.442202] c0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
Aug 18 22:01:54 tp kernel: [ 730.455585] d0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
Aug 18 22:01:54 tp kernel: [ 730.468783] e0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
Aug 18 22:01:54 tp kernel: [ 730.483411] f0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
Aug 18 22:01:54 tp kernel: [ 730.486409] af9013: firmware version:4.95.0
Aug 18 22:01:54 tp kernel: [ 730.492407] DVB: registering frontend 0 (Afatech AF9013 DVB-T)...
Aug 18 22:01:54 tp kernel: [ 730.492483] af9015_tuner_attach:
Aug 18 22:01:54 tp kernel: [ 730.493271] mt2060 I2C read failed
Aug 18 22:01:54 tp kernel: [ 730.493350] dvb-usb: Afatech AF9015 DVB-T USB2.0 stick successfully initialized and connected.
Aug 18 22:01:54 tp kernel: [ 730.493355] af9015_init:
Aug 18 22:01:54 tp kernel: [ 730.493358] af9015_init_endpoint: USB speed:3
Aug 18 22:01:54 tp kernel: [ 730.509864] af9015_download_ir_table:
Aug 18 22:01:54 tp kernel: [ 730.514170] input: Afatech DVB-T as /devices/pci0000:00/0000:00:1d.7/usb4/4-2/4-2:1.1/input/input31
Aug 18 22:01:55 tp kernel: [ 730.609633] input,hidraw0: USB HID v1.01 Keyboard [Afatech DVB-T] on usb-0000:00:1d.7-2
So how do I do to simply get the device working whenever I insert it?
seanemerald
January 6th, 2009, 08:07 AM
I got my card running some time ago after following the steps given in the link below:
http://cutec.wordpress.com/2008/09/04/xubuntu-hardy-8041-fujtech-dvb-t-usb-stick-and-how-to-install-drivers/
In order to watch TV with VLC, first generate a channel.conf file, based on the steps given in the link below, and then just open it with VLC player!
http://davidwinter.me.uk/articles/2008/02/08/watching-freeview-dvb-t-tv-with-vlc-player-on-ubuntu/
Works like a charm for me!
orastem
January 10th, 2009, 09:47 PM
Mvirkkil, you're an absolute legend. It worked for me perfectly. How did you figure it all out?
mrdeadman
January 12th, 2009, 07:08 PM
Does anybody managed to get the Remote working?
dkrix
February 2nd, 2009, 05:38 AM
I'm having partial success with the Leadtek Winfast DTV Gold Dongle (apparently has af9015). Following instructions similar to those above (actually, these: http://www.mythtv.org/wiki/Winfast_DTV_Dongle_Gold ), it is recognised and "works" - but only a few channels are found. mythTV acually reports it as an af9013 when configuring it.
I'm actually using mythTV installed over existing ubuntu, rather than "real" mythbuntu.
The scan progress comments in mythTV show many more signal strengths than reported channels - which I presume correspond to the missing channels - eg, it might display 56% signal, and stop at that spot for a while, but report no corresponding channel, and later find several channels quickly. The channels found, when later viewing them, report about 33% signal strength - lower than at least one aparently skipped. All expected channels are found in windows, when using the software that came with the unit.
I haven't tried the remote yet.
Anyone else having problems getting all channels? (and solved them)
edy80y
February 10th, 2009, 01:52 AM
I too have successfully setup the dongle to work on my PC Running Ubuntu and MythTV on top.
With the remote, apart from it not registering the correct function for the button i press, it also looks like it locks the key down (as if you keep your finger on a key on the keyboard).
How do we overcome this??
Henkru
February 25th, 2009, 02:35 PM
I trying install this my asus eeepc, but i get this error.
make -C /home/xand3r/af9015-a57ea2073e77/v4l
make[1]: Entering directory `/home/xand3r/af9015-a57ea2073e77/v4l'
Updating/Creating .config
Preparing to compile for kernel version 2.6.27
File not found: /lib/modules/2.6.27-8-eeepc/build/.config at ./scripts/make_kconfig.pl line 32, <IN> line 4.
make[1]: *** No rule to make target `.myconfig', needed by `config-compat.h'. Stop.
make[1]: Leaving directory `/home/xand3r/af9015-a57ea2073e77/v4l'
make: *** [all] Error 2
EDIT.
Solved. I musted install linux-headers-eeepc packet.
piginabox
March 7th, 2009, 09:56 AM
It works out-of-the-box now with 9.04 Alpha 5. I installed Kaffeine from a Live Ubuntu session and scanned and watched DVB-T channels with no problems.
cheers
dal
August 6th, 2009, 06:12 AM
Mine has decided to start playing up on me. I haven't used it since 8.04 was new(ish), but decided to drag it out and see if I could get it going on my 9.04 system. Following the instructions in the 7th post I run into a problem with the i2c-core module, as it doesn't seem to exist under my current kernel (2.6.28 )'s modules tree. I do have i2c-ocores.ko though, so I tried putting that in there instead, as well as i2c-dev, assuming that i2c-core was renamed to one of these in one of the intervening kernel revisions. Moving on from that, the other modules inserted ok until I got to dvb_usb_af9015. When I modprobe this one, the console hangs for a minute or so, returns me to the prompt. When I dmesg, I see this:
[381816.686085] dvb-usb: found a 'Leadtek WinFast DTV Dongle Gold' in cold state, will try to load a firmware
[381816.686089] usb 1-2: firmware: requesting dvb-usb-af9015.fw
[381876.684541] dvb-usb: did not find the firmware file. (dvb-usb-af9015.fw) Please see linux/Documentation/dvb/ for more details on firmware-problems. (-2)
[381876.684552] dvb_usb_af9015: probe of 1-2:1.0 failed with error -2
BUT - the firmware (dvb-usb-af9015.fw) is at /lib/firmware, like it's meant to be.
Also, like the guy a dozen or so posts back, my device doesn't show up in lsusb. When I first realised this I was worried it might be dead, but then I realised the "found a 'Leadtek WinFast DTV Dongle Gold' in cold state, will try to load a firmware" message (and the one after it) in dmesg show up on plugging the device in, so it must still be working somewhat.
Anyone hit problems like this?
dal
August 6th, 2009, 06:39 AM
Just unplugged the device and plugged it back in, and got this dmesg output:
[382943.839367] usb 1-2: USB disconnect, address 5
[382948.604049] usb 1-2: new high speed USB device using ehci_hcd and address 6
[382948.740537] usb 1-2: configuration #1 chosen from 1 choice
[382948.752077] dvb-usb: found a 'Leadtek WinFast DTV Dongle Gold' in cold state, will try to load a firmware
[382948.752081] usb 1-2: firmware: requesting dvb-usb-af9015.fw
[383008.752540] dvb-usb: did not find the firmware file. (dvb-usb-af9015.fw) Please see linux/Documentation/dvb/ for more details on firmware-problems. (-2)
[383008.752549] dvb_usb_af9015: probe of 1-2:1.0 failed with error -2
[383008.754903] input: Leadtek WinFast DTV Dongle Gold as /devices/pci0000:00/0000:00:1a.7/usb1/1-2/1-2:1.1/input/input17
[383008.769358] generic-usb 0003:0413:6029.000C: input,hidraw5: USB HID v1.01 Keyboard [Leadtek WinFast DTV Dongle Gold] on usb-0000:00:1a.7-2/input1
not sure if those extra couple of lines are relevant at all (the last two lines weren't showing up for me before).
The device still doesn't show up in lsusb
Also, I've found two different size copies of dvb-usb-af9015.fw on the net, one is 12700 bytes, the other 15913. Same result trying to modprobe dvb-usb-af9015 with each.
Is there anywhere other than /lib/firmware that the kernel module could be expecting the .fw file to be located?
dal
August 13th, 2009, 02:46 AM
update: tried the device in my laptop again. It works fine under windowsXP, but now when I reboot into ubuntu and try it I see this in dmesg:
[ 10.918965] dvb-usb: found a 'Leadtek WinFast DTV Dongle Gold' in cold state, will try to load a firmware
[ 10.918973] usb 1-3: firmware: requesting dvb-usb-af9015.fw
[ 10.966265] dvb-usb: downloading firmware from file 'dvb-usb-af9015.fw'
[ 11.020556] dvb-usb: found a 'Leadtek WinFast DTV Dongle Gold' in warm state.
[ 11.020649] dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer.
[ 11.020963] DVB: registering new adapter (Leadtek WinFast DTV Dongle Gold)
[ 11.583964] af9013: firmware version:4.65.0
[ 11.588467] DVB: registering adapter 0 frontend 0 (Afatech AF9013 DVB-T)...
[ 12.003139] dvb-usb: schedule remote query interval to 150 msecs.
[ 12.003143] dvb-usb: Leadtek WinFast DTV Dongle Gold successfully initialized and connected.
[ 12.137657] usbcore: registered new interface driver dvb_usb_af9015
[ 12.152339] af9015: command failed:255
[ 12.152346] dvb-usb: error while querying for an remote control event.
Those last two lines repeat ad nauseum at the rate of about half a dozen times a second.
Anyone seen this error before?
sucitram
August 16th, 2009, 07:04 PM
dal.
That error you are seeing is due to the old firmware.
[ 11.583964] af9013: firmware version:4.65.0
You're running with 4.65.0 but 4.95.0 is the latest
you can download the latest version from here (http://www.otit.fi/~crope/v4l-dvb/af9015/af9015_firmware_cutter/firmware_files/)
I'm using 4.95.0 and it removed these issues completely
You simply need to save the file to to you're /lib/firmwares/ directory
dal
August 20th, 2009, 08:43 AM
dal.
That error you are seeing is due to the old firmware.
You're running with 4.65.0 but 4.95.0 is the latest
you can download the latest version from here (http://www.otit.fi/~crope/v4l-dvb/af9015/af9015_firmware_cutter/firmware_files/)
I'm using 4.95.0 and it removed these issues completely
You simply need to save the file to to you're /lib/firmwares/ directory
Absolutely right, thanks a bunch :)
geekyhawkes
August 20th, 2009, 03:09 PM
My Kworld U399 AF9015 dual tunner worked fine once i compiled and installed the v4l lib from hg.
I guess i was just lucky (im running 9.04 64bit if that matters)
em4mapson
November 4th, 2009, 06:51 PM
I had some problems getting af9015 to work (again) after running kernel update on 8.10. Just wanted to tell how I made it work, it might help somebody...
Here is what did first:
-cp the firmware to /lib/firmware/`uname -r`/dvb-usb-af9015.fw
-got latest from http://linuxtv.org/hg/~anttip/af9015/
(then in the extracted af9015 folder)
-$make all
-$sudo make install
plug usb in => not working
Then:
-delete latest af9015 & extract it again (although $make clean should be enough)
(in the extracted af9015 folder)
-$make rminstall (cleans previous installations of V4L/DVB modules)
-$make
-$make install
plug usb in => it works!
So, starting from the clean and removing previous installation made the magic happen...
fusionzone
November 25th, 2009, 11:32 AM
Hi all i tried installing the driver and firmware files mentioned but still not able to get my AF9016 working.
I check lsmod and it shows that 15a4:9016 detected but no matter how i reinstall the driver i still cannot find /dev/dvr ?
Can any one enlighten me on the problem i am facing thanks.
Regards
Andy
bertm90
November 25th, 2009, 02:27 PM
I also just received a unit with usb id 15a4:9016. Drivers compiled fine, but it won't work. Already tried different firmware versions.
dmesg output:
[ 1009.750949] usbcore: registered new interface driver dvb_usb_af9015
[ 1056.460344] usb 2-3: new high speed USB device using ehci_hcd and address 6
[ 1056.616049] usb 2-3: configuration #1 chosen from 1 choice
[ 1056.640930] af9015: tuner id:179 not supported, please report!
[ 1056.643683] Afatech DVB-T 2: Fixing fullspeed to highspeed interval: 10 -> 7
[ 1056.644100] input: Afatech DVB-T 2 as /devices/pci0000:00/0000:00:1d.7/usb2/2-3/2-3:1.1/input/input15
[ 1056.644197] generic-usb 0003:15A4:9016.0005: input,hidraw0: USB HID v1.01 Keyboard [Afatech DVB-T 2] on usb-0000:00:1d.7-3/input1
I'll try to open it tonight and see what kind of chips are inside.
Anyone?
bertm90
November 25th, 2009, 03:12 PM
Alright, I've tracked down the problem with my device. It has the TDA18218HK tuner chip, which is not supported by any driver.
Are there any traces of someone working on such a driver?
hounden
December 1st, 2009, 11:56 AM
Ok, so I have very similar experiences...
[ 2941.630076] usb 2-1: new high speed USB device using ehci_hcd and address 6
[ 2941.786455] usb 2-1: configuration #1 chosen from 1 choice
[ 2941.809764] af9015: tuner id:179 not supported, please report!
[ 2941.813711] Afatech DVB-T 2: Fixing fullspeed to highspeed interval: 10 -> 7
[ 2941.814074] input: Afatech DVB-T 2 as /devices/pci0000:00/0000:00:13.2/usb2/2-1/2-1:1.1/input/input10
[ 2941.814221] generic-usb 0003:15A4:9016.0007: input,hidraw3: USB HID v1.01 Keyboard [Afatech DVB-T 2] on usb-0000:00:13.2-1/input1
Any input?
bertm90
December 1st, 2009, 08:30 PM
You'll probably have exactly the same USB stick as I have. Tuner id 179 seems to be the TDA18218HK tuner IC (at least, that's what a visual inspection of the inner parts of my device told me), and currently, there is no driver support for it, as far as I know.
I'm considering to write my own driver based on drivers for similar tuners, but that might be quite hard, so I don't know whether I am able to do so.
Datasheets for this IC can be found on the internet, it's an IC produced by NXP (a company of Philips).
hounden
December 2nd, 2009, 12:27 PM
Thanks, for your input. I will take a look around and see if I can gather some information.
maczimus1
December 5th, 2009, 08:40 AM
Hi there,
I just bought a device that seems to be coming up with the same error.
[ 851.921315] usb 1-2: new high speed USB device using ehci_hcd and address 6
[ 852.078866] usb 1-2: configuration #1 chosen from 1 choice
[ 852.109917] af9015: tuner id:179 not supported, please report!
[ 852.118516] Afatech DVB-T 2: Fixing fullspeed to highspeed interval: 10 -> 7
[ 852.119614] input: Afatech DVB-T 2 as /devices/pci0000:00/0000:00:12.2/usb1/1-2/1-2:1.1/input/input9
[ 852.119747] generic-usb 0003:15A4:9016.0002: input,hidraw0: USB HID v1.01 Keyboard [Afatech DVB-T 2] on usb-0000:00:12.2-2/input1
My device came with a windows driver disc, which I could e-mail anybody the files of, if this helps them make a linux driver.
Thanks
Thameslink
December 12th, 2009, 08:52 PM
I had some problems getting af9015 to work (again) after running kernel update on 8.10. Just wanted to tell how I made it work, it might help somebody...
Here is what did first:
-cp the firmware to /lib/firmware/`uname -r`/dvb-usb-af9015.fw
-got latest from http://linuxtv.org/hg/~anttip/af9015/
(then in the extracted af9015 folder)
-$make all
-$sudo make install
plug usb in => not working
Then:
-delete latest af9015 & extract it again (although $make clean should be enough)
(in the extracted af9015 folder)
-$make rminstall (cleans previous installations of V4L/DVB modules)
-$make
-$make install
plug usb in => it works!
So, starting from the clean and removing previous installation made the magic happen...
Well I did that and now I just get nothing at all...on plugging the usb stick back in i get
configuration #1 chosen from 1 choice
then nothing, no dvb module is loaded, nothing thats it
what am I doing wrong?
bertm90
December 21st, 2009, 04:53 AM
Thameslink,
Interesting, can you please post the output of this command, just after you've plugged the device into you computer?
$ dmesg | tail
Just to note: some people (including myself) are working on a solution for the "tuner id:179 not supported" problem. Please see this mailing list (http://thread.gmane.org/gmane.linux.drivers.video-input-infrastructure/13208) for progress.
andersja
December 22nd, 2009, 12:51 PM
I have the same experience:
Dec 22 16:41:31 fiji kernel: [12745.497347] usb 1-1.4.4: new high speed USB device using ehci_hcd and address 10
Dec 22 16:41:31 fiji kernel: [12745.592738] usb 1-1.4.4: configuration #1 chosen from 1 choice
Dec 22 16:41:31 fiji kernel: [12745.609393] Afatech DVB-T 2: Fixing fullspeed to highspeed interval: 10 -> 7
Dec 22 16:41:31 fiji kernel: [12745.609765] input: Afatech DVB-T 2 as /devices/pci0000:00/0000:00:1d.7/usb1/1-1/1-1.4/1-1.4.4/1-1.4.4:1.1/input/input10
Dec 22 16:41:31 fiji kernel: [12745.609913] generic-usb 0003:15A4:9016.0004: input,hidraw3: USB HID v1.01 Keyboard [Afatech DVB-T 2] on usb-0000:00:1d.7-1.4.4/input1
Dec 22 16:41:31 fiji kernel: [12745.794084] af9015: tuner id:179 not supported, please report!
Dec 22 16:41:31 fiji kernel: [12745.794164] usbcore: registered new interface driver dvb_usb_af9015
Keen to help / debug anyones efforts toward a working driver. Is there a Launchpad bug number for this yet?
Thanks!
andersja
December 22nd, 2009, 01:19 PM
@Bertm90 et al: *apparently* the vendor is working (slowly?) on a fully comprehensive driver for al af9015 chipsets/combinations. It might be worth reaching out to them through the LinuxTV link below?
http://linuxtv.org/wiki/index.php/Afatech_AF9015
sanderj
January 3rd, 2010, 08:13 AM
I'm joining this thread as I have the same error message "af9015: tuner id:179 not supported, please report!" with my no-name DVB-USB-stick (lsusb ID 15a4:9016).
Hopefully we'll see progress on http://thread.gmane.org/gmane.linux.drivers.video-input-infrastructure/13208
EDIT: FWIW it's this stick: https://www.dealextreme.com/details.dx/sku.8309
sander@athlon64:~/af9015/v4l$ dmesg | grep -i -e afatech -e af9
[ 5.127337] Afatech DVB-T 2: Fixing fullspeed to highspeed interval: 10 -> 7
[ 5.127658] input: Afatech DVB-T 2 as /devices/pci0000:00/0000:00:13.5/usb1/1-6/1-6:1.1/input/input3
[ 5.152197] generic-usb 0003:15A4:9016.0001: input,hidraw0: USB HID v1.01 Keyboard [Afatech DVB-T 2] on usb-0000:00:13.5-6/input1
[ 11.323662] af9015: tuner id:179 not supported, please report!
[ 11.323712] usbcore: registered new interface driver dvb_usb_af9015
sander@athlon64:~/af9015/v4l$
andersja
January 26th, 2010, 02:22 PM
Just to note: some people (including myself) are working on a solution for the "tuner id:179 not supported" problem. Please see this mailing list (http://thread.gmane.org/gmane.linux.drivers.video-input-infrastructure/13208) for progress.
Bert & Co: Any chance there has been any progress here? I note that the mailing list had last update about a month ago? Am keen to help in any way I can (probably testing?). Let us know if we can do anything.
andersja
February 2nd, 2010, 12:56 PM
Bump. Looks like no progress on the mailing list or here since 20th Dec? I am happy to help with testing etc if any developers are working on this.
freaksterr6676
February 28th, 2010, 09:00 PM
The device is now working, thanks to the information in this mailing list:
http://www.mail-archive.com/linux-media@vger.kernel.org/msg16117.html
sanderj
March 1st, 2010, 02:52 AM
The device is now working, thanks to the information in this mailing list:
http://www.mail-archive.com/linux-media@vger.kernel.org/msg16117.html
Cool. Has anybody subscribed to this thread already patched his/her kernel?
And when will this patch be included in the mainstream (Ubuntu) Linux kernel?
freaksterr6676
March 1st, 2010, 09:32 PM
I've applied the patches to a 2.6.32 kernel and it worked well. I couldn't see any issues with it, over any other DVB devices I have.
sanderj
March 2nd, 2010, 02:20 AM
I've applied the patches to a 2.6.32 kernel and it worked well. I couldn't see any issues with it, over any other DVB devices I have.
Can you explain / give a pointer how you patched the kernel? The instruction here https://help.ubuntu.com/community/Kernel/Compile seems quite long.
freaksterr6676
March 3rd, 2010, 05:01 AM
You don't have to build a new kernel. Instead you can compile the module against your current kernel. If you're using a default kernel, then
apt-get install linux-headers-generic
cd to whereever you checked out the v4l2 with mercurial (with patches applied.)
make
sudo make install
sanderj
March 8th, 2010, 06:22 PM
Question 1: I guess the patch will incorporated in http://linuxtv.org/hg/~anttip/af9015/ in the near future?
Question 2: I tried to patch myself. See below. What's going wrong?
sander@quirinius:~/af9015$ patch -p0 < this-is-the-patch-for-tda18218.txt
can't find file to patch at input line 4
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|diff -r 0f41fd7df85d linux/drivers/media/common/tuners/Kconfig
|--- a/linux/drivers/media/common/tuners/Kconfig Thu Feb 11 02:33:12 2010 +0200
|+++ b/linux/drivers/media/common/tuners/Kconfig Thu Feb 25 17:21:11 2010 +0100
--------------------------
File to patch: ^C
sander@quirinius:~/af9015$
sander@quirinius:~/af9015$ head this-is-the-patch-for-tda18218.txt
diff -r 0f41fd7df85d linux/drivers/media/common/tuners/Kconfig
--- a/linux/drivers/media/common/tuners/Kconfig Thu Feb 11 02:33:12 2010 +0200
+++ b/linux/drivers/media/common/tuners/Kconfig Thu Feb 25 17:21:11 2010 +0100
@@ -179,4 +179,11 @@
help
A driver for the silicon tuner MAX2165 from Maxim.
+config MEDIA_TUNER_TDA18218
+ tristate "NXP TDA18218 silicon tuner"
+ depends on VIDEO_MEDIA && I2C
sander@quirinius:~/af9015$ dir linux/drivers/media/common/tuners/Kconfig
linux/drivers/media/common/tuners/Kconfig
sander@quirinius:~/af9015$
sanderj
March 8th, 2010, 06:38 PM
Ah: It looks like I need "-p1":
-p1 gives
u/howard/src/blurfl/blurfl.c
without the leading slash,
Is the message below "Hunk #16 FAILED at 1312." bad? What should I do about it?
sander@quirinius:~/af9015$ patch -p1 < this-is-the-patch-for-tda18218.txt
patching file linux/drivers/media/common/tuners/Kconfig
patching file linux/drivers/media/common/tuners/Makefile
patching file linux/drivers/media/common/tuners/tda18218.c
patching file linux/drivers/media/common/tuners/tda18218.h
patching file linux/drivers/media/common/tuners/tda18218_priv.h
patching file linux/drivers/media/dvb/dvb-usb/af9015.c
Hunk #16 FAILED at 1312.
Hunk #17 succeeded at 1401 (offset 2 lines).
Hunk #18 succeeded at 1622 with fuzz 1 (offset 3 lines).
1 out of 18 hunks FAILED -- saving rejects to file linux/drivers/media/dvb/dvb-usb/af9015.c.rej
patching file linux/drivers/media/dvb/dvb-usb/dvb-usb-ids.h
Hunk #1 succeeded at 133 (offset 4 lines).
patching file linux/drivers/media/dvb/frontends/af9013.c
patching file linux/drivers/media/dvb/frontends/af9013.h
patching file linux/drivers/media/dvb/frontends/af9013_priv.h
sander@quirinius:~/af9015$
freaksterr6676
March 8th, 2010, 08:04 PM
[QUOTE=sanderj;8936585]Ah: It looks like I need "-p1":
Is the message below "Hunk #16 FAILED at 1312." bad? What should I do about it?
The source repository has changed, so the patch offsets are now invalid.
The patch will work against the following changeset:
hg clone -r 0f41fd7df85d http://linuxtv.org/hg/~anttip/af9015/
sanderj
March 9th, 2010, 04:32 PM
Thanks, the patch process went OK. Now I have to start make-ing again, then edit v4l/.config for FIREDTV, then make again. And then start to find out again which modules to load ...
I'll be back. #-o#-
$ hg clone -r 0f41fd7df85d http://linuxtv.org/hg/~anttip/af9015/
sander@quirinius:~/af9015$ patch -p1 < this-is-the-patch-for-tda18218.txt
patching file linux/drivers/media/common/tuners/Kconfig
patching file linux/drivers/media/common/tuners/Makefile
patching file linux/drivers/media/common/tuners/tda18218.c
patching file linux/drivers/media/common/tuners/tda18218.h
patching file linux/drivers/media/common/tuners/tda18218_priv.h
patching file linux/drivers/media/dvb/dvb-usb/af9015.c
patching file linux/drivers/media/dvb/dvb-usb/dvb-usb-ids.h
patching file linux/drivers/media/dvb/frontends/af9013.c
patching file linux/drivers/media/dvb/frontends/af9013.h
patching file linux/drivers/media/dvb/frontends/af9013_priv.h
sander@quirinius:~/af9015$
sanderj
March 9th, 2010, 06:18 PM
Below is my /var/log/messages. I guess this is good?
Now I have to find which modules to load, and which program to start. Any help?
Mar 9 23:15:43 quirinius kernel: [31274.040120] usb 1-6: new high speed USB device using ehci_hcd and address 6
Mar 9 23:15:43 quirinius kernel: [31274.177240] usb 1-6: configuration #1 chosen from 1 choice
Mar 9 23:15:43 quirinius kernel: [31274.183078] Afatech DVB-T 2: Fixing fullspeed to highspeed interval: 10 -> 7
Mar 9 23:15:43 quirinius kernel: [31274.183762] input: Afatech DVB-T 2 as /devices/pci0000:00/0000:00:1d.7/usb1/1-6/1-6:1.1/input/input12
Mar 9 23:15:43 quirinius kernel: [31274.184144] generic-usb 0003:15A4:9016.0003: input,hidraw0: USB HID v1.01 Keyboard [Afatech DVB-T 2] on usb-0000:00:1d.7-6/input1
Mar 9 23:15:44 quirinius kernel: [31274.552937] dvb-usb: found a 'Afatech AF9015 DVB-T USB2.0 stick' in cold state, will try to load a firmware
Mar 9 23:15:44 quirinius kernel: [31274.552962] usb 1-6: firmware: requesting dvb-usb-af9015.fw
Mar 9 23:15:44 quirinius kernel: [31274.856329] dvb-usb: downloading firmware from file 'dvb-usb-af9015.fw'
Mar 9 23:15:44 quirinius kernel: [31274.930213] dvb-usb: found a 'Afatech AF9015 DVB-T USB2.0 stick' in warm state.
Mar 9 23:15:44 quirinius kernel: [31274.930380] dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer.
Mar 9 23:15:44 quirinius kernel: [31274.931617] DVB: registering new adapter (Afatech AF9015 DVB-T USB2.0 stick)
Mar 9 23:15:45 quirinius kernel: [31275.398434] af9013: firmware version:4.95.0
Mar 9 23:15:45 quirinius kernel: [31275.405435] DVB: registering adapter 0 frontend 0 (Afatech AF9013 DVB-T)...
Mar 9 23:15:45 quirinius kernel: [31275.449074] NXP TDA18218 successfully identified.
Mar 9 23:15:45 quirinius kernel: [31275.449099] dvb-usb: Afatech AF9015 DVB-T USB2.0 stick successfully initialized and connected.
Mar 9 23:15:45 quirinius kernel: [31275.460185] usbcore: registered new interface driver dvb_usb_af9015
sanderj
March 9th, 2010, 06:49 PM
Cool: with
scan /usr/share/dvb/dvb-t/nl-All > scan-output.txt
I found 22 DVB-T channels on my cable. Yes ... Cable; My cable provider has put DVB-T on the cable as they are turning off analogue TV on 10-10-10.
sander@quirinius:~/af9015$ cat scan-output.txt
RTL7:722000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_ 7_8:FEC_1_2:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTE RVAL_1_32:HIERARCHY_NONE:2011:2012:7
Veronica:722000000:INVERSION_AUTO:BANDWIDTH_8_MHZ: FEC_7_8:FEC_1_2:QAM_64:TRANSMISSION_MODE_8K:GUARD_ INTERVAL_1_32:HIERARCHY_NONE:2021:2022:8
Net 5:722000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_7_8 :FEC_1_2:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVA L_1_32:HIERARCHY_NONE:2031:2032:9
RTL 8:722000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_7_8 :FEC_1_2:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVA L_1_32:HIERARCHY_NONE:2041:2042:10
Comedy Central:722000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:F EC_7_8:FEC_1_2:QAM_64:TRANSMISSION_MODE_8K:GUARD_I NTERVAL_1_32:HIERARCHY_NONE:2051:2052:11
TMF:722000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_7 _8:FEC_1_2:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTER VAL_1_32:HIERARCHY_NONE:2061:2062:12
MTV:722000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_7 _8:FEC_1_2:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTER VAL_1_32:HIERARCHY_NONE:2071:2072:13
[000e]:762000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_7_8: FEC_1_2:QAM_64:TRANSMISSION_MODE_2K:GUARD_INTERVAL _1_32:HIERARCHY_NONE:3011:3012:14
Ketnet/Canvas:762000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FE C_7_8:FEC_1_2:QAM_64:TRANSMISSION_MODE_2K:GUARD_IN TERVAL_1_32:HIERARCHY_NONE:3021:3022:15
CAIW Info:762000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_ 7_8:FEC_1_2:QAM_64:TRANSMISSION_MODE_2K:GUARD_INTE RVAL_1_32:HIERARCHY_NONE:3031:0:16
Discovery:762000000:INVERSION_AUTO:BANDWIDTH_8_MHZ :FEC_7_8:FEC_1_2:QAM_64:TRANSMISSION_MODE_2K:GUARD _INTERVAL_1_32:HIERARCHY_NONE:3041:3042:17
Animal Planet:762000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FE C_7_8:FEC_1_2:QAM_64:TRANSMISSION_MODE_2K:GUARD_IN TERVAL_1_32:HIERARCHY_NONE:3051:3052:18
NGC:762000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_7 _8:FEC_1_2:QAM_64:TRANSMISSION_MODE_2K:GUARD_INTER VAL_1_32:HIERARCHY_NONE:3061:3062:19
CNN:762000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_7 _8:FEC_1_2:QAM_64:TRANSMISSION_MODE_2K:GUARD_INTER VAL_1_32:HIERARCHY_NONE:3071:3072:20
Journaal24:762000000:INVERSION_AUTO:BANDWIDTH_8_MH Z:FEC_7_8:FEC_1_2:QAM_64:TRANSMISSION_MODE_2K:GUAR D_INTERVAL_1_32:HIERARCHY_NONE:3081:3082:21
Eurosport:762000000:INVERSION_AUTO:BANDWIDTH_8_MHZ :FEC_7_8:FEC_1_2:QAM_64:TRANSMISSION_MODE_2K:GUARD _INTERVAL_1_32:HIERARCHY_NONE:8190:2000:22
Nederland 1:522000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_7_8 :FEC_1_2:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVA L_1_32:HIERARCHY_NONE:1011:1012:1
Nederland 2:522000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_7_8 :FEC_1_2:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVA L_1_32:HIERARCHY_NONE:1021:1022:2
Nederland 3:522000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_7_8 :FEC_1_2:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVA L_1_32:HIERARCHY_NONE:1031:1032:3
RTL4:522000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_ 7_8:FEC_1_2:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTE RVAL_1_32:HIERARCHY_NONE:1041:1042:4
RTL5:522000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_ 7_8:FEC_1_2:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTE RVAL_1_32:HIERARCHY_NONE:1051:1052:5
SBS6:522000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_ 7_8:FEC_1_2:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTE RVAL_1_32:HIERARCHY_NONE:1061:1062:6
sander@quirinius:~/af9015$
sander@quirinius:~/af9015$ cat scan-output.txt | awk -F: '{ print $1 }' | sort -u
[000e]
Animal Planet
CAIW Info
CNN
Comedy Central
Discovery
Eurosport
Journaal24
Ketnet/Canvas
MTV
Nederland 1
Nederland 2
Nederland 3
Net 5
NGC
RTL4
RTL5
RTL7
RTL 8
SBS6
TMF
Veronica
sander@quirinius:~/af9015$
sanderj
March 9th, 2010, 07:01 PM
Everything looks very well: with VLC, I am able to watch some channels by manually filling out the frequency in kHz. I don't know yet hot to zap channels.
freaksterr6676
March 9th, 2010, 07:12 PM
Everything looks very well: with VLC, I am able to watch some channels by manually filling out the frequency in kHz. I don't know yet hot to zap channels.
Try using Kaffeine, or xine for watching DVB. Kaffeine will automatically scan, or you can import channels.conf. Xine will require channels.conf, which you create from the output of scan.
After that, install Mythtv, it's awesome, but it might take a while to configure, if you've never installed it before.
sanderj
March 9th, 2010, 07:17 PM
OMG: me-tv is the perfect tool: scanning, watching, EPG, recording. See screendump.
This is fantastic!
dejang
March 13th, 2010, 06:04 AM
Hi,
having problems with my af9015 stick to work in ubuntu 9.10. I am stuck with this dmsg output:
dejan@dejan-netbook:~/af9015-722df797827e$ dmesg | tail
[ 3466.531859] dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer.
[ 3466.533347] DVB: registering new adapter (Afatech USB2.0 DVB-T Recevier)
[ 3466.534271] DVB: registering adapter 0 frontend 0 (AF901X USB DVB-T)...
[ 3466.551509] dvb-usb: Afatech USB2.0 DVB-T Recevier successfully initialized and connected.
[ 3466.587420] 15 FW exists
[ 3466.589236] dvb-usb: found a 'Afatech USB2.0 DVB-T Recevier' in warm state.
[ 3466.590347] dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer.
[ 3466.591276] DVB: registering new adapter (Afatech USB2.0 DVB-T Recevier)
[ 3466.592726] DVB: registering adapter 1 frontend 0 (AF901X USB DVB-T)...
[ 3466.600672] dvb-usb: Afatech USB2.0 DVB-T Recevier successfully initialized and connected.
dejan@dejan-netbook:~/af9015-722df797827e$
In kaffein or MeTV the stick is recognized correctly as AF901x USB DVB-T, but after starting autoscan in Kaffeine I have no signal. I tried w_scan and get this output at start:
w_scan version 20090808 (compiled for DVB API 5.0)
using settings for SLOVENIA
Country identifier SI not defined. Using defaults.
frontend_type DVB-T, channellist 4
output format czap/tzap/szap/xine
Info: using DVB adapter auto detection.
/dev/dvb/adapter0/frontend0 -> DVB-T "AF901X USB DVB-T": good :-)
/dev/dvb/adapter1/frontend0 -> DVB-T "AF901X USB DVB-T": good :-)
Using DVB-T frontend (adapter /dev/dvb/adapter0/frontend0)
-_-_-_-_ Getting frontend capabilities-_-_-_-_
Using DVB API 5.0
frontend AF901X USB DVB-T supports
INVERSION_AUTO
QAM_AUTO
TRANSMISSION_MODE_AUTO
GUARD_INTERVAL_AUTO
HIERARCHY_AUTO
FEC_AUTO
-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
Scaning than starts, but result is always the same:
Info: NIT(actual) filter timeout
191500: (time: 00:34) (time: 00:36) signal ok:
QAM_AUTO f = 191500 kHz I999B7C999D999T999G999Y999
Info: NIT(actual) filter timeout
198500: (time: 00:50) (time: 00:53) signal ok:
QAM_AUTO f = 198500 kHz I999B7C999D999T999G999Y999
Info: NIT(actual) filter timeout
205500: (time: 01:07) (time: 01:10) signal ok:
QAM_AUTO f = 205500 kHz I999B7C999D999T999G999Y999
Info: NIT(actual) filter timeout
212500: (time: 01:24) (time: 01:26) signal ok:
QAM_AUTO f = 212500 kHz I999B7C999D999T999G999Y999
Info: NIT(actual) filter timeout
219500: (time: 01:41) (time: 01:43) signal ok:
QAM_AUTO f = 219500 kHz I999B7C999D999T999G999Y999
and so on ......
The stick works in WinXP, there is a blue LED on when scaning or receiving signal. In Ubuntu I never had that blue LED on.
Any suggestions, help is welcome....
dejang
March 13th, 2010, 07:18 AM
Working on problem...I thin I solved part of it. Now dmsg output is:
dejan@dejan-netbook:~$ dmesg | tail
[ 594.788106] usb 1-5: new high speed USB device using ehci_hcd and address 6
[ 594.925407] usb 1-5: configuration #1 chosen from 1 choice
[ 596.039143] dvb-usb: found a 'Afatech USB2.0 DVB-T Recevier' in warm state.
[ 596.040590] dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer.
[ 596.041687] DVB: registering new adapter (Afatech USB2.0 DVB-T Recevier)
[ 596.042536] DVB: registering adapter 0 frontend 0 (AF901X USB DVB-T)...
[ 596.048933] dvb-usb: Afatech USB2.0 DVB-T Recevier successfully initialized and connected.
[ 596.054214] Afatech DVB-T 2: Fixing fullspeed to highspeed interval: 10 -> 7
[ 596.054911] input: Afatech DVB-T 2 as /devices/pci0000:00/0000:00:1d.7/usb1/1-5/1-5:1.1/input/input12
[ 596.055158] generic-usb 0003:15A4:9016.0003: input,hidraw1: USB HID v1.01 Keyboard [Afatech DVB-T 2] on usb-0000:00:1d.7-5/input1
dejan@dejan-netbook:~$
Still no result ...
sanderj
March 23rd, 2010, 05:45 PM
Grrr ... I get the old error message back: "af9015: tuner id:179 not supported, please report!"
How is this caused? A reboot? Maybe a kernel upgrade?
sander@quirinius:~$ uname -a
Linux quirinius 2.6.31-20-generic-pae #58-Ubuntu SMP Fri Mar 12 06:25:51 UTC 2010 i686 GNU/Linux
sander@quirinius:~$
andersja
March 27th, 2010, 02:43 PM
Does anyone know if this is now supported in the latest Lucid kernel?
adb3
March 27th, 2010, 03:49 PM
Does anyone know if this is now supported in the latest Lucid kernel?
It worked for me out-of-the-box in Lucid. Lucid suggested proprietary drivers, I activated them and installed me-tv. Works like a Buick.
andersja
April 9th, 2010, 08:27 PM
If anyone is still getting the "af9015: tuner id:179 not supported, please report!" message in Lucid beta, I have discussed it with a developer, who poses the following challenge to us:
https://bugs.launchpad.net/ubuntu/+source/linux-firmware-nonfree/+bug/458444
Anyone skilled enough here to make this into a dkms package?
Grakul
April 10th, 2010, 10:45 AM
I have the tuner id:179 not supported error, and I tried to steps in the above link. But they didn't work. I ran:
$ sudo add-apt-repository ppa:chasedouglas/linux-firmware-nonfree
$ sudo apt-get update
$ sudo apt-get install linux-firmware-nonfree
That told me I already had linux-firmware-nonfree, so I removed it, and then started at the beginning. Unplugging and plugging in the card shows the following:
[82194.598334] usb 1-2: USB disconnect, address 4
[82199.176270] usb 1-2: new full speed USB device using ohci_hcd and address 5
[82199.393378] usb 1-2: configuration #1 chosen from 1 choice
[82199.471251] af9015: tuner id:179 not supported, please report!
[82199.490013] input: Afatech DVB-T 2 as /devices/pci0000:00/0000:00:02.0/usb1/1-2/1-2:1.1/input/input10
[82199.490235] generic-usb 0003:15A4:9016.0004: input,hidraw0: USB HID v1.01 Keyboard [Afatech DVB-T 2] on usb-0000:00:02.0-2/input1
Please also see my other threads here (http://ubuntuforums.org/showthread.php?t=1445439) and here (http://ubuntuforums.org/showthread.php?p=9098437#post9098437). I'm using Mythbuntu 9.10.
Any help you guys could give would be greatly appreciated!
Thanks
Grakul
tomerzz
April 11th, 2010, 06:52 PM
hi
the patch process goes ok but i get errors in the make:
tomer@t42ubuntu:~/af9015$ make
make -C /home/tomer/af9015/v4l
make[1]: Entering directory `/home/tomer/af9015/v4l'
creating symbolic links...
make -C firmware prep
make[2]: Entering directory `/home/tomer/af9015/v4l/firmware'
make[2]: Leaving directory `/home/tomer/af9015/v4l/firmware'
make -C firmware
make[2]: Entering directory `/home/tomer/af9015/v4l/firmware'
make[2]: Nothing to be done for `default'.
make[2]: Leaving directory `/home/tomer/af9015/v4l/firmware'
Kernel build directory is /lib/modules/2.6.31-020631-generic/build
make -C /lib/modules/2.6.31-020631-generic/build SUBDIRS=/home/tomer/af9015/v4l modules
make[2]: Entering directory `/usr/src/linux-headers-2.6.31-020631-generic'
CC [M] /home/tomer/af9015/v4l/firedtv-1394.o
/home/tomer/af9015/v4l/firedtv-1394.c:21:17: error: dma.h: No such file or directory
/home/tomer/af9015/v4l/firedtv-1394.c:22:21: error: csr1212.h: No such file or directory
/home/tomer/af9015/v4l/firedtv-1394.c:23:23: error: highlevel.h: No such file or directory
/home/tomer/af9015/v4l/firedtv-1394.c:24:19: error: hosts.h: No such file or directory
/home/tomer/af9015/v4l/firedtv-1394.c:25:22: error: ieee1394.h: No such file or directory
/home/tomer/af9015/v4l/firedtv-1394.c:26:17: error: iso.h: No such file or directory
/home/tomer/af9015/v4l/firedtv-1394.c:27:21: error: nodemgr.h: No such file or directory
/home/tomer/af9015/v4l/firedtv-1394.c:40: warning: 'struct hpsb_iso' declared inside parameter list
/home/tomer/af9015/v4l/firedtv-1394.c:40: warning: its scope is only this definition or declaration, which is probably not what you want
/home/tomer/af9015/v4l/firedtv-1394.c: In function 'rawiso_activity_cb':
/home/tomer/af9015/v4l/firedtv-1394.c:56: error: dereferencing pointer to incomplete type
/home/tomer/af9015/v4l/firedtv-1394.c:57: error: implicit declaration of function 'hpsb_iso_n_ready'
/home/tomer/af9015/v4l/firedtv-1394.c:64: error: dereferencing pointer to incomplete type
/home/tomer/af9015/v4l/firedtv-1394.c:65: error: implicit declaration of function 'dma_region_i'
/home/tomer/af9015/v4l/firedtv-1394.c:65: error: dereferencing pointer to incomplete type
/home/tomer/af9015/v4l/firedtv-1394.c:65: error: expected expression before 'unsigned'
/home/tomer/af9015/v4l/firedtv-1394.c:66: warning: assignment makes pointer from integer without a cast
/home/tomer/af9015/v4l/firedtv-1394.c:67: error: dereferencing pointer to incomplete type
/home/tomer/af9015/v4l/firedtv-1394.c:71: error: dereferencing pointer to incomplete type
/home/tomer/af9015/v4l/firedtv-1394.c:85: error: implicit declaration of function 'hpsb_iso_recv_release_packets'
/home/tomer/af9015/v4l/firedtv-1394.c: In function 'node_of':
/home/tomer/af9015/v4l/firedtv-1394.c:90: error: dereferencing pointer to incomplete type
/home/tomer/af9015/v4l/firedtv-1394.c:90: warning: type defaults to 'int' in declaration of '__mptr'
/home/tomer/af9015/v4l/firedtv-1394.c:90: warning: initialization from incompatible pointer type
/home/tomer/af9015/v4l/firedtv-1394.c:90: error: invalid use of undefined type 'struct unit_directory'
/home/tomer/af9015/v4l/firedtv-1394.c: In function 'node_lock':
/home/tomer/af9015/v4l/firedtv-1394.c:95: error: 'quadlet_t' undeclared (first use in this function)
/home/tomer/af9015/v4l/firedtv-1394.c:95: error: (Each undeclared identifier is reported only once
/home/tomer/af9015/v4l/firedtv-1394.c:95: error: for each function it appears in.)
/home/tomer/af9015/v4l/firedtv-1394.c:95: error: 'd' undeclared (first use in this function)
/home/tomer/af9015/v4l/firedtv-1394.c:96: warning: ISO C90 forbids mixed declarations and code
/home/tomer/af9015/v4l/firedtv-1394.c:98: error: implicit declaration of function 'hpsb_node_lock'
/home/tomer/af9015/v4l/firedtv-1394.c:99: error: 'EXTCODE_COMPARE_SWAP' undeclared (first use in this function)
/home/tomer/af9015/v4l/firedtv-1394.c: In function 'node_read':
/home/tomer/af9015/v4l/firedtv-1394.c:107: error: implicit declaration of function 'hpsb_node_read'
/home/tomer/af9015/v4l/firedtv-1394.c: In function 'node_write':
/home/tomer/af9015/v4l/firedtv-1394.c:112: error: implicit declaration of function 'hpsb_node_write'
/home/tomer/af9015/v4l/firedtv-1394.c: In function 'start_iso':
/home/tomer/af9015/v4l/firedtv-1394.c:123: error: implicit declaration of function 'hpsb_iso_recv_init'
/home/tomer/af9015/v4l/firedtv-1394.c:123: error: dereferencing pointer to incomplete type
/home/tomer/af9015/v4l/firedtv-1394.c:125: error: 'HPSB_ISO_DMA_DEFAULT' undeclared (first use in this function)
/home/tomer/af9015/v4l/firedtv-1394.c:127: warning: assignment makes pointer from integer without a cast
/home/tomer/af9015/v4l/firedtv-1394.c:134: error: implicit declaration of function 'hpsb_iso_recv_start'
/home/tomer/af9015/v4l/firedtv-1394.c:137: error: implicit declaration of function 'hpsb_iso_shutdown'
/home/tomer/af9015/v4l/firedtv-1394.c: In function 'stop_iso':
/home/tomer/af9015/v4l/firedtv-1394.c:148: error: implicit declaration of function 'hpsb_iso_stop'
/home/tomer/af9015/v4l/firedtv-1394.c: At top level:
/home/tomer/af9015/v4l/firedtv-1394.c:163: warning: 'struct hpsb_host' declared inside parameter list
/home/tomer/af9015/v4l/firedtv-1394.c: In function 'fcp_request':
/home/tomer/af9015/v4l/firedtv-1394.c:176: error: dereferencing pointer to incomplete type
/home/tomer/af9015/v4l/firedtv-1394.c:177: error: dereferencing pointer to incomplete type
/home/tomer/af9015/v4l/firedtv-1394.c: In function 'node_probe':
/home/tomer/af9015/v4l/firedtv-1394.c:191: error: dereferencing pointer to incomplete type
/home/tomer/af9015/v4l/firedtv-1394.c:191: warning: type defaults to 'int' in declaration of '__mptr'
/home/tomer/af9015/v4l/firedtv-1394.c:191: warning: initialization from incompatible pointer type
/home/tomer/af9015/v4l/firedtv-1394.c:191: error: invalid use of undefined type 'struct unit_directory'
/home/tomer/af9015/v4l/firedtv-1394.c:196: error: dereferencing pointer to incomplete type
/home/tomer/af9015/v4l/firedtv-1394.c:197: error: dereferencing pointer to incomplete type
/home/tomer/af9015/v4l/firedtv-1394.c:198: error: implicit declaration of function 'CSR1212_TEXTUAL_DESCRIPTOR_LEAF_DATA'
/home/tomer/af9015/v4l/firedtv-1394.c:198: error: dereferencing pointer to incomplete type
/home/tomer/af9015/v4l/firedtv-1394.c:198: warning: assignment makes pointer from integer without a cast
/home/tomer/af9015/v4l/firedtv-1394.c: At top level:
/home/tomer/af9015/v4l/firedtv-1394.c:257: warning: 'struct unit_directory' declared inside parameter list
/home/tomer/af9015/v4l/firedtv-1394.c: In function 'node_update':
/home/tomer/af9015/v4l/firedtv-1394.c:259: error: dereferencing pointer to incomplete type
/home/tomer/af9015/v4l/firedtv-1394.c: At top level:
/home/tomer/af9015/v4l/firedtv-1394.c:267: error: variable 'fdtv_driver' has initializer but incomplete type
/home/tomer/af9015/v4l/firedtv-1394.c:268: error: unknown field 'name' specified in initializer
/home/tomer/af9015/v4l/firedtv-1394.c:268: warning: excess elements in struct initializer
/home/tomer/af9015/v4l/firedtv-1394.c:268: warning: (near initialization for 'fdtv_driver')
/home/tomer/af9015/v4l/firedtv-1394.c:269: error: unknown field 'id_table' specified in initializer
/home/tomer/af9015/v4l/firedtv-1394.c:269: warning: excess elements in struct initializer
/home/tomer/af9015/v4l/firedtv-1394.c:269: warning: (near initialization for 'fdtv_driver')
/home/tomer/af9015/v4l/firedtv-1394.c:270: error: unknown field 'update' specified in initializer
/home/tomer/af9015/v4l/firedtv-1394.c:270: warning: excess elements in struct initializer
/home/tomer/af9015/v4l/firedtv-1394.c:270: warning: (near initialization for 'fdtv_driver')
/home/tomer/af9015/v4l/firedtv-1394.c:271: error: unknown field 'driver' specified in initializer
/home/tomer/af9015/v4l/firedtv-1394.c:271: error: extra brace group at end of initializer
/home/tomer/af9015/v4l/firedtv-1394.c:271: error: (near initialization for 'fdtv_driver')
/home/tomer/af9015/v4l/firedtv-1394.c:274: warning: excess elements in struct initializer
/home/tomer/af9015/v4l/firedtv-1394.c:274: warning: (near initialization for 'fdtv_driver')
/home/tomer/af9015/v4l/firedtv-1394.c:277: error: variable 'fdtv_highlevel' has initializer but incomplete type
/home/tomer/af9015/v4l/firedtv-1394.c:278: error: unknown field 'name' specified in initializer
/home/tomer/af9015/v4l/firedtv-1394.c:278: warning: excess elements in struct initializer
/home/tomer/af9015/v4l/firedtv-1394.c:278: warning: (near initialization for 'fdtv_highlevel')
/home/tomer/af9015/v4l/firedtv-1394.c:279: error: unknown field 'fcp_request' specified in initializer
/home/tomer/af9015/v4l/firedtv-1394.c:279: warning: excess elements in struct initializer
/home/tomer/af9015/v4l/firedtv-1394.c:279: warning: (near initialization for 'fdtv_highlevel')
/home/tomer/af9015/v4l/firedtv-1394.c: In function 'fdtv_1394_init':
/home/tomer/af9015/v4l/firedtv-1394.c:286: error: implicit declaration of function 'hpsb_register_highlevel'
/home/tomer/af9015/v4l/firedtv-1394.c:287: error: implicit declaration of function 'hpsb_register_protocol'
/home/tomer/af9015/v4l/firedtv-1394.c:290: error: implicit declaration of function 'hpsb_unregister_highlevel'
/home/tomer/af9015/v4l/firedtv-1394.c: In function 'fdtv_1394_exit':
/home/tomer/af9015/v4l/firedtv-1394.c:297: error: implicit declaration of function 'hpsb_unregister_protocol'
make[3]: *** [/home/tomer/af9015/v4l/firedtv-1394.o] Error 1
make[2]: *** [_module_/home/tomer/af9015/v4l] Error 2
make[2]: Leaving directory `/usr/src/linux-headers-2.6.31-020631-generic'
make[1]: *** [default] Error 2
make[1]: Leaving directory `/home/tomer/af9015/v4l'
make: *** [all] Error 2
what am i doing wrong?
sanderj
April 12th, 2010, 01:24 AM
tomerzz,
See http://ubuntuforums.org/showpost.php?p=8502022&postcount=18
In other words:
A quick work around is to disable the firedtv driver by modifying the
./v4l/.config file and changing '=m' to '=n' on the firedtv line.
tomerzz
April 12th, 2010, 02:29 AM
thanks.
i'm having issues with the make as i don't have free space on my drive.
but other than that , after the sudo make install
anything else needs to be done?
Grakul
April 12th, 2010, 02:43 AM
Ok, I'm starting to feel like I'm specifically being ignored. Is it just me? (j/k) ;-)
Please can somebody give me step by step instructions for how to get my AF9015 device working under Mythbuntu 9.10? Here's where I am now:
I did a clean install of Mythbuntu 9.10
I downloaded updated firmware from http://www.otit.fi/~crope/v4l-dvb/af9015/af9015_firmware_cutter/firmware_files/4.95.0/dvb-usb-af9015.fw
I copied the above file into /lib/firmware/ and /lib/firmware/$(uname -r)/
I rebooted the machine
I unplugged and plugged in my USB DVB Tuner, and I see the following in the log:
[ 141.520072] usb 1-2: new full speed USB device using ohci_hcd and address 3
[ 141.736720] usb 1-2: configuration #1 chosen from 1 choice
[ 141.795496] af9015: tuner id:179 not supported, please report!
[ 141.816417] input: Afatech DVB-T 2 as /devices/pci0000:00/0000:00:02.0/usb1/1-2/1-2:1.1/input/input8
[ 141.816653] generic-usb 0003:15A4:9016.0002: input,hidraw0: USB HID v1.01 Keyboard [Afatech DVB-T 2]
I should also point out that Mythbuntu suggested "Firmware for DVB cards" in the Proprietary Drivers window. I enabled that, but still no luck.
Any help you guys can give will be greatly appreciated! :)
Cheers
Grakul
tomerzz
April 12th, 2010, 02:53 AM
try the following (all info gathered from this thread...)
hg clone -r 0f41fd7df85d http://linuxtv.org/hg/~anttip/af9015/
Firmware:
> wget http://jusst.de/manu/fw/AFA/dvb-usb-af9015.fw_a-link>
sudo mv dvb-usb-af9015.fw_a-link /lib/firmware/dvb-usb-af9015.fw
cd af9015
copy the patch file from here
http://www.mail-archive.com/linux-media@vger.kernel.org/msg16117.html
and save it to patch.txt
patch -p1 <patch.txt
disable the firedtv driver by modifying the./v4l/.config file and changing '=m' to '=n' on the firedtv line.
and then..
make
sudo make install
Grakul
April 12th, 2010, 03:10 AM
Thanks so much! I'd pretty much done all that before, except for the patch. I had no idea how to download patches before. I take it that .txt file just contains instructions for which source files to change, what lines, from what to what?
I'll try it tonight when I get home from work. Thanks again!! :)
Grakul
Grakul
April 12th, 2010, 03:14 AM
Sorry, two more quick questions:
From where do I copy the text in the URL you gave me? From "diff -r 0f41fd7df85d linux/drivers/media/common/tuners/Kconfig" to the end of the message?
Do I need to remove the proprietary driver first, or will it just work?
OK, bonus third question: ;) previously, I've found that /v4l/.config doesn't exist until I first try to build and that build fails. This takes some time. Is there a way to make it generate the .config file before it tries to build?
Cheers
Grakul
Grakul
April 13th, 2010, 02:09 AM
Thank you, thank you, thank you!! My DVB Stick is now picking up in Mythtv-backend, and I have a /dev/dvb/ folder. I can't actually lock onto any channels, but that's a discussion for another thread (which I'll post if I don't come right).
You have no idea how relieved I am! :)
tomerzz
April 13th, 2010, 02:30 PM
at last, got mine to work as well.
if anyone's monitoring this thread, it should be mentioned that the
this part "A quick work around is to disable the firedtv driver by modifying the
./v4l/.config file and changing '=m' to '=n' on the firedtv line."
only works after the first make gives errors on firedtv..couldn't find that config file before the first make.
curracruisers
April 21st, 2010, 02:57 AM
Hi, I have been following this thread and have tried most of the suggestions. However, there is always a "however", none of my TV apps can find the device, My dmesg shows it
[ 15.454086] af9015: tuner id:179 not supported, please report!
[ 15.454130] usbcore: registered new interface driver dvb_usb_af9015
but lsusb doesn't
Bus 004 Device 003: ID 0458:2019 KYE Systems Corp. (Mouse Systems) ColorPage-HR6X Slim
Bus 004 Device 002: ID 046e:52cd Behavior Tech. Computer Corp.
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 002: ID 1267:0201 Logic3 / SpectraVideo plc A4Tech SWOP-3 Mouse
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 004: ID 15a4:9016
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
I have the the 4.95 firmware, the latest v4l from hg clone, the firedtv = n, kernel is 2.6.31.20, Ubuntu 9.10, I just can't see why the apps can't see it.
Any ideas anyone? I reeeeeeeeeeally don't want to use Win7](*,)
tomerzz
April 21st, 2010, 04:07 AM
have you applied the patch?
c1ru
April 21st, 2010, 05:23 AM
Me too and dont work.
I have one STV22 from sveon. Got af9015 too, that is the only i can see under windows.
On mythbuntu dont show nothing when i do dmesg
http://ubuntuforums.org/showthread.php?t=1458780
curracruisers
April 22nd, 2010, 09:01 PM
Hi Tomerzz, I have tried unsuccessfully to apply the patch, I have seen so many different methods of doing this I have given up. what I need is a concise method or even a GUI method as I get lost half way through because the instructions I have tried don't match what happens on my system. I have a base install with a generic kernel as mentioned before. Any help would be appreciated.
sanderj
April 23rd, 2010, 03:07 AM
Hi Tomerzz, I have tried unsuccessfully to apply the patch, I have seen so many different methods of doing this I have given up. what I need is a concise method or even a GUI method as I get lost half way through because the instructions I have tried don't match what happens on my system. I have a base install with a generic kernel as mentioned before. Any help would be appreciated.
IMHO setting up DVB-TV on Linux is painful and horrible. And if that isn't enough patching makes it even more horrible. And no, there is no GUI.
But as your sig says "Never give up, never surrender!" here's the patching info
"The patch will work against the following changeset:
hg clone -r 0f41fd7df85d http://linuxtv.org/hg/~anttip/af9015/ "
How to patch
http://ubuntuforums.org/showpost.php?p=8936585&postcount=59
And I've included the patch as an attachment.
Sorry for possible typo's: the TGV train is a bit bumpy at 300 km/h...
jimmyoo0
April 27th, 2010, 04:10 PM
Thanks for all the hard work you guys have done to get this working.
I just got a tuner from here http://www.dealextreme.com/details.dx/sku.8309
It looked like a af9015 so i followed the instructions listed here and it didn't work, i then realized it was recognized as a af9013 and there was no firmware for it so i renamed the file dvb-usb-af3015.fw to dvb-usb-af3013.fw then restarted and now it all works.
Grakul
April 29th, 2010, 05:29 AM
Thank you, thank you, thank you!! My DVB Stick is now picking up in Mythtv-backend, and I have a /dev/dvb/ folder.
After installing a bunch of updates this morning (kernal stuff), I suddenly started getting the "Tuner ID:179 Not Supported" error again, so I went back and re-did all the steps that I originally took (I removed the ~/af9015/ folder and literally started from scratch). It didn't work. :(
What changed in the batch of updates that were installed this morning, and what can I do to fix it?
Cheers
Graham
Grakul
April 29th, 2010, 05:40 AM
Nevermind. After the new batch of updates, I was finally able to use the native driver! So I guess this thread is no longer needed. ;)
To summarise:
Under Application -> System -> Hardware Drivers, you should now see a "Driver for DVB Cards." This never used to work, but it does now. Just activate it and reboot! :)
sanderj
April 30th, 2010, 05:52 AM
Nevermind. After the new batch of updates, I was finally able to use the native driver! So I guess this thread is no longer needed. ;)
To summarise:
Under Application -> System -> Hardware Drivers, you should now see a "Driver for DVB Cards." This never used to work, but it does now. Just activate it and reboot! :)
On Ubuntu 10.04, I found it under System -> Administration, and then Hardware Drivers. I was able to activate the offered driver.
The dmesg is shown below, still with the old error message. And still no /dev/dvb :-(
Apr 30 09:48:18 ubuntu kernel: [ 288.788126] usb 2-1: new high speed USB device using ehci_hcd and address 5
Apr 30 09:48:18 ubuntu kernel: [ 288.925414] usb 2-1: configuration #1 chosen from 1 choice
Apr 30 09:48:18 ubuntu kernel: [ 288.943925] af9015: tuner id:179 not supported, please report!
Apr 30 09:48:18 ubuntu kernel: [ 288.947481] Afatech DVB-T 2: Fixing fullspeed to highspeed interval: 10 -> 7
Apr 30 09:48:18 ubuntu kernel: [ 288.948181] input: Afatech DVB-T 2 as /devices/pci0000:00/0000:00:1d.7/usb2/2-1/2-1:1.1/input/input14
Apr 30 09:48:18 ubuntu kernel: [ 288.949648] generic-usb 0003:15A4:9016.0003: input,hidraw0: USB HID v1.01 Keyboard [Afatech DVB-T 2] on usb-0000:00:1d.7-1/input1
Grakul
April 30th, 2010, 10:38 AM
OK, bear in mind I'm using Mythbuntu 9.10 (Not the full Ubuntu distribution). Mybuntu only has one menu (Application).
It's really strange that it works for some and not for others. But I'm in the process of doing a dist-upgrade (about 3 hours left), so will let to know. :)
Grakul
May 1st, 2010, 08:26 AM
*sigh*
After upgrading to MythTV 0.23 RC2 and Ubuntu 10.04, tuner id:179 not supported is back.
I'm going back to the old driver again, I guess.
I wonder what Canonical is doing?
Cheers
Grakul
Grakul
May 1st, 2010, 09:42 AM
OK, I redid the following steps:
try the following (all info gathered from this thread...)
hg clone -r 0f41fd7df85d http://linuxtv.org/hg/~anttip/af9015/
Firmware:
> wget http://jusst.de/manu/fw/AFA/dvb-usb-af9015.fw_a-link>
sudo mv dvb-usb-af9015.fw_a-link /lib/firmware/dvb-usb-af9015.fw
cd af9015
copy the patch file from here
http://www.mail-archive.com/linux-media@vger.kernel.org/msg16117.html
and save it to patch.txt
patch -p1 <patch.txt
disable the firedtv driver by modifying the./v4l/.config file and changing '=m' to '=n' on the firedtv line.
and then..
make
sudo make install
After that, I unplugged the tuner, and plugged it back in, but I still not the tuner id:179 not supported. After a reboot, though, everything's working again :)
Cheers
Grakul
c1ru
May 3rd, 2010, 06:19 AM
I have tested alot of devices with this chipset. And i have the same problem with all adapters.
Mythbuntu recognizes dvb-usb-af9015, install the driver and the firmware.
Works fine and can tune and watch channels.
But, when i reboot, sometimes, the card continues active on dmesg, and is create on /dev/dvb but mythtv shows a black screen, and the led on the adapter is off.
Another time, when you can watch tv, you can record and all work fine, but when you stay w/o using the card for 4-5 hjours, then you return to watch the tv and only shows a black screen.
Dont what more can i do.
roberto.tomas
May 5th, 2010, 07:59 PM
Nevermind. After the new batch of updates, I was finally able to use the native driver! So I guess this thread is no longer needed. ;)
To summarise:
Under Application -> System -> Hardware Drivers, you should now see a "Driver for DVB Cards." This never used to work, but it does now. Just activate it and reboot! :)
it's not showing up for me. I have a tubestick, on 10.4 ubuntu
I'm also having trouble following the build instructions -- what provides dma.h? I installed linux-headers for my powerpc architecture, but still getting what look like system header errors:
CC [M] /home/roberto/Código/af9015/v4l/firedtv-1394.o
/home/roberto/Código/af9015/v4l/firedtv-1394.c:21:17: error: dma.h: No such file or directory
/home/roberto/Código/af9015/v4l/firedtv-1394.c:22:21: error: csr1212.h: No such file or directory
/home/roberto/Código/af9015/v4l/firedtv-1394.c:23:23: error: highlevel.h: No such file or directory
/home/roberto/Código/af9015/v4l/firedtv-1394.c:24:19: error: hosts.h: No such file or directory
/home/roberto/Código/af9015/v4l/firedtv-1394.c:25:22: error: ieee1394.h: No such file or directory
/home/roberto/Código/af9015/v4l/firedtv-1394.c:26:17: error: iso.h: No such file or directory
/home/roberto/Código/af9015/v4l/firedtv-1394.c:27:21: error: nodemgr.h: No such file or directoryedit: I found a mail-archive today that appears to describe this problem: http://www.mail-archive.com/ubuntu-devel-discuss@lists.ubuntu.com/msg09422.html -- it says I can disable the firedtv driver from building or to modify the source. I'm going for the first option -- but I thought to ask, why is this here? af9015 and firedtv are different recievers, it's an entirely different driver.
edit 2:I don't even see how firedtv is getting built .. I did try installing the kernel source but, that of course did no good.
Grakul
May 7th, 2010, 12:03 PM
Aaargh! Wouldn't you know it? Another kernel update and it stops working!
Tried enabling the driver under Hardware Drivers and reboot, nothing. Redownloaded the firmware, then redid the make and sudo make install. Reboot and nothing. Have now once again deleted my af9015/ folder, and retrying all the steps from scratch (that worked last time).
I seriously hope they get this right one day! :(
gefenm11
May 11th, 2010, 06:26 PM
it's not showing up for me. I have a tubestick, on 10.4 ubuntu
I'm also having trouble following the build instructions -- what provides dma.h? I installed linux-headers for my powerpc architecture, but still getting what look like system header errors:
CC [M] /home/roberto/Código/af9015/v4l/firedtv-1394.o
/home/roberto/Código/af9015/v4l/firedtv-1394.c:21:17: error: dma.h: No such file or directory
/home/roberto/Código/af9015/v4l/firedtv-1394.c:22:21: error: csr1212.h: No such file or directory
/home/roberto/Código/af9015/v4l/firedtv-1394.c:23:23: error: highlevel.h: No such file or directory
/home/roberto/Código/af9015/v4l/firedtv-1394.c:24:19: error: hosts.h: No such file or directory
/home/roberto/Código/af9015/v4l/firedtv-1394.c:25:22: error: ieee1394.h: No such file or directory
/home/roberto/Código/af9015/v4l/firedtv-1394.c:26:17: error: iso.h: No such file or directory
/home/roberto/Código/af9015/v4l/firedtv-1394.c:27:21: error: nodemgr.h: No such file or directoryedit: I found a mail-archive today that appears to describe this problem: http://www.mail-archive.com/ubuntu-devel-discuss@lists.ubuntu.com/msg09422.html -- it says I can disable the firedtv driver from building or to modify the source. I'm going for the first option -- but I thought to ask, why is this here? af9015 and firedtv are different recievers, it's an entirely different driver.
edit 2:I don't even see how firedtv is getting built .. I did try installing the kernel source but, that of course did no good.
The FIREDTV is known issue.
Go to v4l folder and edit the .config file
find the line
CONFIG_DVB_FIREDTV=m
and change it to
CONFIG_DVB_FIREDTV=n
that will disable compilation of FIREDTV, but yo don't use that module anyway.
ephestione
May 14th, 2010, 11:15 AM
OK, I redid the following steps:
After that, I unplugged the tuner, and plugged it back in, but I still not the tuner id:179 not supported. After a reboot, though, everything's working again :)
Cheers
Grakul
Currently using the most updated release of lucid, as of today's aptitude full-upgrade, and I confirm this method working exactly as Grakul said.
Only detail: in the quote where the steps are reported, when you have to disable the firedtv module, you need to issue a:
nano v4l/.configor
gedit v4l/configas using ./v4l/.config will somehow return a nonexistent (that is, empty) file reference
I just had to reboot after that and now I finally have /dev/dvb in there :p
EDIT: Me-TV now detecgts the device and I could select the tune-file for my area... it's just that the mini-antenna that came with this 14USD worth adapter can't do its job ;)
Donagh
May 14th, 2010, 12:58 PM
Grakul, any luck fixing your set up? I switched to Ubuntu from Windows 7 install two weeks ago when I found out the AF9015 was finally being supported. I followed the quoted instructions in your earlier post and everything was working very well until I updated (last Monday, maybe? I can't remember when exactly...). Anyway, I'm now back to the same problem that drove me to use Windows in the first place (a lá dmesg: tuner id 179 not supported).
I've repeated all the steps that fixed the problem for me before, but unfortunately they don't seem to be working this time. Is anybody else experiencing this problem or know how to fix it?
Grakul
May 15th, 2010, 04:55 AM
Donagh, as of right now, the tuner is being picked up fine, but I can't get a lock on any channels. Not sure if I need to re-scan, if it's a problem with DVB in South Africa (South African DVB broadcasts are still in Beta so they reserve the right to change the frequencies from time to time).
Haven't booted the media centre up yet this weekend, though. There may be yet another update waiting for me, which could break it again. :(
Donagh
May 16th, 2010, 09:38 AM
Ha, I dream of not locking onto channels! I'm considering a complete reinstall using the untainted Lucid ISO I downloaded a few weeks ago, but I might hold off for another week or two first in case it magically rectifies itself with another update...
Thanks for the info anyway!
irvotheturbo
May 18th, 2010, 05:24 PM
Following the previous steps mentioned (compiling/installing driver) led me to this error:
dmesg |tail shows the following error:
[ 83.525870] usb 1-6: configuration #1 chosen from 1 choice
[ 83.529665] Afatech DVB-T 2: Fixing fullspeed to highspeed interval: 10 -> 7
[ 83.539164] input: Afatech DVB-T 2 as /devices/pci0000:00/0000:00:03.2/usb1/1-6/1-6:1.1/input/input8
[ 83.539559] generic-usb 0003:15A4:9016.0002: input,hidraw1: USB HID v1.01 Keyboard [Afatech DVB-T 2] on usb-0000:00:03.2-6/input1
[ 84.123996] af9015: tuner NXP TDA18218 not supported yet
[ 84.124094] usbcore: registered new interface driver dvb_usb_af9015
EDIT: Solved it by downloading the firmware again. Now I'm getting the following error:
[ 6529.662498] DVB: registering new adapter (Afatech AF9015 DVB-T USB2.0 stick)
[ 6530.365458] af9013: firmware version:4.65.0
[ 6530.368835] DVB: registering adapter 0 frontend 0 (Afatech AF9013 DVB-T)...
[ 6530.396749] DVB: Unable to find symbol tda18218_attach()
[ 6530.396764] dvb-usb: Afatech AF9015 DVB-T USB2.0 stick successfully initialized and connected.
Looks like a AF9015 / AF9013 mix! I'll try doing things from scratch again.
irvotheturbo
May 19th, 2010, 08:21 AM
Looks like I did something wrong before, maybe enabled the propriety driver in the process, which I guess overwrites the compiled driver when enabled.
All is well now, able to watch Dutch tv/radio stations! Thank you guys for the detailed how-to! :)
roberto.tomas
May 25th, 2010, 10:49 AM
The chip AF9015 is not supported yet.
its funny, a couple months ago when I was still on my mac os x and I wanted an alternate software to ocntrol my tubestick (af9015) because the software they had was so bad at locking in on channels, all the forums for the mac end said that af9015 is among the best supported chipsets for recievers on linux. :P
Grakul
May 25th, 2010, 10:54 AM
its funny, a couple months ago when I was still on my mac os x and I wanted an alternate software to ocntrol my tubestick (af9015) because the software they had was so bad at locking in on channels, all the forums for the mac end said that af9015 is among the best supported chipsets for recievers on linux. :P
Erm, that could be because mvirkkil said that in January 2008! You asked on the mac forums "a couple months ago." A hell of a lot changes in the Open Source world in two years! :P
roberto.tomas
May 25th, 2010, 12:36 PM
EDIT: problem removed
roberto.tomas
May 25th, 2010, 03:39 PM
nevermind -- I've recently had a change in time and this is no longer a problem for me :)
glogireland
May 31st, 2010, 07:51 PM
I'm at my wits end trying to get my new USB DVB -T Dongle working.
http://www.dealextreme.com/details.dx/sku.28891
As already stated this worked out of the box with my Windows machine.
On my Linux (Ubuntu 10.4) machine it appears to recognise the card alright:
desktop kernel: [ 29.162256] dvb-usb: found a 'Afatech USB2.0 DVB-T Recevier' in warm state.
desktop kernel: [ 29.162880] dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer.
desktop kernel: [ 29.165862] DVB: registering new adapter (Afatech USB2.0 DVB-T Recevier)
May 31 23:35:59 desktop kernel: [ 29.183623] DVB: registering adapter 0 frontend 0 (AF901X USB DVB-T)...
desktop kernel: [ 29.188529] dvb-usb: Afatech USB2.0 DVB-T Recevier successfully initialized and connected.
-desktop kernel: [ 29.188909] usbcore: registered new interface driver dvb_usb_af901x
When i run a scan of my local TX:
# T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
T 578000000 8MHz AUTO AUTO AUTO AUTO AUTO NONE
I get following output:
scanning crosshaven
using '/dev/dvb/adapter0/frontend0' and '/dev/dvb/adapter0/demux0'
initial transponder 578000000 0 9 9 6 2 4 0
>>> tune to: 578000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_AUTO: FEC_AUTO:QAM_AUTO:TRANSMISSION_MODE_AUTO:GUARD_INT ERVAL_AUTO:HIERARCHY_NONE
WARNING: filter timeout pid 0x0011
WARNING: filter timeout pid 0x0000
WARNING: filter timeout pid 0x0010
dumping lists (0 services)
Done
And doesn't pick up any channels.I'm sure the signal is strong enough as I say I can pick up a good strong signal using same USB/antenna on a Windows machine.
The driver appears to be the latest.
Any help or advice would be much appreciated. (As you can tell I'm a Linux Noob!)
Cheers in advance.
Grakul
June 1st, 2010, 02:03 AM
glogireland, I haven't run that T freq command (what is it actually supposed to do?), but I think I may have the same problem as you. After becoming frustrated with not being able to lock onto any channels, I decided to delete them all and re-scan. Now it's not finding any!
If I plug my dongle into my Vista machine, I can still watch all my channels using Blaze (I didn't try deleting all the channels there, and re-scanning. I'm too scared to, but even so, I'm pretty sure it would work).
So something that was working, stopped working. I'll check this weekend how many updates are available for Mythbuntu and whether my cap can handle them. ;) Maybe they will fix the problem again (although I'll probably have to re-get the source, re-complete, re-"make install", and re-copy the firmware, as always).
Cheers
Grakul
MFonville
June 10th, 2010, 10:08 AM
I have created a new diff, which can applied to the latest version of the af9104 mercurial tree
Update: I have remove the patch now, it's not proper yet, i have to update it.
glogireland
June 25th, 2010, 05:19 AM
Would be grateful for any update on this .
Cheers.
Michalxo
June 29th, 2010, 10:23 AM
Hello!
I just bought Leadtek USB Dongle gold, and I am getting errors like this:
libdvbpsi error (PSI decoder): TS discontinuity (received 0, expected 7) for PID 1024
dvbpsi error (PSI decoder): TS discontinuity (received 9, expected 4) for PID 18
libdvbpsi error (PSI decoder): TS discontinuity (received 7, expected 1) for PID 18
libdvbpsi error (misc PSI): Bad CRC_32 (0xc01bc056) !!!
libdvbpsi error (PSI decoder): TS discontinuity (received 2, expected 13) for PID 0
Many of errors like this. Tunning some stations takes too long (around 3 mins if lucky). I am using 4.95.0 drivers.
Anyone else having such a problems?
$ vlc channels.conf
VLC media player 1.1.0 The Luggage (revision exported)
Blocked: call to unsetenv("DBUS_ACTIVATION_ADDRESS")
Blocked: call to unsetenv("DBUS_ACTIVATION_BUS_TYPE")
Warning: call to signal(13, 0x1)
Blocked: call to setlocale(6, "")
Blocked: call to sigaction(17, 0x7f70128acb60, 0x7f70128acac0)
Warning: call to signal(13, 0x1)
Warning: call to srand(1277768699)
Warning: call to rand()
Blocked: call to setlocale(6, "")
(process:31623): Gtk-WARNING **: Locale not supported by C library.
Using the fallback 'C' locale.
Warning: call to signal(13, 0x1)
[0x12e1e60] main playlist: stopping playback
Warning: call to rand()
Warning: call to rand()
Warning: call to rand()
Warning: call to rand()
libdvbpsi error (PSI decoder): TS discontinuity (received 15, expected 0) for PID 0
libdvbpsi error (PSI decoder): TS discontinuity (received 4, expected 0) for PID 0
Please help, with friend's lower USB Dongle version it worked like a charm, fast switching channels and everything.. With this it's somewhere borked :-/
Thanks Mich
krauth
July 2nd, 2010, 11:04 AM
Compiled the newest driver (af9015-932dc08503ed) and got newest firmware (version:5.1.0.0) and finally have a lock on both tuners on the Leadtek WinFast DTV2000DS running lucid 2.6.32-23-generic!
DenisF
July 3rd, 2010, 07:48 AM
Hello
@krauth:
Where have you found this new firmware?
Have you really got af9015 with Tuner #179?
For me, I've got the same message:
af9015: tuner id:179 not supported, please report!
now (af9015: tuner NXP TDA18218 not supported yet)
:(
Michalxo
July 3rd, 2010, 12:38 PM
Hello
@krauth:
Where have you found this new firmware?
Have you really got af9015 with Tuner #179?
For me, I've got the same message:
af9015: tuner id:179 not supported, please report!
now (af9015: tuner NXP TDA18218 not supported yet)
:(
Look around on this thread. There was an unofficial patch released concerning this fault. It's somewhere around page 7-9 in this thread ;-)
DenisF
July 3rd, 2010, 01:00 PM
Hello,
Look around on this thread. There was an unofficial patch released concerning this fault. It's somewhere around page 7-9 in this thread ;-)
Thanks, I've seen. But this patch is not UpToDate.
The drivers are in new version and patch don't apply on them.
I try to mod, but diff file is consequent ;)
krauth
July 3rd, 2010, 11:10 PM
Either use get_dvb_firmware.pl (http://parker1.co.uk/myth/get_dvb_firmware) or http://palosaari.fi/linux/v4l-dvb/firmware/af9015/5.1.0.0/dvb-usb-af9015.fw
The DTV2000DS has a TDA18271
AF9013_TUNER_TDA18271 = 156, /* NXP */
DenisF
July 4th, 2010, 06:33 AM
Either use get_dvb_firmware.pl (http://parker1.co.uk/myth/get_dvb_firmware) or http://palosaari.fi/linux/v4l-dvb/firmware/af9015/5.1.0.0/dvb-usb-af9015.fw
Thanks
The DTV2000DS has a TDA18271
AF9013_TUNER_TDA18271 = 156, /* NXP */
It's why that don't work with mine...
(in af9013.h) AF9013_TUNER_TDA18218 = 179, /* NXP */
(in af9015.c) case AF9013_TUNER_TDA18218:
warn("tuner NXP TDA18218 not supported yet");
return -ENODEV;
Someone know where can I find new patch for af9015-932dc08503ed ?
DenisF
July 10th, 2010, 05:34 AM
Hello,
Little UP...
DenisF
July 10th, 2010, 12:45 PM
Hello
Ok, I apply the patch by hand... , and correct some file.
Compilation is OK. And w_scan found my key... but no channels (it's normal I can't receive Where I am, I'll do test in other place shortly)
The thing isn't working is IR module.
I've got :/dev/input/by-id/usb-Afatech_DVB-T_2_010101010600001-event-ir
but the command
cat /dev/input/by-id/usb-Afatech_DVB-T_2_010101010600001-event-ir
Don't get anything....
PS: Is someone can get me the diff command to make a new patch file?
HandeH
July 14th, 2010, 04:15 PM
Either use get_dvb_firmware.pl (http://parker1.co.uk/myth/get_dvb_firmware) or http://palosaari.fi/linux/v4l-dvb/firmware/af9015/5.1.0.0/dvb-usb-af9015.fw
I have used firmware from mr. Palosaari and been satisfied. After the recent update of the kernel to 2.6.32-23 my MythTV stopped to show/get EIT/EPG data. :( First I tried to enable Lucid proposed repository, but it did not help. Only after updating also the firmware into the one mentioned above, the EPG data is back in MythTV (I'm now using the proposed 2.6.32-24).
Although on the other hand, Me-TV does not show anything anymore ("Cannot lock the channel" or "locking of the channel failed")! VLC works.
I have not tested firmware from Jockey recently. I have a Fuj:tech (or "Fujitech") AF9015 DVB-T USB2.0 stick.
EDIT: firmware version 4.95.0 works again also in MythTV etc. (I am using lucid-proposed).
Jose Catre-Vandis
July 17th, 2010, 06:29 PM
Mine just stopped working. Getting this in dmesg:
[ 563.840751] DVB: registering adapter 0 frontend 0 (Afatech AF9013 DVB-T)...
[ 563.842770] af9015: command failed:2
[ 563.842783] qt1010 I2C read failed
[ 563.843171] dvb-usb: KWorld USB DVB-T TV Stick II (VS-DVB-T 395U) successfully initialized and connected.
Module shows up as loaded in lsmod, but no channels played
A reboot, and a switch of dongle (I have two the same) made no difference. Off to try a cold reboot now.
{EDIT}
Ah good. Switch off, unplug from wall, remove dongle. Walk away and make coffee. Return, plug in dongle, plug in power lead, fire up and all is well. :)
curracruisers
July 26th, 2010, 11:04 PM
Well, after trying ALL the suggestions (patches, drivers, firmware, etc) with no success I am now using Lucid 10.04 64bit, with kernel 2.6.34-xx, and guess what? I still get "af9015: tuner NXP TDA18218 not supported yet". That's it!!! I have not done this before but, my hands are up, I surrender. No usb tv for me. If some one has a magic solution I may fight again. Thank guys for your help.](*,)
size_XXM
July 31st, 2010, 09:12 AM
There's been a branch aimed at getting TDA18218 to work - check it out here (http://linuxtv.org/hg/~anttip/tda18218/) - haven't checked it out and the TODOs in the code suggest it's not quite ready yet.
DenisF
August 12th, 2010, 05:46 PM
Hello
Here the solution for af9015-932dc08503ed last version
Get new firmware from http://palosaari.fi/linux/v4l-dvb/firmware/af9015/5.1.0.0/dvb-usb-af9015.fw (v5.1.0.0 2010/05/14)
Execute this code:
sudo mv dvb-usb-af9015.fw /lib/firmware/dvb-usb-af9015.fw
Get file from http://linuxtv.org/hg/~anttip/af9015/
This must be af9015-932dc08503ed
Unzip this file in new folder and enter in this last.
Copy this code to a new file named Patch_TDA18218.txt
diff -urN a/linux/drivers/media/common/tuners/Kconfig b/linux/drivers/media/common/tuners/Kconfig
--- a/linux/drivers/media/common/tuners/Kconfig 2010-06-18 00:19:12.000000000 +0200
+++ b/linux/drivers/media/common/tuners/Kconfig 2010-07-10 12:22:04.000000000 +0200
@@ -179,4 +179,11 @@
help
A driver for the silicon tuner MAX2165 from Maxim.
+config MEDIA_TUNER_TDA18218
+ tristate "NXP TDA18218 silicon tuner"
+ depends on VIDEO_MEDIA && I2C
+ default m if MEDIA_TUNER_CUSTOMISE
+ help
+ A driver for the silicon tuner TDA18218 from NXP.
+
endif # MEDIA_TUNER_CUSTOMISE
diff -urN a/linux/drivers/media/common/tuners/Makefile b/linux/drivers/media/common/tuners/Makefile
--- a/linux/drivers/media/common/tuners/Makefile 2010-06-18 00:19:12.000000000 +0200
+++ b/linux/drivers/media/common/tuners/Makefile 2010-07-10 12:24:00.000000000 +0200
@@ -24,6 +24,7 @@
obj-$(CONFIG_MEDIA_TUNER_MXL5007T) += mxl5007t.o
obj-$(CONFIG_MEDIA_TUNER_MC44S803) += mc44s803.o
obj-$(CONFIG_MEDIA_TUNER_MAX2165) += max2165.o
+obj-$(CONFIG_MEDIA_TUNER_TDA18218) += tda18218.o
EXTRA_CFLAGS += -Idrivers/media/dvb/dvb-core
EXTRA_CFLAGS += -Idrivers/media/dvb/frontends
diff -urN a/linux/drivers/media/common/tuners/tda18218.c b/linux/drivers/media/common/tuners/tda18218.c
--- a/linux/drivers/media/common/tuners/tda18218.c 1970-01-01 01:00:00.000000000 +0100
+++ b/linux/drivers/media/common/tuners/tda18218.c 2010-07-10 12:26:10.000000000 +0200
@@ -0,0 +1,471 @@
+/*
+ * Driver for NXP TDA18218 silicon tuner
+ *
+ * Copyright (C) 2010 Lauris Ding <ld...@gmx.de>
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+#include "tda18218.h"
+#include "compat.h"
+#include "tda18218_priv.h"
+
+static int tda18218_write_reg(struct dvb_frontend *fe, u8 reg, u8 val)
+{
+ struct tda18218_priv *priv = fe->tuner_priv;
+ u8 buf[2] = { reg, val };
+ struct i2c_msg msg = { .addr = priv->cfg->i2c_address, .flags = 0,
+ .buf = buf, .len = 2 };
+ int ret;
+
+ if (fe->ops.i2c_gate_ctrl)
+ fe->ops.i2c_gate_ctrl(fe, 1);
+ /* write register */
+ ret = i2c_transfer(priv->i2c, &msg, 1);
+ if (fe->ops.i2c_gate_ctrl)
+ fe->ops.i2c_gate_ctrl(fe, 0);
+
+ if (ret != 1)
+ printk(KERN_WARNING "I2C write failed ret: %d reg: %02x\n", ret, reg);
+
+ return (ret == 1 ? 0 : ret);
+}
+
+static int tda18218_write_regs(struct dvb_frontend *fe, u8 reg,
+ u8 *val, u8 len)
+{
+ struct tda18218_priv *priv = fe->tuner_priv;
+ u8 buf[1+len];
+ struct i2c_msg msg = {
+ .addr = priv->cfg->i2c_address,
+ .flags = 0,
+ .len = sizeof(buf),
+ .buf = buf };
+
+ int ret;
+
+ buf[0] = reg;
+ memcpy(&buf[1], val, len);
+
+ if (fe->ops.i2c_gate_ctrl)
+ fe->ops.i2c_gate_ctrl(fe, 1);
+ ret = i2c_transfer(priv->i2c, &msg, 1);
+ if (fe->ops.i2c_gate_ctrl)
+ fe->ops.i2c_gate_ctrl(fe, 1);
+
+ if (ret != 1)
+ printk(KERN_WARNING "I2C write failed ret: %d reg: %02x len: %d\n", ret, reg, len);
+
+ return (ret == 1 ? 0 : ret);
+}
+
+/*static int tda18218_read_reg(struct tda18218_priv *priv, u16 reg, u8 *val)
+{
+ u8 obuf[3] = { reg >> 8, reg & 0xff, 0 };
+ u8 ibuf[1];
+ struct i2c_msg msg[2] = {
+ {
+ .addr = 0x3a,
+ .flags = 0,
+ .len = sizeof(obuf),
+ .buf = obuf
+ }, {
+ .addr = 0x3a,
+ .flags = I2C_M_RD,
+ .len = sizeof(ibuf),
+ .buf = ibuf
+ }
+ };
+
+ if (i2c_transfer(priv->i2c, msg, 2) != 2) {
+ printk(KERN_WARNING "I2C read failed reg:%04x\n", reg);
+ return -EREMOTEIO;
+ }
+ *val = ibuf[0];
+ return 0;
+}*/
+
+static int tda18218_read_regs(struct dvb_frontend *fe)
+{
+ struct tda18218_priv *priv = fe->tuner_priv;
+ u8 *regs = priv->tda18218_regs;
+ u8 buf = 0x00;
+ int ret;
+ //int i;
+ struct i2c_msg msg[] = {
+ { .addr = 0xc0, .flags = 0,
+ .buf = &buf, .len = 1 },
+ { .addr = 0xc0, .flags = I2C_M_RD,
+ .buf = regs, .len = 59 }
+ };
+
+ if (fe->ops.i2c_gate_ctrl)
+ fe->ops.i2c_gate_ctrl(fe, 1);
+
+ /* read all registers */
+ ret = i2c_transfer(priv->i2c, msg, 2);
+
+ if (fe->ops.i2c_gate_ctrl)
+ fe->ops.i2c_gate_ctrl(fe, 0);
+
+ if (ret != 2)
+ printk(KERN_WARNING "I2C read failed ret: %d\n", ret);
+
+ /*for(i = 0; i <= 58; i++)
+ printk("Register %d: %02x\n", i, 0xff & regs[i]);*/
+
+ return (ret == 2 ? 0 : ret);
+}
+
+static int tda18218_set_params(struct dvb_frontend *fe, struct dvb_frontend_parameters *params)
+{
+ struct tda18218_priv *priv = fe->tuner_priv;
+ u8 *regs = priv->tda18218_regs;
+ u8 Fc, BP;
+ int i, ret;
+ u16 if1, bw;
+ u32 freq;
+
+ u8 paramsbuf[4][6] = {
+ { 0x03, 0x1a },
+ { 0x04, 0x0a },
+ { 0x01, 0x0f },
+ { 0x01, 0x0f },
+ };
+
+ u8 agcbuf[][2] = {
+ { 0x1a, 0x0e },
+ { 0x20, 0x60 },
+ { 0x23, 0x02 },
+ { 0x20, 0xa0 },
+ { 0x23, 0x09 },
+ { 0x20, 0xe0 },
+ { 0x23, 0x0c },
+ { 0x20, 0x40 },
+ { 0x23, 0x01 },
+ { 0x20, 0x80 },
+ { 0x23, 0x08 },
+ { 0x20, 0xc0 },
+ { 0x23, 0x0b },
+ { 0x24, 0x1c },
+ { 0x24, 0x0c },
+ };
+
+ switch (params->u.ofdm.bandwidth) {
+ case BANDWIDTH_6_MHZ:
+ bw = 6000;
+ Fc = 0;
+ break;
+ case BANDWIDTH_7_MHZ:
+ bw = 7000;
+ Fc = 1;
+ break;
+ case BANDWIDTH_8_MHZ:
+ bw = 8000;
+ Fc = 2;
+ break;
+ default:
+ printk(KERN_WARNING "Invalid bandwidth");
+ return -EINVAL;
+ }
+
+ if1 = bw / 2;
+
+ if((params->frequency >= 174000000) && (params->frequency < 188000000)) {
+ BP = 3;
+ }
+ else if((params->frequency >= 188000000) && (params->frequency < 253000000)) {
+ BP = 4;
+ }
+ else if((params->frequency >= 253000000) && (params->frequency < 343000000)) {
+ BP = 5;
+ }
+ else if((params->frequency >= 343000000) && (params->frequency <= 870000000)) {
+ BP = 6;
+ }
+ else {
+ printk(KERN_WARNING "Frequency out of range");
+ return -EINVAL;
+ }
+
+ freq = params->frequency;
+ freq /= 1000;
+ freq +=if1;
+ freq *= 16;
+
+ tda18218_read_regs(fe);
+
+ paramsbuf[0][2] = regs[0x1a] | BP;
+ paramsbuf[0][3] = regs[0x1b] & ~3;
+ paramsbuf[0][3] = regs[0x1b] | Fc;
+ paramsbuf[0][4] = regs[0x1c] | 0x0a;
+
+ paramsbuf[1][2] = freq >> 16;
+ paramsbuf[1][3] = freq >> 8;
+ paramsbuf[1][4] = (freq & 0xf0) | (regs[0x0c] & 0x0f);
+ paramsbuf[1][5] = 0xff;
+ paramsbuf[2][2] = regs[0x0f] | 0x40;
+ paramsbuf[3][2] = 0x09;
+
+ tda18218_write_reg(fe, 0x04, 0x03);
+
+ for(i = 0; i < ARRAY_SIZE(paramsbuf); i++) {
+
+ /* write registers */
+ ret = tda18218_write_regs(fe, paramsbuf[i][1], ¶msbuf[i][2], paramsbuf[i][0]);
+
+ if (ret)
+ goto error;
+ }
+ for(i = 0; i < ARRAY_SIZE(agcbuf); i++) {
+ tda18218_write_reg(fe, agcbuf[i][0], agcbuf[i][1]);
+ }
+
+ //tda18218_write_reg(fe, 0x03, 0x00);
+ //tda18218_write_reg(fe, 0x04, 0x00);
+ //tda18218_write_reg(fe, 0x20, 0xc7);
+
+ msleep(60);
+ i = 0;
+ while(i < 10) {
+ tda18218_read_regs(fe);
+ if((regs[0x01] & 0x60) == 0x60)
+ printk(KERN_INFO "We've got a lock!"); break;
+ msleep(20);
+ i++;
+ }
+
+ priv->bandwidth = params->u.ofdm.bandwidth;
+ priv->frequency = params->frequency;
+ return 0;
+error:
+ return ret;
+}
+
+static int tda18218_get_frequency(struct dvb_frontend *fe, u32 *frequency)
+{
+ struct tda18218_priv *priv = fe->tuner_priv;
+ *frequency = priv->frequency;
+ return 0;
+}
+
+static int tda18218_get_bandwidth(struct dvb_frontend *fe, u32 *bandwidth)
+{
+ struct tda18218_priv *priv = fe->tuner_priv;
+ *bandwidth = priv->bandwidth;
+ return 0;
+}
+
+static int tda18218_init(struct dvb_frontend *fe)
+{
+ //struct tda18218_priv *priv = fe->tuner_priv;
+ //u8 *regs = priv->tda18218_regs;
+ int i;
+ int ret;
+
+ u8 initbuf[][18] = {
+ { 0x10, 0x05, 0x00, 0x00, 0xd0, 0x00, 0x40, 0x00, 0x00, 0x07, 0xff, 0x84, 0x09, 0x00, 0x13, 0x00, 0x00, 0x01 },
+ { 0x0b, 0x15, 0x84, 0x09, 0xf0, 0x19, 0x0a, 0x0e, 0x29, 0x98, 0x00, 0x00, 0x58 },
+ { 0x10, 0x24, 0x0c, 0x48, 0x85, 0xc9, 0xa7, 0x00, 0x00, 0x00, 0x30, 0x81, 0x80, 0x00, 0x39, 0x00, 0x8a, 0x00 },
+ { 0x07, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf6, 0xf6 },
+ };
+
+ u8 initbuf2[4];
+
+ for(i = 0; i < ARRAY_SIZE(initbuf); i++) {
+
+ /* write registers */
+ ret = tda18218_write_regs(fe, initbuf[i][1], &initbuf[i][2], initbuf[i][0]);
+
+ if (ret != 0) {
+ printk(KERN_ERR "init: ERROR: i2c_transfer returned: %d\n", ret);
+ return -EREMOTEIO;
+ }
+ if(i == 1) {
+ tda18218_write_reg(fe, 0x22, 0x8c);
+ }
+ }
+
+ tda18218_write_reg(fe, 0x05, 0x80);
+ tda18218_write_reg(fe, 0x05, 0x00);
+ tda18218_write_reg(fe, 0x05, 0x20);
+ tda18218_write_reg(fe, 0x05, 0x00);
+ tda18218_write_reg(fe, 0x27, 0xde);
+ tda18218_write_reg(fe, 0x17, 0xf8);
+ tda18218_write_reg(fe, 0x18, 0x0f);
+ tda18218_write_reg(fe, 0x1c, 0x8b);
+ tda18218_write_reg(fe, 0x29, 0x02);
+ tda18218_write_reg(fe, 0x19, 0x1a);
+ tda18218_write_reg(fe, 0x11, 0x13);
+
+ initbuf2[0] = 0x0a;
+ initbuf2[1] = 0x5c;
+ initbuf2[2] = 0xc6;
+ initbuf2[3] = 0x07;
+ tda18218_write_regs(fe, initbuf2[0], &initbuf2[1], 3);
+ tda18218_write_reg(fe, 0x0f, 0x49);
+ tda18218_write_reg(fe, 0x05, 0x40);
+ tda18218_write_reg(fe, 0x05, 0x00);
+ tda18218_write_reg(fe, 0x05, 0x20);
+ tda18218_write_reg(fe, 0x11, 0xed);
+ tda18218_write_reg(fe, 0x0f, 0x49);
+ tda18218_write_reg(fe, 0x19, 0x2a);
+ tda18218_write_reg(fe, 0x05, 0x58);
+ tda18218_write_reg(fe, 0x05, 0x18);
+ tda18218_write_reg(fe, 0x05, 0x38);
+ tda18218_write_reg(fe, 0x29, 0x03);
+ tda18218_write_reg(fe, 0x19, 0x1a);
+ tda18218_write_reg(fe, 0x11, 0x13);
+ initbuf2[0] = 0x0a;
+ initbuf2[1] = 0xbe;
+ initbuf2[2] = 0x6e;
+ initbuf2[3] = 0x07;
+ tda18218_write_regs(fe, initbuf2[0], &initbuf2[1], 3);
+ tda18218_write_reg(fe, 0x0f, 0x49);
+ tda18218_write_reg(fe, 0x05, 0x58);
+ tda18218_write_reg(fe, 0x05, 0x18);
+ tda18218_write_reg(fe, 0x05, 0x38);
+ tda18218_write_reg(fe, 0x11, 0xed);
+ tda18218_write_reg(fe, 0x0f, 0x49);
+ tda18218_write_reg(fe, 0x19, 0x2a);
+ tda18218_write_reg(fe, 0x05, 0x58);
+ tda18218_write_reg(fe, 0x05, 0x18);
+ tda18218_write_reg(fe, 0x05, 0x38);
+ tda18218_write_reg(fe, 0x19, 0x0a);
+ tda18218_write_reg(fe, 0x27, 0xc9);
+ tda18218_write_reg(fe, 0x11, 0x13);
+ initbuf2[0] = 0x17;
+ initbuf2[1] = 0xf0;
+ initbuf2[2] = 0x19;
+ initbuf2[3] = 0x00;
+ tda18218_write_regs(fe, initbuf2[0], &initbuf2[1], 2);
+ tda18218_write_reg(fe, 0x1c, 0x98);
+ tda18218_write_reg(fe, 0x29, 0x03);
+ tda18218_write_reg(fe, 0x2a, 0x00);
+ tda18218_write_reg(fe, 0x2a, 0x01);
+ tda18218_write_reg(fe, 0x2a, 0x02);
+ tda18218_write_reg(fe, 0x2a, 0x03);
+ tda18218_write_reg(fe, 0x1c, 0x98);
+ tda18218_write_reg(fe, 0x18, 0x19);
+ tda18218_write_reg(fe, 0x22, 0x9c);
+ tda18218_write_reg(fe, 0x1f, 0x58);
+ tda18218_write_reg(fe, 0x24, 0x0c);
+ tda18218_write_reg(fe, 0x1c, 0x88);
+ tda18218_write_reg(fe, 0x20, 0x10);
+ tda18218_write_reg(fe, 0x21, 0x4c);
+ tda18218_write_reg(fe, 0x20, 0x00);
+ tda18218_write_reg(fe, 0x21, 0x48);
+ tda18218_write_reg(fe, 0x1f, 0x5b);
+ tda18218_write_reg(fe, 0x20, 0x00);
+ tda18218_write_reg(fe, 0x1f, 0x59);
+ tda18218_write_reg(fe, 0x20, 0x00);
+ tda18218_write_reg(fe, 0x1f, 0x5a);
+ tda18218_write_reg(fe, 0x20, 0x00);
+ tda18218_write_reg(fe, 0x1f, 0x5f);
+ tda18218_write_reg(fe, 0x20, 0x00);
+ tda18218_write_reg(fe, 0x1f, 0x5d);
+ tda18218_write_reg(fe, 0x20, 0x00);
+ tda18218_write_reg(fe, 0x1f, 0x5e);
+ tda18218_write_reg(fe, 0x20, 0x00);
+ tda18218_write_reg(fe, 0x20, 0x60);
+ tda18218_write_reg(fe, 0x23, 0x02);
+ tda18218_write_reg(fe, 0x20, 0xa0);
+ tda18218_write_reg(fe, 0x23, 0x09);
+ tda18218_write_reg(fe, 0x20, 0xe0);
+ tda18218_write_reg(fe, 0x23, 0x0c);
+ tda18218_write_reg(fe, 0x20, 0x40);
+ tda18218_write_reg(fe, 0x23, 0x01);
+ tda18218_write_reg(fe, 0x20, 0x80);
+ tda18218_write_reg(fe, 0x23, 0x08);
+ tda18218_write_reg(fe, 0x20, 0xc0);
+ tda18218_write_reg(fe, 0x23, 0x0b);
+ tda18218_write_reg(fe, 0x1c, 0x98);
+ tda18218_write_reg(fe, 0x22, 0x8c);
+ initbuf2[0] = 0x17;
+ initbuf2[1] = 0xb0;
+ initbuf2[2] = 0x59;
+ initbuf2[3] = 0x00;
+ //tda18218_write_regs(fe, initbuf2[0], &initbuf2[1], 2);
+ initbuf2[0] = 0x1a;
+ initbuf2[1] = 0x0e;
+ initbuf2[2] = 0x2a;
+ initbuf2[3] = 0x98;
+ tda18218_write_regs(fe, initbuf2[0], &initbuf2[1], 3);
+ initbuf2[0] = 0x17;
+ initbuf2[1] = 0xb0;
+ initbuf2[2] = 0x59;
+ initbuf2[3] = 0x00;
+ tda18218_write_regs(fe, initbuf2[0], &initbuf2[1], 2);
+ tda18218_write_reg(fe, 0x2d, 0x81);
+ tda18218_write_reg(fe, 0x29, 0x02);
+
+ return 0;
+}
+
+static int tda18218_release(struct dvb_frontend *fe)
+{
+ kfree(fe->tuner_priv);
+ fe->tuner_priv = NULL;
+ return 0;
+}
+
+static const struct dvb_tuner_ops tda18218_tuner_ops = {
+ .info = {
+ .name = "NXP TDA18218",
+ .frequency_min = TDA18218_MIN_FREQ,
+ .frequency_max = TDA18218_MAX_FREQ,
+ .frequency_step = TDA18218_STEP,
+ },
+
+ .release = tda18218_release,
+ .init = tda18218_init,
+
+ .set_params = tda18218_set_params,
+ .get_frequency = tda18218_get_frequency,
+ .get_bandwidth = tda18218_get_bandwidth,
+};
+
+struct dvb_frontend * tda18218_attach(struct dvb_frontend *fe,
+ struct i2c_adapter *i2c,
+ struct tda18218_config *cfg)
+{
+ struct tda18218_priv *priv = NULL;
+
+ priv = kzalloc(sizeof(struct tda18218_priv), GFP_KERNEL);
+ if (priv == NULL)
+ return NULL;
+
+ priv->cfg = cfg;
+ priv->i2c = i2c;
+
+ fe->tuner_priv = priv;
+
+ tda18218_read_regs(fe);
+ if (priv->tda18218_regs[0x00] != 0xc0) {
+ printk(KERN_WARNING "Device is not a TDA18218!\n");
+ kfree(priv);
+ return NULL;
+ }
+
+ printk(KERN_INFO "NXP TDA18218 successfully identified.\n");
+ memcpy(&fe->ops.tuner_ops, &tda18218_tuner_ops,
+ sizeof(struct dvb_tuner_ops));
+
+ return fe;
+}
+EXPORT_SYMBOL(tda18218_attach);
+
+MODULE_DESCRIPTION("NXP TDA18218 silicon tuner driver");
+MODULE_AUTHOR("Lauris Ding <ld...@gmx.de>");
+MODULE_VERSION("0.1");
+MODULE_LICENSE("GPL");
diff -urN a/linux/drivers/media/common/tuners/tda18218.h b/linux/drivers/media/common/tuners/tda18218.h
--- a/linux/drivers/media/common/tuners/tda18218.h 1970-01-01 01:00:00.000000000 +0100
+++ b/linux/drivers/media/common/tuners/tda18218.h 2010-07-10 12:27:22.000000000 +0200
@@ -0,0 +1,44 @@
+/*
+ * Driver for NXP TDA18218 silicon tuner
+ *
+ * Copyright (C) 2010 Lauris Ding <ld...@gmx.de>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#ifndef TDA18218_H
+#define TDA18218_H
+
+#include "dvb_frontend.h"
+
+struct tda18218_config {
+ u8 i2c_address;
+};
+
+#if defined(CONFIG_MEDIA_TUNER_TDA18218) || (defined(CONFIG_MEDIA_TUNER_TDA18218_MODULE) && defined(MODULE))
+extern struct dvb_frontend *tda18218_attach(struct dvb_frontend *fe,
+ struct i2c_adapter *i2c,
+ struct tda18218_config *cfg);
+#else
+static inline struct dvb_frontend *tda18218_attach(struct dvb_frontend *fe,
+ struct i2c_adapter *i2c,
+ struct tda18218_config *cfg)
+{
+ printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __func__);
+ return NULL;
+}
+#endif // CONFIG_MEDIA_TUNER_TDA18218
+
+#endif
\ Pas de fin de ligne ŕ la fin du fichier.
diff -urN a/linux/drivers/media/common/tuners/tda18218_priv.h b/linux/drivers/media/common/tuners/tda18218_priv.h
--- a/linux/drivers/media/common/tuners/tda18218_priv.h 1970-01-01 01:00:00.000000000 +0100
+++ b/linux/drivers/media/common/tuners/tda18218_priv.h 2010-07-10 12:28:34.000000000 +0200
@@ -0,0 +1,36 @@
+/*
+ * Driver for NXP TDA18218 silicon tuner
+ *
+ * Copyright (C) 2010 Lauris Ding <ld...@gmx.de>
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#ifndef TDA18218_PRIV_H
+#define TDA18218_PRIV_H
+
+#define TDA18218_STEP 1000 /* 1 kHz */
+#define TDA18218_MIN_FREQ 174000000 /* 174 MHz */
+#define TDA18218_MAX_FREQ 864000000 /* 864 MHz */
+
+struct tda18218_priv {
+ u8 tda18218_regs[0x3b];
+ struct tda18218_config *cfg;
+ struct i2c_adapter *i2c;
+
+ u32 frequency;
+ u32 bandwidth;
+};
+
+#endif
diff -urN a/linux/drivers/media/dvb/dvb-usb/af9015.c b/linux/drivers/media/dvb/dvb-usb/af9015.c
--- a/linux/drivers/media/dvb/dvb-usb/af9015.c 2010-06-18 00:19:12.000000000 +0200
+++ b/linux/drivers/media/dvb/dvb-usb/af9015.c 2010-07-10 15:00:23.000000000 +0200
@@ -20,11 +20,7 @@
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*
*/
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 25)
-#include <linux/hash.h>
-
-#endif
#include "af9015.h"
#include "af9013.h"
#include "mt2060.h"
@@ -32,6 +28,7 @@
#include "tda18271.h"
#include "mxl5005s.h"
#include "mc44s803.h"
+#include "tda18218.h"
static int dvb_usb_af9015_debug;
module_param_named(debug, dvb_usb_af9015_debug, int, 0644);
@@ -273,7 +270,8 @@
while (i < num) {
if (msg[i].addr == af9015_af9013_config[0].demod_address ||
- msg[i].addr == af9015_af9013_config[1].demod_address) {
+ msg[i].addr == af9015_af9013_config[1].demod_address ||
+ msg[i].addr == 0x3a) {
addr = msg[i].buf[0] << 8;
addr += msg[i].buf[1];
mbox = msg[i].buf[2];
@@ -286,7 +284,8 @@
if (num > i + 1 && (msg[i+1].flags & I2C_M_RD)) {
if (msg[i].addr ==
- af9015_af9013_config[0].demod_address)
+ af9015_af9013_config[0].demod_address ||
+ msg[i].addr == 0x3a)
req.cmd = READ_MEMORY;
else
req.cmd = READ_I2C;
@@ -301,7 +300,8 @@
} else if (msg[i].flags & I2C_M_RD) {
ret = -EINVAL;
if (msg[i].addr ==
- af9015_af9013_config[0].demod_address)
+ af9015_af9013_config[0].demod_address ||
+ msg[i].addr == 0x3a)
goto error;
else
req.cmd = READ_I2C;
@@ -315,7 +315,8 @@
i += 1;
} else {
if (msg[i].addr ==
- af9015_af9013_config[0].demod_address)
+ af9015_af9013_config[0].demod_address ||
+ msg[i].addr == 0x3a)
req.cmd = WRITE_MEMORY;
else
req.cmd = WRITE_I2C;
@@ -560,24 +561,11 @@
return ret;
}
-#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 25)
+/* dump eeprom */
static int af9015_eeprom_dump(struct dvb_usb_device *d)
-#else
-/* hash (and dump) eeprom */
-static int af9015_eeprom_hash(struct usb_device *udev)
-#endif
{
-#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 25)
u8 reg, val;
-#else
- static const unsigned int eeprom_size = 256;
- unsigned int reg;
- int ret;
- u8 val, *eeprom;
- struct req_t req = {READ_I2C, AF9015_I2C_EEPROM, 0, 0, 1, 1, &val};
-#endif
-#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 25)
for (reg = 0; ; reg++) {
if (reg % 16 == 0) {
if (reg)
@@ -590,43 +578,9 @@
deb_info(KERN_CONT " --");
if (reg == 0xff)
break;
-#else
- eeprom = kmalloc(eeprom_size, GFP_KERNEL);
- if (eeprom == NULL)
- return -ENOMEM;
-
- for (reg = 0; reg < eeprom_size; reg++) {
- req.addr = reg;
- ret = af9015_rw_udev(udev, &req);
- if (ret)
- goto free;
- eeprom[reg] = val;
-#endif
}
-
-#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 25)
deb_info(KERN_CONT "\n");
return 0;
-#else
- if (dvb_usb_af9015_debug & 0x01)
- print_hex_dump_bytes("", DUMP_PREFIX_OFFSET, eeprom,
- eeprom_size);
-
- BUG_ON(eeprom_size % 4);
-
- af9015_config.eeprom_sum = 0;
- for (reg = 0; reg < eeprom_size / sizeof(u32); reg++) {
- af9015_config.eeprom_sum *= GOLDEN_RATIO_PRIME_32;
- af9015_config.eeprom_sum += le32_to_cpu(((u32 *)eeprom)[reg]);
- }
-
- deb_info("%s: eeprom sum=%.8x\n", __func__, af9015_config.eeprom_sum);
-
- ret = 0;
-free:
- kfree(eeprom);
- return ret;
-#endif
}
static int af9015_download_ir_table(struct dvb_usb_device *d)
@@ -765,132 +719,12 @@
return ret;
}
-struct af9015_setup {
- unsigned int id;
- struct dvb_usb_rc_key *rc_key_map;
- unsigned int rc_key_map_size;
- u8 *ir_table;
- unsigned int ir_table_size;
-};
-
-static const struct af9015_setup *af9015_setup_match(unsigned int id,
- const struct af9015_setup *table)
-{
- for (; table->rc_key_map; table++)
- if (table->id == id)
- return table;
- return NULL;
-}
-
-static const struct af9015_setup af9015_setup_modparam[] = {
- { AF9015_REMOTE_A_LINK_DTU_M,
- ir_codes_af9015_table_a_link, ARRAY_SIZE(ir_codes_af9015_table_a_link),
- af9015_ir_table_a_link, ARRAY_SIZE(af9015_ir_table_a_link) },
- { AF9015_REMOTE_MSI_DIGIVOX_MINI_II_V3,
- ir_codes_af9015_table_msi, ARRAY_SIZE(ir_codes_af9015_table_msi),
- af9015_ir_table_msi, ARRAY_SIZE(af9015_ir_table_msi) },
- { AF9015_REMOTE_MYGICTV_U718,
- ir_codes_af9015_table_mygictv, ARRAY_SIZE(ir_codes_af9015_table_mygictv),
- af9015_ir_table_mygictv, ARRAY_SIZE(af9015_ir_table_mygictv) },
- { AF9015_REMOTE_DIGITTRADE_DVB_T,
- ir_codes_af9015_table_digittrade, ARRAY_SIZE(ir_codes_af9015_table_digittrade),
- af9015_ir_table_digittrade, ARRAY_SIZE(af9015_ir_table_digittrade) },
- { AF9015_REMOTE_AVERMEDIA_KS,
- ir_codes_af9015_table_avermedia, ARRAY_SIZE(ir_codes_af9015_table_avermedia),
- af9015_ir_table_avermedia_ks, ARRAY_SIZE(af9015_ir_table_avermedia_ks) },
- { }
-};
-
-/* don't add new entries here anymore, use hashes instead */
-static const struct af9015_setup af9015_setup_usbids[] = {
- { USB_VID_LEADTEK,
- ir_codes_af9015_table_leadtek, ARRAY_SIZE(ir_codes_af9015_table_leadtek),
- af9015_ir_table_leadtek, ARRAY_SIZE(af9015_ir_table_leadtek) },
- { USB_VID_VISIONPLUS,
- ir_codes_af9015_table_twinhan, ARRAY_SIZE(ir_codes_af9015_table_twinhan),
- af9015_ir_table_twinhan, ARRAY_SIZE(af9015_ir_table_twinhan) },
- { USB_VID_KWORLD_2, /* TODO: use correct rc keys */
- ir_codes_af9015_table_twinhan, ARRAY_SIZE(ir_codes_af9015_table_twinhan),
- af9015_ir_table_kworld, ARRAY_SIZE(af9015_ir_table_kworld) },
- { USB_VID_AVERMEDIA,
- ir_codes_af9015_table_avermedia, ARRAY_SIZE(ir_codes_af9015_table_avermedia),
- af9015_ir_table_avermedia, ARRAY_SIZE(af9015_ir_table_avermedia) },
- { USB_VID_MSI_2,
- ir_codes_af9015_table_msi_digivox_iii, ARRAY_SIZE(ir_codes_af9015_table_msi_digivox_iii),
- af9015_ir_table_msi_digivox_iii, ARRAY_SIZE(af9015_ir_table_msi_digivox_iii) },
- { }
-};
-
-static const struct af9015_setup af9015_setup_hashes[] = {
- { 0xb8feb708,
- ir_codes_af9015_table_msi, ARRAY_SIZE(ir_codes_af9015_table_msi),
- af9015_ir_table_msi, ARRAY_SIZE(af9015_ir_table_msi) },
- { 0xa3703d00,
- ir_codes_af9015_table_a_link, ARRAY_SIZE(ir_codes_af9015_table_a_link),
- af9015_ir_table_a_link, ARRAY_SIZE(af9015_ir_table_a_link) },
- { 0x9b7dc64e,
- ir_codes_af9015_table_mygictv, ARRAY_SIZE(ir_codes_af9015_table_mygictv),
- af9015_ir_table_mygictv, ARRAY_SIZE(af9015_ir_table_mygictv) },
- { }
-};
-
-static void af9015_set_remote_config(struct usb_device *udev,
- struct dvb_usb_device_properties *props)
-{
- const struct af9015_setup *table = NULL;
-
- if (dvb_usb_af9015_remote) {
- /* load remote defined as module param */
- table = af9015_setup_match(dvb_usb_af9015_remote,
- af9015_setup_modparam);
- } else {
- u16 vendor = le16_to_cpu(udev->descriptor.idVendor);
-
- table = af9015_setup_match(af9015_config.eeprom_sum,
- af9015_setup_hashes);
-
- if (!table && vendor == USB_VID_AFATECH) {
- /* Check USB manufacturer and product strings and try
- to determine correct remote in case of chip vendor
- reference IDs are used.
- DO NOT ADD ANYTHING NEW HERE. Use hashes instead.
- */
- char manufacturer[10];
- memset(manufacturer, 0, sizeof(manufacturer));
- usb_string(udev, udev->descriptor.iManufacturer,
- manufacturer, sizeof(manufacturer));
- if (!strcmp("MSI", manufacturer)) {
- /* iManufacturer 1 MSI
- iProduct 2 MSI K-VOX */
- table = af9015_setup_match(
- AF9015_REMOTE_MSI_DIGIVOX_MINI_II_V3,
- af9015_setup_modparam);
- } else if (udev->descriptor.idProduct ==
- cpu_to_le16(USB_PID_TREKSTOR_DVBT)) {
- table = &(const struct af9015_setup){ 0,
- ir_codes_af9015_table_trekstor,
- ARRAY_SIZE(ir_codes_af9015_table_trekstor),
- af9015_ir_table_trekstor,
- ARRAY_SIZE(af9015_ir_table_trekstor)
- };
- }
- } else if (!table)
- table = af9015_setup_match(vendor, af9015_setup_usbids);
- }
-
- if (table) {
- props->rc_key_map = table->rc_key_map;
- props->rc_key_map_size = table->rc_key_map_size;
- af9015_config.ir_table = table->ir_table;
- af9015_config.ir_table_size = table->ir_table_size;
- }
-}
-
static int af9015_read_config(struct usb_device *udev)
{
int ret;
u8 val, i, offset = 0;
struct req_t req = {READ_I2C, AF9015_I2C_EEPROM, 0, 0, 1, 1, &val};
+ char manufacturer[10];
/* IR remote controller */
req.addr = AF9015_EEPROM_IR_MODE;
@@ -902,20 +736,158 @@
}
if (ret)
goto error;
-
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 25)
- ret = af9015_eeprom_hash(udev);
- if (ret)
- goto error;
-
-#endif
deb_info("%s: IR mode:%d\n", __func__, val);
for (i = 0; i < af9015_properties_count; i++) {
if (val == AF9015_IR_MODE_DISABLED) {
af9015_properties[i].rc_key_map = NULL;
af9015_properties[i].rc_key_map_size = 0;
- } else
- af9015_set_remote_config(udev, &af9015_properties[i]);
+ } else if (dvb_usb_af9015_remote) {
+ /* load remote defined as module param */
+ switch (dvb_usb_af9015_remote) {
+ case AF9015_REMOTE_A_LINK_DTU_M:
+ af9015_properties[i].rc_key_map =
+ ir_codes_af9015_table_a_link;
+ af9015_properties[i].rc_key_map_size =
+ ARRAY_SIZE(ir_codes_af9015_table_a_link);
+ af9015_config.ir_table = af9015_ir_table_a_link;
+ af9015_config.ir_table_size =
+ ARRAY_SIZE(af9015_ir_table_a_link);
+ break;
+ case AF9015_REMOTE_MSI_DIGIVOX_MINI_II_V3:
+ af9015_properties[i].rc_key_map =
+ ir_codes_af9015_table_msi;
+ af9015_properties[i].rc_key_map_size =
+ ARRAY_SIZE(ir_codes_af9015_table_msi);
+ af9015_config.ir_table = af9015_ir_table_msi;
+ af9015_config.ir_table_size =
+ ARRAY_SIZE(af9015_ir_table_msi);
+ break;
+ case AF9015_REMOTE_MYGICTV_U718:
+ af9015_properties[i].rc_key_map =
+ ir_codes_af9015_table_mygictv;
+ af9015_properties[i].rc_key_map_size =
+ ARRAY_SIZE(ir_codes_af9015_table_mygictv);
+ af9015_config.ir_table =
+ af9015_ir_table_mygictv;
+ af9015_config.ir_table_size =
+ ARRAY_SIZE(af9015_ir_table_mygictv);
+ break;
+ case AF9015_REMOTE_DIGITTRADE_DVB_T:
+ af9015_properties[i].rc_key_map =
+ ir_codes_af9015_table_digittrade;
+ af9015_properties[i].rc_key_map_size =
+ ARRAY_SIZE(ir_codes_af9015_table_digittrade);
+ af9015_config.ir_table =
+ af9015_ir_table_digittrade;
+ af9015_config.ir_table_size =
+ ARRAY_SIZE(af9015_ir_table_digittrade);
+ break;
+ case AF9015_REMOTE_AVERMEDIA_KS:
+ af9015_properties[i].rc_key_map =
+ ir_codes_af9015_table_avermedia;
+ af9015_properties[i].rc_key_map_size =
+ ARRAY_SIZE(ir_codes_af9015_table_avermedia);
+ af9015_config.ir_table =
+ af9015_ir_table_avermedia_ks;
+ af9015_config.ir_table_size =
+ ARRAY_SIZE(af9015_ir_table_avermedia_ks);
+ break;
+ }
+ } else {
+ switch (le16_to_cpu(udev->descriptor.idVendor)) {
+ case USB_VID_LEADTEK:
+ af9015_properties[i].rc_key_map =
+ ir_codes_af9015_table_leadtek;
+ af9015_properties[i].rc_key_map_size =
+ ARRAY_SIZE(ir_codes_af9015_table_leadtek);
+ af9015_config.ir_table =
+ af9015_ir_table_leadtek;
+ af9015_config.ir_table_size =
+ ARRAY_SIZE(af9015_ir_table_leadtek);
+ break;
+ case USB_VID_VISIONPLUS:
+ af9015_properties[i].rc_key_map =
+ ir_codes_af9015_table_twinhan;
+ af9015_properties[i].rc_key_map_size =
+ ARRAY_SIZE(ir_codes_af9015_table_twinhan);
+ af9015_config.ir_table =
+ af9015_ir_table_twinhan;
+ af9015_config.ir_table_size =
+ ARRAY_SIZE(af9015_ir_table_twinhan);
+ break;
+ case USB_VID_KWORLD_2:
+ /* TODO: use correct rc keys */
+ af9015_properties[i].rc_key_map =
+ ir_codes_af9015_table_twinhan;
+ af9015_properties[i].rc_key_map_size =
+ ARRAY_SIZE(ir_codes_af9015_table_twinhan);
+ af9015_config.ir_table = af9015_ir_table_kworld;
+ af9015_config.ir_table_size =
+ ARRAY_SIZE(af9015_ir_table_kworld);
+ break;
+ /* Check USB manufacturer and product strings and try
+ to determine correct remote in case of chip vendor
+ reference IDs are used. */
+ case USB_VID_AFATECH:
+ memset(manufacturer, 0, sizeof(manufacturer));
+ usb_string(udev, udev->descriptor.iManufacturer,
+ manufacturer, sizeof(manufacturer));
+ if (!strcmp("Geniatech", manufacturer)) {
+ /* iManufacturer 1 Geniatech
+ iProduct 2 AF9015 */
+ af9015_properties[i].rc_key_map =
+ ir_codes_af9015_table_mygictv;
+ af9015_properties[i].rc_key_map_size =
+ ARRAY_SIZE(ir_codes_af9015_table_mygictv);
+ af9015_config.ir_table =
+ af9015_ir_table_mygictv;
+ af9015_config.ir_table_size =
+ ARRAY_SIZE(af9015_ir_table_mygictv);
+ } else if (!strcmp("MSI", manufacturer)) {
+ /* iManufacturer 1 MSI
+ iProduct 2 MSI K-VOX */
+ af9015_properties[i].rc_key_map =
+ ir_codes_af9015_table_msi;
+ af9015_properties[i].rc_key_map_size =
+ ARRAY_SIZE(ir_codes_af9015_table_msi);
+ af9015_config.ir_table =
+ af9015_ir_table_msi;
+ af9015_config.ir_table_size =
+ ARRAY_SIZE(af9015_ir_table_msi);
+ } else if (udev->descriptor.idProduct ==
+ cpu_to_le16(USB_PID_TREKSTOR_DVBT)) {
+ af9015_properties[i].rc_key_map =
+ ir_codes_af9015_table_trekstor;
+ af9015_properties[i].rc_key_map_size =
+ ARRAY_SIZE(ir_codes_af9015_table_trekstor);
+ af9015_config.ir_table =
+ af9015_ir_table_trekstor;
+ af9015_config.ir_table_size =
+ ARRAY_SIZE(af9015_ir_table_trekstor);
+ }
+ break;
+ case USB_VID_AVERMEDIA:
+ af9015_properties[i].rc_key_map =
+ ir_codes_af9015_table_avermedia;
+ af9015_properties[i].rc_key_map_size =
+ ARRAY_SIZE(ir_codes_af9015_table_avermedia);
+ af9015_config.ir_table =
+ af9015_ir_table_avermedia;
+ af9015_config.ir_table_size =
+ ARRAY_SIZE(af9015_ir_table_avermedia);
+ break;
+ case USB_VID_MSI_2:
+ af9015_properties[i].rc_key_map =
+ ir_codes_af9015_table_msi_digivox_iii;
+ af9015_properties[i].rc_key_map_size =
+ ARRAY_SIZE(ir_codes_af9015_table_msi_digivox_iii);
+ af9015_config.ir_table =
+ af9015_ir_table_msi_digivox_iii;
+ af9015_config.ir_table_size =
+ ARRAY_SIZE(af9015_ir_table_msi_digivox_iii);
+ break;
+ }
+ }
}
/* TS mode - one or two receivers */
@@ -1026,6 +998,7 @@
case AF9013_TUNER_MT2060_2:
case AF9013_TUNER_TDA18271:
case AF9013_TUNER_QT1010A:
+ case AF9013_TUNER_TDA18218:
af9015_af9013_config[i].rf_spec_inv = 1;
break;
case AF9013_TUNER_MXL5003D:
@@ -1037,9 +1010,6 @@
af9015_af9013_config[i].gpio[1] = AF9013_GPIO_LO;
af9015_af9013_config[i].rf_spec_inv = 1;
break;
- case AF9013_TUNER_TDA18218:
- warn("tuner NXP TDA18218 not supported yet");
- return -ENODEV;
default:
warn("tuner id:%d not supported, please report!", val);
return -ENODEV;
@@ -1164,11 +1134,11 @@
deb_info("%s: init I2C\n", __func__);
ret = af9015_i2c_init(adap->dev);
-#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 25)
+
+ /* dump eeprom (debug) */
ret = af9015_eeprom_dump(adap->dev);
if (ret)
return ret;
-#endif
} else {
/* select I2C adapter */
i2c_adap = &state->i2c_adap;
@@ -1247,6 +1217,10 @@
.dig_out = 1,
};
+static struct tda18218_config af9015_tda18218_config = {
+ .i2c_address = 0xc0,
+};
+
static int af9015_tuner_attach(struct dvb_usb_adapter *adap)
{
struct af9015_state *state = adap->dev->priv;
@@ -1294,6 +1268,10 @@
ret = dvb_attach(mc44s803_attach, adap->fe, i2c_adap,
&af9015_mc44s803_config) == NULL ? -ENODEV : 0;
break;
+ case AF9013_TUNER_TDA18218:
+ ret = dvb_attach(tda18218_attach, adap->fe, i2c_adap,
+ &af9015_tda18218_config) == NULL ? -ENODEV : 0;
+ break;
case AF9013_TUNER_UNKNOWN:
default:
ret = -ENODEV;
@@ -1309,10 +1287,8 @@
{USB_DEVICE(USB_VID_LEADTEK, USB_PID_WINFAST_DTV_DONGLE_GOLD)},
{USB_DEVICE(USB_VID_PINNACLE, USB_PID_PINNACLE_PCTV71E)},
{USB_DEVICE(USB_VID_KWORLD_2, USB_PID_KWORLD_399U)},
-/* 5 */{USB_DEVICE(USB_VID_VISIONPLUS,
- USB_PID_TINYTWIN)},
- {USB_DEVICE(USB_VID_VISIONPLUS,
- USB_PID_AZUREWAVE_AD_TU700)},
+/* 5 */{USB_DEVICE(USB_VID_VISIONPLUS,USB_PID_TINYTWIN)},
+ {USB_DEVICE(USB_VID_VISIONPLUS,USB_PID_AZUREWAVE_A D_TU700)},
{USB_DEVICE(USB_VID_TERRATEC, USB_PID_TERRATEC_CINERGY_T_USB_XE_REV2)},
{USB_DEVICE(USB_VID_KWORLD_2, USB_PID_KWORLD_PC160_2T)},
{USB_DEVICE(USB_VID_AVERMEDIA, USB_PID_AVERMEDIA_VOLAR_X)},
@@ -1334,7 +1310,7 @@
/* 25 */{USB_DEVICE(USB_VID_KWORLD_2, USB_PID_KWORLD_399U_2)},
{USB_DEVICE(USB_VID_KWORLD_2, USB_PID_KWORLD_PC160_T)},
{USB_DEVICE(USB_VID_KWORLD_2, USB_PID_SVEON_STV20)},
- {USB_DEVICE(USB_VID_KWORLD_2, USB_PID_TINYTWIN_2)},
+ {USB_DEVICE(USB_VID_TERRATEC, USB_PID_TERRATEC_CINERGY_T_STICK_RC)},
{USB_DEVICE(USB_VID_LEADTEK, USB_PID_WINFAST_DTV2000DS)},
/* 30 */{USB_DEVICE(USB_VID_KWORLD_2, USB_PID_KWORLD_UB383_T)},
{USB_DEVICE(USB_VID_KWORLD_2, USB_PID_KWORLD_395U_4)},
@@ -1425,9 +1401,8 @@
},
{
.name = "DigitalNow TinyTwin DVB-T Receiver",
- .cold_ids = {&af9015_usb_table[5],
- &af9015_usb_table[28], NULL},
- .warm_ids = {NULL},
+ .cold_ids = {&af9015_usb_table[5], NULL},
+ .warm_ids = {NULL},
},
{
.name = "TwinHan AzureWave AD-TU700(704J)",
@@ -1647,8 +1622,8 @@
.warm_ids = {NULL},
},
{
- .name = "Leadtek WinFast DTV2000DS",
- .cold_ids = {&af9015_usb_table[29], NULL},
+ .name = "TerraTec Cinergy T Stick RC",
+ .cold_ids = {&af9015_usb_table[28], NULL},
.warm_ids = {NULL},
},
{
diff -urN a/linux/drivers/media/dvb/dvb-usb/dvb-usb-ids.h b/linux/drivers/media/dvb/dvb-usb/dvb-usb-ids.h
--- a/linux/drivers/media/dvb/dvb-usb/dvb-usb-ids.h 2010-06-18 00:19:12.000000000 +0200
+++ b/linux/drivers/media/dvb/dvb-usb/dvb-usb-ids.h 2010-07-10 13:12:52.000000000 +0200
@@ -133,6 +133,7 @@
#define USB_PID_KWORLD_VSTREAM_WARM 0x17df
#define USB_PID_TERRATEC_CINERGY_T_USB_XE 0x0055
#define USB_PID_TERRATEC_CINERGY_T_USB_XE_REV2 0x0069
+#define USB_PID_TERRATEC_CINERGY_T_STICK_RC 0x0097
#define USB_PID_TWINHAN_VP7041_COLD 0x3201
#define USB_PID_TWINHAN_VP7041_WARM 0x3202
#define USB_PID_TWINHAN_VP7020_COLD 0x3203
diff -urN a/linux/drivers/media/dvb/frontends/af9013.c b/linux/drivers/media/dvb/frontends/af9013.c
--- a/linux/drivers/media/dvb/frontends/af9013.c 2010-06-18 00:19:12.000000000 +0200
+++ b/linux/drivers/media/dvb/frontends/af9013.c 2010-07-10 15:01:11.000000000 +0200
@@ -488,6 +488,20 @@
break;
}
}
+ else if(state->config.tuner == AF9013_TUNER_TDA18218) {
+ switch (bw) {
+ case BANDWIDTH_6_MHZ:
+ if_sample_freq = 3000000; /* 3 MHz */
+ break;
+ case BANDWIDTH_7_MHZ:
+ if_sample_freq = 3500000; /* 3.5 MHz */
+ break;
+ case BANDWIDTH_8_MHZ:
+ default:
+ if_sample_freq = 4000000; /* 4 MHz */
+ break;
+ }
+ }
while (if_sample_freq > (adc_freq / 2))
if_sample_freq = if_sample_freq - adc_freq;
@@ -1394,6 +1408,7 @@
init = tuner_init_mt2060_2;
break;
case AF9013_TUNER_TDA18271:
+ case AF9013_TUNER_TDA18218:
len = ARRAY_SIZE(tuner_init_tda18271);
init = tuner_init_tda18271;
break;
diff -urN a/linux/drivers/media/dvb/frontends/af9013_priv.h b/linux/drivers/media/dvb/frontends/af9013_priv.h
--- a/linux/drivers/media/dvb/frontends/af9013_priv.h 2010-06-18 00:19:12.000000000 +0200
+++ b/linux/drivers/media/dvb/frontends/af9013_priv.h 2010-07-10 13:19:22.000000000 +0200
@@ -791,8 +791,9 @@
{ 0x9bd9, 0, 8, 0x08 },
};
-/* NXP TDA18271 tuner init
- AF9013_TUNER_TDA18271 = 156 */
+/* NXP TDA18271 & TDA18218 tuner init
+ AF9013_TUNER_TDA18271 = 156
+ AF9013_TUNER_TDA18218 = 179 */
static struct regdesc tuner_init_tda18271[] = {
{ 0x9bd5, 0, 8, 0x01 },
{ 0x9bd6, 0, 8, 0x04 },
Execute this code on new path
patch -p1 <Patch_TDA18218.txt
Now
make configure
for creation of ./v4l/.config file
Disable the firedtv driver by modifying the./v4l/.config file and changing '=m' to '=n' on the firedtv line.
(CONFIG_DVB_FIREDTV=m)
And then..
make
sudo make install
Have good pleasure ;)
PS: To make the diff file I do like that:
diff -urN ./af9015-932dc08503ed ./af9015-932dc08503ed_TDA18218Patched >Patch_TDA18218.txt
And replace "./af9015-932dc08503ed/" by "a/"
and "./af9015-932dc08503ed_TDA18218Patched" by "b/" in the file...
Perhaps a better method?
sanderj
August 13th, 2010, 02:33 AM
I tried this
hg clone -r 932dc08503ed http://linuxtv.org/hg/~anttip/af9015/
patch -p1 <Patch_TDA18218.txt
but get a lof of errors. What am I doing wrong?
sander@quirinius:~/af9015-aug$ patch -p1 <Patch_TDA18218.txt
patching file linux/drivers/media/common/tuners/Kconfig
Hunk #1 FAILED at 179.
1 out of 1 hunk FAILED -- saving rejects to file linux/drivers/media/common/tuners/Kconfig.rej
patching file linux/drivers/media/common/tuners/Makefile
Hunk #1 FAILED at 24.
1 out of 1 hunk FAILED -- saving rejects to file linux/drivers/media/common/tuners/Makefile.rej
patching file linux/drivers/media/common/tuners/tda18218.c
patching file linux/drivers/media/common/tuners/tda18218.h
patching file linux/drivers/media/common/tuners/tda18218_priv.h
patching file linux/drivers/media/dvb/dvb-usb/af9015.c
Hunk #1 FAILED at 20.
Hunk #2 FAILED at 28.
Hunk #3 FAILED at 270.
Hunk #4 FAILED at 284.
Hunk #5 FAILED at 300.
Hunk #6 FAILED at 315.
Hunk #7 FAILED at 561.
...
DenisF
August 13th, 2010, 07:05 AM
Hello,
Have you test with file?
size_XXM
August 14th, 2010, 08:31 AM
I suggest you try the new branch - I haven't tried it on lucid as I don't use it, but it works quite well on my debian squeeze which also uses 2.6.32 kernel.
$ hg clone http://linuxtv.org/hg/~anttip/tda18218/
$ make
# make install
It goes without saying you should use firmware version 4.95 or higher (lower versions don't work with the cheap tuner) and you will need to do this again after a kernel upgrade.
sanderj
August 14th, 2010, 08:50 AM
I suggest you try the new branch - I haven't tried it on lucid as I don't use it, but it works quite well on my debian squeeze which also uses 2.6.32 kernel.
$ hg clone http://linuxtv.org/hg/~anttip/tda18218/
$ make
# make install
It goes without saying you should use firmware version 4.95 or higher (lower versions don't work with the cheap tuner) and you will need to do this again after a kernel upgrade.
In which directory do we have to do the hg/make etc? Because only tda18218 is not enough; it has quite empty and has no makefile/maketarget ...
The other way rond:
v4l-dvb has no tda18218 directory.
af9015 does have a tda18218 directory
So, I'm lost. Could you give some more guidance?
size_XXM
August 14th, 2010, 09:59 AM
Oh, right, I forgot - the makefile is in the tda18218 directory, so cd into it before running make. This directory will appear in whatever directory you're working in when you run hg clone (if it already exists, delete it before running hg clone).
As to where you should run hg clone - doesn't really matter, the files are just source and aren't needed after make install. I use /tmp/, since I have that on tmpfs and RAM is much faster than HDD. You shouldn't use a system directory where you would need to run hg clone with sudo - your home directory or /tmp are fine.
$ cd /tmp
$ hg clone http://linuxtv.org/hg/~anttip/tda18218/
$ cd tda18218
$ make
$ sudo make install
DenisF
August 15th, 2010, 04:01 AM
Hello,
@sanderj:
Don't forgetmake configure
for creation of ./v4l/.config file
Disable the firedtv driver by modifying the./v4l/.config file and changing '=m' to '=n' on the firedtv line.
(CONFIG_DVB_FIREDTV=m)
@size_XXM:
Thanks, I've test that Yesterday, but it's work like patch, the IR module don't work...
I'll see modification in code, and where IR code is this week, so if I found something.... (It's why I don't answer your post early)
sanderj
August 15th, 2010, 06:51 AM
Thanks to @size_XXM, I've created a script to take care of all stuff to make the af9015 with our infamous NXP chip work.
I've tested it on two different machines, and it works ... !
The script can be found on http://www.appelboor.com/af9015/
Run the script like "/bin/sh usb-dvb-make-script.sh". Or even easier: run it as root with "sudo /bin/sh usb-dvb-make-script.sh".
The script should work on a plain (EDIT ) Ubuntu (/EDIT) Linux install; the script should take care of all. Please post if you see strange behaviour.
EDIT:
Running the script can take 10 - 45 minutes (compiling a zillion lines of code), depending on the speed of your machine
I think you must run the script each time a new kernel version is activated ...
HTH
DenisF
August 15th, 2010, 07:56 AM
@sanderj
In your script, you can change the first time make in line 18 by
time make configure. It's take less time...
Why don't you get the 5.1 version firmware?
sanderj
August 15th, 2010, 08:09 AM
@sanderj
In your script, you can change the first time make in line 18 by
time make configure. It's take less time...
I tried that, but then my system started asking all kinds of (kernel?) questions...
Why don't you get the 5.1 version firmware?
Aha! And "newer is better"? If so, I'll do that! Thank you.
DenisF
August 15th, 2010, 08:17 AM
I tried that, but then my system started asking all kinds of (kernel?) questions...
Perhaps because you have many kernel headers installed. Me, I always remove olds.
sanderj
August 15th, 2010, 08:33 AM
Perhaps because you have many kernel headers installed. Me, I always remove olds.
Could be. Too difficult for me. ;-)
This way it just works. And the first (fake) run only takes 2 - 3 minutes.
Can you and others test that it actually works? On a plain Linux?
If kernel headers are needed (are they? for what?), I would like to hear that, and add them to my script.
sanderj
August 15th, 2010, 01:05 PM
FWIW: I now watch DVB-TV via 'me-tv'; quite a nice dvb-tool that can scan, show and record. The EPG is only "current" and "next" program. If someone knows how to extend the EPG to a whole day or week, please let me know.
me-tv is in the Ubuntu repositories: http://packages.ubuntu.com/search?keywords=me-tv
Installation of a newer, ppa version is also quite easy:
sudo add-apt-repository ppa:me-tv-development/ppa
sudo apt-get update
sudo apt-get install me-tv
HTH
sanderj
August 15th, 2010, 02:29 PM
Now that it works, can someone (size_XXM?) please explain what the different repositories are?
For example:
http://linuxtv.org/hg/~anttip/tda18218/file/40e288163c8d
http://linuxtv.org/hg/~anttip/af9015/file/932dc08503ed
... look quite the same to me. Is there a difference in drivers?
And /af9015/ has an enormous list of drivers. I guess they're not all based on af9015 hardware? Or are they?
And /tda18218/ : is that a list of all hardware/drivers that have got that NXP chip?
Finally: why do I now get good results with /tda18218/? Is it because it has the patch already built in? And the /af9015/ has not yet received the patch?
Really finally: what's the way to get this uptodate driver into Ubuntu 10.10's repositories?
Thanks.
sanderj
August 15th, 2010, 02:43 PM
FYI: after running my script (and possibly rebooting), my /var/log/messages shows the success messages below:
Aug 15 20:38:55 quirinius kernel: [ 139.667438] af9015_read_config: TS mode:0
Aug 15 20:38:55 quirinius kernel: [ 139.667445] >>> 22 02 a1 00 36 00 01 01
Aug 15 20:38:55 quirinius kernel: [ 139.668915] <<< 02 00 02
Aug 15 20:38:55 quirinius kernel: [ 139.668936] af9015_read_config: [0] xtal:2 set adc_clock:28000
Aug 15 20:38:55 quirinius kernel: [ 139.668942] >>> 22 03 a1 00 39 00 01 01
Aug 15 20:38:55 quirinius kernel: [ 139.670427] <<< 03 00 0f
Aug 15 20:38:55 quirinius kernel: [ 139.670445] >>> 22 04 a1 00 38 00 01 01
Aug 15 20:38:55 quirinius kernel: [ 139.671939] <<< 04 00 a0
Aug 15 20:38:55 quirinius kernel: [ 139.671961] af9015_read_config: [0] IF1:4000
Aug 15 20:38:55 quirinius kernel: [ 139.671967] >>> 22 05 a1 00 3b 00 01 01
Aug 15 20:38:55 quirinius kernel: [ 139.673417] <<< 05 00 00
Aug 15 20:38:55 quirinius kernel: [ 139.673435] >>> 22 06 a1 00 3a 00 01 01
Aug 15 20:38:55 quirinius kernel: [ 139.674916] <<< 06 00 00
Aug 15 20:38:55 quirinius kernel: [ 139.674936] af9015_read_config: [0] MT2060 IF1:0
Aug 15 20:38:55 quirinius kernel: [ 139.674942] >>> 22 07 a1 00 3c 00 01 01
Aug 15 20:38:55 quirinius kernel: [ 139.676412] <<< 07 00 b3
Aug 15 20:38:55 quirinius kernel: [ 139.676432] af9015_read_config: [0] tuner id:179
Aug 15 20:38:55 quirinius kernel: [ 139.676766] af9015_identify_state: reply:01
Aug 15 20:38:55 quirinius kernel: [ 139.676774] dvb-usb: found a 'Afatech AF9015 DVB-T USB2.0 stick' in cold state, will try to load a firmware
Aug 15 20:38:55 quirinius kernel: [ 139.676788] usb 1-6: firmware: requesting dvb-usb-af9015.fw
Aug 15 20:38:55 quirinius kernel: [ 139.746515] dvb-usb: downloading firmware from file 'dvb-usb-af9015.fw'
Aug 15 20:38:55 quirinius kernel: [ 139.746524] af9015_download_firmware:
Aug 15 20:38:55 quirinius kernel: [ 139.818985] dvb-usb: found a 'Afatech AF9015 DVB-T USB2.0 stick' in warm state.
Aug 15 20:38:55 quirinius kernel: [ 139.819132] dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer.
Aug 15 20:38:55 quirinius kernel: [ 139.820136] DVB: registering new adapter (Afatech AF9015 DVB-T USB2.0 stick)
Aug 15 20:38:55 quirinius kernel: [ 139.820986] af9015_af9013_frontend_attach: init I2C
Aug 15 20:38:55 quirinius kernel: [ 139.820994] af9015_i2c_init:
Aug 15 20:38:55 quirinius kernel: [ 140.034740] af9013: firmware version:5.1.0.0
Aug 15 20:38:55 quirinius kernel: [ 140.039589] DVB: registering adapter 0 frontend 0 (Afatech AF9013 DVB-T)...
Aug 15 20:38:55 quirinius kernel: [ 140.039796] af9015_tuner_attach:
Aug 15 20:38:55 quirinius kernel: [ 140.162020] >>> 22 49 c1 00 00 00 01 01
Aug 15 20:38:55 quirinius kernel: [ 140.163525] <<< 49 00 c0
Aug 15 20:38:55 quirinius kernel: [ 140.164427] NXP TDA18218HN successfully identified.
Aug 15 20:38:55 quirinius kernel: [ 140.164443] dvb-usb: Afatech AF9015 DVB-T USB2.0 stick successfully initialized and connected.
Aug 15 20:38:55 quirinius kernel: [ 140.164452] af9015_init:
Aug 15 20:38:55 quirinius kernel: [ 140.164458] af9015_init_endpoint: USB speed:3
Aug 15 20:38:55 quirinius kernel: [ 140.172900] af9015_download_ir_table:
Aug 15 20:38:55 quirinius kernel: [ 140.172999] usbcore: registered new interface driver dvb_usb_af9015
I guess the important line is "NXP TDA18218HN successfully identified." :-)
size_XXM
August 17th, 2010, 08:29 AM
Now that it works, can someone (size_XXM?) please explain what the different repositories are?
For example:
http://linuxtv.org/hg/~anttip/tda18218/file/40e288163c8d
http://linuxtv.org/hg/~anttip/af9015/file/932dc08503ed
... look quite the same to me. Is there a difference in drivers?
I think those are different branches (obvioously, the directory structure is pretty much the same, the differences will be in the code/ extra files). The TDA one was made specifically to make this tuner work. I expect once the changes are pulled into the main branch, we'll get our tuner working OotB. I'm not a programmer, but if you're interested, here (http://mercurial.selenic.com/wiki/FAQ/Terminology)'s a glossary for Mercurial.
sanderj
August 22nd, 2010, 03:52 PM
FYI: I've created a bug report on Launchpad, in the hope to get the TDA18218 driver into the mainstream Ubuntu kernel.
See here: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/622397
Xehoz
August 28th, 2010, 06:59 PM
The script should work on a plain Linux install; the script should take care of all. Please post if you see strange behaviour
If the dependency isn't previously installed, as it is, it only works on Debian derivatives (aptitude).
Mercurial's website lists a few of the commands:
Debian/ubuntu
$ apt-get install mercurial
# Fedora
$ yum install mercurial
# Gentoo
$ emerge mercurial
Also:
# Arch Linux
pacman -S mercurial
I'm not that familiar with OpenSUSE.
Xehoz
August 28th, 2010, 07:18 PM
Tried it on Arch Linux. Problems during make.
# make
make -C /root/usb-dvb/tda18218-attempt.2.6.35-ARCH.7234/tda18218/v4l
make[1]: Entering directory `/root/usb-dvb/tda18218-attempt.2.6.35-ARCH.7234/tda18218/v4l'
creating symbolic links...
make -C firmware prep
make[2]: Entering directory `/root/usb-dvb/tda18218-attempt.2.6.35-ARCH.7234/tda18218/v4l/firmware'
make[2]: Leaving directory `/root/usb-dvb/tda18218-attempt.2.6.35-ARCH.7234/tda18218/v4l/firmware'
make -C firmware
make[2]: Entering directory `/root/usb-dvb/tda18218-attempt.2.6.35-ARCH.7234/tda18218/v4l/firmware'
make[2]: Nothing to be done for `default'.
make[2]: Leaving directory `/root/usb-dvb/tda18218-attempt.2.6.35-ARCH.7234/tda18218/v4l/firmware'
Kernel build directory is /lib/modules/2.6.35-ARCH/build
make -C /lib/modules/2.6.35-ARCH/build SUBDIRS=/root/usb-dvb/tda18218-attempt.2.6.35-ARCH.7234/tda18218/v4l modules
make[2]: Entering directory `/usr/src/linux-2.6.35-ARCH'
CC [M] /root/usb-dvb/tda18218-attempt.2.6.35-ARCH.7234/tda18218/v4l/tuner-xc2028.o
/root/usb-dvb/tda18218-attempt.2.6.35-ARCH.7234/tda18218/v4l/tuner-xc2028.c: In function 'free_firmware':
/root/usb-dvb/tda18218-attempt.2.6.35-ARCH.7234/tda18218/v4l/tuner-xc2028.c:252:3: error: implicit declaration of function 'kfree'
/root/usb-dvb/tda18218-attempt.2.6.35-ARCH.7234/tda18218/v4l/tuner-xc2028.c: In function 'load_all_firmwares':
/root/usb-dvb/tda18218-attempt.2.6.35-ARCH.7234/tda18218/v4l/tuner-xc2028.c:314:2: error: implicit declaration of function 'kzalloc'
/root/usb-dvb/tda18218-attempt.2.6.35-ARCH.7234/tda18218/v4l/tuner-xc2028.c:314:13: warning: assignment makes pointer from integer without a cast
/root/usb-dvb/tda18218-attempt.2.6.35-ARCH.7234/tda18218/v4l/tuner-xc2028.c:365:21: warning: assignment makes pointer from integer without a cast
/root/usb-dvb/tda18218-attempt.2.6.35-ARCH.7234/tda18218/v4l/tuner-xc2028.c: In function 'xc2028_attach':
/root/usb-dvb/tda18218-attempt.2.6.35-ARCH.7234/tda18218/v4l/tuner-xc2028.c:1314:13: warning: assignment makes pointer from integer without a cast
make[3]: *** [/root/usb-dvb/tda18218-attempt.2.6.35-ARCH.7234/tda18218/v4l/tuner-xc2028.o] Error 1
make[2]: *** [_module_/root/usb-dvb/tda18218-attempt.2.6.35-ARCH.7234/tda18218/v4l] Error 2
make[2]: Leaving directory `/usr/src/linux-2.6.35-ARCH'
make[1]: *** [default] Error 2
make[1]: Leaving directory `/root/usb-dvb/tda18218-attempt.2.6.35-ARCH.7234/tda18218/v4l'
make: *** [all] Error 2
sanderj
August 29th, 2010, 02:59 AM
If the dependency isn't previously installed, as it is, it only works on Debian derivatives (aptitude).
Thanks. I changed my post to "Ubuntu" (instead of "Linux"). Let's wait for the other distro results.
sanderj
August 29th, 2010, 03:01 AM
2.6.35? That's quite new. Can you try on Arch Linux with an older kernel?
I will try my script on Ubuntu Maverick Meerkat Alpha 3, as that's based on 2.6.35 too ...
sanderj
August 29th, 2010, 04:16 AM
2.6.35? That's quite new. Can you try on Arch Linux with an older kernel?
I will try my script on Ubuntu Maverick Meerkat Alpha 3, as that's based on 2.6.35 too ...
Ouch: it doesn't work on Maverick ... with kernel 2.6.35. So I think there is a mismatch between the tda18218 source and kernel 2.6.35. :-(
A Google search reveals it's a generic v4l problem, starting at 2.6.34.
http://www.google.com/#q="error%3A+implicit+declaration+of+function+'kfree'"+v4l
Let's hope the V4L developers take care of it.
make -C /lib/modules/2.6.35-14-generic/build SUBDIRS=/home/ubuntu/usb-dvb/tda18218-attempt.2.6.35-14-generic.5005/tda18218/v4l modules
make[2]: Entering directory `/usr/src/linux-headers-2.6.35-14-generic'
CC [M] /home/ubuntu/usb-dvb/tda18218-attempt.2.6.35-14-generic.5005/tda18218/v4l/tuner-xc2028.o
/home/ubuntu/usb-dvb/tda18218-attempt.2.6.35-14-generic.5005/tda18218/v4l/tuner-xc2028.c: In function 'free_firmware':
/home/ubuntu/usb-dvb/tda18218-attempt.2.6.35-14-generic.5005/tda18218/v4l/tuner-xc2028.c:252: error: implicit declaration of function 'kfree'
/home/ubuntu/usb-dvb/tda18218-attempt.2.6.35-14-generic.5005/tda18218/v4l/tuner-xc2028.c: In function 'load_all_firmwares':
/home/ubuntu/usb-dvb/tda18218-attempt.2.6.35-14-generic.5005/tda18218/v4l/tuner-xc2028.c:314: error: implicit declaration of function 'kzalloc'
/home/ubuntu/usb-dvb/tda18218-attempt.2.6.35-14-generic.5005/tda18218/v4l/tuner-xc2028.c:314: warning: assignment makes pointer from integer without a cast
/home/ubuntu/usb-dvb/tda18218-attempt.2.6.35-14-generic.5005/tda18218/v4l/tuner-xc2028.c:365: warning: assignment makes pointer from integer without a cast
/home/ubuntu/usb-dvb/tda18218-attempt.2.6.35-14-generic.5005/tda18218/v4l/tuner-xc2028.c: In function 'xc2028_attach':
/home/ubuntu/usb-dvb/tda18218-attempt.2.6.35-14-generic.5005/tda18218/v4l/tuner-xc2028.c:1314: warning: assignment makes pointer from integer without a cast
make[3]: *** [/home/ubuntu/usb-dvb/tda18218-attempt.2.6.35-14-generic.5005/tda18218/v4l/tuner-xc2028.o] Error 1
make[2]: *** [_module_/home/ubuntu/usb-dvb/tda18218-attempt.2.6.35-14-generic.5005/tda18218/v4l] Error 2
make[2]: Leaving directory `/usr/src/linux-headers-2.6.35-14-generic'
make[1]: *** [default] Error 2
make[1]: Leaving directory `/home/ubuntu/usb-dvb/tda18218-attempt.2.6.35-14-generic.5005/tda18218/v4l'
make: *** [all] Error 2
Command exited with non-zero status 2
sanderj
August 29th, 2010, 04:29 AM
@Xehoz:
Technically, leaving out all modules, except the af9015 module, the compiling goes OK on Maverick with 2.6.35.
However, I don't know what this means for the functionality at all. I'll try that later on with my af9015 + tda18218 usb stick.
sed -i 's/=m/=n/g' v4l/.config
sudo sed -i 's/AF9015=n/AF9015=m/g' v4l/.config
EDIT: obviously, some more modules are needed:
ubuntu@ubuntu:~/usb-dvb/tda18218-attempt.2.6.35-14-generic.14990/tda18218$ grep =m v4l/.config
CONFIG_DVB_USB_AF9015=m
CONFIG_DVB_AF9013=m
CONFIG_MEDIA_TUNER_TDA18218=m
... and that last line results in the same error messages:
ubuntu@ubuntu:~/usb-dvb/tda18218-attempt.2.6.35-14-generic.14990/tda18218$ sudo make
make -C /home/ubuntu/usb-dvb/tda18218-attempt.2.6.35-14-generic.14990/tda18218/v4l
make[1]: Entering directory `/home/ubuntu/usb-dvb/tda18218-attempt.2.6.35-14-generic.14990/tda18218/v4l'
creating symbolic links...
make -C firmware prep
make[2]: Entering directory `/home/ubuntu/usb-dvb/tda18218-attempt.2.6.35-14-generic.14990/tda18218/v4l/firmware'
make[2]: Leaving directory `/home/ubuntu/usb-dvb/tda18218-attempt.2.6.35-14-generic.14990/tda18218/v4l/firmware'
make -C firmware
make[2]: Entering directory `/home/ubuntu/usb-dvb/tda18218-attempt.2.6.35-14-generic.14990/tda18218/v4l/firmware'
make[2]: Nothing to be done for `default'.
make[2]: Leaving directory `/home/ubuntu/usb-dvb/tda18218-attempt.2.6.35-14-generic.14990/tda18218/v4l/firmware'
Kernel build directory is /lib/modules/2.6.35-14-generic/build
make -C /lib/modules/2.6.35-14-generic/build SUBDIRS=/home/ubuntu/usb-dvb/tda18218-attempt.2.6.35-14-generic.14990/tda18218/v4l modules
make[2]: Entering directory `/usr/src/linux-headers-2.6.35-14-generic'
CC [M] /home/ubuntu/usb-dvb/tda18218-attempt.2.6.35-14-generic.14990/tda18218/v4l/tda18218.o
/home/ubuntu/usb-dvb/tda18218-attempt.2.6.35-14-generic.14990/tda18218/v4l/tda18218.c: In function 'tda18218_release':
/home/ubuntu/usb-dvb/tda18218-attempt.2.6.35-14-generic.14990/tda18218/v4l/tda18218.c:208: error: implicit declaration of function 'kfree'
/home/ubuntu/usb-dvb/tda18218-attempt.2.6.35-14-generic.14990/tda18218/v4l/tda18218.c: In function 'tda18218_attach':
/home/ubuntu/usb-dvb/tda18218-attempt.2.6.35-14-generic.14990/tda18218/v4l/tda18218.c:240: error: implicit declaration of function 'kzalloc'
/home/ubuntu/usb-dvb/tda18218-attempt.2.6.35-14-generic.14990/tda18218/v4l/tda18218.c:240: warning: assignment makes pointer from integer without a cast
make[3]: *** [/home/ubuntu/usb-dvb/tda18218-attempt.2.6.35-14-generic.14990/tda18218/v4l/tda18218.o] Error 1
make[2]: *** [_module_/home/ubuntu/usb-dvb/tda18218-attempt.2.6.35-14-generic.14990/tda18218/v4l] Error 2
make[2]: Leaving directory `/usr/src/linux-headers-2.6.35-14-generic'
make[1]: *** [default] Error 2
make[1]: Leaving directory `/home/ubuntu/usb-dvb/tda18218-attempt.2.6.35-14-generic.14990/tda18218/v4l'
make: *** [all] Error 2
ubuntu@ubuntu:~/usb-dvb/tda18218-attempt.2.6.35-14-generic.14990/tda18218$
So: V4L and kernel 2.6.34 / 2.6.35 don't like eachother. I don't know whether it's caused by V4L or the Linux kernel. Hopefully the experts will have a look at this.
sanderj
August 29th, 2010, 03:26 PM
It looks like kfree and kzalloc (since 2.6.34/35) need this statement:
#include <linux/slab.h> /* for kzalloc/kfree */
The very new tda827x.c here does contain that include-statement on this yet-another-source:
http://mercurial.intuxication.org/hg/s2-liplianin-351/file/ec6bae2a42ee/linux/drivers/media/common/tuners/tda827x.c
whereas our source http://linuxtv.org/hg/~anttip/tda18218/ does not (yet) contain those includes.
And, pity: the mercurial.intuxication.org does contain the include-statement, but it does NOT contain the tda18218.c driver ... :-(
Xehoz
August 29th, 2010, 04:34 PM
Ah, so it's kernel related. I was puzzled by those errors. Couldn't find any information concerning them.
I'll try it on Arch's LTS kernel later on (2.6.32.20). Nevertheless, I guess it's just a matter of time until it gets sorted in http://linuxtv.org/hg/~anttip/tda18218/
I'm not sure if you tried it but... wouldn't adding that line to our source's file fix the problem?
Xehoz
August 29th, 2010, 05:03 PM
I'm not sure if you tried it but... wouldn't adding that line to our source's file fix the problem?
Guess not. Adding that line to these files solves some issues, but eventually, more (not so easily fixable) fixes are needed for 2.6.35 (http://mercurial.intuxication.org/hg/s2-liplianin-351/rev/3ee64805d1f8).
tuner-xc2028.c
mt20xx.c
tda8290.c
tea5767.c
tea5761.c
Xehoz
August 29th, 2010, 07:27 PM
By copying (a lot of) the files from s2-liplianin-351 ('hg clone http://mercurial.intuxication.org/hg/s2-liplianin-351/') over to tda18218 you kinda get 'make' to work. I still get some warnings and errors though... Gave on this "method". Too messy.
s2=s2-liplianin-351
tda=tda18218
tuners=linux/drivers/media/common/tuners
dvb=linux/drivers/media/dvb
video=linux/drivers/media/video
v4l=v4l
cp $s2/$dvb/dvb-usb/usb-urb.c $tda/$dvb/dvb-usb/usb-urb.c
cp $s2/$dvb/ttusb-dec/ttusb_dec.c $tda/$dvb/ttusb-dec/ttusb_dec.c
cp $s2/$video/au0828/au0828-video.c $tda/$video/au0828/au0828-video$
cp $s2/$video/cx231xx/cx231xx-core.c $tda/$video/cx231xx/cx231xx-co$
cp $s2/$video/em28xx/em28xx-core.c $tda/$video/em28xx/em28xx-core.c
cp $s2/$video/gspca/benq.c $tda/$video/gspca/benq.c
cp $s2/$video/gspca/gspca.c $tda/$video/gspca/gspca.c
cp $s2/$video/hdpvr/hdpvr-video.c $tda/$video/hdpvr/hdpvr-video.c
cp $s2/$video/usbvision/usbvision-core.c $tda/$video/usbvision/usbv$
cp $s2/$video/uvc/uvc_video.c $tda/$video/uvc/uvc_video.c
cp $s2/linux/drivers/staging/tm6000/tm6000-video.c $tda/linux/drivers/staging/tm6000/tm6000-video.c
cp $s2/$v4l/compat.h $tda/$v4l/compat.h
cp $s2/$dvb/dvb-core/dvb_net.c $tda/$dvb/dvb-core/dvb_net.c
cp $s2/$tuners/tuner-xc2028.c $tda/$tuners/tuner-xc20$
cp $s2/$tuners/mt20xx.c $tda/$tuners/mt20xx.c
cp $s2/$tuners/tda8290.c $tda/$tuners/tda8290.c
cp $s2/$tuners/tea5767.c $tda/$tuners/tea5767.c
cp $s2/$tuners/tea5761.c $tda/$tuners/tea5761.c
cp $s2/$tuners/tda827x.c $tda/$tuners/tda827x.c
cp $s2/$dvb/dvb-core/dmxdev.c $tda/$dvb/dvb-core/dmxdev.c
cp $s2/$dvb/dvb-core/dmxdev.h $tda/$dvb/dvb-core/dmxdev.h
cp $s2/$dvb/dvb-core/dvb_ca_en50221.c $tda/$dvb/dvb-core/dvb_ca_en50221.c
cp $s2/$dvb/dvb-core/dvb_frontend.c $tda/$dvb/dvb-core/dvb_frontend.c
cp $s2/$dvb/dvb-core/dvb_frontend.h $tda/$dvb/dvb-core/dvb_frontend.h
cp $s2/$dvb/dvb-core/dvb_net.c $tda/$dvb/dvb-core/dvb_net.c
cp $s2/$dvb/dvb-core/dvb_net.h $tda/$dvb/dvb-core/dvb_net.h
cp $s2/$dvb/dvb-core/dvbdev.c $tda/$dvb/dvb-core/dvbdev.c
cp $s2/$dvb/dvb-core/dvbdev.h $tda/$dvb/dvb-core/dvbdev.h
cp $s2/$dvb/firewire/firedtv-ci.c $tda/$dvb/firewire/firedtv-ci.c
cp $s2/$dvb/ttpci/av7110.c $tda/$dvb/ttpci/av7110.c
cp $s2/$dvb/ttpci/av7110_av.c $tda/$dvb/ttpci/av7110_av.c
cp $s2/$dvb/ttpci/av7110_ca.c $tda/$dvb/ttpci/av7110_ca.c
cp $s2/linux/drivers/media/IR/ir-keytable.c $tda/linux/drivers/media/IR/ir-keytable.c
cp $s2/linux/drivers/media/IR/ir-sysfs.c $tda/linux/drivers/media/IR/ir-sysfs.c
cp $s2/linux/drivers/media/IR/ir-raw-event.c $tda/linux/drivers/media/IR/ir-raw-event.c
sanderj
August 30th, 2010, 01:43 AM
http://www.spinics.net/lists/linux-media/msg22084.html mentions a git-post by Antti Palosaari for tda18218 on 2.6.35.
are available in the git repository at:
git://linuxtv.org/anttip/media_tree.git tda18218
So, are we able to look at that? And/or use git to get that source?
Xehoz
August 30th, 2010, 06:08 PM
Working on Arch's LTS kernel (2.6.32.20) :). There were some parts that required .33/.34 but it builds fine nevertheless.
2010-08-30T22:54:32.263819+01:00 localhost kernel: af9015_read_config: [0] tuner id:179
2010-08-30T22:54:32.263821+01:00 localhost kernel: af9015_identify_state: reply:01
2010-08-30T22:54:32.263822+01:00 localhost kernel: dvb-usb: found a 'Afatech AF9015 DVB-T USB2.0 stick' in cold state, will try to load a firmware
2010-08-30T22:54:32.263825+01:00 localhost kernel: usb 1-3: firmware: requesting dvb-usb-af9015.fw
2010-08-30T22:54:32.263827+01:00 localhost kernel: dvb-usb: downloading firmware from file 'dvb-usb-af9015.fw'
2010-08-30T22:54:32.263828+01:00 localhost kernel: af9015_download_firmware:
2010-08-30T22:54:32.333815+01:00 localhost kernel: dvb-usb: found a 'Afatech AF9015 DVB-T USB2.0 stick' in warm state.
2010-08-30T22:54:32.333828+01:00 localhost kernel: dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer.
2010-08-30T22:54:32.333830+01:00 localhost kernel: DVB: registering new adapter (Afatech AF9015 DVB-T USB2.0 stick)
2010-08-30T22:54:32.333832+01:00 localhost kernel: af9015_af9013_frontend_attach: init I2C
2010-08-30T22:54:32.333833+01:00 localhost kernel: af9015_i2c_init:
2010-08-30T22:54:32.333835+01:00 localhost kernel: af9013: firmware version:5.1.0.0
2010-08-30T22:54:32.333837+01:00 localhost kernel: DVB: registering adapter 0 frontend 0 (Afatech AF9013 DVB-T)...
2010-08-30T22:54:32.333838+01:00 localhost kernel: af9015_tuner_attach:
2010-08-30T22:54:32.333839+01:00 localhost kernel: >>> 22 2f c1 00 00 00 01 01
2010-08-30T22:54:32.333841+01:00 localhost kernel: <<< 2f 00 c0
2010-08-30T22:54:32.333842+01:00 localhost kernel: NXP TDA18218HN successfully identified.
2010-08-30T22:54:32.333844+01:00 localhost kernel: dvb-usb: Afatech AF9015 DVB-T USB2.0 stick successfully initialized and connected.
2010-08-30T22:54:32.333845+01:00 localhost kernel: af9015_init:
2010-08-30T22:54:32.333847+01:00 localhost kernel: af9015_init_endpoint: USB speed:3
2010-08-30T22:54:32.344497+01:00 localhost kernel: af9015_download_ir_table:
2010-08-30T22:54:32.344517+01:00 localhost kernel: af9015_usb_probe: interface:1
http://img830.imageshack.us/img830/4264/af9015.th.png (http://img830.imageshack.us/i/af9015.png/)
Uploaded with ImageShack.us (http://imageshack.us)
KMK_ECS
October 15th, 2010, 09:01 PM
Thanks for the hint with the GIT repository! I found a way to make the tuner work in Ubuntu Maverick but it involves recompiling the kernel. Maybe someone knows a way to just recompile the required modules?
This is what I did:
apt-get source linux-image-$(uname -r)
Then go to
http://git.linuxtv.org/anttip/media_tree.git?a=tree;hb=5fe8996a83d3808b7ff9e0a49 80b60b4fed9b1c2
(http://git.linuxtv.org/anttip/media_tree.git?a=tree;hb=5fe8996a83d3808b7ff9e0a49 80b60b4fed9b1c2)
Download the following files and put them in the corresponding folders of the original Maverick kernel source (You have to use the browser to navigate to the different folders and then click on raw to download the file). Overwrite the original files in the original kernel source if necessary. I am sure there is a more convenient way of doing this, maybe someone knows how? I might create a patch for the Maverick kernel if I find some time.
drivers/media/common/tuners/Kconfig
drivers/media/common/tuners/Makefile
drivers/media/common/tuners/tda18218.c
drivers/media/common/tuners/tda18218.h
drivers/media/common/tuners/tda18218_priv.h
drivers/media/dvb/dvb-usb/Kconfig
drivers/media/dvb/dvb-usb/af9015.c
drivers/media/dvb/frontends/af9013.c
drivers/media/dvb/frontends/af9013_priv.h
Then compile and install the modified kernel. This will take some time. You may add CONCURRENCY_LEVEL=2 before fakeroot to speed this up if you have a dual core:
cd linux-2.6.35
cp /boot/config-2.6.35-22-generic .config
make oldconfig # not sure if this is really neccessary
make-kpkg clean
fakeroot make-kpkg --initrd --append-to-version=af9015 kernel-image kernel-headers
cd ..
sudo dpkg -i linux-image-2.6.35.4af9015_2.6.35.4af9015-10.00.Custom_amd64.deb #depending on your CPU architecture the file may have a different name
Reboot and the DVB adapter should work.
sanderj
October 16th, 2010, 12:55 AM
Wow, impressive!
So, you have created a .deb file ("linux-image-2.6.35.4af9015_2.6.35.4af9015-10.00.Custom_amd64.deb"), which you install using "sudo dpkg -i".
Is that the only change, and would thus installing that .deb on a plain Maverick be enough? If so, creating the .deb for different platforms and kernel versions would be the solution for others, wouldn't it?
KMK_ECS
October 16th, 2010, 04:59 AM
No, I have not changed anything else after updating to Maverick. However, I vaguely remember that I had to install the firmware in Lucid when I used the old method in this thread to make the tuner work. I think I did that through Synaptics and therefore the firmware was probably still present after upgrading to Maverick.
In principle, the .deb should also work on other compatible systems if you have the firmware already installed. However, my understanding is that packages generated with fakeroot are not meant to be distributed as a professional package needs a more sophisticated setup. Furthermore, the problem will arise again once the Ubuntu kernel is updated. Certainly, you can still boot the modified kernel but you will miss important security updates. I also do not know how long this way of modifying the kernel will be compatible with future kernel versions.
The modified kernel package is 37 MB in size. You may also need the headers which are another 7 MB. If somebody wants to try it out I am happy to upload the package somewhere (suggestions?) but you have been warned! ;)
I was hoping that somebody with a bit more knowledge could generate a script which will just compile the required modules and install them in the current kernel.
Limulf
October 16th, 2010, 02:58 PM
Thanks a lot, KMK_ECS. I have not been able to make my TV card work, but at least I have compiled a kernel for the first time (it took more than 2 hours!). :D I will wait until an easier way to solve the issue appears.
I created two files:
linux-image-2.6.35.4af9015_2.6.35.4af9015-10.00.Custom_amd64.deb: 37.4MB
linux-headers-2.6.35.4af9015_2.6.35.4af9015-10.00.Custom_amd64.deb: 6.6MB
My TV card: ID 15a4:9015 Afatech Technologies, Inc. AF9015 DVB-T USB2.0 stick
Best regards.
dinoj
October 17th, 2010, 02:02 AM
Thank You KMK_ECS. You method is working for me.
15a4:9016 Afatech Technologies, Inc. AF9015 DVB-T USB2.0 stick
sanderj
October 17th, 2010, 03:53 AM
In principle, the .deb should also work on other compatible systems if you have the firmware already installed. However, my understanding is that packages generated with fakeroot are not meant to be distributed as a professional package needs a more sophisticated setup. Furthermore, the problem will arise again once the Ubuntu kernel is updated. Certainly, you can still boot the modified kernel but you will miss important security updates. I also do not know how long this way of modifying the kernel will be compatible with future kernel versions.
The modified kernel package is 37 MB in size. You may also need the headers which are another 7 MB. If somebody wants to try it out I am happy to upload the package somewhere (suggestions?) but you have been warned! ;)
What's the size of the .deb? Only 1 MB (for the af9015 driver), or bigger?
KMK_ECS
October 17th, 2010, 04:30 AM
The .deb has 37 MB as it contains the whole kernel.
f.rwx
October 20th, 2010, 06:24 AM
Thank You KMK_ECS, are months I'm waiting for someone who compiles that.
Have you already shared deb files? For example with torrent?
No, I have not changed anything else after updating to Maverick. However, I vaguely remember that I had to install the firmware in Lucid when I used the old method in this thread to make the tuner work. I think I did that through Synaptics and therefore the firmware was probably still present after upgrading to Maverick.
In principle, the .deb should also work on other compatible systems if you have the firmware already installed. However, my understanding is that packages generated with fakeroot are not meant to be distributed as a professional package needs a more sophisticated setup. Furthermore, the problem will arise again once the Ubuntu kernel is updated. Certainly, you can still boot the modified kernel but you will miss important security updates. I also do not know how long this way of modifying the kernel will be compatible with future kernel versions.
The modified kernel package is 37 MB in size. You may also need the headers which are another 7 MB. If somebody wants to try it out I am happy to upload the package somewhere (suggestions?) but you have been warned! ;)
I was hoping that somebody with a bit more knowledge could generate a script which will just compile the required modules and install them in the current kernel.
KMK_ECS
October 20th, 2010, 05:25 PM
The kernel is available for download here:
http://www.sharebigfile.com/en/file/2666/linux-image-2-6-35-4af9015-2-6-35-4af9015-10-00-Custom-amd64-deb.html
The header files are located here:
http://www.sharebigfile.com/en/file/2667/linux-headers-2-6-35-4af9015-2-6-35-4af9015-10-00-Custom-amd64-deb.html
I do not recommend downloading this kernel but rather suggest compiling it yourself (see my earlier posting). I take no responsibility for crashes or other errors that using this kernel may cause! Try at your own risk!
sanderj
October 22nd, 2010, 03:11 PM
The kernel is available for download here:
http://www.sharebigfile.com/en/file/2666/linux-image-2-6-35-4af9015-2-6-35-4af9015-10-00-Custom-amd64-deb.html
The header files are located here:
http://www.sharebigfile.com/en/file/2667/linux-headers-2-6-35-4af9015-2-6-35-4af9015-10-00-Custom-amd64-deb.html
I do not recommend downloading this kernel but rather suggest compiling it yourself (see my earlier posting). I take no responsibility for crashes or other errors that using this kernel may cause! Try at your own risk!
How should I install the deb's? I tried "sudo dpkg -i ...", but it gives errors (see below).
And, FYI: I'm doing this on a persistent USB stick with Ubuntu 10.10 64-bit, so no worries about my system ;-)
ubuntu@ubuntu:~/Downloads$ sudo dpkg -i linux-headers-2.6.35.4af9015_2.6.35.4af9015-10.00.Custom_amd64.deb
(Reading database ... 150578 files and directories currently installed.)
Preparing to replace linux-headers-2.6.35.4af9015 2.6.35.4af9015-10.00.Custom (using linux-headers-2.6.35.4af9015_2.6.35.4af9015-10.00.Custom_amd64.deb) ...
Unpacking replacement linux-headers-2.6.35.4af9015 ...
Setting up linux-headers-2.6.35.4af9015 (2.6.35.4af9015-10.00.Custom) ...
Examining /etc/kernel/header_postinst.d.
run-parts: executing /etc/kernel/header_postinst.d/dkms 2.6.35.4af9015 /boot/vmlinuz-2.6.35.4af9015
* dkms: running auto installation service for kernel 2.6.35.4af9015
* bcmwl (5.60.48.36+bdcom)... [fail]
dkms: WARNING: linux headers are missing, which may explain the above failures.
please install the linux-headers-2.6.35.4af9015 package to fix this.
run-parts: executing /etc/kernel/header_postinst.d/nvidia-common 2.6.35.4af9015 /boot/vmlinuz-2.6.35.4af9015
ubuntu@ubuntu:~/Downloads$
ubuntu@ubuntu:~/Downloads$
ubuntu@ubuntu:~/Downloads$ sudo dpkg -i linux-image-2.6.35.4af9015_2.6.35.4af9015-10.00.Custom_amd64.deb
(Reading database ... 150578 files and directories currently installed.)
Preparing to replace linux-image-2.6.35.4af9015 2.6.35.4af9015-10.00.Custom (using linux-image-2.6.35.4af9015_2.6.35.4af9015-10.00.Custom_amd64.deb) ...
Examining /etc/kernel/preinst.d/
Done.
Unpacking replacement linux-image-2.6.35.4af9015 ...
Examining /etc/kernel/postrm.d .
run-parts: executing /etc/kernel/postrm.d/initramfs-tools 2.6.35.4af9015 /boot/vmlinuz-2.6.35.4af9015
run-parts: executing /etc/kernel/postrm.d/zz-update-grub 2.6.35.4af9015 /boot/vmlinuz-2.6.35.4af9015
Setting up linux-image-2.6.35.4af9015 (2.6.35.4af9015-10.00.Custom) ...
Hmm. There is a symbolic link /lib/modules/2.6.35.4af9015/build
However, I can not read it: No such file or directory
Therefore, I am deleting /lib/modules/2.6.35.4af9015/build
Hmm. The package shipped with a symbolic link /lib/modules/2.6.35.4af9015/source
However, I can not read the target: No such file or directory
Therefore, I am deleting /lib/modules/2.6.35.4af9015/source
Running depmod.
Examining /etc/kernel/postinst.d.
run-parts: executing /etc/kernel/postinst.d/dkms 2.6.35.4af9015 /boot/vmlinuz-2.6.35.4af9015
* dkms: running auto installation service for kernel 2.6.35.4af9015
* bcmwl (5.60.48.36+bdcom)... [ OK ]
run-parts: executing /etc/kernel/postinst.d/initramfs-tools 2.6.35.4af9015 /boot/vmlinuz-2.6.35.4af9015
update-initramfs is disabled since running on read-only media
run-parts: executing /etc/kernel/postinst.d/nvidia-common 2.6.35.4af9015 /boot/vmlinuz-2.6.35.4af9015
run-parts: executing /etc/kernel/postinst.d/pm-utils 2.6.35.4af9015 /boot/vmlinuz-2.6.35.4af9015
run-parts: executing /etc/kernel/postinst.d/update-notifier 2.6.35.4af9015 /boot/vmlinuz-2.6.35.4af9015
run-parts: executing /etc/kernel/postinst.d/zz-update-grub 2.6.35.4af9015 /boot/vmlinuz-2.6.35.4af9015
/usr/sbin/grub-probe: error: cannot find a device for / (is /dev mounted?).
run-parts: /etc/kernel/postinst.d/zz-update-grub exited with return code 1
Failed to process /etc/kernel/postinst.d at /var/lib/dpkg/info/linux-image-2.6.35.4af9015.postinst line 341.
dpkg: error processing linux-image-2.6.35.4af9015 (--install):
subprocess installed post-installation script returned error exit status 2
Errors were encountered while processing:
linux-image-2.6.35.4af9015
ubuntu@ubuntu:~/Downloads$
sanderj
October 22nd, 2010, 04:01 PM
Then go to
http://git.linuxtv.org/anttip/media_tree.git?a=tree;hb=5fe8996a83d3808b7ff9e0a49 80b60b4fed9b1c2
(http://git.linuxtv.org/anttip/media_tree.git?a=tree;hb=5fe8996a83d3808b7ff9e0a49 80b60b4fed9b1c2)
Download the following files and put them in the corresponding folders of the original Maverick kernel source (You have to use the browser to navigate to the different folders and then click on raw to download the file). Overwrite the original files in the original kernel source if necessary. I am sure there is a more convenient way of doing this, maybe someone knows how? I might create a patch for the Maverick kernel if I find some time.
drivers/media/common/tuners/Kconfig
drivers/media/common/tuners/Makefile
drivers/media/common/tuners/tda18218.c
drivers/media/common/tuners/tda18218.h
drivers/media/common/tuners/tda18218_priv.h
drivers/media/dvb/dvb-usb/Kconfig
drivers/media/dvb/dvb-usb/af9015.c
drivers/media/dvb/frontends/af9013.c
drivers/media/dvb/frontends/af9013_priv.h
To make the above easier, I've made a script to do this automagically. Please note: run from within the "linux-2.6.35" source directory. The script will also do a check on that.
sohlinux
October 23rd, 2010, 07:08 AM
Can someone help me get my AF9015 DVB-T USB working, I am running Ubuntu 10.10 on a Sony Vaio laptop
the output of lsusb=
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 004: ID 15a4:9016 Afatech Technologies, Inc. AF9015 DVB-T USB2.0 stick
Bus 002 Device 003: ID 046d:c52e Logitech, Inc.
Bus 002 Device 002: ID 0409:005a NEC Corp. HighSpeed Hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 002: ID 04f2:b14e Chicony Electronics Co., Ltd
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
the output of dmesg =
[ 1406.576280] usb 2-1.3: new high speed USB device using ehci_hcd and address 4
[ 1406.688912] usb 2-1.3: configuration #1 chosen from 1 choice
[ 1406.692993] Afatech DVB-T 2: Fixing fullspeed to highspeed interval: 10 -> 7
[ 1406.693423] input: Afatech DVB-T 2 as /devices/pci0000:00/0000:00:1d.7/usb2/2-1/2-1.3/2-1.3:1.1/input/input13
[ 1406.693562] generic-usb 0003:15A4:9016.0003: input,hidraw2: USB HID v1.01 Keyboard [Afatech DVB-T 2] on usb-0000:00:1d.7-1.3/input1
[ 1406.725473] af9015: tuner id:179 not supported, please report!
[ 1406.725532] usbcore: registered new interface driver dvb_usb_af9015
please help before I pull all my hair out. :(
sanderj
October 23rd, 2010, 07:51 AM
Can someone help me get my AF9015 DVB-T USB working, I am running Ubuntu 10.10 on a Sony Vaio laptop
<snip>
please help before I pull all my hair out. :(
How about reading the last three pages of this thread?
sohlinux
October 23rd, 2010, 08:05 AM
How about reading the last three pages of this thread?
I have been through this thread 6 times but nothing works :(
TopEnder
October 23rd, 2010, 08:34 AM
sohlinux,
I have the same dvb-usb: Afatech AF9015 DVB-T USB2.0 stick (lsusb) all I did with Ubuntu 10.10 was to plug the USB Stick in and search for Hardwarel drivers in System/Adminstration/Additional Drivers & selected Firmware for DVB cards followed the prompts, after the installation I installed me-tv & VLC both in Synaptic Package manager. Nothing else was downloaded or installed. I find scanning for channels is easier with me-tv.
TopEnder
October 23rd, 2010, 08:34 AM
sohlinux,
I have the same dvb-usb: Afatech AF9015 DVB-T USB2.0 stick (lsusb) all I did with Ubuntu 10.10 was to plug the USB Stick in and search for Hardwarel drivers in System/Adminstration/Additional Drivers & selected Firmware for DVB cards followed the prompts, after the installation I installed me-tv & VLC both in Synaptic Package manager. Nothing else was downloaded or installed. I find scanning for channels is easier with me-tv.
sanderj
October 23rd, 2010, 08:37 AM
sohlinux,
I have the same dvb-usb: Afatech AF9015 DVB-T USB2.0 stick (lsusb) all I did with Ubuntu 10.10 was to plug the USB Stick in and search for Hardwarel drivers in System/Adminstration/Additional Drivers & selected Firmware for DVB cards followed the prompts, after the installation I installed me-tv & VLC both in Synaptic Package manager. Nothing else was downloaded or installed. I find scanning for channels is easier with me-tv.
I believe the af9015 is not the problem, but the tda18218 aka tuner id:179
sohlinux
October 23rd, 2010, 05:00 PM
sohlinux,
I have the same dvb-usb: Afatech AF9015 DVB-T USB2.0 stick (lsusb) all I did with Ubuntu 10.10 was to plug the USB Stick in and search for Hardwarel drivers in System/Adminstration/Additional Drivers & selected Firmware for DVB cards followed the prompts, after the installation I installed me-tv & VLC both in Synaptic Package manager. Nothing else was downloaded or installed. I find scanning for channels is easier with me-tv.
thanks for the info, I followed your instructions but it didn't work.
me-tv says "no device installed" and vlc doesn't appear to do anything although its quite complicated
do I need to change any of the settings on the vlc stream setup pages?
at the moment its set to the following
card to use /dev/dvb/adapter0 (I dont even have a folder /dev/dvb/adapter0 or even /dev/dvb/) :(
transponder freq 0 kHz
mrl dvb://frequency=0000
edit options :dvb-adapter=1 :dvb-bandwidth=0 :file-caching=300
dvb source dvb://frequency=0000
transcoding video- H.264 + AAC (mp4)
Thanks
yo-mu
October 23rd, 2010, 08:44 PM
I have read whole forum try different way described here and sill my dvbt cant work.
Can someone tell me now how to install it or just quote the post where is installation best described?
TopEnder
October 24th, 2010, 01:33 AM
thanks for the info, I followed your instructions but it didn't work.
me-tv says "no device installed" and vlc doesn't appear to do anything although its quite complicated
do I need to change any of the settings on the vlc stream setup pages?
at the moment its set to the following
card to use /dev/dvb/adapter0 (I dont even have a folder /dev/dvb/adapter0 or even /dev/dvb/) :(
transponder freq 0 kHz
mrl dvb://frequency=0000
edit options :dvb-adapter=1 :dvb-bandwidth=0 :file-caching=300
dvb source dvb://frequency=0000
transcoding video- H.264 + AAC (mp4)
Thanks
Sorry I can't help you, as stated I just plugged the USB stick in and Ubuntu did most of the work I do have the folder /dev/dvb/adapter0 with sub folders:
/demux0m, /dvr0, /frontend0, & net0 -all have nothing in the files.
You could post your me-tv problem "no device installed" at launchpad.net/me-tv "https://launchpad.net/me-tv" you will need to login and give me-tv maintainers all the facts & how you installed me-tv.
the more I look at your problem and read throught previous posts, I think sanderj post (#171) may have the reason but I don't have a solution.
sohlinux
October 24th, 2010, 05:45 AM
Sorry I can't help you, as stated I just plugged the USB stick in and Ubuntu did most of the work I do have the folder /dev/dvb/adapter0 with sub folders:
/demux0m, /dvr0, /frontend0, & net0 -all have nothing in the files.
You could post your me-tv problem "no device installed" at launchpad.net/me-tv "https://launchpad.net/me-tv" you will need to login and give me-tv maintainers all the facts & how you installed me-tv.
the more I look at your problem and read throught previous posts, I think sanderj post (#171) may have the reason but I don't have a solution.
thanks for the info I will take a look at launchpad.net
:)
sanderj
October 24th, 2010, 08:48 AM
Thanks for the hint with the GIT repository! I found a way to make the tuner work in Ubuntu Maverick but it involves recompiling the kernel.
<snip>
Reboot and the DVB adapter should work.
Wow! Your method works. It took my system (Pentium 4, 3.0 GHz, 0.5GB RAM) more than four hours to compile, and I needed some extra commands, but now I've a new kernel and my /var/log/messages on Ubuntu 10.10 says:
Oct 24 14:32:35 HPP4 kernel: [ 216.278618] dvb-usb: found a 'Afatech AF9015 DVB-T USB2.0 stick' in cold state, will try to load a firmware
Oct 24 14:32:35 HPP4 kernel: [ 216.290896] dvb-usb: downloading firmware from file 'dvb-usb-af9015.fw'
Oct 24 14:32:35 HPP4 kernel: [ 216.369357] dvb-usb: found a 'Afatech AF9015 DVB-T USB2.0 stick' in warm state.
Oct 24 14:32:35 HPP4 kernel: [ 216.369513] dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer.
Oct 24 14:32:35 HPP4 kernel: [ 216.370079] DVB: registering new adapter (Afatech AF9015 DVB-T USB2.0 stick)
Oct 24 14:32:35 HPP4 kernel: [ 216.483292] af9013: firmware version:5.1.0
Oct 24 14:32:35 HPP4 kernel: [ 216.487793] DVB: registering adapter 0 frontend 0 (Afatech AF9013 DVB-T)...
Oct 24 14:32:35 HPP4 kernel: [ 216.521685] tda18218: NXP TDA18218HN successfully identified.
Oct 24 14:32:35 HPP4 kernel: [ 216.523527] dvb-usb: Afatech AF9015 DVB-T USB2.0 stick successfully initialized and connected.
Oct 24 14:32:35 HPP4 kernel: [ 216.538649] Afatech DVB-T 2: Fixing fullspeed to highspeed interval: 10 -> 7
Oct 24 14:32:35 HPP4 kernel: [ 216.540441] input: Afatech DVB-T 2 as /devices/pci0000:00/0000:00:1d.7/usb1/1-6/1-6:1.1/input/input5
Tip: you can check your af9015 module whether it supports the infamous tda18218 (first the plain Ubuntu 10.10 module, and the patched module):
sander@HPP4:~$ strings /lib/modules/2.6.35-22-generic/kernel/drivers/media/dvb/dvb-usb/dvb-usb-af9015.ko | grep -i tda18218
<4>af9015: tuner NXP TDA18218 not supported yet
sander@HPP4:~$
sander@HPP4:~$
sander@HPP4:~$ strings /lib/modules/2.6.35.4af9015/kernel/drivers/media/dvb/dvb-usb/dvb-usb-af9015.ko | grep -i tda18218
<3>DVB: Unable to find symbol tda18218_attach()
tda18218_attach
symbol:tda18218_attach
sander@HPP4:~$
EDIT:
PS: these extra commands were necessary before running the other commands
sudo apt-get install dpkg-dev
sudo apt-get install kernel-package
argab
October 25th, 2010, 06:01 PM
I tried to do the solution of KMK_ECS with kernel 2.6.36, but at the end I got this:
CC [M] drivers/media/dvb/dvb-core/dvb_frontend.o
drivers/media/dvb/dvb-usb/af9015.c:756: warning: initialization from incompatible pointer type
drivers/media/dvb/dvb-usb/af9015.c:759: warning: initialization from incompatible pointer type
drivers/media/dvb/dvb-usb/af9015.c:762: warning: initialization from incompatible pointer type
drivers/media/dvb/dvb-usb/af9015.c:765: warning: initialization from incompatible pointer type
drivers/media/dvb/dvb-usb/af9015.c:768: warning: initialization from incompatible pointer type
drivers/media/dvb/dvb-usb/af9015.c:776: warning: initialization from incompatible pointer type
drivers/media/dvb/dvb-usb/af9015.c:779: warning: initialization from incompatible pointer type
drivers/media/dvb/dvb-usb/af9015.c:782: warning: initialization from incompatible pointer type
drivers/media/dvb/dvb-usb/af9015.c:785: warning: initialization from incompatible pointer type
drivers/media/dvb/dvb-usb/af9015.c:788: warning: initialization from incompatible pointer type
drivers/media/dvb/dvb-usb/af9015.c:795: warning: initialization from incompatible pointer type
drivers/media/dvb/dvb-usb/af9015.c:798: warning: initialization from incompatible pointer type
drivers/media/dvb/dvb-usb/af9015.c:801: warning: initialization from incompatible pointer type
drivers/media/dvb/dvb-usb/af9015.c: In function ‘af9015_set_remote_config’:
drivers/media/dvb/dvb-usb/af9015.c:840: warning: initialization from incompatible pointer type
drivers/media/dvb/dvb-usb/af9015.c:851: error: ‘struct dvb_usb_device_properties’ has no member named ‘rc_key_map’
drivers/media/dvb/dvb-usb/af9015.c:852: error: ‘struct dvb_usb_device_properties’ has no member named ‘rc_key_map_size’
drivers/media/dvb/dvb-usb/af9015.c: In function ‘af9015_read_config’:
drivers/media/dvb/dvb-usb/af9015.c:882: error: ‘struct dvb_usb_device_properties’ has no member named ‘rc_key_map’
drivers/media/dvb/dvb-usb/af9015.c:883: error: ‘struct dvb_usb_device_properties’ has no member named ‘rc_key_map_size’
drivers/media/dvb/dvb-usb/af9015.c: In function ‘af9015_rc_query’:
drivers/media/dvb/dvb-usb/af9015.c:1065: error: ‘struct dvb_usb_device_properties’ has no member named ‘rc_key_map’
drivers/media/dvb/dvb-usb/af9015.c:1077: error: ‘struct dvb_usb_device_properties’ has no member named ‘rc_key_map_size’
drivers/media/dvb/dvb-usb/af9015.c:1078: error: invalid use of undefined type ‘struct dvb_usb_rc_key’
drivers/media/dvb/dvb-usb/af9015.c:1078: error: dereferencing pointer to incomplete type
drivers/media/dvb/dvb-usb/af9015.c:1079: error: invalid use of undefined type ‘struct dvb_usb_rc_key’
drivers/media/dvb/dvb-usb/af9015.c:1079: error: dereferencing pointer to incomplete type
drivers/media/dvb/dvb-usb/af9015.c:1080: error: invalid use of undefined type ‘struct dvb_usb_rc_key’
drivers/media/dvb/dvb-usb/af9015.c:1080: error: dereferencing pointer to incomplete type
drivers/media/dvb/dvb-usb/af9015.c: At top level:
drivers/media/dvb/dvb-usb/af9015.c:1364: error: unknown field ‘rc_query’ specified in initializer
drivers/media/dvb/dvb-usb/af9015.c:1364: warning: missing braces around initializer
drivers/media/dvb/dvb-usb/af9015.c:1364: warning: (near initialization for ‘af9015_properties[0].rc’)
drivers/media/dvb/dvb-usb/af9015.c:1364: error: incompatible types when initializing type ‘enum dvb_usb_mode’ using type ‘int (*)(struct dvb_usb_device *, u32 *, int *)’
drivers/media/dvb/dvb-usb/af9015.c:1365: error: unknown field ‘rc_interval’ specified in initializer
drivers/media/dvb/dvb-usb/af9015.c:1365: warning: initialization makes pointer from integer without a cast
drivers/media/dvb/dvb-usb/af9015.c:1471: error: unknown field ‘rc_query’ specified in initializer
drivers/media/dvb/dvb-usb/af9015.c:1471: error: incompatible types when initializing type ‘enum dvb_usb_mode’ using type ‘int (*)(struct dvb_usb_device *, u32 *, int *)’
drivers/media/dvb/dvb-usb/af9015.c:1472: error: unknown field ‘rc_interval’ specified in initializer
drivers/media/dvb/dvb-usb/af9015.c:1472: warning: initialization makes pointer from integer without a cast
drivers/media/dvb/dvb-usb/af9015.c:1578: error: unknown field ‘rc_query’ specified in initializer
drivers/media/dvb/dvb-usb/af9015.c:1578: error: incompatible types when initializing type ‘enum dvb_usb_mode’ using type ‘int (*)(struct dvb_usb_device *, u32 *, int *)’
drivers/media/dvb/dvb-usb/af9015.c:1579: error: unknown field ‘rc_interval’ specified in initializer
drivers/media/dvb/dvb-usb/af9015.c:1579: warning: initialization makes pointer from integer without a cast
make[5]: *** [drivers/media/dvb/dvb-usb/af9015.o] Error 1
make[4]: *** [drivers/media/dvb/dvb-usb] Error 2
make[4]: *** Waiting for unfinished jobs....
CC [M] drivers/media/radio/radio-maxiradio.o
CC [M] drivers/media/radio/radio-gemtek-pci.o
CC [M] drivers/media/dvb/dvb-core/dvb_net.o
CC [M] drivers/media/radio/si4713-i2c.o
CC [M] drivers/media/dvb/dvb-core/dvb_ringbuffer.o
CC [M] drivers/media/radio/radio-si4713.o
CC [M] drivers/media/dvb/dvb-core/dvb_math.o
CC [M] drivers/media/radio/radio-maestro.o
LD [M] drivers/media/dvb/dvb-core/dvb-core.o
make[3]: *** [drivers/media/dvb] Error 2
make[3]: *** Waiting for unfinished jobs....
CC [M] drivers/mmc/card/block.o
CC [M] drivers/media/radio/dsbr100.o
CC [M] drivers/mmc/card/queue.o
CC [M] drivers/media/radio/radio-mr800.o
CC [M] drivers/mmc/card/sdio_uart.o
CC [M] drivers/media/radio/radio-tea5764.o
CC [M] drivers/media/radio/saa7706h.o
LD [M] drivers/mmc/card/mmc_block.o
CC [M] drivers/mmc/host/sdhci.o
CC [M] drivers/media/radio/tef6862.o
CC [M] drivers/media/radio/radio-timb.o
CC [M] drivers/media/radio/si470x/radio-si470x-i2c.o
CC [M] drivers/mmc/host/sdhci-pci.o
CC [M] drivers/media/radio/si470x/radio-si470x-common.o
CC [M] drivers/mmc/host/wbsd.o
CC [M] drivers/media/radio/si470x/radio-si470x-usb.o
CC [M] drivers/mmc/host/tifm_sd.o
LD [M] drivers/media/radio/si470x/radio-usb-si470x.o
LD [M] drivers/media/radio/si470x/radio-i2c-si470x.o
make[2]: *** [drivers/media] Error 2
make[2]: *** Waiting for unfinished jobs....
CC [M] drivers/mmc/host/mmc_spi.o
CC [M] drivers/mmc/host/sdricoh_cs.o
CC [M] drivers/mmc/host/cb710-mmc.o
CC [M] drivers/mmc/host/via-sdmmc.o
CC [M] drivers/mmc/host/sdhci-pltfm.o
CC [M] arch/x86/oprofile/../../../drivers/oprofile/oprof.o
LD [M] drivers/mmc/host/sdhci-platform.o
make[1]: *** [drivers] Error 2
make[1]: *** Waiting for unfinished jobs....
CC [M] arch/x86/oprofile/../../../drivers/oprofile/cpu_buffer.o
CC [M] arch/x86/oprofile/../../../drivers/oprofile/buffer_sync.o
CC [M] arch/x86/oprofile/../../../drivers/oprofile/event_buffer.o
CC [M] arch/x86/oprofile/../../../drivers/oprofile/oprofile_files.o
CC [M] arch/x86/oprofile/../../../drivers/oprofile/oprofilefs.o
CC [M] arch/x86/oprofile/../../../drivers/oprofile/oprofile_stats.o
CC [M] arch/x86/oprofile/../../../drivers/oprofile/timer_int.o
CC [M] arch/x86/oprofile/init.o
CC [M] arch/x86/oprofile/backtrace.o
CC [M] arch/x86/oprofile/nmi_int.o
CC [M] arch/x86/oprofile/op_model_amd.o
CC [M] arch/x86/oprofile/op_model_ppro.o
CC [M] arch/x86/oprofile/op_model_p4.o
CC [M] arch/x86/oprofile/nmi_timer_int.o
LD [M] arch/x86/oprofile/oprofile.o
make[1]: Leaving directory `/home/argab/linux-2.6.36'
make: *** [debian/stamp/build/kernel] Error 2
argab@argab-linux ~/linux-2.6.36 $
What's the problem?
Janhouse
October 25th, 2010, 07:46 PM
Solution described in http://start.ubuntuforums.org/showpost.php?p=9979509&postcount=155 did the trick.
Tested it on Arch Linux.
KMK_ECS
October 26th, 2010, 06:43 AM
I tried to do the solution of KMK_ECS with kernel 2.6.36, but at the end I got this:
...
What's the problem?
I assume that the patches are not compatible with kernel version 2.6.36.
sanderj
October 26th, 2010, 12:34 PM
I tried to do the solution of KMK_ECS with kernel 2.6.36, but
<snip>
What's the problem?
Can you explain how you got the 2.6.36 kernel, and on which Ubuntu version?
Because, AFAIK, Maverik 10.10 has no 2.6.36 linux-images-... (see http://packages.ubuntu.com/en/maverick/admin/)
So I wonder how, via KMK_ECS's command "apt-get source linux-image-$(uname -r)", you got a 2.6.36 kernel ...
EDIT:
Furthermore, *without* patching, can you succesfully compile the kernel? If not, it's not a patch problem, but a kernel compile problem ...
HTH
argab
October 26th, 2010, 02:53 PM
It's a 2.6.36-1 kernel from Xorg Edgers PPA, and I use Mint 10 (based on Maverick). I need the 2.6.36 kernel, because my notebook immediately restarts after shutdown with 2.6.35 kernel.
I installed build-essentials and dpkg-dev and kernel-package as well before I started. I haven't tried to compile a kernel without the patches yet, but I will try that soon. But I think it's probably a problem caused by the patch, because everything goes smoothly until it reaches drivers/media/dvb/dvb-usb/af9015.c.
sanderj
October 28th, 2010, 02:23 AM
<snip>I haven't tried to compile a kernel without the patches yet, but I will try that soon. But I think it's probably a problem caused by the patch, because everything goes smoothly until it reaches drivers/media/dvb/dvb-usb/af9015.c.
*If* the patch is really the problem, we could try http://git.linuxtv.org/anttip/media_tree.git?a=tree;h=741501d851d01f26cd29ce9e3f 2ad3fa547c7b26;hb=af9015 ; I believe it's more current, as there are patches only a few days old and "2.6.37" is mentioned ...
simplybob
October 28th, 2010, 10:27 AM
Hey guys,
My device is the PEAK 203244AGPK DVB-T USB Stick, and at the moment I'm trying to get it working in Ubuntu 10.10. It uses AF9015 and QT1010, and according to dmesg its set up properly, but for some reason it just won't work.
If anyone could help me out that would be great!
Thanks.
UPDATE: Okay I've managed to get it working fine in ME-TV, however some command line tools such as dvbtune dvbscan and w_scan will not work, and its the command line tools I need. Any ideas?
[ 4170.312159] usb 1-1: new high speed USB device using ehci_hcd and address 4
[ 4170.998780] WARNING: You're using an experimental version of the DVB stack. As the driver
[ 4170.998784] is backported to an older kernel, it doesn't offer enough quality for
[ 4170.998787] its usage in production.
[ 4170.998789] Use it with care.
[ 4171.631691] dvb-usb: found a 'KWorld USB DVB-T TV Stick II (VS-DVB-T 395U)' in cold state, will try to load a firmware
[ 4171.638232] dvb-usb: downloading firmware from file 'dvb-usb-af9015.fw'
[ 4171.960267] dvb-usb: found a 'KWorld USB DVB-T TV Stick II (VS-DVB-T 395U)' in warm state.
[ 4171.962978] dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer.
[ 4171.965264] DVB: registering new adapter (KWorld USB DVB-T TV Stick II (VS-DVB-T 395U))
[ 4172.112883] af9013: firmware version:5.1.0
[ 4172.138425] DVB: registering adapter 0 frontend 0 (Afatech AF9013 DVB-T)...
[ 4172.188762] Quantek QT1010 successfully identified.
[ 4172.190581] input: IR-receiver inside an USB DVB receiver as /devices/pci0000:00/0000:00:11.0/0000:02:03.0/usb1/1-1/input/input5
[ 4172.190957] dvb-usb: schedule remote query interval to 150 msecs.
[ 4172.191055] dvb-usb: KWorld USB DVB-T TV Stick II (VS-DVB-T 395U) successfully initialized and connected.
[ 4172.939007] usbcore: registered new interface driver dvb_usb_af9015
sanderj
October 30th, 2010, 04:29 AM
FWIW / FYI:
http://wiki.centos.org/HowTos/BuildingKernelModules gives a method to only compile a subpart of the kernel. I'm playing with that, hoping it will only take a few minutes to patch/compile/install the af9015/tda18218 stuff, and not hours and a complete new kernel.
Commands so far (after installing the kernel source, and working from that directory)
525 make oldconfig
526 make menuconfig
527 make prepare
528 make modules_prepare
531 make M=drivers/media/dvb/dvb-usb
532 make M=drivers/media/common/tuners
533 make M=drivers/media/dvb/frontends
Compiling now takes a minute, instead of 4 hours :-)
I now have to verify that I can install (=cp) and use the generated driver kernel modules.
To be continued ...
vitya_
October 30th, 2010, 07:06 PM
Apparently, the solution for the problem of the TDA18218 chip under kernel version 2.6.35 has already been found and is available here:
http://forum.ubuntu-it.org/index.php/topic,366156.msg3271707.html#msg3271707
True, it is in Italian, but the codes are self explanatory: I do not speak Italian either, still, it worked for me fine. :)
sanderj
October 30th, 2010, 08:19 PM
Apparently, the solution for the problem of the TDA18218 chip under kernel version 2.6.35 has already been found and is available here:
http://forum.ubuntu-it.org/index.php/topic,366156.msg3271707.html#msg3271707
True, it is in Italian, but the codes are self explanatory: I do not speak Italian either, still, it worked for me fine. :)
It worked for you ... on which Ubuntu / kernel version? Because: the Italian methode look like the methode size_XXM published in August (and I scripted, see http://ubuntuforums.org/showpost.php?p=9723087&postcount=133), BUT that only works on Ubuntu 10.04 / 2.6.32/33 (not .34/.35)
So: on which Ubuntu did you use the method?
jimmyoo0
October 30th, 2010, 09:57 PM
I can confirm that the method in;
http://forum.ubuntu-it.org/index.php/topic,366156.msg3271707.html#msg3271707
works for me in kernel 2.6.35 running ubuntu 10.10
vitya_
October 31st, 2010, 03:48 AM
It worked for you ... on which Ubuntu / kernel version? Because: the Italian methode look like the methode size_XXM published in August (and I scripted, see http://ubuntuforums.org/showpost.php?p=9723087&postcount=133), BUT that only works on Ubuntu 10.04 / 2.6.32/33 (not .34/.35)
So: on which Ubuntu did you use the method?
On 10.10, with kernel 2.6.35-22. The patch they propose seems to be new, it dates from Oct 21st. (As I see, otherwise the method is almost the same - yours was even better, because this one does not disable the FIREDTV module in advance.)
sanderj
October 31st, 2010, 03:56 AM
On 10.10, with kernel 2.6.35-22. The patch they propose seems to be new, it dates from Oct 21st. (As I see, otherwise the method is almost the same - yours was even better, because this one does not disable the FIREDTV module in advance.)
I tried the "Italian way" ;-), and it works on my Ubuntu 10.10. It takes about 20 minutes to complete.
My site http://www.appelboor.com/af9015/ now shows 3 scripts:
the good old hg-based script for Ubuntu 10.04
the hg-based script for Ubuntu 10.10, using the Italian patch
a script based on a full kernel GIT download, for Ubuntu 10.10.
If you try the GIT script, please me know the results
argab
October 31st, 2010, 05:22 AM
*If* the patch is really the problem, we could try http://git.linuxtv.org/anttip/media_tree.git?a=tree;h=741501d851d01f26cd29ce9e3f 2ad3fa547c7b26;hb=af9015 ; I believe it's more current, as there are patches only a few days old and "2.6.37" is mentioned ...
I tried this yesterday, and after 1.5 hours I got this:
make[1]: Leaving directory
make: *** [debian/stamp/build/kernel] Error 2
As far as I can tell, I didn't saw any errors this time after half an hour with af9015.c.
I also tried your "full kernel GIT" patch, I got the same errors regarded to af9015.c like when I tried to compile with the older patch.
After that I changed the script to the new git you linked previously, and with that I got this result:
HOSTCC scripts/kallsyms
HOSTCC scripts/conmakehash
WARNING: Symbol version dump /home/argab/af9015-tda18218/attempt.7659/linux-2.6.36/Module.symvers
is missing; modules will have no dependencies and modversions.
LD drivers/media/dvb/dvb-usb/built-in.o
Building modules, stage 2.
MODPOST 0 modules
WARNING: Symbol version dump /home/argab/af9015-tda18218/attempt.7659/linux-2.6.36/Module.symvers
is missing; modules will have no dependencies and modversions.
Building modules, stage 2.
MODPOST 0 modules
WARNING: Symbol version dump /home/argab/af9015-tda18218/attempt.7659/linux-2.6.36/Module.symvers
is missing; modules will have no dependencies and modversions.
LD drivers/media/dvb/frontends/built-in.o
After that it's still running for a while with "building modules, stage 2" part, but after that it stops.
MFonville
October 31st, 2010, 07:11 AM
I tried the "Italian way" ;-), and it works on my Ubuntu 10.10. It takes about 20 minutes to complete.
My site http://www.appelboor.com/af9015/ now shows 3 scripts:
the good old hg-based script for Ubuntu 10.04
the hg-based script for Ubuntu 10.10, using the Italian patch
a script based on a full kernel GIT download, for Ubuntu 10.10.
If you try the GIT script, please me know the results
Maybe we can make a DKMS module for the module. This will make it all much more flexible & neat than the current scripting efforts.
goodeye
November 2nd, 2010, 02:23 AM
I tried the "Italian way" ;-), and it works on my Ubuntu 10.10. It takes about 20 minutes to complete.
My site http://www.appelboor.com/af9015/ now shows 3 scripts:
the good old hg-based script for Ubuntu 10.04
the hg-based script for Ubuntu 10.10, using the Italian patch
a script based on a full kernel GIT download, for Ubuntu 10.10.
If you try the GIT script, please me know the results
thank you, my noname china card works like charm now. I can throw branded MSI card away because it preforms worse than china version.
dkms would be nice but overall 100% kickass product
argab
November 2nd, 2010, 02:48 PM
I just tried the new 2.6.37-rc1 kernel, and it seems TDA18218 is finally supported:
[ 73.110068] usb 1-1: new high speed USB device using ehci_hcd and address 5
[ 73.268828] Afatech DVB-T 2: Fixing fullspeed to highspeed interval: 10 -> 7
[ 73.269164] input: Afatech DVB-T 2 as /devices/pci0000:00/0000:00:12.2/usb1/1-1/1-1:1.1/input/input12
[ 73.269333] generic-usb 0003:15A4:9016.0004: input,hidraw3: USB HID v1.01 Keyboard [Afatech DVB-T 2] on usb-0000:00:12.2-1/input1
[ 73.340554] IR NEC protocol handler initialized
[ 73.372092] IR RC5(x) protocol handler initialized
[ 73.404743] IR RC6 protocol handler initialized
[ 73.412456] IR JVC protocol handler initialized
[ 73.415560] IR Sony protocol handler initialized
[ 73.432344] lirc_dev: IR Remote Control driver registered, major 250
[ 73.434774] IR LIRC bridge handler initialized
[ 73.751960] dvb-usb: found a 'Afatech AF9015 DVB-T USB2.0 stick' in cold state, will try to load a firmware
[ 73.771980] dvb-usb: downloading firmware from file 'dvb-usb-af9015.fw'
[ 73.840950] dvb-usb: found a 'Afatech AF9015 DVB-T USB2.0 stick' in warm state.
[ 73.841049] dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer.
[ 73.841498] DVB: registering new adapter (Afatech AF9015 DVB-T USB2.0 stick)
[ 73.872559] af9013: firmware version:4.95.0.0
[ 73.875807] DVB: registering adapter 0 frontend 0 (Afatech AF9013 DVB-T)...
[ 73.894927] tda18218: NXP TDA18218HN successfully identified.
[ 73.896433] Registered IR keymap rc-empty
[ 73.896578] input: IR-receiver inside an USB DVB receiver as /devices/pci0000:00/0000:00:12.2/usb1/1-1/rc/rc0/input13
[ 73.896673] rc0: IR-receiver inside an USB DVB receiver as /devices/pci0000:00/0000:00:12.2/usb1/1-1/rc/rc0
[ 73.896676] dvb-usb: schedule remote query interval to 500 msecs.
[ 73.896681] dvb-usb: Afatech AF9015 DVB-T USB2.0 stick successfully initialized and connected.
[ 73.904481] usbcore: registered new interface driver dvb_usb_af9015
I will try to setup VLC later today or maybe tomorrow and update the infos.
argab
November 2nd, 2010, 03:18 PM
It was easier than I expected, it's working fine, without any problems.
http://img14.imageshack.us/img14/8015/cap2n.png
sanderj
November 2nd, 2010, 03:29 PM
I just tried the new 2.6.37-rc1 kernel, and it seems TDA18218 is finally supported
Cool. http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git&a=search&h=HEAD&st=commit&s=tda18218 seems to confirm it.
Which kernel is Ubuntu Natty Narwhal 11.04 going to get? 2.6.37, or something older?
MFonville
November 2nd, 2010, 03:47 PM
Cool. http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git&a=search&h=HEAD&st=commit&s=tda18218 seems to confirm it.
Which kernel is Ubuntu Natty Narwhal 11.04 going to get? 2.6.37, or something older?
according to http://www.phoronix.com/scan.php?page=news_item&px=ODcyMg probably 2.6.38
sanderj
November 2nd, 2010, 03:51 PM
It was easier than I expected, it's working fine, without any problems.
Did you find the initial channel scanning also easy? I always forget how to do that. After that, starting me-tv or vlc is easy :-)
argab
November 2nd, 2010, 03:53 PM
Which kernel is Ubuntu Natty Narwhal 11.04 going to get? 2.6.37, or something older?
2.6.37 or newer, it will be ready until then.
Where can I find a tutorial, how to setup smplayer for DVB-T? VLC uses only one thread and my 2 GHz Turion X2 is not enough for 1080i + yadif deinterlace. Maybe the mplayer-mt would be better.
Ok. I've found it. (http://smplayer.svn.sourceforge.net/viewvc/smplayer/smplayer/trunk/Watching_TV.txt)
I simply entered the frequency and bandwidth after I selected DVB-T in VLC, and it was working right after that.
choldi
November 15th, 2010, 02:41 PM
Thanks for the hint with the GIT repository! I found a way to make the tuner work in Ubuntu Maverick but it involves recompiling the kernel. Maybe someone knows a way to just recompile the required modules?
This is what I did:
apt-get source linux-image-$(uname -r)Then go to
http://git.linuxtv.org/anttip/media_tree.git?a=tree;hb=5fe8996a83d3808b7ff9e0a49 80b60b4fed9b1c2
(http://git.linuxtv.org/anttip/media_tree.git?a=tree;hb=5fe8996a83d3808b7ff9e0a49 80b60b4fed9b1c2)
Download the following files and put them in the corresponding folders of the original Maverick kernel source (You have to use the browser to navigate to the different folders and then click on raw to download the file). Overwrite the original files in the original kernel source if necessary. I am sure there is a more convenient way of doing this, maybe someone knows how? I might create a patch for the Maverick kernel if I find some time.
drivers/media/common/tuners/Kconfig
drivers/media/common/tuners/Makefile
drivers/media/common/tuners/tda18218.c
drivers/media/common/tuners/tda18218.h
drivers/media/common/tuners/tda18218_priv.h
drivers/media/dvb/dvb-usb/Kconfig
drivers/media/dvb/dvb-usb/af9015.c
drivers/media/dvb/frontends/af9013.c
drivers/media/dvb/frontends/af9013_priv.h
Then compile and install the modified kernel. This will take some time. You may add CONCURRENCY_LEVEL=2 before fakeroot to speed this up if you have a dual core:
cd linux-2.6.35
cp /boot/config-2.6.35-22-generic .config
make oldconfig # not sure if this is really neccessary
make-kpkg clean
fakeroot make-kpkg --initrd --append-to-version=af9015 kernel-image kernel-headers
cd ..
sudo dpkg -i linux-image-2.6.35.4af9015_2.6.35.4af9015-10.00.Custom_amd64.deb #depending on your CPU architecture the file may have a different nameReboot and the DVB adapter should work.
Hello,
I got working the procedure and now the tuner is detected. But when I try to scan with Kaffeine, I got good signal but no SNR (SNR 0%) and I got no channels.
any ideas?
/var/log/messages :
Nov 15 19:35:04 jordi-ubuntu kernel: [ 1625.423571] DVB: registering new adapter (Afatech AF9015 DVB-T USB2.0 stick)
Nov 15 19:35:04 jordi-ubuntu kernel: [ 1625.428147] af9013: firmware version:5.1.0
Nov 15 19:35:04 jordi-ubuntu kernel: [ 1625.435950] DVB: registering adapter 0 frontend 0 (Afatech AF9013 DVB-T)...
Nov 15 19:35:04 jordi-ubuntu kernel: [ 1625.438514] tda18218: NXP TDA18218HN successfully identified.
Nov 15 19:35:04 jordi-ubuntu kernel: [ 1625.440044] dvb-usb: Afatech AF9015 DVB-T USB2.0 stick successfully initialized and connected.
Nov 15 19:35:04 jordi-ubuntu kernel: [ 1625.449938] Afatech DVB-T 2: Fixing fullspeed to highspeed interval: 10 -> 7
Nov 15 19:35:04 jordi-ubuntu kernel: [ 1625.451132] input: Afatech DVB-T 2 as /devices/pci0000:00/0000:00:1d.7/usb2/2-6/2-6:1.1/input/input6
Nov 15 19:35:04 jordi-ubuntu kernel: [ 1625.451499] generic-usb 0003:15A4:9016.0005: input,hidraw2: USB HID v1.01 Keyboard [Afatech DVB-T 2] on usb-0000:00:1d.7-6/input1
cheers,
Jordi
sanderj
November 15th, 2010, 05:17 PM
Hello,
I got working the procedure and now the tuner is detected. But when I try to scan with Kaffeine, I got good signal but no SNR (SNR 0%) and I got no channels.
any ideas?
Did you do an initial scan (using a seed)? I don't know if Kaffeine can do that. I do know me-tv can do that...
choldi
November 16th, 2010, 03:54 PM
Did you do an initial scan (using a seed)? I don't know if Kaffeine can do that. I do know me-tv can do that...
Kaffeine does it, but It didn't worked. I rebooted and I tried me-tv and all OK. Thanks a lot!
cheers,
Jordi
sanderj
December 4th, 2010, 03:21 PM
In Natty (Ubuntu 11.04) Alpha 1, the tuner TDA18218 is recognized!
The output of /var/log/messages
Dec 4 19:10:35 ubuntu kernel: [ 8681.788333] usb 1-6: new high speed USB device using ehci_hcd and address 8
Dec 4 19:10:35 ubuntu kernel: [ 8681.935099] Afatech DVB-T 2: Fixing fullspeed to highspeed interval: 10 -> 7
Dec 4 19:10:35 ubuntu kernel: [ 8681.936869] input: Afatech DVB-T 2 as /devices/pci0000:00/0000:00:1d.7/usb1/1-6/1-6:1.1/input/input12
Dec 4 19:10:35 ubuntu kernel: [ 8681.938455] generic-usb 0003:15A4:9016.0004: input,hidraw1: USB HID v1.01 Keyboard [Afatech DVB-T 2] on usb-0000:00:1d.7-6/input1
Dec 4 19:10:35 ubuntu kernel: [ 8682.068970] IR NEC protocol handler initialized
Dec 4 19:10:36 ubuntu kernel: [ 8682.140065] IR RC5(x) protocol handler initialized
Dec 4 19:10:36 ubuntu kernel: [ 8682.160444] IR RC6 protocol handler initialized
Dec 4 19:10:36 ubuntu kernel: [ 8682.170691] IR JVC protocol handler initialized
Dec 4 19:10:36 ubuntu kernel: [ 8682.182840] IR Sony protocol handler initialized
Dec 4 19:10:36 ubuntu kernel: [ 8682.235689] lirc_dev: IR Remote Control driver registered, major 250
Dec 4 19:10:36 ubuntu kernel: [ 8682.242496] IR LIRC bridge handler initialized
Dec 4 19:10:36 ubuntu kernel: [ 8682.675416] dvb-usb: found a 'Afatech AF9015 DVB-T USB2.0 stick' in cold state, will try to load a firmware
Dec 4 19:10:36 ubuntu kernel: [ 8682.698860] dvb_usb_af9015: probe of 1-6:1.0 failed with error -2
Dec 4 19:10:36 ubuntu kernel: [ 8682.698940] usbcore: registered new interface driver dvb_usb_af9015
ubuntu@ubuntu:~$ uname -a
Linux ubuntu 2.6.37-7-generic #19-Ubuntu SMP Tue Nov 30 23:46:45 UTC 2010 i686 GNU/Linux
ubuntu@ubuntu:~$
sanderj
December 4th, 2010, 03:42 PM
And after installing the firmware, the output is this:
wget http://palosaari.fi/linux/v4l-dvb/firmware/af9015/5.1.0.0/dvb-usb-af9015.fw
sudo cp dvb-usb-af9015.fw /lib/firmware/
Dec 4 19:40:16 ubuntu kernel: [10462.296400] usb 4-1: USB disconnect, address 5
Dec 4 19:40:16 ubuntu kernel: [10462.568184] usb 4-1: new low speed USB device using uhci_hcd and address 6
Dec 4 19:40:16 ubuntu kernel: [10462.764483] input: Logitech USB-PS/2 Optical Mouse as /devices/pci0000:00/0000:00:1d.2/usb4/4-1/4-1:1.0/input/input19
Dec 4 19:40:16 ubuntu kernel: [10462.765047] generic-usb 0003:046D:C00E.0009: input,hidraw0: USB HID v1.10 Mouse [Logitech USB-PS/2 Optical Mouse] on usb-0000:00:1d.2-1/input0
Dec 4 19:40:16 ubuntu kernel: [10463.004209] usb 1-6: new high speed USB device using ehci_hcd and address 12
Dec 4 19:40:17 ubuntu kernel: [10463.534923] dvb-usb: found a 'Afatech AF9015 DVB-T USB2.0 stick' in cold state, will try to load a firmware
Dec 4 19:40:17 ubuntu kernel: [10463.544441] dvb-usb: downloading firmware from file 'dvb-usb-af9015.fw'
Dec 4 19:40:17 ubuntu kernel: [10463.627455] dvb-usb: found a 'Afatech AF9015 DVB-T USB2.0 stick' in warm state.
Dec 4 19:40:17 ubuntu kernel: [10463.627783] dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer.
Dec 4 19:40:17 ubuntu kernel: [10463.630490] DVB: registering new adapter (Afatech AF9015 DVB-T USB2.0 stick)
Dec 4 19:40:17 ubuntu kernel: [10463.652193] af9013: firmware version:5.1.0.0
Dec 4 19:40:17 ubuntu kernel: [10463.657167] DVB: registering adapter 0 frontend 0 (Afatech AF9013 DVB-T)...
Dec 4 19:40:17 ubuntu kernel: [10463.660251] tda18218: NXP TDA18218HN successfully identified.
Dec 4 19:40:17 ubuntu kernel: [10463.662110] Registered IR keymap rc-empty
Dec 4 19:40:17 ubuntu kernel: [10463.662450] input: IR-receiver inside an USB DVB receiver as /devices/pci0000:00/0000:00:1d.7/usb1/1-6/rc/rc0/input20
Dec 4 19:40:17 ubuntu kernel: [10463.662685] rc0: IR-receiver inside an USB DVB receiver as /devices/pci0000:00/0000:00:1d.7/usb1/1-6/rc/rc0
Dec 4 19:40:17 ubuntu kernel: [10463.662697] dvb-usb: schedule remote query interval to 500 msecs.
Dec 4 19:40:17 ubuntu kernel: [10463.662710] dvb-usb: Afatech AF9015 DVB-T USB2.0 stick successfully initialized and connected.
Dec 4 19:40:17 ubuntu kernel: [10463.677917] Afatech DVB-T 2: Fixing fullspeed to highspeed interval: 10 -> 7
Dec 4 19:40:17 ubuntu kernel: [10463.678548] input: Afatech DVB-T 2 as /devices/pci0000:00/0000:00:1d.7/usb1/1-6/1-6:1.1/input/input21
Dec 4 19:40:17 ubuntu kernel: [10463.678994] generic-usb 0003:15A4:9016.000A: input,hidraw1: USB HID v1.01 Keyboard [Afatech DVB-T 2] on usb-0000:00:1d.7-6/input1
Sir_Patrick
December 7th, 2010, 08:47 PM
I tried the "Italian way" ;-), and it works on my Ubuntu 10.10. It takes about 20 minutes to complete.
My site http://www.appelboor.com/af9015/ now shows 3 scripts:
the good old hg-based script for Ubuntu 10.04
the hg-based script for Ubuntu 10.10, using the Italian patch
a script based on a full kernel GIT download, for Ubuntu 10.10.
If you try the GIT script, please me know the results
I was looking a long time for a solution like this, i did use the Italian patch and my unknown chinese dvb-usb stick now works for the first time in ubuntu 10.10.
Thanks for posting this, i also read that in ubuntu 11.04 it will be implemented in the kernel, that will be nice.
But for the time beeing this works great! \\:D/
axelsvag
December 28th, 2010, 01:08 PM
Thank you very much, I used your 10.10 script and after a reboot everything worked perfectly
stevezau
January 6th, 2011, 06:49 AM
Hi All,
I purchased T1680B Dual DVB-T TV Stick (http://www.mygica.com/pa/t1680b.asp)
When i plug it in i get the following
[ 73.070028] usb 1-8: new high speed USB device using ehci_hcd and address 3
[ 73.593288] af9015: tuner id:177 not supported, please report!
[ 73.597492] Afatech DVB-T 2: Fixing fullspeed to highspeed interval: 10 -> 7
[ 73.597863] input: Afatech DVB-T 2 as /devices/pci0000:00/0000:00:1d.7/usb1/1-8/1-8:1.1/input/input7
[ 73.598207] generic-usb 0003:15A4:9016.0002: input,hidraw0: USB HID v1.01 Keyboard [Afatech DVB-T 2] on usb-0000:00:1d.7-8/input1
I've tried the patches/scripts at http://www.appelboor.com/af9015/ but it still gives me the same output..
any ideas?
sanderj
January 6th, 2011, 08:19 AM
But "tuner id:177" is a different tuner; this thread (and appelboor-patch) is about tuner id:179 ... a differente tuner & patch.
Have you googled on "tuner id:177 not supported"?
mr_git
January 20th, 2011, 11:54 AM
Originally Posted by sanderj
My site http://www.appelboor.com/af9015/ now shows 3 scripts:
1. the good old hg-based script for Ubuntu 10.04
2. the hg-based script for Ubuntu 10.10, using the Italian patch
3. a script based on a full kernel GIT download, for Ubuntu 10.10.
sanderj, your script for 10.04 has got my no-name "Afatech DVB-T 2" working under lucid with this kernel:
2.6.32-27-generic #49-Ubuntu SMP Thu Dec 2 00:51:09 UTC 2010 x86_64 GNU/Linux
I was getting this error:
af9015: tuner id:179 not supported, please report!
Thank you :-)
P.S. lsusb for the stick:
15a4:9016 Afatech Technologies, Inc. AF9015 DVB-T USB2.0 stick
mrmojo
January 27th, 2011, 06:43 AM
Thanks to @size_XXM, I've created a script to take care of all stuff to make the af9015 with our infamous NXP chip work.
I've tested it on two different machines, and it works ... !
The script can be found on http://www.appelboor.com/af9015/
Run the script like "/bin/sh usb-dvb-make-script.sh". Or even easier: run it as root with "sudo /bin/sh usb-dvb-make-script.sh".
The script should work on a plain (EDIT ) Ubuntu (/EDIT) Linux install; the script should take care of all. Please post if you see strange behaviour.
EDIT:
Running the script can take 10 - 45 minutes (compiling a zillion lines of code), depending on the speed of your machine
I think you must run the script each time a new kernel version is activated ...
HTH
Hello! Just ran your script. My usb adapter works perfectly! Thank you!
fusionzone
March 1st, 2011, 12:46 PM
hi, i have tried installing the script by sander, when i do a lsusb it detects the tv dongle but when i try to launch me-tv, i always receive an error say there are no dvb devices available.
anyone here able to help me with this ?
Regards
Andy
size_XXM
March 1st, 2011, 08:33 PM
hi, i have tried installing the script by sander,Install? You mean 'run', I hope? when i do a lsusb it detects the tv dongle It always does, lsusb simply lists USB devices visible to the system - whether the system can use the devices is not relevant to lsusb.but when i try to launch me-tv, i always receive an error say there are no dvb devices available.
Start with the basics - is there a dvb directory in /dev?
Here's a checklist (all of these should be taken care of by simply running one of sander's scripts - of course, the script needs to finish successfully in order for this to work):
new driver: you determine that you are running the new driver by watching what shows up in kernel log or dmesg output. If you find the "tuner id [some-number] not supported yet" line then you're running the old driver!
if you're not rebooting, make sure to unload the old driver - if the driver was loaded before you put the new drivers in place, the old driver will remain in use (it was loaded into memory, therefore any changes to the driver files are not reflected before the driver is loaded again.
sufficiently new firmware (4.95 minimum, 5.1 recommended) - any failures relating to loading the firmware (usually the firmware is missing completely) are also in dmesg output or kernel log.
ultrageeky
March 19th, 2011, 03:26 PM
I tried the "Italian way" ;-), and it works on my Ubuntu 10.10. It takes about 20 minutes to complete.
My site http://www.appelboor.com/af9015/ now shows 3 scripts:
the good old hg-based script for Ubuntu 10.04
the hg-based script for Ubuntu 10.10, using the Italian patch
a script based on a full kernel GIT download, for Ubuntu 10.10.
If you try the GIT script, please me know the results
Worked!
Thanks a lot for this.
I used script:
usb-dvb-make-HG-script-af9015-tda18218-ubuntu-10.10-linux-2.6.35-22.sh (http://www.appelboor.com/af9015/usb-dvb-make-HG-script-af9015-tda18218-ubuntu-10.10-linux-2.6.35-22.sh)
My kernal is 2.6.35-28-generic (established by typing "uname -r" into a terminal prompt).
Looked at linuxtv.org for more up to date versions of the software/drivers downloaded by the script but I couldn't find them. They probably do exist but I missed them. Would have edited the script had I found them.
For others who need to employ the same script,
download it from http://www.appelboor.com/af9015/
right click it, view properties and make it executible, then
left click it and select "Run"
Keep an eye on the terminal it opens. It will prompt for your sudo password and your agreement to install software.
Restart the computer once the script has completed.
Another thing I did was to click System>Administration>Additional Drivers and installed proprietory DVB drivers.
I also installed Me TV and a few other programs to enable me to use my HDTV USB DVB-T adaptor.
Now if only I could get a signal........... Will be playing with the aerial for a few hours.....
vanlindholm
March 19th, 2011, 06:29 PM
Using the script dmsg reported af9015: tuner id:177 not supported, please report!
To fix this I did the below:
git clone git://linuxtv.org/mchehab/new_build.git
$ cd new_build
$ ./build.sh
This will download the newest tarball from linuxtv.org, apply the backport patches
and build it.
After that, you may install the new drivers with:
$ make install
and reboot. After this everything worked fine for me. I got the fix from:http://www.mail-archive.com/linux-media@vger.kernel.org/msg25030.html
visualus
March 30th, 2011, 05:05 PM
Hi there,
I'm trying to get my AF9015 device to work in Ubuntu Hardy with kernel 2.6.24-28
I've read whole topic and tried many ways but none worked. Many of Users obtained the tip.bz2 from http://linuxtv.org/hg/~anttip/af9015/ but seems that the page is changed and I don't know how to get the file ;/
I tried the livecd with xubuntu 11.04 and newest fw file and the tuner works great but I just want to use it at my old good hardy.
Could you help me?
sanderj
March 31st, 2011, 02:01 AM
Hi there,
I'm trying to get my AF9015 device to work in Ubuntu Hardy with kernel 2.6.24-28
I've read whole topic and tried many ways but none worked. Many of Users obtained the tip.bz2 from http://linuxtv.org/hg/~anttip/af9015/ but seems that the page is changed and I don't know how to get the file ;/
I tried the livecd with xubuntu 11.04 and newest fw file and the tuner works great but I just want to use it at my old good hardy.
Could you help me?
Hardy? So 8.04? Old indeed! Support for the destkop version will stop next month (2011-04). Are you aware of that? If you're migrating to the next LTS (which is 10.04), the script on http://www.appelboor.com/af9015/ will take care of the TDA18218 with the af9015.
Altino
March 31st, 2011, 06:29 AM
Hello everyone,
I have my dvb-t usb stick working well (af9015 and tunner tda18218).
However, there's an issue and, until now, no one has discuss it.
The issue is that EGP (electronic programming guide) is not working well. Sometimes I can get some kind of EGP info, but always uncompleted.
I install usb stick using:
git clone git://linuxtv.org/mchehab/new_build.git
$ cd new_build
$ ./build.sh
$ make install
And downloaded http://palosaari.fi/linux/v4l-dvb/firmware/af9015/5.1.0.0/dvb-usb-af9015.fw
I'm using Ubuntu Server 10.04 LTS 64bit.
Note that there's was a time when I had this working, when we could use hg clone http://linuxtv.org/hg/~anttip/tda18218/ (http://linuxtv.org/hg/%7Eanttip/tda18218/) (about August, 2010). The problem started since December 2010.
Do you have any clues?
Thanks!
Kind regards,
Altino
sanderj
March 31st, 2011, 09:12 AM
Hello everyone,
I have my dvb-t usb stick working well (af9015 and tunner tda18218).
However, there's an issue and, until now, no one has discuss it.
The issue is that EGP (electronic programming guide) is not working well. Sometimes I can get some kind of EGP info, but always uncompleted
<snip>
What do you mean with "uncompleted EPG"? Channels missing? Or progams within one channel missing? FYI / FWIW: my DVB-T broadcaster only shows the current and the next program, and nothing beyond.
When you use me-tv, does it show a correct EPG?
If not: when you use Ubuntu 11.04 alpha with me-tv, does it show a correct EPG?
Altino
April 1st, 2011, 05:29 AM
What do you mean with "uncompleted EPG"? Channels missing? Or progams within one channel missing? FYI / FWIW: my DVB-T broadcaster only shows the current and the next program, and nothing beyond.
When you use me-tv, does it show a correct EPG?
If not: when you use Ubuntu 11.04 alpha with me-tv, does it show a correct EPG?
I'm sorry, my bad. Using Me-TV the EPG seems to be working well. The problem rises when using Mythtv-backend, even tuning channels directly with mythtv (not importing channels.conf). I installed mythtv from Ubuntu 10.04 package repository. It seems there's a problem with mythtv.
"Uncomplete EPG" I mean sometimes there's no EPG at all, and sometimes the sentences are not completed. Is not constant... still EPG full sentences are never gathered from signal. For instance, instead of appearing "Tonight, Jerry's show blá blá blá", it shows only "jerry", nothing more. Sometimes, only a dot "." appears.
Thank you for previous fast support.
Kind regards,
Altino
sanderj
April 5th, 2011, 08:44 AM
FYI/FWIW:
I'm now running Xubuntu 11.04 Beta 1, and after manually installing the firmware (which is not automatically offered by Xubuntu), the af9015 with tda18218 works out-of-the-box. With me-tv I can just watch the DVB-T-TV-channels; me-tv will find all channels automatically after selecting "Finland" as a seed.
I've also included the scan's resulting channel.conf (using "scan /usr/share/dvb/dvb-t/nl-All > list.conf") for my Caiway / CAIW DVB-T provider.
Ubuntu 11.04 Beta 1 has the same (or better) functionality, but I find the Unity interface very uncomfortable.
wget http://palosaari.fi/linux/v4l-dvb/firmware/af9015/5.1.0.0/dvb-usb-af9015.fw
sudo cp dvb-usb-af9015.fw /lib/firmware/
[ 2154.636179] usb 1-6: new high speed USB device using ehci_hcd and address 8
[ 2155.182501] dvb-usb: found a 'Afatech AF9015 DVB-T USB2.0 stick' in cold state, will try to load a firmware
[ 2155.190722] dvb-usb: downloading firmware from file 'dvb-usb-af9015.fw'
[ 2155.303167] dvb-usb: found a 'Afatech AF9015 DVB-T USB2.0 stick' in warm state.
[ 2155.303457] dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer.
[ 2155.306728] DVB: registering new adapter (Afatech AF9015 DVB-T USB2.0 stick)
[ 2155.320250] af9013: firmware version:5.1.0.0
[ 2155.324889] DVB: registering adapter 0 frontend 0 (Afatech AF9013 DVB-T)...
[ 2155.327885] tda18218: NXP TDA18218HN successfully identified.
[ 2155.330197] Registered IR keymap rc-empty
[ 2155.330533] input: IR-receiver inside an USB DVB receiver as /devices/pci0000:00/0000:00:1d.7/usb1/1-6/rc/rc2/input16
[ 2155.330766] rc2: IR-receiver inside an USB DVB receiver as /devices/pci0000:00/0000:00:1d.7/usb1/1-6/rc/rc2
[ 2155.330779] dvb-usb: schedule remote query interval to 500 msecs.
[ 2155.330791] dvb-usb: Afatech AF9015 DVB-T USB2.0 stick successfully initialized and connected.
[ 2155.346545] Afatech DVB-T 2: Fixing fullspeed to highspeed interval: 10 -> 7
[ 2155.349018] input: Afatech DVB-T 2 as /devices/pci0000:00/0000:00:1d.7/usb1/1-6/1-6:1.1/input/input17
[ 2155.349503] generic-usb 0003:15A4:9016.0006: input,hidraw1: USB HID v1.01 Keyboard [Afatech DVB-T 2] on usb-0000:00:1d.7-6/input1
sanderj
April 18th, 2011, 04:20 AM
Update: on Natty Beta 2, Ubuntu automagically offers to install the needed firmware driver for the af9015 tda18218 combo.
After installing me-tv and the initial scan, it all just works: I can watch TV. :-)
See screenshots.
uhappo
April 26th, 2011, 02:26 PM
Hmmm, I have a problem.
lsusb
Bus 001 Device 003: ID 15a4:9016 Afatech Technologies, Inc. AF9015 DVB-T USB2.0 stick
I have Natty, latest updates. Once I plugged the USB-stick to my laptop Ubuntu wanted to download firmware for that. Ok. Everything seems to be ok.
But, I can't find any channels. Not in VLC, Kaffeine or in MeTV.
MeTV shows this:
http://i3.aijaa.com/b/00102/7946574.png (http://aijaa.com/v.php?i=001027946574.png)
AF9013?
Any idea?
sanderj
April 26th, 2011, 02:39 PM
Hmmm, I have a problem.
lsusb
Bus 001 Device 003: ID 15a4:9016 Afatech Technologies, Inc. AF9015 DVB-T USB2.0 stick
I have Natty, latest updates. Once I plugged the USB-stick to my laptop Ubuntu wanted to download firmware for that. Ok. Everything seems to be ok.
But, I can't find any channels. Not in VLC, Kaffeine or in MeTV.
Any idea?
Questions:
- what does dmesg say at the moment you plug in your tv-stick?
- is your antenna well connected? What kind of antenna do you use: roof top, in-door or cable-TV?
- in which country are you trying to use this? Is there DVB-T-signal?
uhappo
April 26th, 2011, 03:09 PM
Questions:
- what does dmesg say at the moment you plug in your tv-stick?
- is your antenna well connected? What kind of antenna do you use: roof top, in-door or cable-TV?
- in which country are you trying to use this? Is there DVB-T-signal?
dmesg
[ 94.582398] dvb-usb: found a 'Afatech AF9015 DVB-T USB2.0 stick' in cold state, will try to load a firmware
[ 94.604198] dvb-usb: downloading firmware from file 'dvb-usb-af9015.fw'
[ 94.673409] dvb-usb: found a 'Afatech AF9015 DVB-T USB2.0 stick' in warm state.
[ 94.675273] dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer.
[ 94.675736] DVB: registering new adapter (Afatech AF9015 DVB-T USB2.0 stick)
[ 94.752404] af9013: firmware version:4.95.0.0
[ 94.756909] DVB: registering adapter 0 frontend 0 (Afatech AF9013 DVB-T)...
[ 94.800153] MT2060: successfully identified (IF1 = 1220)
[ 95.292029] Registered IR keymap rc-alink-dtu-m
[ 95.295279] input: IR-receiver inside an USB DVB receiver as /devices/pci0000:00/0000:00:1d.7/usb1/1-6/rc/rc0/input7
[ 95.295504] rc0: IR-receiver inside an USB DVB receiver as /devices/pci0000:00/0000:00:1d.7/usb1/1-6/rc/rc0
[ 95.295513] dvb-usb: schedule remote query interval to 500 msecs.
[ 95.295521] dvb-usb: Afatech AF9015 DVB-T USB2.0 stick successfully initialized and connected.
[ 95.306106] usbcore: registered new interface driver dvb_usb_af9015
[ 95.363164] usbcore: registered new interface driver usbhid
[ 95.363173] usbhid: USB HID core driver
Antenna is well connected, it's a small antenna in the end of 1m cord, so it's an indoor antenna.
I live in Finland, and I really believe we have DVB-T signal here 'cause I get signal/channels when using Anysee E-30 -receaver. I'm not using 'em together.
sanderj
April 26th, 2011, 03:49 PM
dmesg
[ 94.582398] dvb-usb: found a 'Afatech AF9015 DVB-T USB2.0 stick' in cold state, will try to load a firmware
[ 94.604198] dvb-usb: downloading firmware from file 'dvb-usb-af9015.fw'
[ 94.673409] dvb-usb: found a 'Afatech AF9015 DVB-T USB2.0 stick' in warm state.
[ 94.675273] dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer.
[ 94.675736] DVB: registering new adapter (Afatech AF9015 DVB-T USB2.0 stick)
[ 94.752404] af9013: firmware version:4.95.0.0
[ 94.756909] DVB: registering adapter 0 frontend 0 (Afatech AF9013 DVB-T)...
[ 94.800153] MT2060: successfully identified (IF1 = 1220)
[ 95.292029] Registered IR keymap rc-alink-dtu-m
[ 95.295279] input: IR-receiver inside an USB DVB receiver as /devices/pci0000:00/0000:00:1d.7/usb1/1-6/rc/rc0/input7
[ 95.295504] rc0: IR-receiver inside an USB DVB receiver as /devices/pci0000:00/0000:00:1d.7/usb1/1-6/rc/rc0
[ 95.295513] dvb-usb: schedule remote query interval to 500 msecs.
[ 95.295521] dvb-usb: Afatech AF9015 DVB-T USB2.0 stick successfully initialized and connected.
[ 95.306106] usbcore: registered new interface driver dvb_usb_af9015
[ 95.363164] usbcore: registered new interface driver usbhid
[ 95.363173] usbhid: USB HID core driver
Antenna is well connected, it's a small antenna in the end of 1m cord, so it's an indoor antenna.
I live in Finland, and I really believe we have DVB-T signal here 'cause I get signal/channels when using Anysee E-30 -receaver. I'm not using 'em together.
The 'af9013' should not be a problem; I believe it's a demodulator, used together with the af9015.
My guess is that your hardware + software is good, but your signal is not. So:
The other receiver: does it use an indoor antenna too? Here in the Netherlands, I get almost no signal with the indoor antenna supplied with the USB-stick. And no signal at all with a bigger indoor antenna; I believe it is an active antenna which needs power on the coax.
You could try to start "me-tv --verbose" from the command line to see if there's useful output.
uhappo
April 26th, 2011, 04:15 PM
Here's a picture:
http://i8.aijaa.com/t/00715/7949608.t.jpg (http://aijaa.com/v.php?i=007157949608.jpg)
I get a signal with the other DVB-box, Anysee E-30, and I can watch tv, with supplied indoor antenna. But not with this USB-stick DVB + supplied indoor antenna.
size_XXM
April 26th, 2011, 08:00 PM
dmesg
[ 94.752404] af9013: firmware version:4.95.0.0
[ 94.756909] DVB: registering adapter 0 frontend 0 (Afatech AF9013 DVB-T)...
Is Natty still distributed with the older firmware? Try and get version 5.1 (search this thread, or use google; backup ubuntu's stock firmware!)
dmesg
[ 94.800153] MT2060: successfully identified (IF1 = 1220)
This may or may not be the problem. The stick we've all been discussing here is the one with TDA18218 tuner. Yours is this - MT2060. From the output, it looks like the tuner is supported, let's check the wiki (http://www.linuxtv.org/wiki/index.php/Afatech_AF9015):Examples of DVB-T USB devices in which the AF9015 chip can be found include:
Dongles with USB ID 15a4:9016 or 15a4:9015
The WandTV (QT1010)
The Elements High Definition DVB-T Receiver Model no DK-5203.
A-Link DTU(m) (15a4:9016, MT2060)
Fujitech (15a4:9016, MT2061)
TubeStick (15a4:9015, for Mac)
Geniatech T328B (15a4:9016, QT1010)
BestBuy Easy TV USB Stick (MT2061)
DENVER DVBT-2U (15a4:9016, MT2060(F))
TerraTec Cinergy T RC Mk II [15] (0ccd:0097, AF9015A + TDA18218HN)
TerraTec Cinergy T USB XE Vers.2 [16] (0ccd:0069, Version 1 uses AF9005)
Digitalnow TinyTwin
Hama DVB-T USB2 Stick (15a4:9016, MT2060)
MaxMedia 395U (1b80:e395), 397U (1b80:e397) & 399U (1b80:e399) these are sold under HiVision & K-World branding
Leadtek USB Dongle Gold (0413:6029)
Blu:Sens T5 (15a4:9016, MT2060) (Only works with af9015 firmware 5.1.0.0)
So there you have it - it should work and should have since 2.6.28. See your other receiver or local authorities to check the frequency and tune it manually in VLC. (With my tuner - TDA18218 - the "auto" bandwidth doesn't work, so you might want to set that manually too.
If possible, I'd try connecting the stick tuner to the antenna of your other receiver (where you're sure you have signal) or tuning it in windows (if easily avalable).
uhappo
April 27th, 2011, 02:18 AM
In my desktop (10.10 64bit ubuntu) it works out of the box, once I've installed ubuntu's proposed firmware. I get signal with the supplied indoor antenna with Kaffeine. But, I get only about 50% of the channels that can be seen in Finland with normal TV:
http://i8.aijaa.com/t/00697/7950089.t.png (http://aijaa.com/v.php?i=006977950089.png)
his221
April 27th, 2011, 01:39 PM
Hi to all!
I followed most of the steps here indicated in order to get my card working, but so far I got no luck.
My system is a Ubuntu Natty Beta 2 64-bit, with a Sveon STV22 card.
On lsusb I get:
Bus 002 Device 003: ID 1b80:e401 Afatech
Bus 002 Device 002: ID 8087:0020 Intel Corp. Integrated Rate Matching Hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 003: ID 064e:a219 Suyin Corp.
Bus 001 Device 002: ID 8087:0020 Intel Corp. Integrated Rate Matching Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
And on dmesg, when I plug the usb I only get:
[ 1100.455095] usb 2-1.2: USB disconnect, address 3
[ 1104.093897] usb 2-1.2: new high speed USB device using ehci_hcd and address 4
Does anyone has any idea or has any experience on how to make the Sveon STV22 working??
I know it has two Afatech af9015 chips.
I tried googling, but I didn't get anything useful so far, so I'm using this as a last resource.
Thank you in advanced!
uhappo
May 9th, 2011, 03:44 PM
Bus 002 Device 005: ID 15a4:9016 Afatech Technologies, Inc. AF9015 DVB-T USB2.0 stick
This works out of the box (once installed additional drivers) with Natty 64bit
HandeH
May 12th, 2011, 04:10 PM
I'm using Lucid Lynx and mythtv 0.23 with Fujitech (Fu:itech, 15a4:9016, MT2061). Quite often, for example after one/many suspend(s) to RAM or a bit longer session the USB tuner fails completely, and the user is forced to shutdown, unplug the USB tuner, replug it after a couple of seconds and reboot. Otherwise MythTV Frontend only says No Lock and the tuner just hangs. Currently, I use the default firmware 4.95.0 provided by jockey.
I wonder is there instructions somewhere or a bug report already done? Here is another user experience (http://ubuntuforums.org/showpost.php?p=9449451&postcount=10) and another (http://www.mail-archive.com/linux-media@vger.kernel.org/msg10886.html) two years ago.
rileyp
May 22nd, 2011, 08:37 AM
In Austraila I have 3 leadtek gold tuners /af9015 and use the 4.65 firmware. The 4.95 takes 2 minutes to lock on a channel so is useless for me. The 4.65 works very good for me although it causes a polling issue with the remote. I disable this as I use a mceusb remote anyway and its all good
cheers rileyp
declanmullen
June 9th, 2011, 07:26 AM
Should I use firmware version 5.1 ?
I've got mythbuntu 10.10 x86 32bit and its version 4.95 firmware. I'm using mythtv 0.24.
declanmullen
June 9th, 2011, 07:38 AM
Should I use firmware version 5.1 ?
I've got mythbuntu 10.10 x86 32bit and its version 4.95 firmware. I'm using mythtv 0.24.
Just found this statement here https://aur.archlinux.org/packages.php?ID=28322 :
this firmware [ie 5.1] simply does not work. 4.95.0 is the last working version.
Has anyone found the above statement to be incorrect ?
Anyone found 5.1 to be superior to 4.95 ?
sanderj
June 9th, 2011, 07:39 AM
Should I use firmware version 5.1 ?
I've got mythbuntu 10.10 x86 32bit and its version 4.95 firmware. I'm using mythtv 0.24.
Short answer: no; 4.95 is fine.
declanmullen
June 9th, 2011, 07:54 AM
Short answer: no; 4.95 is fine.
Cheers.
zorro07
June 9th, 2011, 08:59 PM
Hi dudes,
If your having tuning issues with the afatech chipset tuners try shutting down the system. Cold boot the system and the tuners will work properly. If you reboot the tuners will report tuner found in a warm state, this will cause the tuners to tuner endlessly and never get a lock or at least take several minutes. Thus perform unreliably.
Try the cold boot my guess is that it will solve your problem.
Cheers
Paul
Ossiostborn
September 20th, 2011, 05:23 AM
Hey,
I was trying to install my AF9015 on Ubuntu 10.04 LTS following the descriptions, unfortunately, the http://linuxtv.org/hg/~anttip/af9015/ (http://linuxtv.org/hg/%7Eanttip/af9015/) seems to be not available anymore, as the "usb-dvb-HG-make-script-for-ubuntu-10.04.sh" script just receives the following error:
Abbruch: Anforderung '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">' nicht unterstützt!
cd: 17: can't cd to tda18218/
make: *** Keine Targets angegeben und keine »make«-Steuerdatei gefunden. Schluss.
Command exited with non-zero status 2Installing the firmware alone doesn't seem enough. Is there any alternative way to accomplish it?
Unfortunately, I can't use the available 2.6.28 kernel or even switch to 11.04, because suspend support for my board has not been available there :(.
Thanks in advance!
Alexander
sanderj
September 20th, 2011, 01:48 PM
Have a lookt at the contents of your "usb-dvb-HG-make-script-for-ubuntu-10.04.sh": it looks like there is some non-script (but HTML / HTTP) in it causing the error message ...
Ossiostborn
September 20th, 2011, 03:05 PM
Thank you for your answer! The script should be the original, I pasted its source here: http://pastebin.com/WnbuNcCW.
To be precise, I get the beforementioned error message ("Abbruch: Anforderung '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">' nicht unterstützt!" which translates to "abort: request <...> not supported") when executing the "hg clone http://linuxtv.org/hg/~anttip/tda18218/" command, which leads me to assume that instead of downloading the relevant files, the script receives a html-file in response. Therefore I thought it had to do with the source, which seems inavailable. Please correct me if I'm wrong :). Parts of the rest of the script, like downloading the fw-file, work fine. Thanks again for your support!
Alexander
sanderj
September 20th, 2011, 03:42 PM
I can confirm the error message from the "hg clone" command. And running that command on another directory from anttip works OK. See quote below.
So it seems to be a problem with the specific directory tda18218. And extra indication for that: http://linuxtv.org/hg/~anttip/ does not show the tda18218 stuff.
I don't know how to solve this.
sander@R540:~/kul2$ hg clone http://linuxtv.org/hg/~anttip/tda18218/
abort: requirement '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">' not supported!
sander@R540:~/kul2$
sander@R540:~/kul2$ hg clone http://linuxtv.org/hg/~anttip/qt1010/
destination directory: qt1010
requesting all changes
adding changesets
^Ctransaction abort!
rollback completed
interrupted!
sander@R540:~/kul2$
Handssolow
September 26th, 2011, 02:59 PM
I got my USB DVB-TV dongle working on my laptop a while ago but only discovered this weekend that it doesn't work any longer. The dongle isn't recognised by Kaffeine yet sudo lsusb -v still reports a connected Afatech AF9015 DVB-T USB2.0 stick. I suspect that subsequent kernel updates have spoilt things. I'm running 10.04 LTS on this laptop.
I'm looking for your instructions which will enable me to re-establish a working AF9015 DVB-T dongle with Kaffeine. Me TV also doesn't recognise a connected devise either.
Edit:Additional Drivers are active for DVB-T and it's recognised in dmesg though I've also seen the "tuner id:179 error not supported" in log files.
HandeH
October 16th, 2011, 03:23 PM
Could the No_Lock issue described in the comment #230 (http://ubuntuforums.org/showpost.php?p=10806983&postcount=230) be related to networking? In my experience the DVB-T stick jams at least much more often when networking (ethernet) is set on in nm-applet. This has happend both in Mythtv 0.23 and 0.24 (combined Backend-Frontend).
Something related in logs:
http://paste.ubuntu.com/710112/
HandeH
October 16th, 2011, 03:32 PM
By the way, is there somewhere a somewhere working scheme for af9015 sticks to use suspend for scheduling recordings? Regular suspend does not work because of the No_Lock.
sosasami
December 5th, 2011, 03:37 PM
Hi,
Sorry for newby question - I just got the Kworld 395U usb and I am trying to install it on ubuntu 10.04, I've compiled the driver and firmware from V4L and the card is detected correctly, but when I am trying to tune to channels using w_scan I can not find any channels.
Any ideas what can be done to fix this?
Please help ;)
sanderj
December 5th, 2011, 03:46 PM
Hi,
Sorry for newby question - I just got the Kworld 395U usb and I am trying to install it on ubuntu 10.04, I've compiled the driver and firmware from V4L and the card is detected correctly, but when I am trying to tune to channels using w_scan I can not find any channels.
Any ideas what can be done to fix this?
Please help ;)
After booting, "tail -f /var/log/messages". Then press ENTER a few times, and then plug in you USB-stick. Post here the lines that appear.
About scanning: have you tried "me-tv"? Try the country you live in. If that doesn't work, try the other countries. FWIW: 'Finland' worked for me, whereas I live in the Netherlands.
vBulletin® v3.8.4, Copyright ©2000-2012, Jelsoft Enterprises Ltd.