# [SOLVED] Nieaktualny ifplugd?

## robertsurma

Mam takie proste marzenie  :Wink: 

Aby wifi włączane było, gdy wtyczka eth jest odpięta... a gdy ją włożę, aby uruchamiany był interface eth a zamykany interface wlp3s0.

Myślałem, że problem rozwiąże instalacja ifplugd... ale on nie robi tego, co powinien robić.

Zajrzałem do skryptu /etc/ifplugd/ifplugd.action, a tam są np. odwołania do initng, ngc... które już dawno w portage nie istnieją.

Wnioskuję więc, że sam ifplugd jest już dawno nieaktualną starocią.

Co robić? Jak żyć?

Czy jest jakiś zamiennik?

Może zrobić to w skryptach ACPI?

Ale jak wykrywany będzie event podpięcia i wypięcia wtyczki eth?

----------

## Jacekalex

 *Quote:*   

> Myślałem, że problem rozwiąże instalacja ifplugd... ale on nie robi tego, co powinien robić. 

 

Nie robi, co powinien?

Tutaj jak widać robił:

https://forums.gentoo.org/viewtopic-p-7385212.html

Pozdro

 :Cool: 

----------

## robertsurma

Przypomniał mi się kawał, który zapewne znacie:

Informatyk do lekarza:

- Panie doktorze, wątroba chyba mi siadła...

- Dziwne, u mnie działa.

------

Niestety, ifplug nie działa u mnie (gdyż jak powyżej napisałem), składniki do których odwołuje się, nie są już dostępne w portage. Więc jak ktoś ma jeszcze system zbudowany dwa lata temu - to być może ma to jeszcze... i działa.

Alternatywa, netplug, także nie działa (tutaj nie wgłębiałem się w kod).

Postanowiłem rozwiązać sprawę za pomocą regułek udev, ale... prawdopodobnie brakuje mi jakiś modułów jądra.

Regułki są dobrze napisane. Dowodem na to jest, że:

# udevadm trigger

odpala regułki i robią one to, co mają robić.

Ale już  udev:

# udevadm monitor

nie rejestruje wpinania i wypinania wtyczki eth, choć bez problemu wykrywa akcje związane z usb, drukarkami itp.

Cały problem obecnie sprowadza się więc do modułów / składników jądra, które obsługują netplugging.

# dmesg 

r8169 0000:02:00.0 enp2s0: link down

r8169 0000:02:00.0 enp2s0: link up

(wykrywa... ale widocznie udev korzysta z czegoś innego).

----------

## Jacekalex

Jeżeli udev nie pokazuje opdpięcia kabla sieciowego, to albo jakiś bląd sterownika, albo błąd w udevie.

W ogóle to jaką masz wersję udeva?

Pytam, bo u mnie kilka kolejnych wersji eudev zamraża system przy pierwszym wczytywaniu regułek.

Żeby tego uniknąć, musiałem udevadm trigger ustawić dopiero w skrypcie w /etc/local.d/, dlatego teraz się wiesza tylko raz na kilkanaście uruchomień, wczytanie ich w runlevelu boot, sysinit czy default ( wczensiej, niż local.d)  powodowało zamrażanie nawet 70 % uruchomień.

Pozdro 

 :Cool: 

----------

## robertsurma

Udało mi się w końcu osiągnąć cel za pomocą netplug.

Uaktywniłem w jądrze większość opcji odpowiedzialnych za NETLINK oraz wyrzuciłem uevent_helper, czyli to:

```
Device Drivers → 

   [*] Generic Drivers Option → 

        [ ] Support for uevent helper (/sbin/hotplug)
```

bo prawdopodobnie konfliktuje z NETLINK.

Dodałem także trochę własnego kodu do skryptu /etc/netplug.d/netplug, aby po włożeniu wtyczki eth wyłączał interface wi-fi programowo i sprzętowo (oszczędność energii).

=========

Co do udev, też mam wrażenie, że błąd tkwi w funkcji udev. Zakładam w tym celu osobny wątek.

----------

