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

R. G. Newbury newbury at mandamus.org
Thu Jul 19 22:26:52 UTC 2012


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.




G.









More information about the mythtv-users mailing list