On Fri, Mar 14, 2008 at 2:22 PM, Jarryd Beck <jarro.2783@xxxxxxxxx> wrote: > > On Fri, Mar 14, 2008 at 2:19 PM, Michael Krufky <mkrufky@xxxxxxxxxxx> wrote: > > > > Jarryd Beck wrote: > > > On Fri, Mar 14, 2008 at 11:13 AM, Antti Palosaari <crope@xxxxxx> wrote: > > > > > >> Jarryd Beck wrote: > > >> > I found the problem, the driver I had set .no_reconnect = 1 in > > >> > af9015_properties, the one in af9015_new didn't. So after I changed > > >> > that I tried again, it still didn't work. I enabled debugging and tried > > >> > to tune to a channel and this is what I got in dmesg. > > >> > > >> I know this no_reconnect problem. But haven't found proper correction > > >> yet. Looks like sometimes with some hw / sw configuration it reconnects > > >> USB-bus after firmware download and sometimes not. When there is > > >> no_reconnect set it is possible that driver loads twice (two adapters) > > >> and it causes race condition when two drivers are accessing same hw same > > >> time and it hangs (remote polling causes hangs very soon after plug). > > >> You can help and test if it is OK set no_reconnect=0 and remove #if 0 > > >> -killed code by changing it to #if 1 in line where is comment "firmware > > >> is running, reconnect device in the usb bus". This forces AF9015 chipset > > >> reconnect USB. > > >> > > >> > > >> > > >> > > > >> > usb 2-10: new high speed USB device using ehci_hcd and address 27 > > >> > usb 2-10: configuration #1 chosen from 1 choice > > >> > 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: 31 c2 bb 0b 00 00 00 00 13 04 29 60 00 02 01 02 > > >> > 10: 00 80 00 fa fa 10 40 ef 01 30 31 30 31 30 32 30 > > >> > 20: 35 30 35 30 30 30 30 31 ff ff ff ff ff ff ff ff > > >> > 30: 00 00 3a 01 00 08 02 00 cc 10 00 00 9c 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 26 00 00 04 03 09 04 10 03 4c 00 > > >> > 60: 65 00 61 00 64 00 74 00 65 00 6b 00 30 03 57 00 > > >> > 70: 69 00 6e 00 46 00 61 00 73 00 74 00 20 00 44 00 > > >> > 80: 54 00 56 00 20 00 44 00 6f 00 6e 00 67 00 6c 00 > > >> > 90: 65 00 20 00 47 00 6f 00 6c 00 64 00 20 03 30 00 > > >> > a0: 31 00 30 00 31 00 30 00 31 00 30 00 31 00 30 00 > > >> > b0: 36 00 30 00 30 00 30 00 30 00 31 00 00 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:156 > > >> > 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_tda18271_tuner_attach: > > >> > tda18271 5-00c0: creating new instance > > >> > TDA18271HD/C1 detected @ 5-00c0 > > >> > tda18271_init_regs: initializing registers for device @ 5-00c0 > > >> > input: IR-receiver inside an USB DVB receiver as /class/input/input39 > > >> > dvb-usb: schedule remote query interval to 200 msecs. > > >> > dvb-usb: Afatech AF9015 DVB-T USB2.0 stick successfully initialized > > >> > and connected. > > >> > af9015_init: > > >> > af9015_download_ir_table: > > >> > input: Leadtek WinFast DTV Dongle Gold as /class/input/input40 > > >> > input: USB HID v1.01 Keyboard [Leadtek WinFast DTV Dongle Gold] on > > >> > usb-0000:00:02.1-10 > > >> > tda18271_set_standby_mode: sm = 0, sm_lt = 0, sm_xt = 0 > > >> > tda18271_init_regs: initializing registers for device @ 5-00c0 > > >> > tda18271_tune: freq = 219500000, ifc = 3800000, bw = 7000000, std = 0x1d > > >> > tda18271_set_standby_mode: sm = 0, sm_lt = 0, sm_xt = 0 > > >> > tda18271_init_regs: initializing registers for device @ 5-00c0 > > >> > tda18271_set_standby_mode: sm = 1, sm_lt = 0, sm_xt = 0 > > >> > > >> There is no debug logs from af9013 demodulator module. You can enable > > >> logs by modprobe af9013 debug=1. Remember rmmod modules first from > > >> memory rmmod dvb_usb_af9015 af9013 mt2060 dvb_usb dvb_core > > >> > > >> af9013 debug should log rather much useful data when tuning to channel. > > >> Did you try change GPIO3 as mentioned earlier? > > >> > > >> > > >> > > >> regards > > >> Antti > > >> -- > > >> http://palosaari.fi/ > > >> > > >> > > > > > > I tried what you said, it works with no_reconnect = 1 and #if 0, and it also > > > works with no_reconnect = 0 and #if 1, but no_reconnect = 0 and #if 0 > > > doesn't work. It has a fit if I use no_reconnect = 1 and #if 1. It > > > gives me a lot > > > of this: > > > Mar 14 13:42:17 localhost kernel: af9015: af9015_rw_udev: receiving failed: -22 > > > Mar 14 13:42:17 localhost kernel: dvb-usb: error while querying for an > > > remote control event. > > > > > > I also tried changing the rf_spec_inv and gpio3 but that didn't seem to > > > do anything. It seems like it's the tuner, from dmesg the rest seems to be > > > working fine. > > > > > > Here is dmesg with debug enabled on af9013 too: > > > > > > usb 2-10: new high speed USB device using ehci_hcd and address 7 > > > usb 2-10: configuration #1 chosen from 1 choice > > > 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: 31 c2 bb 0b 00 00 00 00 13 04 29 60 00 02 01 02 > > > 10: 00 80 00 fa fa 10 40 ef 01 30 31 30 31 30 32 30 > > > 20: 35 30 35 30 30 30 30 31 ff ff ff ff ff ff ff ff > > > 30: 00 00 3a 01 00 08 02 00 cc 10 00 00 9c 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 26 00 00 04 03 09 04 10 03 4c 00 > > > 60: 65 00 61 00 64 00 74 00 65 00 6b 00 30 03 57 00 > > > 70: 69 00 6e 00 46 00 61 00 73 00 74 00 20 00 44 00 > > > 80: 54 00 56 00 20 00 44 00 6f 00 6e 00 67 00 6c 00 > > > 90: 65 00 20 00 47 00 6f 00 6c 00 64 00 20 03 30 00 > > > a0: 31 00 30 00 31 00 30 00 31 00 30 00 31 00 30 00 > > > b0: 36 00 30 00 30 00 30 00 30 00 31 00 00 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:156 > > > af9015_read_config: spectral inversion:0 > > > af9015_set_gpios: > > > af9013: firmware version:4.95.0 > > > DVB: registering frontend 2 (Afatech AF9013 DVB-T)... > > > af9015_tuner_attach: > > > af9015_tda18271_tuner_attach: > > > tda18271 5-00c0: creating new instance > > > af9013_i2c_gate_ctrl: enable:1 > > > af9013_i2c_gate_ctrl: enable:0 > > > TDA18271HD/C1 detected @ 5-00c0 > > > tda18271_init_regs: initializing registers for device @ 5-00c0 > > > af9013_i2c_gate_ctrl: enable:1 > > > af9013_i2c_gate_ctrl: enable:0 > > > af9013_i2c_gate_ctrl: enable:1 > > > af9013_i2c_gate_ctrl: enable:0 > > > af9013_i2c_gate_ctrl: enable:1 > > > af9013_i2c_gate_ctrl: enable:0 > > > af9013_i2c_gate_ctrl: enable:1 > > > af9013_i2c_gate_ctrl: enable:0 > > > af9013_i2c_gate_ctrl: enable:1 > > > af9013_i2c_gate_ctrl: enable:0 > > > af9013_i2c_gate_ctrl: enable:1 > > > af9013_i2c_gate_ctrl: enable:0 > > > af9013_i2c_gate_ctrl: enable:1 > > > af9013_i2c_gate_ctrl: enable:0 > > > af9013_i2c_gate_ctrl: enable:1 > > > af9013_i2c_gate_ctrl: enable:0 > > > af9013_i2c_gate_ctrl: enable:1 > > > af9013_i2c_gate_ctrl: enable:0 > > > af9013_i2c_gate_ctrl: enable:1 > > > af9013_i2c_gate_ctrl: enable:0 > > > af9013_i2c_gate_ctrl: enable:1 > > > af9013_i2c_gate_ctrl: enable:0 > > > af9013_i2c_gate_ctrl: enable:1 > > > af9013_i2c_gate_ctrl: enable:0 > > > af9013_i2c_gate_ctrl: enable:1 > > > af9013_i2c_gate_ctrl: enable:0 > > > af9013_i2c_gate_ctrl: enable:1 > > > af9013_i2c_gate_ctrl: enable:0 > > > af9013_i2c_gate_ctrl: enable:1 > > > af9013_i2c_gate_ctrl: enable:0 > > > af9013_i2c_gate_ctrl: enable:1 > > > af9013_i2c_gate_ctrl: enable:0 > > > af9013_i2c_gate_ctrl: enable:1 > > > af9013_i2c_gate_ctrl: enable:0 > > > af9013_i2c_gate_ctrl: enable:1 > > > af9013_i2c_gate_ctrl: enable:0 > > > af9013_i2c_gate_ctrl: enable:1 > > > af9013_i2c_gate_ctrl: enable:0 > > > af9013_i2c_gate_ctrl: enable:1 > > > af9013_i2c_gate_ctrl: enable:0 > > > af9013_i2c_gate_ctrl: enable:1 > > > af9013_i2c_gate_ctrl: enable:0 > > > af9013_i2c_gate_ctrl: enable:1 > > > af9013_i2c_gate_ctrl: enable:0 > > > af9013_i2c_gate_ctrl: enable:1 > > > af9013_i2c_gate_ctrl: enable:0 > > > input: IR-receiver inside an USB DVB receiver as /class/input/input9 > > > dvb-usb: schedule remote query interval to 200 msecs. > > > dvb-usb: Afatech AF9015 DVB-T USB2.0 stick successfully initialized > > > and connected. > > > af9015_init: > > > af9015_download_ir_table: > > > input: Leadtek WinFast DTV Dongle Gold as /class/input/input10 > > > input: USB HID v1.01 Keyboard [Leadtek WinFast DTV Dongle Gold] on > > > usb-0000:00:02.1-10 > > > > > > and when I try to tune it I get this: > > > > > > af9013_init > > > af9013_reset > > > af9013_power_ctrl: onoff:1 > > > af9013_set_adc_ctrl: adc_clock:28000 > > > af913_div: a:28000000 b:1000000 x:19 > > > af913_div: a:0 b:1000000 x:19 r:14680064 r:e00000 > > > af9013_init: load ofsm settings > > > af9013_init: load tuner specific settings > > > af9013_init: setting ts mode > > > af9013_lock_led: onoff:1 > > > tda18271_set_standby_mode: sm = 0, sm_lt = 0, sm_xt = 0 > > > af9013_i2c_gate_ctrl: enable:1 > > > af9013_i2c_gate_ctrl: enable:0 > > > af9013_i2c_gate_ctrl: enable:1 > > > af9013_i2c_gate_ctrl: enable:0 > > > tda18271_init_regs: initializing registers for device @ 5-00c0 > > > af9013_i2c_gate_ctrl: enable:1 > > > af9013_i2c_gate_ctrl: enable:0 > > > > > > the last two lines are repeated about another 30 times and it > > > just sits there doing nothing. Also for some reason it makes > > > my keyboard really slow to respond just while it's tuning. > > > > > > Jarryd. > > > > > The tda18271c1 driver does many i2c transactions during a tune request. > > This involves image rejection filter calibration, if it hasnt already > > been done at least once, and rf tracking filter calibration on every tune. > > > > This all happens very quickly on the hardware that I've tested ( a > > cx23887-based pcie card and a cypress fx2-based usb device). I've also > > heard good reports on saa713x-based pci cards. Is the i2c slow in the > > af9013 driver? > > > > The tuner driver is programmed to use 7mhz dvbt with IF centered at 3.8 > > mhz -- is the demod set to the same? > > > > -Mike > > > > How do I find out about the demod? Is the speed of af9013 a question for > me because I have no idea. > > Jarryd. > Somewhere along the way demod_address in a struct is set to AF9015_I2C_DEMOD which is 0x38. Is that what you wanted? Jarryd. _______________________________________________ linux-dvb mailing list linux-dvb@xxxxxxxxxxx http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb