[gull] Module cx88_dvb - Contourner un probleme de suspend to RAM
Frederic Dumas
f.dumas at ellis.siteparc.fr
Sun Aug 25 16:47:20 CEST 2019
Salut Yann,
> j'avais contourné en déchargeant le module avant la mise en veille
> (c'était sur disque et pas en RAM dans mon cas) et en le rechargeant au
> réveil.
>
> Ca fonctionnait, malheureusement, je ne me souviens plus des détails.
Merci pour cet encouragement à chercher une solution du coté du
déchargement du (des) module(s) avant mise en veille.
Questions pratiques à ceux qui savent (lsmod en post-scriptum.) :
Dans quel fichier de configuration ajouter l'ordre de déchargement du
module avant de passer en Suspend to RAM, et le recharger au réveil ?
Encore plus basique, est-il suffisant de décharger cx88_dvb ? Les autres
modules dont il dépend, propres aux composants de la carte, suivent-ils
automatiquement ?
Pour recharger, même question: un modprobe sur le module de tête
suffit-il, ou faut-il tous les citer ? Si oui, j'ai le vague souvenir
que l'ordre d'insertion n'est pas indifférent. Autre vague souvenir:
udev est impliqué dans l'affaire...
En parallèle, j'ai posté un rapport de bug sur la liste de discussion
des développeurs de pilotes Video4Linux/DVB.
https://www.mail-archive.com/linux-media@vger.kernel.org/msg149468.html
Pronostique: 50% de chances de recevoir une réponse affirmant que c'est
mon BIOS/chipest/PC qui est fautif et que le pilote n'y peut rien. Même
si en pratique, bien des pilotes sont modifiés pour fonctionner malgré
les bugs hardware.
J'ouvre les paris. :-)
> Le TDA9887 est le contrôleur de bus I2C de la carte.
Erreur de ma part, pour avoir d'abord rapidement lu les titres des
résultats de recherche sur Google. J'ai préparé le rapport de bug de
façon plus sérieuse. Vérification faite, le TDA9887 est un démodulateur
TV PAL/SECAM/NTSC et radio FM:
> The TDA9887 is an alignment-free multistandard (PAL, SECAM and NTSC) vision and sound IF signal PLL demodulator for positive and negative modulation, including sound AM and FM processing. A special function is implemented for the demodulation of FM radio signals (fRIF = 10.7 MHz).
Source:http://pdf.datasheetcatalog.com/datasheet/philips/TDA9887T_V4.pdf
L'erreur I2C I/O à propos du TDA9887 rapporté dans syslog n'était donc
qu'un symptôme parmi d'autres et pas une cause du dysfonctionnement.
A suivre, mais ça ira lentement. :-/
--
Frédéric Dumas
f.dumas at ellis.siteparc.fr
Le 13/08/2019 à 15:03, Yann Lehmann a écrit :
> Am 13.08.2019 um 14:27 schrieb Frederic Dumas:
>>
>> > Que me conseillez-vous pour diagnostiquer plus loin, ou peut-être
>> simplement pour appliquer une mesure de contournement. Interdire au
>> kernel de décharger le module cx88 avant son passage en veille
>> serait-il la bonne solution ?
>>
>>
>
> J'avais eu un problème similaire (avec une carte DigitalDevices), que
> j'avais contourné en déchargeant le module avant la mise en veille
> (c'était sur disque et pas en RAM dans mon cas) et en le rechargeant au
> réveil.
>
> Ca fonctionnait, malheureusement, je ne me souviens plus des détails.
$ lsmod
Module Size Used by
serial_cs 24576 1
nvidia_uvm 36864 0
cx22702 16384 1
isl6421 16384 1
cx24116 20480 1
cx88_dvb 36864 11
cx88_vp3054_i2c 16384 1 cx88_dvb
videobuf2_dvb 16384 1 cx88_dvb
dvb_core 106496 2 videobuf2_dvb,cx88_dvb
snd_soc_wm8776 20480 0
snd_soc_core 204800 1 snd_soc_wm8776
snd_compress 20480 1 snd_soc_core
snd_pcm_dmaengine 16384 1 snd_soc_core
wm8775 16384 1
ir_rc5_decoder 16384 0
rc_hauppauge 16384 0
ir_lirc_codec 16384 0
lirc_dev 16384 2 ir_lirc_codec
tuner_simple 20480 2
tuner_types 20480 1 tuner_simple
tda9887 16384 1
snd_hda_codec_hdmi 45056 4
tda8290 24576 0
tuner 28672 2
snd_hda_intel 36864 1
serio_raw 16384 0
cx8802 20480 1 cx88_dvb
cx8800 28672 0
snd_hda_codec 106496 2 snd_hda_intel,snd_hda_codec_hdmi
cx88_alsa 20480 1
joydev 20480 0
cx88xx 81920 4 cx88_alsa,cx88_dvb,cx8802,cx8800
snd_intel8x0 36864 3
input_leds 16384 0
snd_hda_core 65536 3
snd_hda_intel,snd_hda_codec,snd_hda_codec_hdmi
videobuf2_dma_sg 16384 2 cx88_dvb,cx8800
tveeprom 20480 1 cx88xx
snd_ac97_codec 106496 1 snd_intel8x0
rc_core 32768 6
rc_hauppauge,ir_lirc_codec,lirc_dev,cx88xx,ir_rc5_decoder
videobuf2_memops 16384 1 videobuf2_dma_sg
snd_hwdep 16384 1 snd_hda_codec
v4l2_common 16384 4 tuner,wm8775,cx88xx,cx8800
ac97_bus 16384 2 snd_ac97_codec,snd_soc_core
videobuf2_v4l2 20480 2 cx88_dvb,cx8800
xpad 32768 0
videobuf2_core 36864 6
videobuf2_dvb,cx88_dvb,cx8802,cx88xx,videobuf2_v4l2,cx8800
snd_pcm 86016 11
snd_hda_intel,snd_soc_wm8776,snd_hda_codec,cx88_alsa,snd_pcm_dmaengine,snd_hda_core,snd_ac97_codec,snd_hda_codec_hdmi,snd_intel8x0,snd_soc_core
ff_memless 16384 1 xpad
nvidia 9535488 72 nvidia_uvm
snd_seq_midi 16384 0
videodev 155648 8
tuner,v4l2_common,cx88_alsa,wm8775,videobuf2_core,cx88xx,videobuf2_v4l2,cx8800
snd_seq_midi_event 16384 1 snd_seq_midi
media 32768 2 tuner,videodev
snd_rawmidi 28672 1 snd_seq_midi
i2c_algo_bit 16384 2 cx88_vp3054_i2c,cx88xx
snd_seq 57344 2 snd_seq_midi_event,snd_seq_midi
snd_seq_device 16384 3 snd_seq,snd_rawmidi,snd_seq_midi
pcmcia 57344 1 serial_cs
drm 344064 3 nvidia
snd_timer 28672 2 snd_seq,snd_pcm
yenta_socket 40960 0
snd 69632 23
snd_compress,snd_hda_intel,snd_hwdep,snd_seq,snd_hda_codec,cx88_alsa,snd_ac97_codec,snd_timer,snd_rawmidi,snd_hda_codec_hdmi,snd_intel8x0,snd_seq_device,snd_soc_core,snd_pcm
pcmcia_rsrc 20480 1 yenta_socket
pcmcia_core 24576 3 yenta_socket,pcmcia,pcmcia_rsrc
soundcore 16384 1 snd
shpchp 32768 0
mac_hid 16384 0
sch_fq_codel 20480 2
parport_pc 32768 0
ppdev 20480 0
lp 20480 0
parport 45056 3 lp,parport_pc,ppdev
ip_tables 20480 0
x_tables 28672 1 ip_tables
autofs4 40960 2
btrfs 1089536 1
xor 28672 1 btrfs
zstd_compress 151552 1 btrfs
raid6_pq 106496 1 btrfs
dm_mirror 24576 0
dm_region_hash 20480 1 dm_mirror
dm_log 20480 2 dm_mirror,dm_region_hash
uas 20480 0
usb_storage 57344 1 uas
hid_generic 16384 0
usbhid 49152 0
hid 98304 2 hid_generic,usbhid
cb710_mmc 20480 0
b44 36864 0
psmouse 131072 0
cb710 16384 1 cb710_mmc
ssb 57344 1 b44
mii 16384 1 b44
sis_agp 16384 1
pata_acpi 16384 0
i2c_sis96x 16384 0
More information about the gull
mailing list