[linux-dvb] [PATCH] Fix Hauppauge Nova-T 500 USB disconnects

Torgeir Veimo torgeir at pobox.com
Sat Jul 28 13:22:42 CEST 2007


On 27 Jul 2007, at 15:18, Soeren Moch wrote:

>
>>>> Respect the patch, it works for me. I have not any disconnect in  
>>>> some
>>>> days, althought it is dificult to say that the problem is 100%  
>>>> solved,
>>>> because disconnects are random.
>
> Some days ago I wrote a patch for the Nova-T-Stick (see thread
> "dib0700 problems (nova-T usb stick)" ). As I could see there,
> disconnects are not random, they can only occur directly after a
> streamon firmware call. The dib0700 bridge seems to write  
> unintentionally
> to the usb bus (or at least driving current into D+/D- or switching
> pull-up/down resistors on/off or doing similar strange things) after a
> streamon firmware call, usually causing  protocol errors (not a real
> problem, maybe only for running isochronous transfers to other devices
> on the bus), but causing a usb disconnect when accidentally hitting  
> a SOF
> packet. So avoiding streamon firmware calls will decrease the  
> disconnect
> rate. This is the same idea as in your patches.
>
>>> Relying on device name seems somewhat hackish, however, and  
>>> doesn't fix
>>> anything for nova-t stick ;)
>>
>> There are other form to do the same, more easily, for all the dibcom
> devices,
>> but there is a problem: streaming state don't go off when closing the
> device,
>> althought perphaps that is not important.
>> See the atached patch.
>
> This new patch will not help for a Nova-T stick due to the "i2c gating
> problem" I have seen there (see thread mentioned above). When simply
> starting usb streaming and leaving it on all the time, you are not  
> able
> set new tuning parameters, which of course makes this stick useless.

The patch doesn't completely fix my usb disconnects. Do you think the  
kernel stack trace below indicates a i2c gating problem?

