Mois : novembre 2025

Lenovo

L’audio ne fonctionnait à nouveau plus correctement , malgré shutdown , reboot , et plus d’une minute avec bouton power enfoncé .

sudo /usr/local/bin//speaker.sh
[sudo] Mot de passe de stefan :  
Configuring amp at address 0x38 on i2c-17
Error: Write failed
Error: Write failed
Error: Write failed
Error: Write failed
Error: Write failed
Error: Write failed
Error: Write failed
Error: Write failed
Error: Write failed
Error: Write failed
Error: Write failed
Error: Write failed
Error: Write failed
Error: Write failed
Error: Write failed
Error: Write failed
Error: Write failed
Error: Write failed
Error: Write failed
Error: Write failed
Error: Write failed
Error: Write failed
Error: Write failed
Error: Write failed
Error: Write failed
Error: Write failed
Error: Write failed
Error: Write failed
Error: Write failed
Error: Write failed
Error: Write failed
Error: Write failed
Error: Write failed
Error: Write failed
Error: Write failed
Error: Write failed
Error: Write failed
Done configuring amp at 0x38
Configuring amp at address 0x3e on i2c-17
Error: Write failed
Error: Write failed
Error: Write failed
Error: Write failed
Error: Write failed
Error: Write failed
Error: Write failed
Error: Write failed
Error: Write failed
Error: Write failed
Error: Write failed
Error: Write failed
Error: Write failed
Error: Write failed
Error: Write failed
Error: Write failed
Error: Write failed
Error: Write failed
Error: Write failed
Error: Write failed
Error: Write failed
Error: Write failed
Error: Write failed
Error: Write failed
Error: Write failed
Error: Write failed
Error: Write failed
Error: Write failed
Error: Write failed
Error: Write failed
Error: Write failed
Error: Write failed
Error: Write failed
Error: Write failed
Error: Write failed
Error: Write failed
Error: Write failed
Done configuring amp at 0x3e

~ 6s
❯ cat  /usr/local/bin//speaker.sh
#!/bin/bash

i2c_bus=17
amp_addresses=(0x38 0x3e)

for i2c_addr in "${amp_addresses[@]}"; do
 echo "Configuring amp at address $i2c_addr on i2c-$i2c_bus"

 i2cset -f -y $i2c_bus $i2c_addr 0x00 0x00
 i2cset -f -y $i2c_bus $i2c_addr 0x7f 0x00
 i2cset -f -y $i2c_bus $i2c_addr 0x01 0x01
 i2cset -f -y $i2c_bus $i2c_addr 0x0e 0xc4
 i2cset -f -y $i2c_bus $i2c_addr 0x0f 0x40
 i2cset -f -y $i2c_bus $i2c_addr 0x5c 0xd9
 i2cset -f -y $i2c_bus $i2c_addr 0x60 0x10
 i2cset -f -y $i2c_bus $i2c_addr 0x0a 0x2e
 i2cset -f -y $i2c_bus $i2c_addr 0x0d 0x01
 i2cset -f -y $i2c_bus $i2c_addr 0x16 0x40

 i2cset -f -y $i2c_bus $i2c_addr 0x00 0x01
 i2cset -f -y $i2c_bus $i2c_addr 0x17 0xc8

 i2cset -f -y $i2c_bus $i2c_addr 0x00 0x04
 i2cset -f -y $i2c_bus $i2c_addr 0x30 0x00
 i2cset -f -y $i2c_bus $i2c_addr 0x31 0x00
 i2cset -f -y $i2c_bus $i2c_addr 0x32 0x00
 i2cset -f -y $i2c_bus $i2c_addr 0x33 0x01

 i2cset -f -y $i2c_bus $i2c_addr 0x00 0x08
 i2cset -f -y $i2c_bus $i2c_addr 0x18 0x00
 i2cset -f -y $i2c_bus $i2c_addr 0x19 0x00
 i2cset -f -y $i2c_bus $i2c_addr 0x1a 0x00
 i2cset -f -y $i2c_bus $i2c_addr 0x1b 0x00
 i2cset -f -y $i2c_bus $i2c_addr 0x28 0x40
 i2cset -f -y $i2c_bus $i2c_addr 0x29 0x00
 i2cset -f -y $i2c_bus $i2c_addr 0x2a 0x00
 i2cset -f -y $i2c_bus $i2c_addr 0x2b 0x00

 i2cset -f -y $i2c_bus $i2c_addr 0x00 0x0a
 i2cset -f -y $i2c_bus $i2c_addr 0x48 0x00
 i2cset -f -y $i2c_bus $i2c_addr 0x49 0x00
 i2cset -f -y $i2c_bus $i2c_addr 0x4a 0x00
 i2cset -f -y $i2c_bus $i2c_addr 0x4b 0x00
 i2cset -f -y $i2c_bus $i2c_addr 0x58 0x40
 i2cset -f -y $i2c_bus $i2c_addr 0x59 0x00
 i2cset -f -y $i2c_bus $i2c_addr 0x5a 0x00
 i2cset -f -y $i2c_bus $i2c_addr 0x5b 0x00

 i2cset -f -y $i2c_bus $i2c_addr 0x00 0x00
 i2cset -f -y $i2c_bus $i2c_addr 0x02 0x00

 echo "Done configuring amp at $i2c_addr"
