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

Mike Perkins mikep at randomtraveller.org.uk
Tue Jul 17 20:49:17 UTC 2012


On 17/07/12 21:34, R. G. Newbury wrote:
> 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.
>
Is this the kind of situation that calls for udev rules?

-- 

Mike Perkins





More information about the mythtv-users mailing list