[mythtv-users] OT: unreliable firmware load after cold boot

Saul A. Peebsen jaglover at gmail.com
Fri Jul 20 00:38:01 UTC 2012


On Thu, 19 Jul 2012 18:26:52 -0400
"R. G. Newbury" <newbury at mandamus.org> wrote:

> On 07/19/2012 12:51 PM, Warpme wrote:
> > On 7/17/12 9:58 PM, Warpme wrote:
> >> Hi *
> >>
> >> I just finish upgrade my system to 4xDVB-S2 + 1xDVB-T.
> >> All runs over single cable (SCR) :-)
> >>
> >> I'm looking for advice related to unreliable firmware loading.
> >> My sys is ArchLinux, kernel3.3.8, Mystique SaTiX-S2 Sky Xpress
> >> Dual, DVB-S2 a.k.a DvbSky S952.
> >> Card is based on Montage Montage DS3103/TS2022 with cx23885 A/V
> >> decoder. Both chips required firmware files.
> >> My issue is that sometimes (especially after cold boot) one or both
> >> tuners are non-functional due issue with loading firmware.
> >> Warm reboot usually helps - but 1 for 10 times not.
> >> I have impression this is kind of races or kernel bug.
> >>
> >> Does anybody idea how to solve issue ?
> >>
> >>
> >> Kernel log looks following:
> >>
> >> [root at mythtv var]# cat /var/log/kernel.log | grep
> >> "DVB:\|firmware\|cx\|m88ds"
> >> Jul 17 21:04:09 [ 5.457385] cx88/2: cx2388x MPEG-TS Driver Manager
> >> version 0.0.9 loaded
> >> Jul 17 21:04:09 [ 5.460816] cx88[0]: subsystem: b034:3034, board:
> >> Prof 7301 DVB-S/S2 [card=83,autodetected], frontend(s): 1
> >> Jul 17 21:04:09 [ 5.460819] cx88[0]: TV tuner type -1, Radio tuner
> >> type -1
> >> Jul 17 21:04:09 [ 5.478014] cx88/0: cx2388x v4l2 driver version
> >> 0.0.9 loaded
> >> Jul 17 21:04:09 [ 5.690521] cx23885 driver version 0.0.3 loaded
> >> Jul 17 21:04:09 [ 5.691092] CORE cx23885[0]: subsystem: 4254:0952,
> >> board: DVBSKY S952 [card=36,autodetected]
> >> Jul 17 21:04:09 [ 5.996797] cx25840 3-0044: cx23885 A/V decoder
> >> found @ 0x88 (cx23885[0])
> >> Jul 17 21:04:09 [ 6.210084] input: cx88 IR (Prof 7301 DVB-S/S2) as
> >> /devices/pci0000:00/0000:00:14.4/0000:05:06.2/rc/rc0/input4
> >> Jul 17 21:04:09 [ 6.210123] rc0: cx88 IR (Prof 7301 DVB-S/S2) as
> >> /devices/pci0000:00/0000:00:14.4/0000:05:06.2/rc/rc0
> >> Jul 17 21:04:09 [ 6.213429] input: MCE IR Keyboard/Mouse (cx88xx)
> >> as /devices/virtual/input/input5
> >> Jul 17 21:04:09 [ 6.213500] rc rc0: lirc_dev: driver ir-lirc-codec
> >> (cx88xx) registered at minor = 0
> >> Jul 17 21:04:09 [ 6.213502] cx88[0]/2: cx2388x 8802 Driver Manager
> >> Jul 17 21:04:09 [ 6.213531] cx88[0]/2: found at 0000:05:06.2, rev:
> >> 5, irq: 20, latency: 32, mmio: 0xf5000000
> >> Jul 17 21:04:09 [ 6.220418] cx88[1]: subsystem: 0070:9002, board:
> >> Hauppauge Nova-T DVB-T [card=18,autodetected], frontend(s): 1
> >> Jul 17 21:04:09 [ 6.220421] cx88[1]: TV tuner type 4, Radio tuner
> >> type -1 Jul 17 21:04:09 [ 6.384583] cx88[1]: hauppauge eeprom:
> >> model=90003 Jul 17 21:04:09 [ 6.443479] input: cx88 IR (Hauppauge
> >> Nova-T DVB-T
> >> as /devices/pci0000:00/0000:00:14.4/0000:05:07.2/rc/rc1/input6 Jul
> >> 17 21:04:09 [ 6.443525] rc1: cx88 IR (Hauppauge Nova-T DVB-T
> >> as /devices/pci0000:00/0000:00:14.4/0000:05:07.2/rc/rc1 Jul 17
> >> 21:04:09 [ 6.444724] input: MCE IR Keyboard/Mouse (cx88xx)
> >> as /devices/virtual/input/input7 Jul 17 21:04:09 [ 6.444813] rc
> >> rc1: lirc_dev: driver ir-lirc-codec (cx88xx) registered at minor =
> >> 1 Jul 17 21:04:09 [ 6.444817] cx88[1]/2: cx2388x 8802 Driver
> >> Manager Jul 17 21:04:09 [ 6.444847] cx88[1]/2: found at
> >> 0000:05:07.2, rev: 5, irq: 21, latency: 32, mmio: 0xfa000000
> >> Jul 17 21:04:09 [ 6.448487] cx88[0]/0: found at 0000:05:06.0, rev:
> >> 5, irq: 20, latency: 32, mmio: 0xf6000000
> >> Jul 17 21:04:09 [ 6.448938] cx88[0]/0: registered device video0
> >> [v4l2] Jul 17 21:04:09 [ 6.449299] cx88[0]/0: registered device
> >> vbi0 Jul 17 21:04:09 [ 6.449418] cx88[1]/0: found at 0000:05:07.0,
> >> rev: 5, irq: 21, latency: 32, mmio: 0xfb000000
> >> Jul 17 21:04:09 [ 6.449586] cx88[1]/0: registered device video1
> >> [v4l2] Jul 17 21:04:09 [ 6.449735] cx88[1]/0: registered device
> >> vbi1 Jul 17 21:04:09 [ 6.454475] cx88[2]: subsystem: b034:3034,
> >> board: Prof 7301 DVB-S/S2 [card=83,autodetected], frontend(s): 1
> >> Jul 17 21:04:09 [ 6.454478] cx88[2]: TV tuner type -1, Radio tuner
> >> type -1
> >> Jul 17 21:04:09 [ 6.697405] cx25840 3-0044: loaded
> >> v4l-cx23885-avcore-01.fw firmware (16382 bytes)
> >> Jul 17 21:04:09 [ 6.731510] cx23885_dvb_register() allocating 1
> >> frontend(s)
> >> Jul 17 21:04:09 [ 6.731515] cx23885[0]: cx23885 based dvb card
> >> Jul 17 21:04:09 [ 6.833715] m88ds3103_load_firmware: Waiting for
> >> firmware upload (dvb-fe-ds3103.fw)...
> >> Jul 17 21:04:09 [ 6.846768] firmware 0000:02:00.0:
> >> firmware_loading_store: unexpected value (0)
> >> Jul 17 21:04:09 [ 6.847589] m88ds3103_load_firmware: Waiting for
> >> firmware upload(2)...
> >> Jul 17 21:04:09 [ 6.847591] m88ds3103_load_firmware: No firmware
> >> uploaded (timeout or file not found?)
> >> Jul 17 21:04:09 [ 6.848230] m88ds3103_initilaze: Unable initialize
> >> firmware
> >> Jul 17 21:04:09 [ 6.848874] DVB: registering new adapter
> >> (cx23885[0]) Jul 17 21:04:09 [ 6.848876] DVB: registering adapter
> >> 0 frontend 0 (Montage DS3103/TS2022)...
> >> Jul 17 21:04:09 [ 6.849338] cx23885_dvb_register() allocating 1
> >> frontend(s)
> >> Jul 17 21:04:09 [ 6.849340] cx23885[0]: cx23885 based dvb card
> >> Jul 17 21:04:09 [ 6.907675] m88ds3103_load_firmware: Waiting for
> >> firmware upload (dvb-fe-ds3103.fw)...
> >> Jul 17 21:04:09 [ 6.908077] firmware 0000:02:00.0:
> >> firmware_loading_store: unexpected value (0)
> >> Jul 17 21:04:09 [ 6.910099] m88ds3103_load_firmware: Waiting for
> >> firmware upload(2)...
> >> Jul 17 21:04:09 [ 6.910102] m88ds3103_load_firmware: No firmware
> >> uploaded (timeout or file not found?)
> >> Jul 17 21:04:09 [ 6.910822] m88ds3103_initilaze: Unable initialize
> >> firmware
> >> Jul 17 21:04:09 [ 6.911534] DVB: registering new adapter
> >> (cx23885[0]) Jul 17 21:04:09 [ 6.911537] DVB: registering adapter
> >> 1 frontend 0 (Montage DS3103/TS2022)...
> >> Jul 17 21:04:09 [ 6.912099] cx23885_dev_checkrevision() Hardware
> >> revision = 0xa5
> >> Jul 17 21:04:09 [ 6.912105] cx23885[0]/0: found at 0000:02:00.0,
> >> rev: 4, irq: 16, latency: 0, mmio: 0xfd200000
> >> Jul 17 21:04:09 [ 6.953136] input: cx88 IR (Prof 7301 DVB-S/S2) as
> >> /devices/pci0000:00/0000:00:14.4/0000:05:08.0/rc/rc2/input8
> >> Jul 17 21:04:09 [ 6.953347] rc2: cx88 IR (Prof 7301 DVB-S/S2) as
> >> /devices/pci0000:00/0000:00:14.4/0000:05:08.0/rc/rc2
> >> Jul 17 21:04:09 [ 6.953524] input: MCE IR Keyboard/Mouse (cx88xx)
> >> as /devices/virtual/input/input9
> >> Jul 17 21:04:09 [ 6.953864] rc rc2: lirc_dev: driver ir-lirc-codec
> >> (cx88xx) registered at minor = 2
> >> Jul 17 21:04:09 [ 6.953870] cx88[2]/0: found at 0000:05:08.0, rev:
> >> 5, irq: 23, latency: 32, mmio: 0xf8000000
> >> Jul 17 21:04:09 [ 6.954019] cx88[2]/0: registered device video2
> >> [v4l2] Jul 17 21:04:09 [ 6.954121] cx88[2]/0: registered device
> >> vbi2 Jul 17 21:04:09 [ 6.957672] cx88[2]/2: cx2388x 8802 Driver
> >> Manager Jul 17 21:04:09 [ 6.957691] cx88[2]/2: found at
> >> 0000:05:08.2, rev: 5, irq: 23, latency: 32, mmio: 0xf7000000
> >> Jul 17 21:04:09 [ 6.958037] cx88/2: cx2388x dvb driver version
> >> 0.0.9 loaded
> >> Jul 17 21:04:09 [ 6.958039] cx88/2: registering cx8802 driver,
> >> type: dvb access: shared
> >> Jul 17 21:04:09 [ 6.958041] cx88[0]/2: subsystem: b034:3034, board:
> >> Prof 7301 DVB-S/S2 [card=83]
> >> Jul 17 21:04:09 [ 6.958043] cx88[0]/2: cx2388x based DVB/ATSC card
> >> Jul 17 21:04:09 [ 6.958045] cx8802_alloc_frontends() allocating 1
> >> frontend(s)
> >> Jul 17 21:04:09 [ 7.170175] input: cx23885 IR (DVBSKY S952) as
> >> /devices/pci0000:00/0000:00:04.0/0000:02:00.0/rc/rc3/input10
> >> Jul 17 21:04:09 [ 7.173748] rc3: cx23885 IR (DVBSKY S952) as
> >> /devices/pci0000:00/0000:00:04.0/0000:02:00.0/rc/rc3
> >> Jul 17 21:04:09 [ 7.173877] input: MCE IR Keyboard/Mouse (cx23885)
> >> as /devices/virtual/input/input11
> >> Jul 17 21:04:09 [ 7.174106] rc rc3: lirc_dev: driver ir-lirc-codec
> >> (cx23885) registered at minor = 3
> >> Jul 17 21:04:09 [ 7.386469] DVB: registering new adapter (cx88[0])
> >> Jul 17 21:04:09 [ 7.386473] DVB: registering adapter 2 frontend 0
> >> (STV090x Multistandard)...
> >> Jul 17 21:04:09 [ 7.387604] cx88[1]/2: subsystem: 0070:9002, board:
> >> Hauppauge Nova-T DVB-T [card=18]
> >> Jul 17 21:04:09 [ 7.387608] cx88[1]/2: cx2388x based DVB/ATSC card
> >> Jul 17 21:04:09 [ 7.387610] cx8802_alloc_frontends() allocating 1
> >> frontend(s)
> >> Jul 17 21:04:09 [ 7.762722] DVB: registering new adapter (cx88[1])
> >> Jul 17 21:04:09 [ 7.762726] DVB: registering adapter 3 frontend 0
> >> (Conexant CX22702 DVB-T)...
> >> Jul 17 21:04:09 [ 7.766281] cx88[2]/2: subsystem: b034:3034, board:
> >> Prof 7301 DVB-S/S2 [card=83]
> >> Jul 17 21:04:09 [ 7.766285] cx88[2]/2: cx2388x based DVB/ATSC card
> >> Jul 17 21:04:09 [ 7.766287] cx8802_alloc_frontends() allocating 1
> >> frontend(s)
> >> Jul 17 21:04:09 [ 7.893821] DVB: registering new adapter (cx88[2])
> >> Jul 17 21:04:09 [ 7.893824] DVB: registering adapter 4 frontend 0
> >> (STV090x Multistandard)...
> >> Jul 17 21:05:45 [ 104.894844] DVB: registering new adapter
> >> (DVB-LOOPBACK) Jul 17 21:05:45 [ 104.896424] DVB: registering new
> >> adapter (DVB-LOOPBACK) Jul 17 21:05:45 [ 104.896832] DVB:
> >> registering new adapter (DVB-LOOPBACK) Jul 17 21:05:45
> >> [ 104.897199] DVB: registering new adapter (DVB-LOOPBACK) Jul 17
> >> 21:14:07 [ 606.813334] cx8802_start_dma() Failed. Unsupported
> >> value in .mpeg (0x00000001)
> 
> 
> The drivers need to load in a particular order. It may be (as it is
> with my Hauppauge 2250 card) that the modules are being loaded in the
> wrong order.
> 
> Try removing them and then reloading in the desired order. Looks like 
> you have 2 separate tuner sets, with the cx88 ( or cx2388) module as
> the base. If you can get that repeatable, then stick it into rc.local
> and call it on every boot.
> 
> This is a workaround and not a fix, but your mythbox will work and
> the WAF will climb, not plunge.

I haven't following this thread from beginning. But if you have
firmware loading problems why don't you build it into kernel?
Works for me.

-- 
Cheers, Saul


More information about the mythtv-users mailing list