done
lspci -nn | grep -i audio
00:1f.3 Multimedia audio controller [0401]: Intel Corporation Meteor Lake-P HD Audio Controller [8086:7e28] (rev 20)

~
❯ lspci -nnk | grep -iA 3 0403


La déconnexion de la batterie a permis une réinitialisation profonde du contrôleur intégré (EC) et des circuits de gestion d’alimentation de l’ordinateur portable. Sur des modèles comme le Lenovo Yoga Pro 9i, les amplificateurs audio (tels que TAS2781 ou similaires, intégrés au codec ALC287) peuvent entrer dans un état « bloqué » ou de basse puissance en raison de bogues firmware, d’interactions avec le noyau, ou de problèmes de gestion d’alimentation sous Linux. Cet état empêche les écritures I2C réussies (entraînant les erreurs « Write failed » dans le script), même si les périphériques sont physiquement présents. La réinitialisation efface cet état, restaurant une communication normale sans nécessairement modifier l’énumération des périphériques dans les outils comme lspci ou i2cdetect (qui sonde les accusés de réception I2C).
Pourquoi la détection reste identique : i2cdetect repose sur les réponses des périphériques avec un accusé de réception (ACK) lors d’une sonde. Si les amplificateurs étaient dans un mode de défaillance partielle, ils pouvaient ne pas répondre, entraînant un scan vide. Cependant, après la réinitialisation, ils peuvent maintenant accepter les écritures de votre script, permettant une configuration appropriée et une sortie audio complète (incluant les basses). Ce comportement est connu dans les configurations audio Linux pour les appareils Lenovo, où la visibilité et la fonctionnalité peuvent se dissocier en raison des particularités de gestion d’alimentation.

Compilation du kernel :

Latence sur ma connexion internet

Depuis quelques jours , je constate que ma connexion est plus lente que d’habitude .

❯ ping 8.8.8.8
  ping 1.1.1.1
  ping google.com

PING 8.8.8.8 (8.8.8.8) 56(84) octets de données.
64 octets de 8.8.8.8 : icmp_seq=1 ttl=115 temps=59.2 ms
64 octets de 8.8.8.8 : icmp_seq=2 ttl=115 temps=21.1 ms
64 octets de 8.8.8.8 : icmp_seq=3 ttl=115 temps=23.1 ms
64 octets de 8.8.8.8 : icmp_seq=4 ttl=115 temps=11.8 ms
64 octets de 8.8.8.8 : icmp_seq=5 ttl=115 temps=19.3 ms
64 octets de 8.8.8.8 : icmp_seq=6 ttl=115 temps=23.8 ms
64 octets de 8.8.8.8 : icmp_seq=7 ttl=115 temps=19.9 ms
64 octets de 8.8.8.8 : icmp_seq=13 ttl=115 temps=57.0 ms
64 octets de 8.8.8.8 : icmp_seq=14 ttl=115 temps=22.6 ms
64 octets de 8.8.8.8 : icmp_seq=15 ttl=115 temps=19.1 ms
64 octets de 8.8.8.8 : icmp_seq=16 ttl=115 temps=17.6 ms
^C
--- statistiques ping 8.8.8.8 ---
16 paquets transmis, 11 reçus, 31.25% packet loss, time 15156ms
rtt min/avg/max/mdev = 11.846/26.774/59.196/15.084 ms
PING 1.1.1.1 (1.1.1.1) 56(84) octets de données.
64 octets de 1.1.1.1 : icmp_seq=1 ttl=57 temps=11.1 ms
64 octets de 1.1.1.1 : icmp_seq=2 ttl=57 temps=19.3 ms
64 octets de 1.1.1.1 : icmp_seq=3 ttl=57 temps=25.2 ms
64 octets de 1.1.1.1 : icmp_seq=4 ttl=57 temps=51.7 ms
64 octets de 1.1.1.1 : icmp_seq=5 ttl=57 temps=17.6 ms
64 octets de 1.1.1.1 : icmp_seq=6 ttl=57 temps=19.4 ms
64 octets de 1.1.1.1 : icmp_seq=10 ttl=57 temps=19.6 ms
64 octets de 1.1.1.1 : icmp_seq=11 ttl=57 temps=17.9 ms
64 octets de 1.1.1.1 : icmp_seq=12 ttl=57 temps=16.2 ms
64 octets de 1.1.1.1 : icmp_seq=13 ttl=57 temps=20.8 ms
64 octets de 1.1.1.1 : icmp_seq=14 ttl=57 temps=22.2 ms
^C
--- statistiques ping 1.1.1.1 ---
14 paquets transmis, 11 reçus, 21.4286% packet loss, time 13113ms
rtt min/avg/max/mdev = 11.110/21.897/51.664/10.001 ms
PING google.com (64.233.167.113) 56(84) octets de données.
64 octets de wl-in-f113.1e100.net (64.233.167.113) : icmp_seq=1 ttl=105 temps=13.5 ms
64 octets de wl-in-f113.1e100.net (64.233.167.113) : icmp_seq=2 ttl=105 temps=21.0 ms
64 octets de wl-in-f113.1e100.net (64.233.167.113) : icmp_seq=3 ttl=105 temps=21.6 ms
64 octets de wl-in-f113.1e100.net (64.233.167.113) : icmp_seq=4 ttl=105 temps=22.7 ms
64 octets de wl-in-f113.1e100.net (64.233.167.113) : icmp_seq=5 ttl=105 temps=17.5 ms
64 octets de wl-in-f113.1e100.net (64.233.167.113) : icmp_seq=6 ttl=105 temps=23.2 ms
64 octets de wl-in-f113.1e100.net (64.233.167.113) : icmp_seq=7 ttl=105 temps=22.4 ms
^C
--- statistiques ping google.com ---
7 paquets transmis, 7 reçus, 0% packet loss, time 6010ms
rtt min/avg/max/mdev = 13.535/20.275/23.209/3.266 ms

