linux-media.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* cx231xx kernel oops
@ 2011-12-05  2:01 Yan Seiner
  2011-12-05  4:15 ` Andy Walls
  0 siblings, 1 reply; 19+ messages in thread
From: Yan Seiner @ 2011-12-05  2:01 UTC (permalink / raw)
  To: linux-media

I am experiencing a kernel oops when trying to use a Hauppage USB Live 2 
frame grabber.  The oops is below.

The system is a SOC 260Mhz Broadcom BCM47XX access point running OpenWRT.

root@anchor:/# uname -a
Linux anchor 3.0.3 #13 Sun Dec 4 08:04:41 PST 2011 mips GNU/Linux

The OOPS could be due to the limited hardware or something else.  I'd 
appreciate any suggestions for making this work.  I was hoping with 
hardware compression I could make it work on this platform.  I am 
currently using a Hauppage USB Live (saa7115 based) with no problems but 
with limited resolution.

cx231xx v4l2 driver loaded.
cx231xx #0: New device Hauppauge Hauppauge Device @ 480 Mbps (2040:c200) with 5 interfaces
cx231xx #0: registering interface 1
cx231xx #0: can't change interface 3 alt no. to 3: Max. Pkt size = 0
cx231xx #0: can't change interface 4 alt no. to 1: Max. Pkt size = 0
cx231xx #0: Identified as Hauppauge USB Live 2 (card=9)
cx231xx #0: cx231xx_dif_set_standard: setStandard to ffffffff
cx231xx #0: Changing the i2c master port to 3
cx231xx #0: cx25840 subdev registration failure
cx231xx #0: cx231xx #0: v4l2 driver version 0.0.1
cx231xx #0: cx231xx_dif_set_standard: setStandard to ffffffff
cx231xx #0: video_mux : 0
cx231xx #0: do_mode_ctrl_overrides : 0xb000
cx231xx #0: do_mode_ctrl_overrides NTSC
cx231xx #0: cx231xx #0/0: registered device video0 [v4l2]
cx231xx #0: cx231xx #0/0: registered device vbi0
cx231xx #0: V4L2 device registered as video0 and vbi0
cx231xx #0: EndPoint Addr 0x84, Alternate settings: 5
cx231xx #0: Alternate setting 0, max size= 512
cx231xx #0: Alternate setting 1, max size= 184
cx231xx #0: Alternate setting 2, max size= 728
cx231xx #0: Alternate setting 3, max size= 2892
cx231xx #0: Alternate setting 4, max size= 1800
cx231xx #0: EndPoint Addr 0x85, Alternate settings: 2
cx231xx #0: Alternate setting 0, max size= 512
cx231xx #0: Alternate setting 1, max size= 512
cx231xx #0: EndPoint Addr 0x86, Alternate settings: 2
cx231xx #0: Alternate setting 0, max size= 512
cx231xx #0: Alternate setting 1, max size= 576
usbcore: registered new interface driver cx231xx
wlan0: deauthenticating from ea:c7:b6:67:bd:1e by local choice (reason=3)
b43-phy0: Loading firmware version 508.1084 (2009-01-14 01:32:01)
wlan0: authenticate with ea:c7:b6:67:bd:1e (try 1)
wlan0: authenticated
wlan0: associate with ea:c7:b6:67:bd:1e (try 1)
wlan0: RX AssocResp from ea:c7:b6:67:bd:1e (capab=0x411 status=0 aid=3)
wlan0: associated
hrtimer: interrupt took 33795302 ns
cx231xx #0:  setPowerMode::mode = 48, No Change req.
cx231xx #0: cx231xx_dif_set_standard: setStandard to ffffffff
cx231xx #0: video_mux : 0
cx231xx #0: do_mode_ctrl_overrides : 0xb000
cx231xx #0: do_mode_ctrl_overrides NTSC
cx231xx #0: cx231xx_stop_stream():: ep_mask = 8
cx231xx #0: cx231xx_initialize_stream_xfer: set video registers
cx231xx #0: cx231xx_start_stream():: ep_mask = 8
ehci_hcd 0000:00:02.2: fatal error
ehci_hcd 0000:00:02.2: HC died; cleaning up
ehci_hcd 0000:00:02.2: force halt; handshake c0350024 00004000 00004000 -> -145
ehci_hcd 0000:00:02.2: HC died; cleaning up
usb 1-1: USB disconnect, device number 3
usb 1-1.3: USB disconnect, device number 4
pl2303 ttyUSB0: pl2303 converter now disconnected from ttyUSB0
pl2303 1-1.3:1.0: device disconnected
usb 1-2: USB disconnect, device number 2
usb 2-1: new full speed USB device number 2 using ohci_hcd
usb 2-1: not running at top speed; connect to a high speed hub
hub 2-1:1.0: USB hub found
hub 2-1:1.0: 4 ports detected
usb 3-1: new full speed USB device number 2 using ohci_hcd
usb 3-1: not running at top speed; connect to a high speed hub
cx231xx #1: New device Hauppauge Hauppauge Device @ 12 Mbps (2040:c200) with 3 interfaces
cx231xx #1: registering interface 1
cx231xx #1: can't change interface 3 alt no. to 3: Max. Pkt size = 0
usb 3-1: selecting invalid altsetting 3
cx231xx #1: can't change interface 3 alt no. to 3 (err=-22)
cx231xx #1: can't change interface 4 alt no. to 1: Max. Pkt size = 0
cx231xx #1: can't change interface 4 alt no. to 1 (err=-22)
cx231xx #1: Identified as Hauppauge USB Live 2 (card=9)
cx231xx #1: cx231xx_dif_set_standard: setStandard to ffffffff
cx231xx #1: can't change interface 5 alt no. to 0 (err=-22)
cx231xx #1: Changing the i2c master port to 3
cx231xx #1: cx25840 subdev registration failure
cx231xx #1: cx231xx #1: v4l2 driver version 0.0.1
cx231xx #1: cx231xx_dif_set_standard: setStandard to ffffffff
cx231xx #1: video_mux : 0
cx231xx #1: do_mode_ctrl_overrides : 0xb000
cx231xx #1: do_mode_ctrl_overrides NTSC
cx231xx #1: cx231xx #1/0: registered device video1 [v4l2]
cx231xx #1: cx231xx #1/0: registered device vbi1
cx231xx #1: V4L2 device registered as video1 and vbi1
cx231xx #1: EndPoint Addr 0x84, Alternate settings: 2
cx231xx #1: Alternate setting 0, max size= 64
cx231xx #1: Alternate setting 1, max size= 728
CPU 0 Unable to handle kernel paging request at virtual address 00000000, epc == 80f64e5c, ra == 80f64e30
Oops[#1]:
Cpu 0
$ 0   : 00000000 1000fc00 81b97660 81b97600
$ 4   : 80f7ad58 00004bf8 ffffffff 00000000
$ 8   : 0000000a 00000001 00000001 0000000d
$12   : 000000ff ffffffe0 8103ef20 00000000
$16   : 80fdc000 80c57000 80f80000 00000000
$20   : 00000002 00000000 80fdc0f8 00000001
$24   : 00000002 801539e0                  
$28   : 80c06000 80c07a88 80f80000 80f64e30
Hi    : 00000000
Lo    : 00000000
epc   : 80f64e5c 0x80f64e5c
    Not tainted
ra    : 80f64e30 0x80f64e30
Status: 1000fc03    KERNEL EXL IE 
Cause : 00800008
BadVA : 00000000
PrId  : 00029006 (Broadcom BMIPS3300)
Modules linked in: cx231xx cx2341x rc_core videobuf_vmalloc videobuf_core saa7115 usbvision pl2303 v4l2_common videodev usb_storage usbserial i2c_dev i2c_core ohci_hcd nf_nat_irc nf_conntrack_irc nf_nat_ftp nf_conntrack_ftp ipt_MASQUERADE iptable_nat nf_nat xt_conntrack xt_NOTRACK iptable_raw xt_state nf_conntrack_ipv4 nf_defrag_ipv4 nf_conntrack ehci_hcd sd_mod ipt_REJECT xt_TCPMSS ipt_LOG xt_comment xt_multiport xt_mac xt_limit iptable_mangle iptable_filter ip_tables xt_tcpudp x_tables tun vfat fat ext4 jbd2 mbcache b43legacy b43 nls_iso8859_1 nls_cp437 mac80211 usbcore scsi_mod nls_base crc16 cfg80211 compat input_core arc4 aes_generic crypto_algapi switch_robo switch_core diag
Process khubd (pid: 598, threadinfo=80c06000, task=81a585b8, tls=00000000)
Stack : 81a585e8 80fdc000 00000001 000002d8 00002040 0000c200 00000003 8011fa58
        70756148 67756170 61482065 61707075 20656775 69766544 00206563 00000000
        00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
        00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
        00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
        ...
Call Trace:[<8011fa58>] 0x8011fa58
[<80c6cd9c>] 0x80c6cd9c
[<8015db94>] 0x8015db94
[<8015df14>] 0x8015df14
[<8015e118>] 0x8015e118
[<8015e0e8>] 0x8015e0e8
[<8015cb28>] 0x8015cb28
[<801197ac>] 0x801197ac
[<8015dd14>] 0x8015dd14
[<8015b9e0>] 0x8015b9e0
[<80c69d54>] 0x80c69d54
[<80c6bf80>] 0x80c6bf80
[<800e15a8>] 0x800e15a8
[<80c72e58>] 0x80c72e58
[<8015df14>] 0x8015df14
[<8015e118>] 0x8015e118
[<8015e0e8>] 0x8015e0e8
[<8015cb28>] 0x8015cb28
[<801197ac>] 0x801197ac
[<8015dd14>] 0x8015dd14
[<8015b9e0>] 0x8015b9e0
[<80c63f2c>] 0x80c63f2c
[<80c64d1c>] 0x80c64d1c
[<80038150>] 0x80038150
[<80c63f90>] 0x80c63f90
[<80037a0c>] 0x80037a0c
[<800070f0>] 0x800070f0
[<8003798c>] 0x8003798c
[<800070e0>] 0x800070e0


Code: 00021080  00621021  8c550000 <8ea20000> 02002821  8c42000c  0000a021  90460002  a6060c18 
Disabling lock debugging due to kernel taint
cx231xx #0: cx231xx_stop_stream():: ep_mask = 8
cx231xx #0: can't change interface 3 alt no. to 0 (err=-22)


-- 
Few people are capable of expressing with equanimity opinions which differ from the prejudices of their social environment. Most people are even incapable of forming such opinions.
    Albert Einstein


^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: cx231xx kernel oops
  2011-12-05  2:01 cx231xx kernel oops Yan Seiner
@ 2011-12-05  4:15 ` Andy Walls
  2011-12-05  4:21   ` Yan Seiner
  2011-12-05  4:45   ` Yan Seiner
  0 siblings, 2 replies; 19+ messages in thread
From: Andy Walls @ 2011-12-05  4:15 UTC (permalink / raw)
  To: Yan Seiner; +Cc: linux-media

