Page 1 sur 2

[systemd] netcfg profile: manuel OK, automatique KO (résolu)

Publié : lun. 29 oct. 2012, 19:07
par magnux77
Bonjour à tous
J'utilise netcfg, mon profile netcfg (wifi -> Livebox) a été généré par wifi-menu.
Alors que le lancement fonctionne toujours

Code : Tout sélectionner

netcfg wlan0-Livebox-bdb8
L'activation au démarrage

Code : Tout sélectionner

systemctl enable netcfg.service
ou

Code : Tout sélectionner

systemctl enable netcfg@wlan0-Livebox-bdb8
Le message est toujours le même quelque soit l'une des 2 commandes ci-dessus (à part le nom de service bien sûr)

Code : Tout sélectionner

[root@ThinkPadR40 ~]# systemctl status netcfg@wlan0-Livebox-bdb8.service
netcfg@wlan0-Livebox-bdb8.service - Netcfg networking service for profile wlan0-Livebox-bdb8
	  Loaded: loaded (/usr/lib/systemd/system/netcfg@.service; enabled)
	  Active: failed (Result: exit-code) since Mon, 2012-10-29 18:41:49 UTC; 22min ago
	 Process: 183 ExecStart=/usr/bin/netcfg check-iface %i (code=exited, status=1/FAILURE)
	  CGroup: name=systemd:/system/netcfg@.service/wlan0-Livebox-bdb8
D'accord, je débute en tant qu'Archer mais quand même... Y a un truc, non ?
Oct 29 18:41:49 ThinkPadR40 netcfg[183]: :: wlan0-Livebox-bdb8 up interface wlan0 does not exist
Oct 29 18:41:49 ThinkPadR40 netcfg[183]: [fail]
Oct 29 18:41:49 ThinkPadR40 systemd[1]: netcfg@wlan0-Livebox-bdb8.service: main process exited, code=exited, status=1/FAILURE
Oct 29 18:41:49 ThinkPadR40 systemd[1]: Failed to start Netcfg networking service for profile wlan0-Livebox-bdb8.
Oct 29 18:41:49 ThinkPadR40 systemd[1]: Unit netcfg@wlan0-Livebox-bdb8.service entered failed state

Re: [systemd] netcfg profile : manuel OK, automatique KO

Publié : lun. 29 oct. 2012, 19:11
par benjarobin

Code : Tout sélectionner

interface wlan0 does not exist
Peux tu donner la sortie de

Code : Tout sélectionner

ip link show
De plus peux tu détailler les actions que tu réalises pour te connecter manuellement. Finalement peux tu donner le contenu de ce profil netcfg ?

Re: [systemd] netcfg profile : manuel OK, automatique KO

Publié : lun. 29 oct. 2012, 21:06
par magnux77
1° ip link show

Code : Tout sélectionner

[root@ThinkPadR40 ~]# ip link show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN mode DEFAULT 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: irda0: <NOARP> mtu 2048 qdisc noop state DOWN mode DEFAULT qlen 8
    link/irda 00:00:00:00 brd ff:ff:ff:ff
3: eth0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN mode DEFAULT qlen 1000
    link/ether 00:06:1b:ca:54:79 brd ff:ff:ff:ff:ff:ff
4: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DORMANT qlen 1000
    link/ether 00:17:3f:f9:3b:57 brd ff:ff:ff:ff:ff:ff
[root@ThinkPadR40 ~]# 
Je précise que wlan0 est UP parce que je l'ai activé manuellement pour pouvoir te répondre.

2° J'effectue le lancement manuel par

Code : Tout sélectionner

netcfg wlan0-Livebox-bdb8
J'avais oublié d'indiquer "manuel", lancement manuel. Et il fonctionne à chaque fois.

3° Le profile
Comme le lancement manuel fonctionne avec ce profile, je ne pense pas que ce profile ait des problèmes. Mais le voici :

Code : Tout sélectionner

[root@ThinkPadR40 ~]# cat /etc/network.d/wlan0-Livebox-bdb8 
CONNECTION='wireless'
DESCRIPTION='Wifi Cursac (Automatically generated profile by wifi-menu)'
INTERFACE='wlan0'
SECURITY='wpa'
ESSID=Livebox-bdb8
IP='dhcp'
KEY=6####################5
[root@ThinkPadR40 ~]# 

Re: [systemd] netcfg profile : manuel OK, automatique KO

Publié : lun. 29 oct. 2012, 21:19
par benjarobin
Hum je crois avoir compris, la connexion fonctionne si tu fait ceci ? :

Code : Tout sélectionner

