[linux-dvb] modprobe mantis stalls/hangs/freezes (Twinhan VP-1034 and ivtv)

Michel Verbraak michel at verbraak.org
Sun Aug 26 11:18:56 CEST 2007


Manu Abraham schreef:
> Michel Verbraak wrote:
>   
>> I have a Twinhan VP-1034 and I use the the latest hg, today, and 
>> http://jusst.de/manu/mantis-v4l-dvb.tar.bz2 with kernel 2.6.22.1.
>>
>> When I do a 'modprobe mantis' my prompt never returns. The machine still 
>> is working.
>>     
>
> [snip]
>
>   
>> Address=[0x25] <W>[ 00 <3>mantis_ack_wait (0): Waiting for Slave RACK
>> Aug 25 17:53:33 recorder kernel: mantis_ack_wait (0): Waiting for Slave RACK
>> Aug 25 17:53:42 recorder last message repeated 499 times
>> Aug 25 17:53:42 recorder kernel: mantis_ack_wait (0): Slave RACK Fail !
>> Aug 25 17:53:42 recorder kernel: mantis_i2c_write (0): ACK failed<W>
>>
>> I must say I also have a Hauppauge PVR-150 and a PVR-350 in this 
>> machine, using ivtv from hg, and when I remove both I do not have this 
>> problem. The modules load without any problems.
>>
>>     
>
> with ivtv modules loaded somebody else mentioned of issues with regards
> to DMA transfers on the 878 based cards. I don't really understand why
> ivtv modules causes those problems. (IIRC it was Sigmund, i think)
>
>   
lspci -vv gives:
02:09.0 Multimedia controller: Twinhan Technology Co. Ltd Mantis DTV PCI 
Bridge Controller [Ver 1.0] (rev 01)
        Subsystem: Twinhan Technology Co. Ltd Unknown device 0014
        Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- 
ParErr- Stepping- SERR+ FastB2B-
        Status: Cap- 66MHz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- 
<TAbort- <MAbort- >SERR- <PERR-
        Latency: 64 (2000ns min, 63750ns max)
        Interrupt: pin A routed to IRQ 22
        Region 0: Memory at f7eff000 (32-bit, prefetchable) [size=4K]

02:0b.0 Multimedia video controller: Internext Compression Inc iTVC15 
MPEG-2 Encoder (rev 01)
        Subsystem: Hauppauge computer works Inc. WinTV PVR-350
        Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV+ VGASnoop- 
ParErr- Stepping- SERR+ FastB2B-
        Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- 
<TAbort- <MAbort- >SERR- <PERR-
        Latency: 64 (32000ns min, 2000ns max), Cache Line Size: 16 bytes
        Interrupt: pin A routed to IRQ 19
        Region 0: Memory at f0000000 (32-bit, prefetchable) [size=64M]
        Capabilities: [44] Power Management version 2
                Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA 
PME(D0-,D1-,D2-,D3hot-,D3cold-)
                Status: D0 PME-Enable- DSel=0 DScale=0 PME-

02:0d.0 Multimedia video controller: Internext Compression Inc iTVC16 
(CX23416) MPEG-2 Encoder (rev 01)
        Subsystem: Hauppauge computer works Inc. WinTV PVR 150
        Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV+ VGASnoop- 
ParErr- Stepping- SERR+ FastB2B-
        Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- 
<TAbort- <MAbort- >SERR- <PERR-
        Latency: 64 (32000ns min, 2000ns max), Cache Line Size: 16 bytes
        Interrupt: pin A routed to IRQ 5
        Region 0: Memory at ec000000 (32-bit, prefetchable) [size=64M]
        Capabilities: [44] Power Management version 2
                Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA 
PME(D0-,D1-,D2-,D3hot-,D3cold-)
                Status: D0 PME-Enable- DSel=0 DScale=0 PME-

>> If more verbose messages are needed from othe modules please let me 
>> know. I do not have this problem with kernel versions 2.6.20 and below. 
>> Something changed in 2.6.21 and I do not know what.
>>     
>
> Without any any driver loaded for the ivtv hardware, do you still
> experience the same problems ?
>
>   
When I do not load the ivtv modules or any other modules needed bu ivtv, 
but the cards are still in the computer, and I load the mantis and 
mb86a16 module following is in the message log:
Aug 26 09:47:30 recorder kernel: ACPI: PCI Interrupt 0000:02:09.0[A] -> 
GSI 21 (level, low) -> IRQ 22
Aug 26 09:47:30 recorder kernel:
Aug 26 09:47:30 recorder kernel: gpif status: 6000  irqcfg: 0000
Aug 26 09:47:30 recorder kernel: mantis_set_direction (0): TS direction 
setup
Aug 26 09:47:30 recorder kernel: irq: 22, latency: 64
Aug 26 09:47:30 recorder kernel:  memory: 0xf7eff000, mmio: 0xf88de000
Aug 26 09:47:30 recorder kernel: found a VP-1034 PCI DVB-S/DSS device on 
(02:09.0),
Aug 26 09:47:30 recorder kernel:     Mantis Rev 1 [1822:0014], irq: 22, 
latency: 64
Aug 26 09:47:30 recorder kernel:     memory: 0xf7eff000, mmio: 0xf88de000
Aug 26 09:47:30 recorder kernel: mantis_i2c_init (0): Initializing I2C ..
Aug 26 09:47:30 recorder kernel: mantis_i2c_init (0): [0x04000001/00000000]
Aug 26 09:47:30 recorder kernel:         mantis_i2c_write: 
Address=[0x50] <W>[ 08 === Interrupts[4000001/0001]= [* I2C R-ACK ** I2C 
DONE  *] ===
Aug 26 09:47:30 recorder kernel: ]
Aug 26 09:47:30 recorder kernel:         mantis_i2c_read:  
Address=[0x50] <R>[ === Interrupts[4000001/0001]= [* I2C R-ACK ** I2C 
DONE  *] ===
Aug 26 09:47:30 recorder kernel: 00 === Interrupts[4000001/0001]= [* I2C 
R-ACK ** I2C DONE  *] ===
Aug 26 09:47:30 recorder kernel: 08 === Interrupts[4000001/0001]= [* I2C 
R-ACK ** I2C DONE  *] ===
Aug 26 09:47:30 recorder kernel: ca === Interrupts[4000001/0001]= [* I2C 
R-ACK ** I2C DONE  *] ===
Aug 26 09:47:30 recorder kernel: 19 === Interrupts[4000001/0001]= [* I2C 
R-ACK ** I2C DONE  *] ===
Aug 26 09:47:30 recorder kernel: 9f === Interrupts[4000001/0001]= [* I2C 
R-ACK ** I2C DONE  *] ===
Aug 26 09:47:30 recorder kernel: 0b ]
Aug 26 09:47:30 recorder kernel:     MAC Address=[00:08:ca:19:9f:0b]
Aug 26 09:47:30 recorder kernel: mantis_dma_init (0): Mantis DMA init
Aug 26 09:47:30 recorder kernel: mantis_alloc_buffers (0): 
DMA=0x2c9b0000 cpu=0xec9b0000 size=65536
Aug 26 09:47:30 recorder kernel: mantis_alloc_buffers (0): 
RISC=0x2c91e000 cpu=0xec91e000 size=1000
Aug 26 09:47:30 recorder kernel: mantis_calc_lines (0): Mantis RISC 
block bytes=[4096], line bytes=[2048], line count=[32]
Aug 26 09:47:30 recorder kernel: mantis_dvb_init (0): dvb_register_adapter
Aug 26 09:47:30 recorder kernel: DVB: registering new adapter (Mantis 
dvb adapter)
Aug 26 09:47:30 recorder kernel: mantis_dvb_init (0): dvb_dmx_init
Aug 26 09:47:30 recorder kernel: mantis_dvb_init (0): dvb_dmxdev_init
Aug 26 09:47:30 recorder kernel: mantis_frontend_init (0): Mantis 
frontend Init
Aug 26 09:47:30 recorder kernel: mantis_fe_powerup (0): Frontend Power ON
Aug 26 09:47:30 recorder kernel: mantis_frontend_reset (0): Frontend Reset
Aug 26 09:47:30 recorder kernel: mantis_frontend_init (0): Device ID=14
Aug 26 09:47:30 recorder kernel: mantis_frontend_init (0): Probing for 
MB86A16 (DVB-S/DSS)
Aug 26 09:47:30 recorder kernel:         mantis_i2c_write: 
Address=[0x08] <W>[ 7f === Interrupts[4000001/0001]= [* I2C R-ACK ** I2C 
DONE  *] ===
Aug 26 09:47:30 recorder kernel: ]
Aug 26 09:47:30 recorder kernel:         mantis_i2c_read:  
Address=[0x08] <R>[ === Interrupts[4000001/0001]= [* I2C R-ACK ** I2C 
DONE  *] ===
Aug 26 09:47:30 recorder kernel: fe ]
Aug 26 09:47:30 recorder kernel: mantis_frontend_init (0): found MB86A16 
DVB-S/DSS frontend @0x08
Aug 26 09:47:30 recorder kernel: DVB: registering frontend 2 (Fujitsu 
MB86A16 DVB-S)...

Loads normal and I get a prompt on return from the 'modprobe mantis' 
command:

When I do the command ' modprobe ivtv' next I get the following in my 
message log and the command hangs and I do not get a message promt, 
machine is still up and running.
Aug 26 11:08:31 recorder kernel: Linux video capture interface: v2.00
Aug 26 11:08:32 recorder kernel: ivtv:  Start initialization, version 1.1.0
Aug 26 11:08:32 recorder kernel: ivtv0: Initializing card #0
Aug 26 11:08:32 recorder kernel: ivtv0: Autodetected Hauppauge card 
(cx23415 based)
Aug 26 11:08:32 recorder kernel: ACPI: PCI Interrupt 0000:02:0b.0[A] -> 
GSI 23 (level, low) -> IRQ 19
Aug 26 11:08:32 recorder kernel: ivtv0 i2c: i2c init
Aug 26 11:08:32 recorder kernel: ivtv0 i2c: setting scl and sda to 1
Aug 26 11:08:32 recorder kernel: ivtv0 i2c: i2c client attach
Aug 26 11:08:32 recorder kernel: tveeprom 2-0050: Hauppauge model 48134, 
rev I121, serial# 6182877
Aug 26 11:08:32 recorder kernel: tveeprom 2-0050: tuner model is Philips 
FM1216 (idx 21, type 5)
Aug 26 11:08:32 recorder kernel: tveeprom 2-0050: TV standards PAL(B/G) 
(eeprom 0x04)
Aug 26 11:08:32 recorder kernel: tveeprom 2-0050: audio processor is 
MSP4418 (idx 25)
Aug 26 11:08:32 recorder kernel: tveeprom 2-0050: decoder processor is 
SAA7115 (idx 19)
Aug 26 11:08:32 recorder kernel: tveeprom 2-0050: has radio, has IR 
receiver, has no IR transmitter
Aug 26 11:08:32 recorder kernel: ivtv0: Autodetected Hauppauge WinTV PVR-350
Aug 26 11:08:32 recorder kernel: tuner 2-0061: chip found @ 0xc2 (ivtv 
i2c driver #0)
Aug 26 11:08:32 recorder kernel: ivtv0 i2c: i2c client attach
Aug 26 11:08:32 recorder kernel:         mantis_i2c_write: 
Address=[0x25] <W>[ ]
Aug 26 11:08:32 recorder kernel:         mantis_i2c_write: 
Address=[0x25] <W>[ 00 00 ]
Aug 26 11:08:32 recorder kernel:         mantis_i2c_write: 
Address=[0x25] <W>[ 00 ]
Aug 26 11:08:32 recorder kernel:         mantis_i2c_read:  
Address=[0x25] <R>[ 00 ]
Aug 26 11:08:32 recorder kernel:         mantis_i2c_write: 
Address=[0x25] <W>[ 00 01 === Interrupts[0001/0001]= [* I2C DONE  *] ===
Aug 26 11:08:32 recorder kernel: ]
Aug 26 11:08:32 recorder kernel:         mantis_i2c_write: 
Address=[0x25] <W>[ 00 <3>mantis_ack_wait (0): Waiting for Slave RACK
Aug 26 11:08:32 recorder kernel: === Interrupts[0001/0001]= [* I2C DONE  
*] ===
Aug 26 11:08:32 recorder kernel: mantis_ack_wait (0): Waiting for Slave RACK
Aug 26 11:08:38 recorder last message repeated 499 times
Aug 26 11:08:38 recorder kernel: mantis_ack_wait (0): Slave RACK Fail !
Aug 26 11:08:38 recorder kernel: mantis_i2c_write (0): ACK failed<W>

following modules are active (lsmod):
saa7115                19231  1
tuner                  64808  0
ivtv                  130368  1
i2c_algo_bit           10116  1 ivtv
cx2341x                15492  1 ivtv
tveeprom               19088  1 ivtv
videodev               30976  1 ivtv
v4l2_common            20736  5 saa7115,tuner,ivtv,cx2341x,videodev
v4l1_compat            16644  2 ivtv,videodev
mantis                 28676  0
mb86a16                21376  1 mantis
cu1216                 11788  1 mantis
stv0299                13704  1 mantis
dvbloopback            23692  0
nfsd                  208880  17
exportfs                9856  1 nfsd
lockd                  65288  2 nfsd
nfs_acl                 7680  1 nfsd
autofs4                25220  2
sunrpc                163068  12 nfsd,lockd,nfs_acl
dm_multipath           22280  0
dock                   14452  0
button                 12176  0
ac                      9476  0
skge                   42768  0
i2c_i801               12688  0
dvb_usb_dtt200u        17796  0
dvb_usb                24972  1 dvb_usb_dtt200u
dvb_core               79912  4 mantis,stv0299,dvbloopback,dvb_usb
i2c_core               28032  11 
saa7115,tuner,ivtv,i2c_algo_bit,tveeprom,mantis,mb86a16,cu1216,stv0299,i2c_i801,dvb_usb
dm_snapshot            20784  0
dm_zero                 6144  0
dm_mirror              25984  0
dm_mod                 57408  9 dm_multipath,dm_snapshot,dm_zero,dm_mirror
ext3                  125704  4
jbd                    60840  1 ext3
ehci_hcd               35468  0
ohci_hcd               24196  0
uhci_hcd               27280  0

The vp-1034 is unusable, scan does not work. IVTV is unusable.

> Is the ivtv hardware sharing interrupts with the Mantis ? My guess would
> be that the ivtv drivers grab a lot of IRQ time on the CPU leaving
> little shared IRQ time for other devices. Can you verify this ?
>   
I CCed the ivtv-devel list because it is something between the mantis 
and ivtv driver.
When I first load the ivtv modules and then the mantis ivtv is still 
working and mantis is not working.

Regards,

Michel.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.linuxtv.org/pipermail/linux-dvb/attachments/20070826/1781bf64/attachment-0001.htm 


More information about the linux-dvb mailing list