On Sun, 2011-12-04 at 18:01 -0800, Yan Seiner wrote:
> I am experiencing a kernel oops when trying to use a Hauppage USB Live 2 
> frame grabber.  The oops is below.
> 
> The system is a SOC 260Mhz Broadcom BCM47XX access point running OpenWRT.
> 
> root@anchor:/# uname -a
> Linux anchor 3.0.3 #13 Sun Dec 4 08:04:41 PST 2011 mips GNU/Linux
> 
> The OOPS could be due to the limited hardware or something else.  I'd 
> appreciate any suggestions for making this work.  I was hoping with 
> hardware compression I could make it work on this platform.  I am 
> currently using a Hauppage USB Live (saa7115 based) with no problems but 
> with limited resolution.
> 
> cx231xx v4l2 driver loaded.
> cx231xx #0: New device Hauppauge Hauppauge Device @ 480 Mbps (2040:c200) with 5 interfaces
> cx231xx #0: registering interface 1
> cx231xx #0: can't change interface 3 alt no. to 3: Max. Pkt size = 0
> cx231xx #0: can't change interface 4 alt no. to 1: Max. Pkt size = 0
> cx231xx #0: Identified as Hauppauge USB Live 2 (card=9)
> cx231xx #0: cx231xx_dif_set_standard: setStandard to ffffffff
> cx231xx #0: Changing the i2c master port to 3
> cx231xx #0: cx25840 subdev registration failure
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
The cx231xx driver requires the cx25840 module.  I'll wager you didn't
install it on your router.

Regards,
Andy




^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: cx231xx kernel oops
  2011-12-05  4:15 ` Andy Walls
@ 2011-12-05  4:21   ` Yan Seiner
  2011-12-05  4:45   ` Yan Seiner
  1 sibling, 0 replies; 19+ messages in thread
From: Yan Seiner @ 2011-12-05  4:21 UTC (permalink / raw)
  To: Andy Walls; +Cc: linux-media

Andy Walls wrote:
> On Sun, 2011-12-04 at 18:01 -0800, Yan Seiner wrote:
>   
>> I am experiencing a kernel oops when trying to use a Hauppage USB Live 2 
>> frame grabber.  The oops is below.
>>
>> The system is a SOC 260Mhz Broadcom BCM47XX access point running OpenWRT.
>>
>> root@anchor:/# uname -a
>> Linux anchor 3.0.3 #13 Sun Dec 4 08:04:41 PST 2011 mips GNU/Linux
>>
>> The OOPS could be due to the limited hardware or something else.  I'd 
>> appreciate any suggestions for making this work.  I was hoping with 
>> hardware compression I could make it work on this platform.  I am 
>> currently using a Hauppage USB Live (saa7115 based) with no problems but 
>> with limited resolution.
>>
>> cx231xx v4l2 driver loaded.
>> cx231xx #0: New device Hauppauge Hauppauge Device @ 480 Mbps (2040:c200) with 5 interfaces
>> cx231xx #0: registering interface 1
>> cx231xx #0: can't change interface 3 alt no. to 3: Max. Pkt size = 0
>> cx231xx #0: can't change interface 4 alt no. to 1: Max. Pkt size = 0
>> cx231xx #0: Identified as Hauppauge USB Live 2 (card=9)
>> cx231xx #0: cx231xx_dif_set_standard: setStandard to ffffffff
>> cx231xx #0: Changing the i2c master port to 3
>> cx231xx #0: cx25840 subdev registration failure
>>     
>              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> The cx231xx driver requires the cx25840 module.  I'll wager you didn't
> install it on your router.
>
>   
Right in one.  I did not because it didn't seem to be required - no 
missing symbols or error messages.  Would a warning to syslog be possible?

With 8MB of flash, I remove everything that is not required.

--Yan

-- 
Few people are capable of expressing with equanimity opinions which differ from the prejudices of their social environment. Most people are even incapable of forming such opinions.
    Albert Einstein


^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: cx231xx kernel oops
  2011-12-05  4:15 ` Andy Walls
  2011-12-05  4:21   ` Yan Seiner
@ 2011-12-05  4:45   ` Yan Seiner
  2011-12-05  4:54     ` Yan Seiner
  1 sibling, 1 reply; 19+ messages in thread
From: Yan Seiner @ 2011-12-05  4:45 UTC (permalink / raw)
  To: linux-media

Andy Walls wrote:
> On Sun, 2011-12-04 at 18:01 -0800, Yan Seiner wrote:
>   
>> I am experiencing a kernel oops when trying to use a Hauppage USB Live 2 
>> frame grabber.  The oops is below.
>>
>> The system is a SOC 260Mhz Broadcom BCM47XX access point running OpenWRT.
>>
>> root@anchor:/# uname -a
>> Linux anchor 3.0.3 #13 Sun Dec 4 08:04:41 PST 2011 mips GNU/Linux
>>
>> The OOPS could be due to the limited hardware or something else.  I'd 
>> appreciate any suggestions for making this work.  I was hoping with 
>> hardware compression I could make it work on this platform.  I am 
>> currently using a Hauppage USB Live (saa7115 based) with no problems but 
>> with limited resolution.
>>
>> cx231xx v4l2 driver loaded.
>> cx231xx #0: New device Hauppauge Hauppauge Device @ 480 Mbps (2040:c200) with 5 interfaces
>> cx231xx #0: registering interface 1
>> cx231xx #0: can't change interface 3 alt no. to 3: Max. Pkt size = 0
>> cx231xx #0: can't change interface 4 alt no. to 1: Max. Pkt size = 0
>> cx231xx #0: Identified as Hauppauge USB Live 2 (card=9)
>> cx231xx #0: cx231xx_dif_set_standard: setStandard to ffffffff
>> cx231xx #0: Changing the i2c master port to 3
>> cx231xx #0: cx25840 subdev registration failure
>>     
>              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> The cx231xx driver requires the cx25840 module.  I'll wager you didn't
> install it on your router.
>
>   

I made sure the module was loaded; same thing.  :-(

Module                  Size  Used by    Tainted: G 
cx231xx               124608  0
cx2341x                13552  1 cx231xx
cx25840                35568  2
rc_core                12640  1 cx231xx
videobuf_vmalloc        3168  1 cx231xx
videobuf_core          12384  2 cx231xx,videobuf_vmalloc

I was not able to catch the first bit.

cx231xx #1: can't change interface 4 alt no. to 1: Max. Pkt size = 0
cx231xx #1: can't change interface 4 alt no. to 1 (err=-22)
cx231xx #1: Identified as Hauppauge USB Live 2 (card=9)
cx231xx #1: cx231xx_dif_set_standard: setStandard to ffffffff
cx231xx #1: can't change interface 5 alt no. to 0 (err=-22)
cx231xx #1: Changing the i2c master port to 3
cx25840 3-0044: cx23102 A/V decoder found @ 0x88 (cx231xx #1)
cx25840 3-0044:  Firmware download size changed to 16 bytes max length
cx25840 3-0044: unable to open firmware v4l-cx231xx-avcore-01.fw
cx231xx #1: cx231xx #1: v4l2 driver version 0.0.1
cx231xx #1: cx231xx_dif_set_standard: setStandard to ffffffff
cx231xx #1: video_mux : 0
cx231xx #1: do_mode_ctrl_overrides : 0xb000
cx231xx #1: do_mode_ctrl_overrides NTSC
cx231xx #1: cx231xx #1/0: registered device video1 [v4l2]
cx231xx #1: cx231xx #1/0: registered device vbi1
cx231xx #1: V4L2 device registered as video1 and vbi1
cx231xx #1: EndPoint Addr 0x84, Alternate settings: 2
cx231xx #1: Alternate setting 0, max size= 64
cx231xx #1: Alternate setting 1, max size= 728
CPU 0 Unable to handle kernel paging request at virtual address 
00000000, epc == 80f84e5c, ra == 80f84e30
Oops[#1]:
Cpu 0
$ 0   : 00000000 1000fc00 80e2f860 80e2f800
$ 4   : 80f9ad58 00005095 ffffffff 00000000
$ 8   : 0000000a 00000001 00000001 0000000d
$12   : 000000ff ffffffe0 8103f760 00000000
$16   : 81e30000 80c9f800 80fa0000 00000000
$20   : 00000002 00000000 81e300f8 00000001
$24   : 00000002 801539e0                 
$28   : 80c74000 80c75a88 80fa0000 80f84e30
Hi    : 00000000
Lo    : 00000000
epc   : 80f84e5c 0x80f84e5c
    Not tainted
ra    : 80f84e30 0x80f84e30
Status: 1000fc03    KERNEL EXL IE
Cause : 00800008
BadVA : 00000000
PrId  : 00029006 (Broadcom BMIPS3300)
Modules linked in: cx231xx cx2341x cx25840 rc_core videobuf_vmalloc 
videobuf_core saa7115 usbvision pl2303 v4l2_common videodev usb_storage 
usbserial i2c_dev i2c_core ohci_hcd nf_nat_irc nf_conntrack_irc 
nf_nat_ftp nf_conntrack_ftp ipt_MASQUERADE iptable_nat nf_nat 
xt_conntrack xt_NOTRACK iptable_raw xt_state nf_conntrack_ipv4 
nf_defrag_ipv4 nf_conntrack ehci_hcd sd_mod ipt_REJECT xt_TCPMSS ipt_LOG 
xt_comment xt_multiport xt_mac xt_limit iptable_mangle iptable_filter 
ip_tables xt_tcpudp x_tables tun vfat fat ext4 jbd2 mbcache b43legacy 
b43 nls_iso8859_1 nls_cp437 mac80211 usbcore scsi_mod nls_base crc16 
cfg80211 compat input_core arc4 aes_generic crypto_algapi switch_robo 
switch_core diag
Process khubd (pid: 596, threadinfo=80c74000, task=81a2d1a8, tls=00000000)
Stack : 802c4084 81e30000 00000001 000002d8 00002040 0000c200 00000003 
8011fa58
        70756148 67756170 61482065 61707075 20656775 69766544 00206563 
00000000
        00000000 00000000 00000000 00000000 00000000 00000000 00000000 
00000000
        00000000 00000000 00000000 00000000 00000000 00000000 00000000 
00000000
        00000000 00000000 00000000 00000000 00000000 00000000 00000000 
00000000
        ...
Call Trace:[<8011fa58>] 0x8011fa58
[<80c8cd9c>] 0x80c8cd9c
[<8015db94>] 0x8015db94
[<8015df14>] 0x8015df14
[<8015e118>] 0x8015e118
[<8015e0e8>] 0x8015e0e8
[<8015cb28>] 0x8015cb28
[<801197ac>] 0x801197ac
[<8015dd14>] 0x8015dd14
[<8015b9e0>] 0x8015b9e0
[<80c89d54>] 0x80c89d54
[<80c8bf80>] 0x80c8bf80
[<800e15a8>] 0x800e15a8
[<80c92e58>] 0x80c92e58
[<8015df14>] 0x8015df14
[<8015e118>] 0x8015e118
[<8015e0e8>] 0x8015e0e8
[<8015cb28>] 0x8015cb28
[<801197ac>] 0x801197ac
[<8015dd14>] 0x8015dd14
[<8015b9e0>] 0x8015b9e0
[<80c83f2c>] 0x80c83f2c
[<80c84d1c>] 0x80c84d1c
[<80038150>] 0x80038150
[<80c83f90>] 0x80c83f90
[<80037a0c>] 0x80037a0c
[<800070f0>] 0x800070f0
[<8003798c>] 0x8003798c
[<800070e0>] 0x800070e0


Code: 00021080  00621021  8c550000 <8ea20000> 02002821  8c42000c  
0000a021  90460002  a6060c18
Disabling lock debugging due to kernel taint
cx231xx #0: cx231xx_stop_stream():: ep_mask = 8
cx231xx #0: can't change interface 3 alt no. to 0 (err=-22)




-- 
Few people are capable of expressing with equanimity opinions which differ from the prejudices of their social environment. Most people are even incapable of forming such opinions.
    Albert Einstein


^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: cx231xx kernel oops
  2011-12-05  4:45   ` Yan Seiner