systemctl stop netcfg@wlan0-Livebox-bdb8.service
systemctl start netcfg@wlan0-Livebox-bdb8.service
systemctl status netcfg@wlan0-Livebox-bdb8.service
Je suppose que le service est lancé avant que le module de ta carte Wifi n'est fini de charger, donc wlan0 n'existe pas encore...

Re: [systemd] netcfg profile : manuel OK, automatique KO

Publié : lun. 29 oct. 2012, 21:23
par FoolEcho
magnux77 a écrit :Je précise que wlan0 est UP parce que je l'ai activé manuellement pour pouvoir te répondre.
Il n'aurait pas fallu pour le test justement. Mais bon, ça semble répondre à la question.

Tu peux essayer en rajoutant à ton profil:

Code : Tout sélectionner

PRE_UP="ip link set wlan0 up"
Mais en wifi, c'est à mon avis, plus intéressant d'utiliser le service net-auto-wireless: http://wiki.archlinux.fr/Netcfg#D.C3.A9 ... .28WLAN.29.

Re: [systemd] netcfg profile : manuel OK, automatique KO

Publié : lun. 29 oct. 2012, 22:43
par magnux77
@benjarobin @FoolEcho (c'est encore vous qui vous coltinez mes problèmes ? Vous êtes en tandem ? )
Merci à vous 2
@benjarobin
Oui, quand je passe les commandes que tu m'indiques, ça fonctionne.
Mais c'est encore manuel. Comment faire pour l'automatiser au démarrage ?

@FoolEcho
J'ai ajouté le PRE_UP dans mon profile wlan0-Livebox-bdb8 : sans succès.
ET je l'ai fait aussi, comme indiqué dans le wiki dans /etc/network.d/interfaces/wlan0 PRE_UP="ifconfig wlan0" : snas succè également.
Mais en wifi, c'est à mon avis, plus intéressant d'utiliser le service net-auto-wireless
J'avais bien essayé mais j'avais abandonné.

Re: [systemd] netcfg profile : manuel OK, automatique KO

Publié : lun. 29 oct. 2012, 22:47
par Elbarto
benjarobin a écrit :Hum je crois avoir compris, la connexion fonctionne si tu fait ceci ? :

Code : Tout sélectionner

systemctl stop netcfg@wlan0-Livebox-bdb8.service
systemctl start netcfg@wlan0-Livebox-bdb8.service
systemctl status netcfg@wlan0-Livebox-bdb8.service
Je suppose que le service est lancé avant que le module de ta carte Wifi n'est fini de charger, donc wlan0 n'existe pas encore...
faudrait voir si on pourrait résoudre le problème en utilisant les options "after/before" de systemd en éditant le fichier de config de netcfg :?:

Re: [systemd] netcfg profile : manuel OK, automatique KO

Publié : lun. 29 oct. 2012, 22:55
par benjarobin
PRE_UP n'est pas la solution ici, wlan0 n'existe pas, ce n'est pas qu'il n'est pas up, il n'existe juste pas lorsque le service est lancé...
Et en effet la solution serait d'utiliser After= dans le service, mais c'est assez bizarre, il faudrait savoir quand est lancé le service netcfg et quand est chargé le module de ta carte Wifi.

As tu mis quelque chose de spécial dans /etc/modules-load.d/ pour ton Wifi ? (Ce n'est pas du tout un souci mais j'essaye de comprendre...)
Tu ne fait rien de spécial / bizarre (rc.local...) pour charger le driver de ton Wifi ?
Tu es bien en full systemd ? Tu n'as pas des restes d'initscript ?

Re: [systemd] netcfg profile : manuel OK, automatique KO

Publié : lun. 29 oct. 2012, 23:04
par magnux77
Je te jure que je ne fais rien de spécial ! Je suis déjà assommé par tout ce qu'il faut lire, configurer, je n'ajoute que le strict minimum. Le profile a été généré par wifi-menu. Et comme le wifi fonctionne très bien manuellement, quelque soit la méthode de lancement, je n'ai rien fait de spécial. Hors le PRE_UP de FoolEcho. Que j'enlève n'est-ce pas ?

Re: [systemd] netcfg profile : manuel OK, automatique KO

Publié : lun. 29 oct. 2012, 23:13
par benjarobin
As mais je te crois :-) Ce ne sont que de simples questions pour essayer de comprendre pourquoi wlan0 n'est pas disponible lorsque netcfg se lance...
Sion oui le PRE_UP tu peux l'enlever
Comme je suis désespéré peux tu donner la sortie de

Code : Tout sélectionner

systemd --test --system --unit=multi-user.target
Met le sur http://pastebin.com car la sortie est assez volumineuse