~ 46s

traceroute -n -q 5 -w 2 8.8.8.8
  traceroute -n -q 5 -w 2 1.1.1.1
  traceroute -n -q 5 -w 2 google.com

traceroute to 8.8.8.8 (8.8.8.8), 30 hops max, 60 byte packets
 1  192.168.0.1  8.547 ms  8.480 ms  8.467 ms  9.657 ms  9.646 ms
 2  * * * * *
 3  * * * * *
 4  * * * * *
 5  * * * * *
 6  * * * * *
 7  * * * * *
 8  * * * * *
 9  * * * * *
10  8.8.8.8  55.159 ms  55.150 ms  55.141 ms  51.037 ms  51.010 ms
traceroute to 1.1.1.1 (1.1.1.1), 30 hops max, 60 byte packets
 1  192.168.0.1  7.002 ms  6.951 ms  6.938 ms  6.927 ms  6.916 ms
 2  * * * * *
 3  * * * * *
 4  * * * * *
 5  * * * * *
 6  * * * * *
 7  * * * * *
 8  * * 1.1.1.1  55.926 ms  55.873 ms  55.861 ms
traceroute to google.com (64.233.167.101), 30 hops max, 60 byte packets
 1  192.168.0.1  0.853 ms  0.820 ms  0.809 ms  36.450 ms  36.440 ms
 2  10.133.44.1  36.434 ms  36.425 ms  36.415 ms  36.405 ms  36.396 ms
 3  * * * * *
 4  212.224.245.182  69.081 ms  68.253 ms  68.226 ms  68.215 ms  32.562 ms
 5  212.224.245.177  32.548 ms  32.537 ms  42.889 ms  42.878 ms  56.051 ms
 6  81.52.186.121  55.987 ms  23.355 ms  23.317 ms  23.306 ms  23.295 ms
 7  81.52.200.120  31.039 ms  49.780 ms  49.769 ms  39.474 ms  39.447 ms
 8  * * * * *
 9  * * * * *
10  209.85.254.116  33.501 ms * * * *
11  * * * * *
12  * * * * *
13  * * * 108.170.231.161  22.849 ms 216.239.56.107  30.567 ms
14  * * * * *
15  * * * * *
16  * * * * *
17  * * * * *
18  * * * * *
19  * * * * *
20  * * * * *
21  * * * * *
22  * * * * *
23  * * * * *
24  * * * * *
25  * * * * *
26  * * * * *
27  * * * * *
28  * * * * *
29  * * * * *
30  * * * * *

J’ai contacté mon fai , en attende de sa réponse ….

Thème : Superposition par Kaira. CopyLerft 2025