@ 2011-12-05  4:54     ` Yan Seiner
  2011-12-05 12:19       ` Yan Seiner
  2011-12-05 15:06       ` Andy Walls
  0 siblings, 2 replies; 19+ messages in thread
From: Yan Seiner @ 2011-12-05  4:54 UTC (permalink / raw)
  To: linux-media

Yan Seiner wrote:
> Andy Walls wrote:
>> On Sun, 2011-12-04 at 18:01 -0800, Yan Seiner wrote:
>>  
>>> I am experiencing a kernel oops when trying to use a Hauppage USB 
>>> Live 2 frame grabber.  The oops is below.
>>>
>>> The system is a SOC 260Mhz Broadcom BCM47XX access point running 
>>> OpenWRT.
>>>
>>> root@anchor:/# uname -a
>>> Linux anchor 3.0.3 #13 Sun Dec 4 08:04:41 PST 2011 mips GNU/Linux
>>>
>>> The OOPS could be due to the limited hardware or something else.  
>>> I'd appreciate any suggestions for making this work.  I was hoping 
>>> with hardware compression I could make it work on this platform.  I 
>>> am currently using a Hauppage USB Live (saa7115 based) with no 
>>> problems but with limited resolution.
>>>
>>> cx231xx v4l2 driver loaded.
>>> cx231xx #0: New device Hauppauge Hauppauge Device @ 480 Mbps 
>>> (2040:c200) with 5 interfaces
>>> cx231xx #0: registering interface 1
>>> cx231xx #0: can't change interface 3 alt no. to 3: Max. Pkt size = 0
>>> cx231xx #0: can't change interface 4 alt no. to 1: Max. Pkt size = 0
>>> cx231xx #0: Identified as Hauppauge USB Live 2 (card=9)
>>> cx231xx #0: cx231xx_dif_set_standard: setStandard to ffffffff
>>> cx231xx #0: Changing the i2c master port to 3
>>> cx231xx #0: cx25840 subdev registration failure
>>>     
>>              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>> The cx231xx driver requires the cx25840 module.  I'll wager you didn't
>> install it on your router.
>>
>>   
>
> I made sure the module was loaded; same thing.  :-(
>
> Module                  Size  Used by    Tainted: G 
> cx231xx               124608  0
> cx2341x                13552  1 cx231xx
> cx25840                35568  2
> rc_core                12640  1 cx231xx
> videobuf_vmalloc        3168  1 cx231xx
> videobuf_core          12384  2 cx231xx,videobuf_vmalloc
>
> I was not able to catch the first bit.
>
> cx231xx #1: can't change interface 4 alt no. to 1: Max. Pkt size = 0
> cx231xx #1: can't change interface 4 alt no. to 1 (err=-22)
> cx231xx #1: Identified as Hauppauge USB Live 2 (card=9)
> cx231xx #1: cx231xx_dif_set_standard: setStandard to ffffffff
> cx231xx #1: can't change interface 5 alt no. to 0 (err=-22)
> cx231xx #1: Changing the i2c master port to 3
> cx25840 3-0044: cx23102 A/V decoder found @ 0x88 (cx231xx #1)
> cx25840 3-0044:  Firmware download size changed to 16 bytes max length
> cx25840 3-0044: unable to open firmware v4l-cx231xx-avcore-01.fw
????

Maybe I need that, eh?  :-)

-- 
Few people are capable of expressing with equanimity opinions which differ from the prejudices of their social environment. Most people are even incapable of forming such opinions.
    Albert Einstein


^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: cx231xx kernel oops
  2011-12-05  4:54     ` Yan Seiner
@ 2011-12-05 12:19       ` Yan Seiner
  2011-12-05 12:31         ` Yan Seiner
  2011-12-05 15:18         ` Andy Walls
  2011-12-05 15:06       ` Andy Walls
  1 sibling, 2 replies; 19+ messages in thread
From: Yan Seiner @ 2011-12-05 12:19 UTC (permalink / raw)
  To: linux-media

I'm still seeing a kernel oops on use.

Module                  Size  Used by    Not tainted
cx231xx               124608  0             
cx2341x                13552  1 cx231xx
cx25840                35568  1
rc_core                12640  1 cx231xx
videobuf_vmalloc        3168  1 cx231xx
videobuf_core          12384  2 cx231xx,videobuf_vmalloc


When the modules are loaded:

cx231xx v4l2 driver loaded.
cx231xx #0: New device Hauppauge Hauppauge Device @ 480 Mbps (2040:c200) 
with 5 interfaces
cx231xx #0: registering interface 1
cx231xx #0: can't change interface 3 alt no. to 3: Max. Pkt size = 0
cx231xx #0: can't change interface 4 alt no. to 1: Max. Pkt size = 0
cx231xx #0: Identified as Hauppauge USB Live 2 (card=9)
cx231xx #0: cx231xx_dif_set_standard: setStandard to ffffffff
cx231xx #0: Changing the i2c master port to 3
cx25840 0-0044: cx23102 A/V decoder found @ 0x88 (cx231xx #0)
cx25840 0-0044:  Firmware download size changed to 16 bytes max length
cx25840 0-0044: loaded v4l-cx231xx-avcore-01.fw firmware (16382 bytes)
cx231xx #0: cx231xx #0: v4l2 driver version 0.0.1
cx231xx #0: cx231xx_dif_set_standard: setStandard to ffffffff
cx231xx #0: video_mux : 0
cx231xx #0: do_mode_ctrl_overrides : 0xb000
cx231xx #0: do_mode_ctrl_overrides NTSC
cx231xx #0: cx231xx #0/0: registered device video0 [v4l2]
cx231xx #0: cx231xx #0/0: registered device vbi0
cx231xx #0: V4L2 device registered as video0 and vbi0
cx231xx #0: EndPoint Addr 0x84, Alternate settings: 5
cx231xx #0: Alternate setting 0, max size= 512
cx231xx #0: Alternate setting 1, max size= 184
cx231xx #0: Alternate setting 2, max size= 728
cx231xx #0: Alternate setting 3, max size= 2892
cx231xx #0: Alternate setting 4, max size= 1800
cx231xx #0: EndPoint Addr 0x85, Alternate settings: 2
cx231xx #0: Alternate setting 0, max size= 512
cx231xx #0: Alternate setting 1, max size= 512
cx231xx #0: EndPoint Addr 0x86, Alternate settings: 2
cx231xx #0: Alternate setting 0, max size= 512
cx231xx #0: Alternate setting 1, max size= 576

And when I try to use it:

root@anchor:/# fswebcam -c /etc/fswebcam
--- Opening /dev/video0...
Trying source module v4l2...
/dev/video0 opened.
Adjusting resolution from 768x576 to 720x480.
Delaying 1 seconds.
--- Capturing frame...
Skipping frame...
Timed out waiting for frame!
Capturing 1 frames...
Timed out waiting for frame!
No frames captured.

dmesg shows:

cx231xx #0:  setPowerMode::mode = 48, No Change req.
cx231xx #0: cx231xx_dif_set_standard: setStandard to ffffffff
cx231xx #0: video_mux : 0
cx231xx #0: do_mode_ctrl_overrides : 0xb000
cx231xx #0: do_mode_ctrl_overrides NTSC
cx231xx #0: cx231xx_stop_stream():: ep_mask = 8
cx231xx #0: cx231xx_initialize_stream_xfer: set video registers
cx231xx #0: cx231xx_start_stream():: ep_mask = 8
ehci_hcd 0000:00:02.2: fatal error
ehci_hcd 0000:00:02.2: HC died; cleaning up
ehci_hcd 0000:00:02.2: force halt; handshake c0350024 00004000 00004000 
-> -145
ehci_hcd 0000:00:02.2: HC died; cleaning up
usb 1-1: USB disconnect, device number 3
usb 1-1.1: USB disconnect, device number 4
cx231xx #0: UsbInterface::sendCommand, failed with status --19
cx231xx #0: UsbInterface::sendCommand, failed with status --19
usb 1-1.2: USB disconnect, device number 5
pl2303 ttyUSB0: pl2303 converter now disconnected from ttyUSB0
pl2303 1-1.2:1.0: device disconnected
usb 1-2: USB disconnect, device number 2
usb 2-1: new full speed USB device number 2 using ohci_hcd
usb 2-1: not running at top speed; connect to a high speed hub
hub 2-1:1.0: USB hub found
hub 2-1:1.0: 4 ports detected
usb 3-1: new full speed USB device number 2 using ohci_hcd
usb 3-1: not running at top speed; connect to a high speed hub
cx231xx #1: New device Hauppauge Hauppauge Device @ 12 Mbps (2040:c200) 
with 3 interfaces
cx231xx #1: registering interface 1
cx231xx #1: can't change interface 3 alt no. to 3: Max. Pkt size = 0
usb 3-1: selecting invalid altsetting 3
cx231xx #1: can't change interface 3 alt no. to 3 (err=-22)
cx231xx #1: can't change interface 4 alt no. to 1: Max. Pkt size = 0
cx231xx #1: can't change interface 4 alt no. to 1 (err=-22)
cx231xx #1: Identified as Hauppauge USB Live 2 (card=9)
cx231xx #1: cx231xx_dif_set_standard: setStandard to ffffffff
cx231xx #1: can't change interface 5 alt no. to 0 (err=-22)
cx231xx #1: Changing the i2c master port to 3
cx25840 3-0044: cx23102 A/V decoder found @ 0x88 (cx231xx #1)
cx25840 3-0044:  Firmware download size changed to 16 bytes max length
cx25840 3-0044: loaded v4l-cx231xx-avcore-01.fw firmware (16382 bytes)
cx231xx #1: cx231xx #1: v4l2 driver version 0.0.1
cx231xx #1: cx231xx_dif_set_standard: setStandard to ffffffff
cx231xx #1: video_mux : 0
cx231xx #1: do_mode_ctrl_overrides : 0xb000
cx231xx #1: do_mode_ctrl_overrides NTSC
cx231xx #1: cx231xx #1/0: registered device video1 [v4l2]
cx231xx #1: cx231xx #1/0: registered device vbi1
cx231xx #1: V4L2 device registered as video1 and vbi1
cx231xx #1: EndPoint Addr 0x84, Alternate settings: 2
cx231xx #1: Alternate setting 0, max size= 64
cx231xx #1: Alternate setting 1, max size= 728
CPU 0 Unable to handle kernel paging request at virtual address 
00000000, epc == 80f84e5c, ra == 80f84e30
Oops[#1]:
Cpu 0
$ 0   : 00000000 1000fc00 81b9f660 81b9f600
$ 4   : 80f9ad58 000050a1 ffffffff 00000000
$ 8   : 0000000a 00000001 00000001 0000000d
$12   : 000000ff 80e2dbd4 00000030 00000000
$16   : 80dfc000 80c93000 80fa0000 00000000
$20   : 00000002 00000000 80dfc0f8 00000001
$24   : 00000002 801539e0                 
$28   : 80c52000 80c53a88 80fa0000 80f84e30
Hi    : 00000000
Lo    : 00000000
epc   : 80f84e5c 0x80f84e5c
    Not tainted
ra    : 80f84e30 0x80f84e30
Status: 1000fc03    KERNEL EXL IE
Cause : 00800008
BadVA : 00000000
PrId  : 00029006 (Broadcom BMIPS3300)
Modules linked in: cx231xx cx2341x cx25840 rc_core videobuf_vmalloc 
videobuf_core saa7115 usbvision pl2303 v4l2_common videodev usb_storage 
usbserial i2c_dev i2c_core ohci_hcd nf_nat_irc nf_conntrack_irc 
nf_nat_ftp nf_conntrack_ftp ipt_MASQUERADE iptable_nat nf_nat 
xt_conntrack xt_NOTRACK iptable_raw xt_state nf_conntrack_ipv4 
nf_defrag_ipv4 nf_conntrack ehci_hcd sd_mod ipt_REJECT xt_TCPMSS ipt_LOG 
xt_comment xt_multiport xt_mac xt_limit iptable_mangle iptable_filter 
ip_tables xt_tcpudp x_tables tun vfat fat ext4 jbd2 mbcache b43legacy 
b43 nls_iso8859_1 nls_cp437 mac80211 usbcore scsi_mod nls_base crc16 
cfg80211 compat input_core arc4 aes_generic crypto_algapi switch_robo 
switch_core diag
Process khubd (pid: 601, threadinfo=80c52000, task=81bdf208, tls=00000000)
Stack : 81bdf238 80dfc000 00000001 000002d8 00002040 0000c200 00000003 
8011fa58
        70756148 67756170 61482065 61707075 20656775 69766544 00206563 
00000000
        00000000 00000000 00000000 00000000 00000000 00000000 00000000 
00000000
        00000000 00000000 00000000 00000000 00000000 00000000 00000000 
00000000
        00000000 00000000 00000000 00000000 00000000 00000000 00000000 
00000000
        ...
Call Trace:[<8011fa58>] 0x8011fa58
[<80c6cd9c>] 0x80c6cd9c
[<8015db94>] 0x8015db94
[<8015df14>] 0x8015df14
[<8015e118>] 0x8015e118
[<8015e0e8>] 0x8015e0e8
[<8015cb28>] 0x8015cb28
[<801197ac>] 0x801197ac
[<8015dd14>] 0x8015dd14
[<8015b9e0>] 0x8015b9e0
[<80c69d54>] 0x80c69d54
[<80c6bf80>] 0x80c6bf80
[<800e15a8>] 0x800e15a8
[<80c72e58>] 0x80c72e58
[<8015df14>] 0x8015df14
[<8015e118>] 0x8015e118
[<8015e0e8>] 0x8015e0e8
[<8015cb28>] 0x8015cb28
[<801197ac>] 0x801197ac
[<8015dd14>] 0x8015dd14
[<8015b9e0>] 0x8015b9e0
[<80c63f2c>] 0x80c63f2c
[<80c64d1c>] 0x80c64d1c
[<80038150>] 0x80038150
[<80c63f90>] 0x80c63f90
[<80037a0c>] 0x80037a0c
[<800070f0>] 0x800070f0
[<8003798c>] 0x8003798c
[<800070e0>] 0x800070e0


Code: 00021080  00621021  8c550000 <8ea20000> 02002821  8c42000c  
0000a021  90460002  a6060c18
Disabling lock debugging due to kernel taint
cx231xx #0: cx231xx_stop_stream():: ep_mask = 8
cx231xx #0: can't change interface 3 alt no. to 0 (err=-22)

hardware is a 260MHz access point running OpenWRT.

root@anchor:/# uname -a
Linux anchor 3.0.3 #13 Sun Dec 4 08:04:41 PST 2011 mips GNU/Linux


-- 
Few people are capable of expressing with equanimity opinions which differ from the prejudices of their social environment. Most people are even incapable of forming such opinions.
    Albert Einstein


^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: cx231xx kernel oops
  2011-12-05 12:19       ` Yan Seiner
@ 2011-12-05 12:31         ` Yan Seiner
  2011-12-05 15:18         ` Andy Walls
  1 sibling, 0 replies; 19+ messages in thread
From: Yan Seiner @ 2011-12-05 12:31 UTC (permalink / raw)
  To: linux-media

Yan Seiner wrote:
> I'm still seeing a kernel oops on use.
One more minor point:

Before the kernel oops, I have /dev/video0.  After the oops, I have 
/dev/video0 and /dev/video1 - probably related to the ehci crash.

-- 
Few people are capable of expressing with equanimity opinions which differ from the prejudices of their social environment. Most people are even incapable of forming such opinions.
    Albert Einstein


^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: cx231xx kernel oops
  2011-12-05  4:54     ` Yan Seiner
  2011-12-05 12:19       ` Yan Seiner
@ 2011-12-05 15:06       ` Andy Walls
  1 sibling, 0 replies; 19+ messages in thread
From: Andy Walls @ 2011-12-05 15:06 UTC (permalink / raw)
  To: Yan Seiner, linux-media

Yan Seiner <yan@seiner.com> wrote:

>Yan Seiner wrote:
>> Andy Walls wrote:
>>> On Sun, 2011-12-04 at 18:01 -0800, Yan Seiner wrote:
>>>  
>>>> I am experiencing a kernel oops when trying to use a Hauppage USB 
>>>> Live 2 frame grabber.  The oops is below.
>>>>
>>>> The system is a SOC 260Mhz Broadcom BCM47XX access point running 
>>>> OpenWRT.
>>>>
>>>> root@anchor:/# uname -a
>>>> Linux anchor 3.0.3 #13 Sun Dec 4 08:04:41 PST 2011 mips GNU/Linux
>>>>
>>>> The OOPS could be due to the limited hardware or something else.  
>>>> I'd appreciate any suggestions for making this work.  I was hoping 
>>>> with hardware compression I could make it work on this platform.  I
>
>>>> am currently using a Hauppage USB Live (saa7115 based) with no 
>>>> problems but with limited resolution.
>>>>
>>>> cx231xx v4l2 driver loaded.
>>>> cx231xx #0: New device Hauppauge Hauppauge Device @ 480 Mbps 
>>>> (2040:c200) with 5 interfaces
>>>> cx231xx #0: registering interface 1
>>>> cx231xx #0: can't change interface 3 alt no. to 3: Max. Pkt size =
>0
>>>> cx231xx #0: can't change interface 4 alt no. to 1: Max. Pkt size =
>0
>>>> cx231xx #0: Identified as Hauppauge USB Live 2 (card=9)
>>>> cx231xx #0: cx231xx_dif_set_standard: setStandard to ffffffff
>>>> cx231xx #0: Changing the i2c master port to 3
>>>> cx231xx #0: cx25840 subdev registration failure
>>>>     
>>>              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>>> The cx231xx driver requires the cx25840 module.  I'll wager you
>didn't
>>> install it on your router.
>>>
>>>   
>>
>> I made sure the module was loaded; same thing.  :-(
>>
>> Module                  Size  Used by    Tainted: G 
>> cx231xx               124608  0
>> cx2341x                13552  1 cx231xx
>> cx25840                35568  2
>> rc_core                12640  1 cx231xx
>> videobuf_vmalloc        3168  1 cx231xx
>> videobuf_core          12384  2 cx231xx,videobuf_vmalloc
>>
>> I was not able to catch the first bit.
>>
>> cx231xx #1: can't change interface 4 alt no. to 1: Max. Pkt size = 0
>> cx231xx #1: can't change interface 4 alt no. to 1 (err=-22)
>> cx231xx #1: Identified as Hauppauge USB Live 2 (card=9)
>> cx231xx #1: cx231xx_dif_set_standard: setStandard to ffffffff
>> cx231xx #1: can't change interface 5 alt no. to 0 (err=-22)
>> cx231xx #1: Changing the i2c master port to 3
>> cx25840 3-0044: cx23102 A/V decoder found @ 0x88 (cx231xx #1)
>> cx25840 3-0044:  Firmware download size changed to 16 bytes max
>length
>> cx25840 3-0044: unable to open firmware v4l-cx231xx-avcore-01.fw
>????
>
>Maybe I need that, eh?  :-)
>
>-- 
>Few people are capable of expressing with equanimity opinions which
>differ from the prejudices of their social environment. Most people are
>even incapable of forming such opinions.
>    Albert Einstein
>
>--
>To unsubscribe from this list: send the line "unsubscribe linux-media"
>in
>the body of a message to majordomo@vger.kernel.org
>More majordomo info at  http://vger.kernel.org/majordomo-info.html

Yes, you need the firmware file. :)

Regards,
Andy

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: cx231xx kernel oops
  2011-12-05 12:19       ` Yan Seiner
  2011-12-05 12:31         ` Yan Seiner
@ 2011-12-05 15:18         ` Andy Walls
  2011-12-05 15:28           ` Yan Seiner
  1 sibling, 1 reply; 19+ messages in thread
From: Andy Walls @ 2011-12-05 15:18 UTC (permalink / raw)
  To: Yan Seiner, linux-media

Yan Seiner <yan@seiner.com> wrote:

>I'm still seeing a kernel oops on use.
>
>Module                  Size  Used by    Not tainted
>cx231xx               124608  0             
>cx2341x                13552  1 cx231xx
>cx25840                35568  1
>rc_core                12640  1 cx231xx
>videobuf_vmalloc        3168  1 cx231xx
>videobuf_core          12384  2 cx231xx,videobuf_vmalloc
>
>
>When the modules are loaded:
>
>cx231xx v4l2 driver loaded.
>cx231xx #0: New device Hauppauge Hauppauge Device @ 480 Mbps
>(2040:c200) 
>with 5 interfaces
>cx231xx #0: registering interface 1
>cx231xx #0: can't change interface 3 alt no. to 3: Max. Pkt size = 0
>cx231xx #0: can't change interface 4 alt no. to 1: Max. Pkt size = 0
>cx231xx #0: Identified as Hauppauge USB Live 2 (card=9)
>cx231xx #0: cx231xx_dif_set_standard: setStandard to ffffffff
>cx231xx #0: Changing the i2c master port to 3
>cx25840 0-0044: cx23102 A/V decoder found @ 0x88 (cx231xx #0)
>cx25840 0-0044:  Firmware download size changed to 16 bytes max length
>cx25840 0-0044: loaded v4l-cx231xx-avcore-01.fw firmware (16382 bytes)
>cx231xx #0: cx231xx #0: v4l2 driver version 0.0.1
>cx231xx #0: cx231xx_dif_set_standard: setStandard to ffffffff
>cx231xx #0: video_mux : 0
>cx231xx #0: do_mode_ctrl_overrides : 0xb000
>cx231xx #0: do_mode_ctrl_overrides NTSC
>cx231xx #0: cx231xx #0/0: registered device video0 [v4l2]
>cx231xx #0: cx231xx #0/0: registered device vbi0
>cx231xx #0: V4L2 device registered as video0 and vbi0
>cx231xx #0: EndPoint Addr 0x84, Alternate settings: 5
>cx231xx #0: Alternate setting 0, max size= 512
>cx231xx #0: Alternate setting 1, max size= 184
>cx231xx #0: Alternate setting 2, max size= 728
>cx231xx #0: Alternate setting 3, max size= 2892
>cx231xx #0: Alternate setting 4, max size= 1800
>cx231xx #0: EndPoint Addr 0x85, Alternate settings: 2
>cx231xx #0: Alternate setting 0, max size= 512
>cx231xx #0: Alternate setting 1, max size= 512
>cx231xx #0: EndPoint Addr 0x86, Alternate settings: 2
>cx231xx #0: Alternate setting 0, max size= 512
>cx231xx #0: Alternate setting 1, max size= 576
>
>And when I try to use it:
>
>root@anchor:/# fswebcam -c /etc/fswebcam
>--- Opening /dev/video0...
>Trying source module v4l2...
>/dev/video0 opened.
>Adjusting resolution from 768x576 to 720x480.
>Delaying 1 seconds.
>--- Capturing frame...
>Skipping frame...
>Timed out waiting for frame!
>Capturing 1 frames...
>Timed out waiting for frame!
>No frames captured.
>
>dmesg shows:
>
>cx231xx #0:  setPowerMode::mode = 48, No Change req.
>cx231xx #0: cx231xx_dif_set_standard: setStandard to ffffffff
>cx231xx #0: video_mux : 0
>cx231xx #0: do_mode_ctrl_overrides : 0xb000
>cx231xx #0: do_mode_ctrl_overrides NTSC
>cx231xx #0: cx231xx_stop_stream():: ep_mask = 8
>cx231xx #0: cx231xx_initialize_stream_xfer: set video registers
>cx231xx #0: cx231xx_start_stream():: ep_mask = 8
>ehci_hcd 0000:00:02.2: fatal error
>ehci_hcd 0000:00:02.2: HC died; cleaning up
>ehci_hcd 0000:00:02.2: force halt; handshake c0350024 00004000 00004000
>
>-> -145
>ehci_hcd 0000:00:02.2: HC died; cleaning up
>usb 1-1: USB disconnect, device number 3
>usb 1-1.1: USB disconnect, device number 4
>cx231xx #0: UsbInterface::sendCommand, failed with status --19
>cx231xx #0: UsbInterface::sendCommand, failed with status --19
>usb 1-1.2: USB disconnect, device number 5
>pl2303 ttyUSB0: pl2303 converter now disconnected from ttyUSB0
>pl2303 1-1.2:1.0: device disconnected
>usb 1-2: USB disconnect, device number 2
>usb 2-1: new full speed USB device number 2 using ohci_hcd
>usb 2-1: not running at top speed; connect to a high speed hub
>hub 2-1:1.0: USB hub found
>hub 2-1:1.0: 4 ports detected
>usb 3-1: new full speed USB device number 2 using ohci_hcd
>usb 3-1: not running at top speed; connect to a high speed hub
>cx231xx #1: New device Hauppauge Hauppauge Device @ 12 Mbps (2040:c200)
>
>with 3 interfaces
>cx231xx #1: registering interface 1
>cx231xx #1: can't change interface 3 alt no. to 3: Max. Pkt size = 0
>usb 3-1: selecting invalid altsetting 3
>cx231xx #1: can't change interface 3 alt no. to 3 (err=-22)
>cx231xx #1: can't change interface 4 alt no. to 1: Max. Pkt size = 0
>cx231xx #1: can't change interface 4 alt no. to 1 (err=-22)
>cx231xx #1: Identified as Hauppauge USB Live 2 (card=9)
>cx231xx #1: cx231xx_dif_set_standard: setStandard to ffffffff
>cx231xx #1: can't change interface 5 alt no. to 0 (err=-22)
>cx231xx #1: Changing the i2c master port to 3
>cx25840 3-0044: cx23102 A/V decoder found @ 0x88 (cx231xx #1)
>cx25840 3-0044:  Firmware download size changed to 16 bytes max length
>cx25840 3-0044: loaded v4l-cx231xx-avcore-01.fw firmware (16382 bytes)
>cx231xx #1: cx231xx #1: v4l2 driver version 0.0.1
>cx231xx #1: cx231xx_dif_set_standard: setStandard to ffffffff
>cx231xx #1: video_mux : 0
>cx231xx #1: do_mode_ctrl_overrides : 0xb000
>cx231xx #1: do_mode_ctrl_overrides NTSC
>cx231xx #1: cx231xx #1/0: registered device video1 [v4l2]
>cx231xx #1: cx231xx #1/0: registered device vbi1
>cx231xx #1: V4L2 device registered as video1 and vbi1
>cx231xx #1: EndPoint Addr 0x84, Alternate settings: 2
>cx231xx #1: Alternate setting 0, max size= 64
>cx231xx #1: Alternate setting 1, max size= 728
>CPU 0 Unable to handle kernel paging request at virtual address 
>00000000, epc == 80f84e5c, ra == 80f84e30
>Oops[#1]:
>Cpu 0
>$ 0   : 00000000 1000fc00 81b9f660 81b9f600
>$ 4   : 80f9ad58 000050a1 ffffffff 00000000
>$ 8   : 0000000a 00000001 00000001 0000000d
>$12   : 000000ff 80e2dbd4 00000030 00000000
>$16   : 80dfc000 80c93000 80fa0000 00000000
>$20   : 00000002 00000000 80dfc0f8 00000001
>$24   : 00000002 801539e0                 
>$28   : 80c52000 80c53a88 80fa0000 80f84e30
>Hi    : 00000000
>Lo    : 00000000
>epc   : 80f84e5c 0x80f84e5c
>    Not tainted
>ra    : 80f84e30 0x80f84e30
>Status: 1000fc03    KERNEL EXL IE
>Cause : 00800008
>BadVA : 00000000
>PrId  : 00029006 (Broadcom BMIPS3300)
>Modules linked in: cx231xx cx2341x cx25840 rc_core videobuf_vmalloc 
>videobuf_core saa7115 usbvision pl2303 v4l2_common videodev usb_storage
>
>usbserial i2c_dev i2c_core ohci_hcd nf_nat_irc nf_conntrack_irc 
>nf_nat_ftp nf_conntrack_ftp ipt_MASQUERADE iptable_nat nf_nat 
>xt_conntrack xt_NOTRACK iptable_raw xt_state nf_conntrack_ipv4 
>nf_defrag_ipv4 nf_conntrack ehci_hcd sd_mod ipt_REJECT xt_TCPMSS
>ipt_LOG 
>xt_comment xt_multiport xt_mac xt_limit iptable_mangle iptable_filter 
>ip_tables xt_tcpudp x_tables tun vfat fat ext4 jbd2 mbcache b43legacy 
>b43 nls_iso8859_1 nls_cp437 mac80211 usbcore scsi_mod nls_base crc16 
>cfg80211 compat input_core arc4 aes_generic crypto_algapi switch_robo 
>switch_core diag
>Process khubd (pid: 601, threadinfo=80c52000, task=81bdf208,
>tls=00000000)
>Stack : 81bdf238 80dfc000 00000001 000002d8 00002040 0000c200 00000003 
>8011fa58
>        70756148 67756170 61482065 61707075 20656775 69766544 00206563 
>00000000
>        00000000 00000000 00000000 00000000 00000000 00000000 00000000 
>00000000
>        00000000 00000000 00000000 00000000 00000000 00000000 00000000 
>00000000
>        00000000 00000000 00000000 00000000 00000000 00000000 00000000 
>00000000
>        ...
>Call Trace:[<8011fa58>] 0x8011fa58
>[<80c6cd9c>] 0x80c6cd9c
>[<8015db94>] 0x8015db94
>[<8015df14>] 0x8015df14
>[<8015e118>] 0x8015e118
>[<8015e0e8>] 0x8015e0e8
>[<8015cb28>] 0x8015cb28
>[<801197ac>] 0x801197ac
>[<8015dd14>] 0x8015dd14
>[<8015b9e0>] 0x8015b9e0
>[<80c69d54>] 0x80c69d54
>[<80c6bf80>] 0x80c6bf80
>[<800e15a8>] 0x800e15a8
>[<80c72e58>] 0x80c72e58
>[<8015df14>] 0x8015df14
>[<8015e118>] 0x8015e118
>[<8015e0e8>] 0x8015e0e8
>[<8015cb28>] 0x8015cb28
>[<801197ac>] 0x801197ac
>[<8015dd14>] 0x8015dd14
>[<8015b9e0>] 0x8015b9e0
>[<80c63f2c>] 0x80c63f2c
>[<80c64d1c>] 0x80c64d1c
>[<80038150>] 0x80038150
>[<80c63f90>] 0x80c63f90
>[<80037a0c>] 0x80037a0c
>[<800070f0>] 0x800070f0
>[<8003798c>] 0x8003798c
>[<800070e0>] 0x800070e0
>
>
>Code: 00021080  00621021  8c550000 <8ea20000> 02002821  8c42000c  
>0000a021  90460002  a6060c18
>Disabling lock debugging due to kernel taint
>cx231xx #0: cx231xx_stop_stream():: ep_mask = 8
>cx231xx #0: can't change interface 3 alt no. to 0 (err=-22)
>
>hardware is a 260MHz access point running OpenWRT.
>
>root@anchor:/# uname -a
>Linux anchor 3.0.3 #13 Sun Dec 4 08:04:41 PST 2011 mips GNU/Linux
>
>
>-- 
>Few people are capable of expressing with equanimity opinions which
>differ from the prejudices of their social environment. Most people are
>even incapable of forming such opinions.
>    Albert Einstein
>
>--
>To unsubscribe from this list: send the line "unsubscribe linux-media"
>in
>the body of a message to majordomo@vger.kernel.org
>More majordomo info at  http://vger.kernel.org/majordomo-info.html

Well, you probably have figured out you have a USB stack problem.  I'm not sure why a Host Controller would die and (hopefully) clean up properly, but that needs investigation.

Looking at the oops probably won't yield useful results in terms of finding cx231xx bugs as it happens after the first host controller has bombed out.

You should consider having /boot/System.map and the real klogd installed on your system, so the oops backtrace has meaningful symbol names as opposed to addresses (which are meaningless to anyone without a copy of your built kernel).

Regards,
Andy

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: cx231xx kernel oops
  2011-12-05 15:18         ` Andy Walls
@ 2011-12-05 15:28           ` Yan Seiner
  2011-12-12  1:04             ` Yan Seiner
  0 siblings, 1 reply; 19+ messages in thread
From: Yan Seiner @ 2011-12-05 15:28 UTC (permalink / raw)
  To: Andy Walls; +Cc: linux-media


On Mon, December 5, 2011 7:18 am, Andy Walls wrote:
> Yan Seiner <yan@seiner.com> wrote:

>>ehci_hcd 0000:00:02.2: fatal error
>>ehci_hcd 0000:00:02.2: HC died; cleaning up
>>ehci_hcd 0000:00:02.2: force halt; handshake c0350024 00004000 00004000

>
> Well, you probably have figured out you have a USB stack problem.  I'm not
> sure why a Host Controller would die and (hopefully) clean up properly,
> but that needs investigation.
>
> Looking at the oops probably won't yield useful results in terms of
> finding cx231xx bugs as it happens after the first host controller has
> bombed out.
>
> You should consider having /boot/System.map and the real klogd installed
> on your system, so the oops backtrace has meaningful symbol names as
> opposed to addresses (which are meaningless to anyone without a copy of
> your built kernel).
>
> Regards,
> Andy

At a guess, I'm going to say that it's the hardware.  This is an old
(2006?) vintage access point with limited CPU horsepower.  I'm not sure
that any further investigations would change the result.

I suspect that the hardware is not capable of USB2 speeds although it
claims it can and thus the problem.  It is rock solid with USB 1.1 devices
and barfs at USB 2.0 speeds.

-- 
Pain is temporary. It may last a minute, or an hour, or a day, or a year,
but eventually it will subside and something else will take its place. If
I quit, however, it lasts forever.


^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: cx231xx kernel oops
  2011-12-05 15:28           ` Yan Seiner
@ 2011-12-12  1:04             ` Yan Seiner
  2011-12-12 12:34               ` Andy Walls
  0 siblings, 1 reply; 19+ messages in thread
From: Yan Seiner @ 2011-12-12  1:04 UTC (permalink / raw)
  To: linux-media

I'm resurrecting an older thread.  I have a Hauppage USB Live2 connected 
to a MIPS box running openWRT.  I tried this earlier on a older hardware 
running the 3.0.3 kernel.  This is with newer hardware running 
2.6.39.4.  The driver attempts to allocate 800MB (!!!) of memory for the 
buffer and fails with a kernel crash.  I'm not including any kernel 
crash stuff as it has all the symbols stripped.

This seems to be the key message:

[  514.770000] unable to allocate 805398992 bytes for transfer buffer 0

What can I do to narrow down the allocation problem?

system type        : Atheros AR9132 rev 2
machine            : Buffalo WZR-HP-G300NH
processor        : 0
cpu model        : MIPS 24Kc V7.4
BogoMIPS        : 265.42

Bus 001 Device 005: ID 2040:c200 Hauppauge

[   34.560000] cx231xx v4l2 driver loaded.
[   34.570000] cx231xx #0: New device Hauppauge Hauppauge Device @ 480 
Mbps (2040:c200) with 5 interfaces
[   34.580000] cx231xx #0: registering interface 1
[   34.580000] cx231xx #0: bad senario!!!!!
[   34.590000] cx231xx #0: config_info=0
[   34.590000] cx231xx #0: can't change interface 1 alt no. to 3: Max. 
Pkt size = 0
[   34.600000] usb 1-1.2: selecting invalid altsetting 3
[   34.600000] cx231xx #0: can't change interface 1 alt no. to 3 (err=-22)
[   34.610000] cx231xx #0: can't change interface 1 alt no. to 1: Max. 
Pkt size = 0
[   34.620000] usb 1-1.2: selecting invalid altsetting 1
[   34.620000] cx231xx #0: can't change interface 1 alt no. to 1 (err=-22)
[   34.630000] cx231xx #0: Identified as Hauppauge USB Live 2 (card=9)
[   34.740000] cx231xx #0: cx231xx_dif_set_standard: setStandard to ffffffff
[   34.760000] cx231xx #0: Changing the i2c master port to 3
[   34.760000] cx25840 0-0044: cx23102 A/V decoder found @ 0x88 (cx231xx #0)
[   34.790000] cx25840 0-0044:  Firmware download size changed to 16 
bytes max length
[   36.770000] cx25840 0-0044: loaded v4l-cx231xx-avcore-01.fw firmware 
(16382 bytes)
[   36.810000] cx231xx #0: cx231xx #0: v4l2 driver version 0.0.1
[   36.840000] cx231xx #0: cx231xx_dif_set_standard: setStandard to ffffffff
[   36.890000] cx231xx #0: video_mux : 0
[   36.900000] cx231xx #0: do_mode_ctrl_overrides : 0xb000
[   36.900000] cx231xx #0: do_mode_ctrl_overrides NTSC
[   36.910000] cx231xx #0: cx231xx #0/0: registered device video0 [v4l2]
[   36.920000] cx231xx #0: cx231xx #0/0: registered device vbi0
[   36.930000] cx231xx #0: V4L2 device registered as video0 and vbi0
[   36.930000] cx231xx #0: EndPoint Addr 0x8f00, Alternate settings: 1
[   36.940000] cx231xx #0: Alternate setting 0, max size= 8
[   36.940000] cx231xx #0: EndPoint Addr 0x8f00, Alternate settings: 1
[   36.950000] cx231xx #0: Alternate setting 0, max size= 8
[   36.960000] cx231xx #0: EndPoint Addr 0x8f00, Alternate settings: 1
[   36.960000] cx231xx #0: Alternate setting 0, max size= 8
[   36.970000] cx231xx #0: EndPoint Addr 0x8f00, Alternate settings: 1
[   36.970000] cx231xx #0: Alternate setting 0, max size= 8
[   36.980000] usbcore: registered new interface driver cx231xx
[   37.230000] ar71xx-wdt: enabling watchdog timer


root@rtmovies:/www/tmp/root/etc# fswebcam -r 320x240
--- Opening /dev/video0...
Trying source module v4l2...
/dev/video0 opened.
No input was specified, using the first.
VIDIOC_QBUF: Cannot allocate memory
Unable to use mmap. Using read instead.
--- Capturing frame...
VIDIOC_DQBUF: Invalid argument
No frames captured.



-- 
Few people are capable of expressing with equanimity opinions which differ from the prejudices of their social environment. Most people are even incapable of forming such opinions.
    Albert Einstein


^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: cx231xx kernel oops
  2011-12-12  1:04             ` Yan Seiner
@ 2011-12-12 12:34               ` Andy Walls
  2011-12-12 12:46                 ` Yan Seiner
  0 siblings, 1 reply; 19+ messages in thread
From: Andy Walls @ 2011-12-12 12:34 UTC (permalink / raw)
  To: Yan Seiner, linux-media

Yan Seiner <yan@seiner.com> wrote:

>I'm resurrecting an older thread.  I have a Hauppage USB Live2
>connected 
>to a MIPS box running openWRT.  I tried this earlier on a older
>hardware 
>running the 3.0.3 kernel.  This is with newer hardware running 
>2.6.39.4.  The driver attempts to allocate 800MB (!!!) of memory for
>the 
>buffer and fails with a kernel crash.  I'm not including any kernel 
>crash stuff as it has all the symbols stripped.
>
>This seems to be the key message:
>
>[  514.770000] unable to allocate 805398992 bytes for transfer buffer 0
>
>What can I do to narrow down the allocation problem?
>
>system type        : Atheros AR9132 rev 2
>machine            : Buffalo WZR-HP-G300NH
>processor        : 0
>cpu model        : MIPS 24Kc V7.4
>BogoMIPS        : 265.42
>
>Bus 001 Device 005: ID 2040:c200 Hauppauge
>
>[   34.560000] cx231xx v4l2 driver loaded.
>[   34.570000] cx231xx #0: New device Hauppauge Hauppauge Device @ 480 
>Mbps (2040:c200) with 5 interfaces
>[   34.580000] cx231xx #0: registering interface 1
>[   34.580000] cx231xx #0: bad senario!!!!!
>[   34.590000] cx231xx #0: config_info=0
>[   34.590000] cx231xx #0: can't change interface 1 alt no. to 3: Max. 
>Pkt size = 0
>[   34.600000] usb 1-1.2: selecting invalid altsetting 3
>[   34.600000] cx231xx #0: can't change interface 1 alt no. to 3
>(err=-22)
>[   34.610000] cx231xx #0: can't change interface 1 alt no. to 1: Max. 
>Pkt size = 0
>[   34.620000] usb 1-1.2: selecting invalid altsetting 1
>[   34.620000] cx231xx #0: can't change interface 1 alt no. to 1
>(err=-22)
>[   34.630000] cx231xx #0: Identified as Hauppauge USB Live 2 (card=9)
>[   34.740000] cx231xx #0: cx231xx_dif_set_standard: setStandard to
>ffffffff
>[   34.760000] cx231xx #0: Changing the i2c master port to 3
>[   34.760000] cx25840 0-0044: cx23102 A/V decoder found @ 0x88
>(cx231xx #0)
>[   34.790000] cx25840 0-0044:  Firmware download size changed to 16 
>bytes max length
>[   36.770000] cx25840 0-0044: loaded v4l-cx231xx-avcore-01.fw firmware
>
>(16382 bytes)
>[   36.810000] cx231xx #0: cx231xx #0: v4l2 driver version 0.0.1
>[   36.840000] cx231xx #0: cx231xx_dif_set_standard: setStandard to
>ffffffff
>[   36.890000] cx231xx #0: video_mux : 0
>[   36.900000] cx231xx #0: do_mode_ctrl_overrides : 0xb000
>[   36.900000] cx231xx #0: do_mode_ctrl_overrides NTSC
>[   36.910000] cx231xx #0: cx231xx #0/0: registered device video0
>[v4l2]
>[   36.920000] cx231xx #0: cx231xx #0/0: registered device vbi0
>[   36.930000] cx231xx #0: V4L2 device registered as video0 and vbi0
>[   36.930000] cx231xx #0: EndPoint Addr 0x8f00, Alternate settings: 1
>[   36.940000] cx231xx #0: Alternate setting 0, max size= 8
>[   36.940000] cx231xx #0: EndPoint Addr 0x8f00, Alternate settings: 1
>[   36.950000] cx231xx #0: Alternate setting 0, max size= 8
>[   36.960000] cx231xx #0: EndPoint Addr 0x8f00, Alternate settings: 1
>[   36.960000] cx231xx #0: Alternate setting 0, max size= 8
>[   36.970000] cx231xx #0: EndPoint Addr 0x8f00, Alternate settings: 1
>[   36.970000] cx231xx #0: Alternate setting 0, max size= 8
>[   36.980000] usbcore: registered new interface driver cx231xx
>[   37.230000] ar71xx-wdt: enabling watchdog timer
>
>
>root@rtmovies:/www/tmp/root/etc# fswebcam -r 320x240
>--- Opening /dev/video0...
>Trying source module v4l2...
>/dev/video0 opened.
>No input was specified, using the first.
>VIDIOC_QBUF: Cannot allocate memory
>Unable to use mmap. Using read instead.
>--- Capturing frame...
>VIDIOC_DQBUF: Invalid argument
>No frames captured.
>
>
>
>-- 
>Few people are capable of expressing with equanimity opinions which
>differ from the prejudices of their social environment. Most people are
>even incapable of forming such opinions.
>    Albert Einstein
>
>--
>To unsubscribe from this list: send the line "unsubscribe linux-media"
>in
>the body of a message to majordomo@vger.kernel.org
>More majordomo info at  http://vger.kernel.org/majordomo-info.html

800 MB for 320x420 frames? It sounds like your app has gooned its requested buffer size.

<wild speculation>
This might be due to endianess differences between MIPS abd x86 and your app only being written and tested on x86.
</wild speculation>

You still appear to USB stack problems, but not as severe (can't change device config to some bogus config).

Regards,
Andy

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: cx231xx kernel oops
  2011-12-12 12:34               ` Andy Walls
@ 2011-12-12 12:46                 ` Yan Seiner
  2011-12-12 14:23                   ` Devin Heitmueller
  2011-12-13  4:42                   ` Yan Seiner
  0 siblings, 2 replies; 19+ messages in thread
From: Yan Seiner @ 2011-12-12 12:46 UTC (permalink / raw)
  To: Andy Walls; +Cc: linux-media

Andy Walls wrote:
> 800 MB for 320x420 frames? It sounds like your app has gooned its requested buffer size.
>   

That's an understatement.  :-)

> <wild speculation>
> This might be due to endianess differences between MIPS abd x86 and your app only being written and tested on x86.
> </wild speculation>
>   

My speculation too.  I don't know where that number comes from; the same 
app works fine with the saa7115 driver if I switch frame grabbers.  I'll 
have to do some fiddling with the code to figure out where the problem 
lies.  It's some interaction between the app and the cx231xx driver.



> You still appear to USB stack problems, but not as severe (can't change device config to some bogus config).
>   

The requested buffer size is the result of multiplying max_pkt_size * 
max_packets and the rejected config shows a max_packet_size of 0, maybe 
ithere;'s a problem with either endianness or int size... ???  Something 
to follow up on.
> Regards,
> Andy
>
> !DSPAM:4ee5f4e4112206551461313!
>
>   


-- 
Few people are capable of expressing with equanimity opinions which differ from the prejudices of their social environment. Most people are even incapable of forming such opinions.
    Albert Einstein


^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: cx231xx kernel oops
  2011-12-12 12:46                 ` Yan Seiner
@ 2011-12-12 14:23                   ` Devin Heitmueller
  2011-12-12 15:58                     ` Yan Seiner
  2011-12-13  4:42                   ` Yan Seiner
  1 sibling, 1 reply; 19+ messages in thread
From: Devin Heitmueller @ 2011-12-12 14:23 UTC (permalink / raw)
  To: Yan Seiner; +Cc: Andy Walls, linux-media

On Mon, Dec 12, 2011 at 7:46 AM, Yan Seiner <yan@seiner.com> wrote:
> Andy Walls wrote:
>>
>> 800 MB for 320x420 frames? It sounds like your app has gooned its
>> requested buffer size.
>>
>
>
> That's an understatement.  :-)
>
>
>> <wild speculation>
>> This might be due to endianess differences between MIPS abd x86 and your
>> app only being written and tested on x86.
>> </wild speculation>
>>
>
>
> My speculation too.  I don't know where that number comes from; the same app
> works fine with the saa7115 driver if I switch frame grabbers.  I'll have to
> do some fiddling with the code to figure out where the problem lies.  It's
> some interaction between the app and the cx231xx driver.
>
>
>
>
>> You still appear to USB stack problems, but not as severe (can't change
>> device config to some bogus config).
>>
>
>
> The requested buffer size is the result of multiplying max_pkt_size *
> max_packets and the rejected config shows a max_packet_size of 0, maybe
> ithere;'s a problem with either endianness or int size... ???  Something to
> follow up on.

For what it's worth, I did do quite a bit of work on cx231xx,
including work for mips and arm platforms.  That said, all the work
done was on the control interfaces rather than the buffer management
(my particular use case didn't have the video coming back over the USB
bus).

How does your app setup the buffers?  Is it doing MMAP?  Userptr?
It's possible userptr support is broken, as that's something that is
much less common.

And as Andy suggested, if you can test your app under x86, knowing
whether the app works with cx231xx under x86 is useful in knowing if
you have a mips issue or something that your app in particular is
doing.

Also, just to be clear, the USB Live 2 doesn't have any onboard
hardware compression.  It has comparable requirements related to USB
bus utilization as any other USB framegrabber.  The only possible
advantage you might get is that it does have an onboard scaler, so if
you're willing to compromise on quality you can change the capture
resolution to a lower value such as 320x240.  Also, bear in mind that
the cx231xx driver may not be properly tuned to reduce the alternate
it uses dependent on resolution.  To my knowledge that functionality
has not been thoroughly tested (as it's an unpopular use case).

And finally, there were fixes for the USB Live 2 specifically which
you may not have in 3.0.3.  You should check the changelogs.  It's
possible that the failure to set the USB alternate is leaving the
driver is an unknown state, which causes it to crash once actually
trying to allocate the buffers.

Devin

-- 
Devin J. Heitmueller - Kernel Labs
http://www.kernellabs.com

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: cx231xx kernel oops
  2011-12-12 14:23                   ` Devin Heitmueller
@ 2011-12-12 15:58                     ` Yan Seiner
  2011-12-12 16:22                       ` Devin Heitmueller
  0 siblings, 1 reply; 19+ messages in thread
From: Yan Seiner @ 2011-12-12 15:58 UTC (permalink / raw)
  To: Devin Heitmueller; +Cc: linux-media


On Mon, December 12, 2011 6:23 am, Devin Heitmueller wrote:

>
> For what it's worth, I did do quite a bit of work on cx231xx,
> including work for mips and arm platforms.  That said, all the work
> done was on the control interfaces rather than the buffer management
> (my particular use case didn't have the video coming back over the USB
> bus).
>
> How does your app setup the buffers?  Is it doing MMAP?  Userptr?
> It's possible userptr support is broken, as that's something that is
> much less common.
>
> And as Andy suggested, if you can test your app under x86, knowing
> whether the app works with cx231xx under x86 is useful in knowing if
> you have a mips issue or something that your app in particular is
> doing.

OK, I just tried this with motion (still on the MIPS platform), a totally
different app.  It tries to allocate a reasonable amount of memory:

[1] mmap information:
[1] frames=4
[1] 0 length=153600
[1] 1 length=153600
[1] 2 length=153600
[1] 3 length=153600
[1] buffer index 0 VIDIOC_QBUF: Cannot allocate memory
[1] ioctl (VIDIOCGCAP): Invalid argument

but the driver still tries to grab 800MB.  So it's somewhere between the
app and the driver.

>
> Also, just to be clear, the USB Live 2 doesn't have any onboard
> hardware compression.  It has comparable requirements related to USB
> bus utilization as any other USB framegrabber.  The only possible
> advantage you might get is that it does have an onboard scaler, so if
> you're willing to compromise on quality you can change the capture
> resolution to a lower value such as 320x240.  Also, bear in mind that
> the cx231xx driver may not be properly tuned to reduce the alternate
> it uses dependent on resolution.  To my knowledge that functionality
> has not been thoroughly tested (as it's an unpopular use case).

OK, thanks.  I was hoping this was a hardware framegrabber; the info on
the website is so ambiguous as to be nearly useless.

>
> And finally, there were fixes for the USB Live 2 specifically which
> you may not have in 3.0.3.  You should check the changelogs.  It's
> possible that the failure to set the USB alternate is leaving the
> driver is an unknown state, which causes it to crash once actually
> trying to allocate the buffers.

Will do.





-- 
Pain is temporary. It may last a minute, or an hour, or a day, or a year,
but eventually it will subside and something else will take its place. If
I quit, however, it lasts forever.


^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: cx231xx kernel oops
  2011-12-12 15:58                     ` Yan Seiner
@ 2011-12-12 16:22                       ` Devin Heitmueller
  2011-12-12 16:29                         ` Yan Seiner
  0 siblings, 1 reply; 19+ messages in thread
From: Devin Heitmueller @ 2011-12-12 16:22 UTC (permalink / raw)
  To: Yan Seiner; +Cc: linux-media

On Mon, Dec 12, 2011 at 10:58 AM, Yan Seiner <yan@seiner.com> wrote:
>> Also, just to be clear, the USB Live 2 doesn't have any onboard
>> hardware compression.  It has comparable requirements related to USB
>> bus utilization as any other USB framegrabber.  The only possible
>> advantage you might get is that it does have an onboard scaler, so if
>> you're willing to compromise on quality you can change the capture
>> resolution to a lower value such as 320x240.  Also, bear in mind that
>> the cx231xx driver may not be properly tuned to reduce the alternate
>> it uses dependent on resolution.  To my knowledge that functionality
>> has not been thoroughly tested (as it's an unpopular use case).
>
> OK, thanks.  I was hoping this was a hardware framegrabber; the info on
> the website is so ambiguous as to be nearly useless.

I think you're just confused about the terminology.  The term
"framegrabber" inherently means that it's delivering raw video (as
opposed to having onboard compression and providing MPEG or some other
compressed format).  All framegrabbers are hardware framegrabbers.

There were some *really* old devices that delivered the frames with
JPEG or proprietary compression so that they fit within USB 1.1, but
those designs are almost entirely gone given the hardware cost and the
lack of need since almost everything nowadays is USB 2.0.

You may wish to look at the HVR-1950, which is well supported under
Linux and does deliver MPEG video.  It's obviously more expensive that
the USB Live 2 and it has a tuner which you probably don't need, but
it does avoid the issue if you have USB bus constraints.

Devin

-- 
Devin J. Heitmueller - Kernel Labs
http://www.kernellabs.com

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: cx231xx kernel oops
  2011-12-12 16:22                       ` Devin Heitmueller
@ 2011-12-12 16:29                         ` Yan Seiner
  0 siblings, 0 replies; 19+ messages in thread
From: Yan Seiner @ 2011-12-12 16:29 UTC (permalink / raw)
  To: Devin Heitmueller; +Cc: linux-media


On Mon, December 12, 2011 8:22 am, Devin Heitmueller wrote:
> On Mon, Dec 12, 2011 at 10:58 AM, Yan Seiner <yan@seiner.com> wrote:
>>> Also, just to be clear, the USB Live 2 doesn't have any onboard
>>> hardware compression.  It has comparable requirements related to USB
>>> bus utilization as any other USB framegrabber.  The only possible
>>> advantage you might get is that it does have an onboard scaler, so if
>>> you're willing to compromise on quality you can change the capture
>>> resolution to a lower value such as 320x240.  Also, bear in mind that
>>> the cx231xx driver may not be properly tuned to reduce the alternate
>>> it uses dependent on resolution.  To my knowledge that functionality
>>> has not been thoroughly tested (as it's an unpopular use case).
>>
>> OK, thanks.  I was hoping this was a hardware framegrabber; the info on
>> the website is so ambiguous as to be nearly useless.
>
> I think you're just confused about the terminology.  The term
> "framegrabber" inherently means that it's delivering raw video (as
> opposed to having onboard compression and providing MPEG or some other
> compressed format).  All framegrabbers are hardware framegrabbers.

Aha.  Thanks for the explanation.

>
> You may wish to look at the HVR-1950, which is well supported under
> Linux and does deliver MPEG video.  It's obviously more expensive that
> the USB Live 2 and it has a tuner which you probably don't need, but
> it does avoid the issue if you have USB bus constraints.

I had looked at the HVR-1950 but the power consumption was prohibitive for
my application.  :-(

--Yan

-- 
Pain is temporary. It may last a minute, or an hour, or a day, or a year,
but eventually it will subside and something else will take its place. If
I quit, however, it lasts forever.


^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: cx231xx kernel oops
  2011-12-12 12:46                 ` Yan Seiner
  2011-12-12 14:23                   ` Devin Heitmueller
@ 2011-12-13  4:42                   ` Yan Seiner
  2011-12-13 14:47                     ` Yan Seiner
  1 sibling, 1 reply; 19+ messages in thread
From: Yan Seiner @ 2011-12-13  4:42 UTC (permalink / raw)
  To: linux-media

Yan Seiner wrote:
> Andy Walls wrote:
>> 800 MB for 320x420 frames? It sounds like your app has gooned its 
>> requested buffer size.
>>   
>
> That's an understatement.  :-)
>
>> <wild speculation>
>> This might be due to endianess differences between MIPS abd x86 and 
>> your app only being written and tested on x86.
>> </wild speculation>
>>   
>
> My speculation too.  I don't know where that number comes from; the 
> same app works fine with the saa7115 driver if I switch frame 
> grabbers.  I'll have to do some fiddling with the code to figure out 
> where the problem lies.  It's some interaction between the app and the 
> cx231xx driver.

HAH!

This simple patch fixes it on my MIPS platform - not tested on other 
architectures as I don't have them readily available running a newer kernel:


--- 
/data10/home/yan/openwrt/backfire/trunk/build_dir/linux-brcm47xx/linux-3.0.3/drivers/media/video/cx231xx/cx231xx-pcb-cfg.c    
2011-08-17 10:57:16.000000000 -0700
+++ cx231xx-pcb-cfg.c    2011-12-12 20:16:23.000000000 -0800
@@ -672,7 +672,9 @@
     pcb config it is related to */
     cx231xx_read_ctrl_reg(dev, VRT_GET_REGISTER, BOARD_CFG_STAT, data, 4);
 
-    config_info = *((u32 *) data);
+    //config_info = *((u32 *) data);
+    config_info = *(data);
+    cx231xx_info("config_info %x\n",config_info);
     usb_speed = (u8) (config_info & 0x1);
 
     /* Verify this device belongs to Bus power or Self power device */


No more errors and the frame grabber works up to 480x320 even on a slow 
MIPS board.

[   33.640000] cx231xx v4l2 driver loaded.
[   33.650000] cx231xx #0: New device Hauppauge Hauppauge Device @ 480 
Mbps (2040:c200) with 5 interfaces
[   33.660000] cx231xx #0: registering interface 1
[   33.660000] cx231xx #0: config_info c9
[   33.670000] cx231xx #0: can't change interface 3 alt no. to 3: Max. 
Pkt size = 0
[   33.680000] cx231xx #0: can't change interface 4 alt no. to 1: Max. 
Pkt size = 0
[   33.690000] cx231xx #0: Identified as Hauppauge USB Live 2 (card=9)
[   33.800000] cx231xx #0: cx231xx_dif_set_standard: setStandard to ffffffff
[   33.820000] cx231xx #0: Changing the i2c master port to 3
[   33.820000] cx25840 0-0044: cx23102 A/V decoder found @ 0x88 (cx231xx #0)
[   33.850000] cx25840 0-0044:  Firmware download size changed to 16 
bytes max length
[   35.880000] cx25840 0-0044: loaded v4l-cx231xx-avcore-01.fw firmware 
(16382 bytes)
[   35.920000] cx231xx #0: cx231xx #0: v4l2 driver version 0.0.1
[   35.950000] cx231xx #0: cx231xx_dif_set_standard: setStandard to ffffffff
[   36.000000] cx231xx #0: video_mux : 0
[   36.010000] cx231xx #0: do_mode_ctrl_overrides : 0xb000
[   36.010000] cx231xx #0: do_mode_ctrl_overrides NTSC
[   36.020000] cx231xx #0: cx231xx #0/0: registered device video0 [v4l2]
[   36.030000] cx231xx #0: cx231xx #0/0: registered device vbi0
[   36.040000] cx231xx #0: V4L2 device registered as video0 and vbi0
[   36.040000] cx231xx #0: EndPoint Addr 0x8400, Alternate settings: 5
[   36.050000] cx231xx #0: Alternate setting 0, max size= 512
[   36.050000] cx231xx #0: Alternate setting 1, max size= 184
[   36.060000] cx231xx #0: Alternate setting 2, max size= 728
[   36.070000] cx231xx #0: Alternate setting 3, max size= 2892
[   36.070000] cx231xx #0: Alternate setting 4, max size= 1800
[   36.080000] cx231xx #0: EndPoint Addr 0x8500, Alternate settings: 2
[   36.080000] cx231xx #0: Alternate setting 0, max size= 512
[   36.090000] cx231xx #0: Alternate setting 1, max size= 512
[   36.090000] cx231xx #0: EndPoint Addr 0x8600, Alternate settings: 2
[   36.100000] cx231xx #0: Alternate setting 0, max size= 512
[   36.110000] cx231xx #0: Alternate setting 1, max size= 576
[   36.110000] usbcore: registered new interface driver cx231xx
[   36.320000] ar71xx-wdt: enabling watchdog timer

-- 
Few people are capable of expressing with equanimity opinions which differ from the prejudices of their social environment. Most people are even incapable of forming such opinions.
    Albert Einstein


^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: cx231xx kernel oops
  2011-12-13  4:42                   ` Yan Seiner
@ 2011-12-13 14:47                     ` Yan Seiner
  0 siblings, 0 replies; 19+ messages in thread
From: Yan Seiner @ 2011-12-13 14:47 UTC (permalink / raw)
  To: linux-media

Yan Seiner wrote:
> Yan Seiner wrote:
>> Andy Walls wrote:
>>> 800 MB for 320x420 frames? It sounds like your app has gooned its 
>>> requested buffer size.
>>>   
>>
>> That's an understatement.  :-)
>>
>>> <wild speculation>
>>> This might be due to endianess differences between MIPS abd x86 and 
>>> your app only being written and tested on x86.
>>> </wild speculation>
>>>   
>>
>> My speculation too.  I don't know where that number comes from; the 
>> same app works fine with the saa7115 driver if I switch frame 
>> grabbers.  I'll have to do some fiddling with the code to figure out 
>> where the problem lies.  It's some interaction between the app and 
>> the cx231xx driver.
>
> HAH!
>
> This simple patch fixes it on my MIPS platform - not tested on other 
> architectures as I don't have them readily available running a newer 
> kernel:
>
OK, too groggy last night with my own success... Here's the better 
solution.  Should work on all architectures.

diff -U3 
/data10/home/yan/openwrt/backfire/trunk/build_dir/linux-brcm47xx/linux-3.0.3/drivers/media/video/cx231xx/cx231xx-pcb-cfg.c 
cx231xx-pcb-cfg.c
--- 
/data10/home/yan/openwrt/backfire/trunk/build_dir/linux-brcm47xx/linux-3.0.3/drivers/media/video/cx231xx/cx231xx-pcb-cfg.c    
2011-08-17 10:57:16.000000000 -0700
+++ cx231xx-pcb-cfg.c    2011-12-13 05:50:36.000000000 -0800
@@ -672,7 +672,9 @@
     pcb config it is related to */
     cx231xx_read_ctrl_reg(dev, VRT_GET_REGISTER, BOARD_CFG_STAT, data, 4);
 
-    config_info = *((u32 *) data);
+    //config_info = *((u32 *) data);
+    config_info = ((u32)(*(data))) + (((u32)(*(data+1))) << 8) + 
(((u32)(*(data+2))) << 16) + (((u32)(*(data+3))) << 24);
+    cx231xx_info("config_info %x\n",config_info);
     usb_speed = (u8) (config_info & 0x1);
 
     /* Verify this device belongs to Bus power or Self power device */



-- 
Few people are capable of expressing with equanimity opinions which differ from the prejudices of their social environment. Most people are even incapable of forming such opinions.
    Albert Einstein


^ permalink raw reply	[flat|nested] 19+ messages in thread

end of thread, other threads:[~2011-12-13 14:47 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-12-05  2:01 cx231xx kernel oops Yan Seiner
2011-12-05  4:15 ` Andy Walls
2011-12-05  4:21   ` Yan Seiner
2011-12-05  4:45   ` Yan Seiner
2011-12-05  4:54     ` Yan Seiner
2011-12-05 12:19       ` Yan Seiner
2011-12-05 12:31         ` Yan Seiner
2011-12-05 15:18         ` Andy Walls
2011-12-05 15:28           ` Yan Seiner
2011-12-12  1:04             ` Yan Seiner
2011-12-12 12:34               ` Andy Walls
2011-12-12 12:46                 ` Yan Seiner
2011-12-12 14:23                   ` Devin Heitmueller
2011-12-12 15:58                     ` Yan Seiner
2011-12-12 16:22                       ` Devin Heitmueller
2011-12-12 16:29                         ` Yan Seiner
2011-12-13  4:42                   ` Yan Seiner
2011-12-13 14:47                     ` Yan Seiner
2011-12-05 15:06       ` Andy Walls

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).