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

R. G. Newbury newbury at mandamus.org
Tue Jul 17 20:34:54 UTC 2012


On 07/17/2012 03: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)


I have had a similar problem with a Hauppauge 2250 card. The card 
requires that the modules be loaded in a particular order, as the later 
module relies upon the existence of the firmware of the earlier modules. 
But the computer generally fails to use the correct order on boot.

I have added lines to rc.local to remove the modules and then reload in 
the correct order. Because the modules 'above' rely on those below (when 
correctly installed) you will get a error something like 'module in use: 
cannot remove'.
It took a brute force ring-around to ensure that all three (in my case) 
were removed: that is: I did modprobe -r #3, modprobe -r #2, modprobe -r 
#1, modprobe -r #2, modprobe -r #3. modprobe -r #2. Then installed them 
in proper order and get a 'registered' or 'initialized' report.

Geoff











More information about the mythtv-users mailing list