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

Warpme warpme at o2.pl
Wed Jul 18 19:54:15 UTC 2012


On 7/17/12 10:34 PM, 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.
>
> Geoff
>
>
>
>
>
>
>
>
>
> _______________________________________________
> mythtv-users mailing list
> mythtv-users at mythtv.org
> http://www.mythtv.org/mailman/listinfo/mythtv-users
>
Oh well - this approach was my first try.
I was trying blacklist all relevant modules to have clear starting point 
and next write small script allowing to load them "reliably".
Issue is that after blacklisting all modules for this card it still 
loads. Probably there are some other modules - common with other cards - 
which are triggering load of modules for this card. Now I potentially 
have to cover not only this feral card but also modules for other - well 
working - cards.
I decided stop this concept and listen what some more knowledgeable ppl 
will say here...

-br


-------------- next part --------------
A non-text attachment was scrubbed...
Name: warpme.vcf
Type: text/x-vcard
Size: 83 bytes
Desc: not available
URL: <http://www.mythtv.org/pipermail/mythtv-users/attachments/20120718/e861cdee/attachment.vcf>


More information about the mythtv-users mailing list