Re: [systemd] netcfg profile : manuel OK, automatique KO

Publié : lun. 29 oct. 2012, 23:54
par magnux77
"Je te jure" c'était juste de l'humour...
Voici le résultat demandé :http://pastebin.com/xBzuheE0
Tu vas lire tout ça ?

Re: [systemd] netcfg profile : manuel OK, automatique KO

Publié : mar. 30 oct. 2012, 00:15
par benjarobin
Non, mais une partie oui :(

Code : Tout sélectionner

systemctl disable net-auto-wireless.service
systemctl disable netcfg@wlan0-Livebox-bdb8.service
rm -f /etc/systemd/system/multi-user.target.wants/netcfg@wlan0-Livebox-bdb8.service
cp /usr/lib/systemd/system/netcfg@.service /etc/systemd/system/netcfg@.service
#Edition de netcfg@.service et ajout de: After=sysinit.target
nano /etc/systemd/system/netcfg@.service
systemctl enable netcfg@wlan0-Livebox-bdb8.service
Bon en gros on supprime les services netcfg, on créer une copie et on modifie le service netcfg@, on ajoute

Code : Tout sélectionner

After=sysinit.target
juste après

Code : Tout sélectionner

Before=network.target
au fichier

Code : Tout sélectionner

/etc/systemd/system/netcfg@.service
puis on réactive uniquement netcfg@.service

Re: [systemd] netcfg profile : manuel OK, automatique KO

Publié : mar. 30 oct. 2012, 01:07
par magnux77

Code : Tout sélectionner

[root@ThinkPadR40 ~]# cat /etc/systemd/system/netcfg@.service
[Unit]
Description=Netcfg networking service for profile %i
Before=network.target
After=network.target
Wants=network.target

[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/usr/bin/netcfg check-iface %i
ExecStop=-/usr/bin/netcfg down %i
KillMode=none

[Install]
WantedBy=multi-user.target
[root@ThinkPadR40 ~]# 
[root@ThinkPadR40 ~]# systemctl status netcfg@wlan0-Livebox-bdb8.service
netcfg@wlan0-Livebox-bdb8.service - Netcfg networking service for profile wlan0-Livebox-bdb8
	  Loaded: loaded (/etc/systemd/system/netcfg@.service; enabled)
	  Active: failed (Result: exit-code) since Tue, 2012-10-30 00:49:29 UTC; 8min ago
	 Process: 190 ExecStart=/usr/bin/netcfg check-iface %i (code=exited, status=1/FAILURE)
	  CGroup: name=systemd:/system/netcfg@.service/wlan0-Livebox-bdb8

Oct 30 00:49:29 ThinkPadR40 netcfg[190]: :: wlan0-Livebox-bdb8 up interface wlan0 does not exist
Oct 30 00:49:29 ThinkPadR40 netcfg[190]: [fail]
Oct 30 00:49:29 ThinkPadR40 systemd[1]: netcfg@wlan0-Livebox-bdb8.service: main process exited, code=exited, status=1/FAILURE
Oct 30 00:49:29 ThinkPadR40 systemd[1]: Failed to start Netcfg networking service for profile wlan0-Livebox-bdb8.
Oct 30 00:49:29 ThinkPadR40 systemd[1]: Unit netcfg@wlan0-Livebox-bdb8.service entered failed state
[root@ThinkPadR40 ~]# 
[root@ThinkPadR40 ~]# systemctl start netcfg@wlan0-Livebox-bdb8.service
[root@ThinkPadR40 ~]# 
Je ne pense pas m'être trompé. Mais, comme tu peux le constater, le problème est strictement le même : démarrage manuel OK, démarrage automatique KO.

Re: [systemd] netcfg profile : manuel OK, automatique KO

Publié : mar. 30 oct. 2012, 09:13
par magnux77
Hou-hou ! Y a plus personne ?
(Je ne pense pas que cela ait une influence mais on ne sait jamais.) Sur ce portable ancestral ThinkPad R40, le wifi est assuré par une carte Belkin PCMIA http://www.commentcamarche.net/guide/47 ... 02-11a-b-g.

Re: [systemd] netcfg profile : manuel OK, automatique KO

Publié : mar. 30 oct. 2012, 09:39
par FoolEcho
Tu peux installer hwinfo et nous donner la sortie de:

Code : Tout sélectionner

hwinfo --netcard

Re: [systemd] netcfg profile : manuel OK, automatique KO

Publié : mar. 30 oct. 2012, 09:49
par magnux77
Sir ! Yes Sir !

Code : Tout sélectionner

[root@ThinkPadR40 ~]# hwinfo --netcard
24: PCI 208.0: 0200 Ethernet controller                         
  [Created at pci.319]
  Unique ID: rBUF.j_9oCd4cXw8
  Parent ID: 6NW+.+ISWpD3pbdC
  SysFS ID: /devices/pci0000:00/0000:00:1e.0/0000:02:08.0
  SysFS BusID: 0000:02:08.0
  Hardware Class: network
  Model: "IBM ThinkPad R40"
  Vendor: pci 0x8086 "Intel Corporation"
  Device: pci 0x103d "82801DB PRO/100 VE (MOB) Ethernet Controller"
  SubVendor: pci 0x1014 "IBM"
  SubDevice: pci 0x0522 "ThinkPad R40"
  Revision: 0x81
  Driver: "e100"
  Driver Modules: "e100"
  Device File: eth0
  Memory Range: 0xc0200000-0xc0200fff (rw,non-prefetchable)
  I/O Ports: 0x8000-0x803f (rw)
  IRQ: 11 (5531 events)
  HW Address: 00:06:1b:ca:54:79
  Link detected: no
  Module Alias: "pci:v00008086d0000103Dsv00001014sd00000522bc02sc00i00"
  Driver Info #0:
    Driver Status: e100 is active
    Driver Activation Cmd: "modprobe e100"
  Driver Info #1:
    Driver Status: eepro100 is not active
    Driver Activation Cmd: "modprobe eepro100"
  Config Status: cfg=new, avail=yes, need=no, active=unknown
  Attached to: #16 (PCI bridge)

25: PCI 300.0: 0282 WLAN controller
  [Created at pci.319]
  Unique ID: y9sn.TpFTVP26ys8
  Parent ID: B35A.8WhMkZ2b+j2
  SysFS ID: /devices/pci0000:00/0000:00:1e.0/0000:02:00.0/0000:03:00.0
  SysFS BusID: 0000:03:00.0
  Hardware Class: network
  Model: "Atheros AR5007G Wireless Network Adapter"
  Vendor: pci 0x168c "Atheros Communications Inc."
  Device: pci 0x001d "AR5007G Wireless Network Adapter"
  SubVendor: pci 0x1799 "Belkin"
  SubDevice: pci 0x721b 
  Revision: 0x01
  Driver: "ath5k"
  Driver Modules: "ath5k"
  Device File: wlan0
  Features: WLAN
  Memory Range: 0xc8000000-0xc800ffff (rw,non-prefetchable)
  IRQ: 11 (5531 events)
  HW Address: 00:17:3f:f9:3b:57
  Link detected: no
  WLAN channels: 1 2 3 4 5 6 7 8 9 10 11 12 13 14
  WLAN frequencies: 2.412 2.417 2.422 2.427 2.432 2.437 2.442 2.447 2.452 2.457 2.462 2.467 2.472 2.484
  WLAN encryption modes: WEP40 WEP104 TKIP CCMP
  WLAN authentication modes: open sharedkey wpa-psk wpa-eap
  Module Alias: "pci:v0000168Cd0000001Dsv00001799sd0000721Bbc02sc00i00"
  Driver Info #0:
    Driver Status: ath5k is active
    Driver Activation Cmd: "modprobe ath5k"
  Config Status: cfg=new, avail=yes, need=no, active=unknown
  Attached to: #23 (CardBus bridge)
[root@ThinkPadR40 ~]# 

Re: [systemd] netcfg profile : manuel OK, automatique KO

Publié : mar. 30 oct. 2012, 10:20
par tuxce
Actuellement systemd ne sait pas attendre une interface réseau (FS#30235 + ticket upstream dans les commentaires) si ton interface n'est pas dispo au démarrage, il faut spécifier son module (ath5k) manuellement (Kernel modules) et relancer mkinitcpio pour que le module se charge tôt.

EDIT: à priori, la version actuelle (195-2 [core]) inclue le patch du ticket FS#30235 (je sais pas trop pourquoi il est encore ouvert), tu peux éventuellement essayer de rajouter :

Code : Tout sélectionner

[Unit]
#...
BindsTo=sys-subsystem-net-devices-wlan0.device
au service.

Re: [systemd] netcfg profile : manuel OK, automatique KO

Publié : mar. 30 oct. 2012, 10:45
par benjarobin
Sinon je n'avais pas dit d'ajouter After=network.target mais After=sysinit.target
Mais je croit que Tuxce donne une solution beaucoup plus propre

Re: [systemd] netcfg profile : manuel OK, automatique KO

Publié : mar. 30 oct. 2012, 11:31
par magnux77
@tuxce
Peut-être le bug est-il toujours ouvert parce que cela ne fonctionne pas.

Code : Tout sélectionner

[root@ThinkPadR40 ~]# cat /etc/systemd/system/netcfg@.service
[Unit]
Description=Netcfg networking service for profile %i
[b]BindTo=sys-subsystem-net-devices-wlan0.device[/b]
Before=network.target
#After=sysinit.target
Wants=network.target

[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/usr/bin/netcfg check-iface %i
ExecStop=-/usr/bin/netcfg down %i
KillMode=none

[Install]
WantedBy=multi-user.target
[root@ThinkPadR40 ~]# systemctl status netcfg@wlan0-Livebox-bdb8.service
netcfg@wlan0-Livebox-bdb8.service - Netcfg networking service for profile wlan0-Livebox-bdb8
	  Loaded: loaded (/etc/systemd/system/netcfg@.service; enabled)
	  Active: failed (Result: exit-code) since Tue, 2012-10-30 11:08:46 UTC; 1min 12s ago
	 Process: 178 ExecStart=/usr/bin/netcfg check-iface %i (code=exited, status=1/FAILURE)
	  CGroup: name=systemd:/system/netcfg@.service/wlan0-Livebox-bdb8

Oct 30 11:08:46 ThinkPadR40 systemd[1]: netcfg@wlan0-Livebox-bdb8.service: main process exited, code=exited, status=1/FAILURE
Oct 30 11:08:46 ThinkPadR40 systemd[1]: Failed to start Netcfg networking service for profile wlan0-Livebox-bdb8.
Oct 30 11:08:46 ThinkPadR40 systemd[1]: Unit netcfg@wlan0-Livebox-bdb8.service entered failed state
Oct 30 11:08:46 ThinkPadR40 netcfg[178]: :: wlan0-Livebox-bdb8 up interface wlan0 does not exist
Oct 30 11:08:46 ThinkPadR40 netcfg[178]: [fail]
Peut-être dis-je une bêtise mais je suis surpris que systemd ne sache pas attendre un interface réseau car cela n'est jamais instantané.

@benjarobin
Mes excuses ! Voici un nouvel essai avec le paramètre corrigé mais toujours en échec.

Code : Tout sélectionner

[root@ThinkPadR40 ~]# cat /etc/systemd/system/netcfg@.service
[Unit]
Description=Netcfg networking service for profile %i
#BindTo=sys-subsystem-net-devices-wlan0.device
Before=network.target
[b]After=sysinit.target[/b]
Wants=network.target

[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/usr/bin/netcfg check-iface %i
ExecStop=-/usr/bin/netcfg down %i
KillMode=none

[Install]
WantedBy=multi-user.target
[root@ThinkPadR40 ~]# systemctl status netcfg@wlan0-Livebox-bdb8.service
netcfg@wlan0-Livebox-bdb8.service - Netcfg networking service for profile wlan0-Livebox-bdb8
	  Loaded: loaded (/etc/systemd/system/netcfg@.service; enabled)
	  Active: failed (Result: exit-code) since Tue, 2012-10-30 10:56:21 UTC; 2min 5s ago
	 Process: 194 ExecStart=/usr/bin/netcfg check-iface %i (code=exited, status=1/FAILURE)
	  CGroup: name=systemd:/system/netcfg@.service/wlan0-Livebox-bdb8

Oct 30 10:56:21 ThinkPadR40 systemd[1]: netcfg@wlan0-Livebox-bdb8.service: main process exited, code=exited, status=1/FAILURE
Oct 30 10:56:21 ThinkPadR40 systemd[1]: Failed to start Netcfg networking service for profile wlan0-Livebox-bdb8.
Oct 30 10:56:21 ThinkPadR40 systemd[1]: Unit netcfg@wlan0-Livebox-bdb8.service entered failed state
Oct 30 10:56:21 ThinkPadR40 netcfg[194]: :: wlan0-Livebox-bdb8 up interface wlan0 does not exist
Oct 30 10:56:21 ThinkPadR40 netcfg[194]: [fail]
Conclusion
C'est vraiment un bug alors ? (Zut ! je pensais que cela se produisait moins au pays des Archers). Il faut donc une solution de contournement
- revenir à avant le fichier /etc/systemd/system/wlan0....
- ne rien faire attendre que le bug soit corrigé et lancer manuellement
- un script post-boot ou j'y pense pré-xfce
Vos avis ?

Re: [systemd] netcfg profile : manuel OK, automatique KO

Publié : mar. 30 oct. 2012, 12:41
par tuxce
Rajoute le module au démarrage + mkinicpio alors.
Ou encore utilise :

Code : Tout sélectionner

Requires=systemd-udev-settle.service
comme indiqué dans le ticket.