Re: modprobe mantis stalls/hangs/freezes (Twinhan VP-1034 and ivtv)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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.
_______________________________________________
linux-dvb mailing list
linux-dvb@xxxxxxxxxxx
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb

[Index of Archives]     [Linux Media]     [Video 4 Linux]     [Asterisk]     [Samba]     [Xorg]     [Xfree86]     [Linux USB]

  Powered by Linux