Jul 28 11:36:17 htpc2 vdr: [10480] switching to channel 5
Jul 28 11:36:17 htpc2 vdr: [14204] transfer thread ended (pid=10480,  
tid=14204)
Jul 28 11:36:17 htpc2 vdr: [10480] cTS2PES got 6 TS errors, 3 TS  
continuity errors
Jul 28 11:36:17 htpc2 vdr: [10480] cTS2PES got 0 TS errors, 3 TS  
continuity errors
Jul 28 11:36:17 htpc2 vdr: [10480] buffer stats: 193452 (9%) used
Jul 28 11:36:17 htpc2 vdr: [14214] transfer thread started  
(pid=10480, tid=14214)
Jul 28 11:36:17 htpc2 kernel: usb 6-1: USB disconnect, address 2
Jul 28 11:36:17 htpc2 kernel: mt2060 I2C write failed (len=2)
Jul 28 11:36:17 htpc2 kernel: MT2060: IF1: 1220MHz
Jul 28 11:36:17 htpc2 kernel: MT2060: PLL freq=562000kHz   
f_lo1=1782000kHz  f_lo2=1183850kHz
Jul 28 11:36:17 htpc2 kernel: MT2060: PLL div1=111  num1=24  div2=73   
num2=8115
Jul 28 11:36:17 htpc2 kernel: MT2060: PLL [1..5]: 56 6f  3 fb 93
Jul 28 11:36:17 htpc2 kernel: mt2060 I2C write failed (len=6)
Jul 28 11:36:17 htpc2 kernel: mt2060 I2C read failed
Jul 28 11:36:17 htpc2 last message repeated 9 times
Jul 28 11:36:17 htpc2 vdr: [14206] TS buffer on device 2 thread ended  
(pid=10480, tid=14206)
Jul 28 11:36:17 htpc2 vdr: [14205] buffer stats: 107536 (5%) used
Jul 28 11:36:17 htpc2 vdr: [14205] receiver on device 2 thread ended  
(pid=10480, tid=14205)
Jul 28 11:36:17 htpc2 vdr: [14219] receiver on device 2 thread  
started (pid=10480, tid=14219)
Jul 28 11:36:17 htpc2 vdr: [14220] TS buffer on device 2 thread  
started (pid=10480, tid=14220)
Jul 28 11:36:18 htpc2 kernel: mt2060 I2C write failed
Jul 28 11:36:18 htpc2 kernel: list_del corruption. prev->next should  
be c9fb8dbc, but was c152e1a0
Jul 28 11:36:18 htpc2 kernel: ------------[ cut here ]------------
Jul 28 11:36:18 htpc2 kernel: kernel BUG at lib/list_debug.c:67!
Jul 28 11:36:18 htpc2 kernel: invalid opcode: 0000 [#1]
Jul 28 11:36:18 htpc2 kernel: SMP
Jul 28 11:36:18 htpc2 kernel: last sysfs file: /module/libata/version
Jul 28 11:36:18 htpc2 kernel: Modules linked in: autofs4 hidp rfcomm  
l2cap bluetooth sunrpc ipv6 nf_conntrack_netbios_ns nf_conntrack_ipv4  
xt_state nf_connt
rack nfnetlink xt_tcpudp ipt_REJECT iptable_filter ip_tables x_tables  
ext2 dm_multipath video sbs button dock battery ac parport_pc lp  
parport loop snd_via8
2xx gameport snd_ac97_codec ac97_bus snd_seq_dummy cx22702 cx88_dvb  
cx88_vp3054_i2c video_buf_dvb snd_seq_oss snd_seq_midi_event mt2060  
snd_seq snd_pcm_oss
snd_mixer_oss dvb_usb_dib0700 dib7000m snd_pcm dib7000p cx8802 cx8800  
dvb_usb stv0299 cx88xx dib3000mc snd_timer pegasus ir_common  
snd_page_alloc dibx000_co
mmon i2c_viapro i2c_algo_bit mii snd_mpu401_uart b2c2_flexcop_pci  
tveeprom b2c2_flexcop snd_rawmidi videodev via_ircc viafb(U) rtc_cmos  
compat_ioctl32 dvb_c
ore snd_seq_device serio_raw firewire_ohci v4l1_compat irda  
firewire_core v4l2_common snd dvb_pll video_buf i2c_core btcx_risc  
crc_itu_t crc_ccitt soundcore
  sr_mod cdrom sg dm_snapshot dm_zero dm_mirror dm_mod sata_via  
ata_generic pata_via libat
Jul 28 11:36:18 htpc2 kernel:  sd_mod scsi_mod ext3 jbd mbcache  
ehci_hcd ohci_hcd uhci_hcd
Jul 28 11:36:18 htpc2 kernel: CPU:    0
Jul 28 11:36:18 htpc2 kernel: EIP:    0060:[<c04ef31d>]    Not  
tainted VLI
Jul 28 11:36:18 htpc2 kernel: EFLAGS: 00210086   (2.6.22.1-27.fc7 #1)
Jul 28 11:36:18 htpc2 kernel: EIP is at list_del+0x21/0x5d
Jul 28 11:36:18 htpc2 kernel: eax: 00000048   ebx: c152e19c   ecx:  
00200046   edx: 00200000
Jul 28 11:36:18 htpc2 kernel: esi: c152e194   edi: 00200282   ebp:  
d77a2600   esp: c9fb8d98
Jul 28 11:36:18 htpc2 kernel: ds: 007b   es: 007b   fs: 00d8  gs:  
0033  ss: 0068
Jul 28 11:36:18 htpc2 kernel: Process vdr (pid: 10485, ti=c9fb8000  
task=d77a2600 task.ti=c9fb8000)
Jul 28 11:36:18 htpc2 kernel: Stack: c06b1bb6 c9fb8dbc c152e1a0  
c152e19c c060c7f8 00000000 00000001 d77a2600
Jul 28 11:36:18 htpc2 kernel:        c042310d c152e1a0 c152e1a0  
80286f4e ffffffed d4af8820 c1742800 c060c6bf
Jul 28 11:36:18 htpc2 kernel:        c152e000 c9fb8000 dc9d2daf  
00000001 c9fb8e3c c13896b8 00000000 c9fb8e90
Jul 28 11:36:18 htpc2 kernel: Call Trace:
Jul 28 11:36:18 htpc2 kernel:  [<c060c7f8>] __down_interruptible 
+0xc6/0xf0
Jul 28 11:36:18 htpc2 kernel:  [<c042310d>] default_wake_function 
+0x0/0xc
Jul 28 11:36:18 htpc2 kernel:  [<c060c6bf>]  
__down_failed_interruptible+0x7/0xc
Jul 28 11:36:18 htpc2 kernel:  [<dc9d2daf>] dvb_frontend_ioctl+0xab/ 
0x8d0 [dvb_core]
Jul 28 11:36:18 htpc2 kernel:  [<c0440127>] unqueue_me+0x7f/0x87
Jul 28 11:36:18 htpc2 kernel:  [<c0440e7b>] futex_wait+0x23f/0x2c2
Jul 28 11:36:18 htpc2 kernel:  [<c046a6a4>] find_extend_vma+0x12/0x49
Jul 28 11:36:18 htpc2 kernel:  [<dc9cd15c>] dvb_generic_ioctl 
+0x0/0x3b [dvb_core]
Jul 28 11:36:18 htpc2 kernel:  [<dc9cd105>] dvb_usercopy+0xa9/0x100  
[dvb_core]
Jul 28 11:36:18 htpc2 kernel:  [<c0420ada>] update_curr+0x23b/0x25c
Jul 28 11:36:18 htpc2 kernel:  [<c0420838>] update_stats_wait_end 
+0x84/0xad
Jul 28 11:36:18 htpc2 kernel:  [<dc9cd15c>] dvb_generic_ioctl 
+0x0/0x3b [dvb_core]
Jul 28 11:36:18 htpc2 kernel:  [<dc9cd18e>] dvb_generic_ioctl 
+0x32/0x3b [dvb_core]
Jul 28 11:36:18 htpc2 kernel:  [<dc9d2d04>] dvb_frontend_ioctl 
+0x0/0x8d0 [dvb_core]
Jul 28 11:36:18 htpc2 kernel:  [<dc9cd15c>] dvb_generic_ioctl 
+0x0/0x3b [dvb_core]
Jul 28 11:36:18 htpc2 kernel:  [<c0484934>] do_ioctl+0x88/0xa0
Jul 28 11:36:18 htpc2 kernel:  [<c0453fd3>] audit_syscall_exit 
+0x2f2/0x30e
Jul 28 11:36:18 htpc2 kernel:  [<c0484b83>] vfs_ioctl+0x237/0x249
Jul 28 11:36:18 htpc2 kernel:  [<c0484be1>] sys_ioctl+0x4c/0x67
Jul 28 11:36:18 htpc2 kernel:  [<c0404f8e>] syscall_call+0x7/0xb
Jul 28 11:36:18 htpc2 kernel:  =======================
Jul 28 11:36:18 htpc2 kernel: Code: 63 00 00 00 89 c3 eb e8 90 90 53  
83 ec 0c 8b 48 04 8b 11 39 c2 74 18 89 54 24 08 89 44 24 04 c7 04 24  
b6 1b 6b c0 e8 96
a2 f3 ff <0f> 0b eb fe 8b 10 8b 5a 04 39 c3 74 18 89 5c 24 08 89 44  
24 04
Jul 28 11:36:18 htpc2 kernel: EIP: [<c04ef31d>] list_del+0x21/0x5d  
SS:ESP 0068:c9fb8d98
Jul 28 11:36:18 htpc2 kernel: cx88_wakeup: 8 buffers handled (should  
be 1)
Jul 28 11:36:20 htpc2 kernel: dvb-usb: could not submit URB no. 0 -  
get them all back
Jul 28 11:36:20 htpc2 kernel: dvb-usb: error while enabling fifo.
Jul 28 11:36:20 htpc2 vdr: [10490] ERROR: can't set filter (pid=18,  
tid=4E, mask=FE): No such device
Jul 28 11:36:21 htpc2 vdr: [10489] frontend 3 lost lock on channel  
15, tp 578
Jul 28 11:36:23 htpc2 vdr: [10489] frontend 3 regained lock on  
channel 15, tp 578
Jul 28 11:36:24 htpc2 vdr: [10489] frontend 3 lost lock on channel  
15, tp 578
Jul 28 11:36:26 htpc2 vdr: [10489] frontend 3 timed out while tuning  
to channel 15, tp 578
Jul 28 11:36:26 htpc2 kernel: mt2060 I2C write failed (len=2)
Jul 28 11:36:26 htpc2 kernel: MT2060: IF1: 1220MHz
Jul 28 11:36:26 htpc2 kernel: MT2060: PLL freq=578166kHz   
f_lo1=1798000kHz  f_lo2=1183700kHz
Jul 28 11:36:26 htpc2 kernel: MT2060: PLL div1=112  num1=24  div2=73   
num2=8038
Jul 28 11:36:26 htpc2 kernel: MT2060: PLL [1..5]: 46 70  6 f6 93
Jul 28 11:36:26 htpc2 kernel: mt2060 I2C write failed (len=6)
Jul 28 11:36:26 htpc2 kernel: mt2060 I2C read failed
Jul 28 11:36:26 htpc2 last message repeated 9 times
Jul 28 11:36:32 htpc2 vdr: [10480] switching to channel 7
Jul 28 11:36:32 htpc2 vdr: [14214] transfer thread ended (pid=10480,  
tid=14214)
Jul 28 11:36:32 htpc2 kernel: dvb-usb: error while stopping stream.
Jul 28 11:36:32 htpc2 vdr: [10480] buffer stats: 0 (0%) used
Jul 28 11:36:32 htpc2 kernel: dvb-usb: could not submit URB no. 0 -  
get them all back
Jul 28 11:36:32 htpc2 kernel: dvb-usb: error while enabling fifo.
Jul 28 11:36:32 htpc2 vdr: [10480] ERROR (dvbdevice.c,667): No such  
device
Jul 28 11:36:32 htpc2 vdr: [10480] ERROR: can't set PID 540 on device 2
Jul 28 11:36:32 htpc2 vdr: [14264] transfer thread started  
(pid=10480, tid=14264)
Jul 28 11:36:32 htpc2 vdr: [14220] TS buffer on device 2 thread ended  
(pid=10480, tid=14220)
Jul 28 11:36:32 htpc2 vdr: [14219] buffer stats: 0 (0%) used
Jul 28 11:36:32 htpc2 vdr: [14219] receiver on device 2 thread ended  
(pid=10480, tid=14219)
Jul 28 11:36:35 htpc2 kernel: mt2060 I2C write failed (len=2)
Jul 28 11:36:35 htpc2 kernel: MT2060: IF1: 1220MHz
Jul 28 11:36:35 htpc2 kernel: MT2060: PLL freq=578166kHz   
f_lo1=1798000kHz  f_lo2=1183700kHz
Jul 28 11:36:35 htpc2 kernel: MT2060: PLL div1=112  num1=24  div2=73   
num2=8038
Jul 28 11:36:35 htpc2 kernel: MT2060: PLL [1..5]: 46 70  6 f6 93
Jul 28 11:36:35 htpc2 kernel: mt2060 I2C write failed (len=6)
Jul 28 11:36:35 htpc2 kernel: mt2060 I2C read failed
Jul 28 11:36:35 htpc2 last message repeated 9 times
Jul 28 11:36:39 htpc2 vdr: [10480] switching to channel 8
Jul 28 11:36:39 htpc2 vdr: [14264] transfer thread ended (pid=10480,  
tid=14264)




-- 
Torgeir Veimo
torgeir at pobox.com



-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.linuxtv.org/pipermail/linux-dvb/attachments/20070728/035d1acd/attachment-0001.htm 


More information about the linux-dvb mailing list