Opensuse - przy zasilaniu bateryjnym problemy z sieciami


(#WireBoot) #1

Witam

Wczoraj zainstalowałem sobie suska. Początkującym może i nie jestem (przez kilka miesięcy używałem Debiana), ale zaawansowanym siebie nie mogę nazwać. Chodzi o to, że na moim nowym laptopie i świeżo zainstalowanym susku, gdy odłączę zasilanie i laptop korzysta z zasilania bateryjnego, pingi do access pointa rosną niemiłosiernie, z średnio 2 do 100ms, co ciekawe bardzo skaczą. Przy zasilaniu bateryjnym po skrętce okazuje się to samo, podpięcie zasilania rozwiązuje problem. Dodatkowo, przy zasilaniu bateryjnym nie łączy mnie także z jedną siecią WiFi, która jest na 100% sprawna, sygnał też jest świetny (odległość od nadajnika około 10metrów przez 1 ścianę, nigdy nie było problemów z zasięgiem).

Mój laptop: Dell vostro 3450 (wersja z i5 i 2 kartami graficznymi, (identyczny jest tu, tylko ze mój ma inny kolor: http://www.notebookc...0M.56441.0.html ).

Polecenie lspci:

System: Opensuse 11.4 + GNOME

Ma ktoś pomysł gdzie i jak pozmieniać ustawienia zasilania (bo tu podejrzewam że coś źle ustawione), aby na zasilaniu bateryjnym karty sieciowe działały tak samo jak przy podłączonym ładowaniu?


(dragonn) #2

Co do wi-fi spróbuj:

sudo iwconfig wlan0 power off

Na zasilaniu bateryjnym.


(#WireBoot) #3

Witam ponownie

@dragonn, wielkie dzięki, pomogło. Zrobiłem takie coś. na zasilaniu bateryjnym wstrzymałem system, wznowiłem go, nie chciało połączyć z siecią. Wpisałem tą komendę którą podałeś, spróbowałem ponownie połączyć, połączyło. Pingi jak widzę póki co też są takie jakie mają być.

Rodzi się następny problem - muszę po każdym wstrzymaniu systemu i wznowieniu jego pracy wpisywać tą komendę, aby mogło mnie połączyć do sieci i działać prawidłowo. Czy da się to zaimplementować w "standardzie", abym mógł zapomnieć o tej komendzie i cieszyć się bezproblemowym WiFi w linuksie?

// Połączono posty.

Mój problem jest częściowo rozwiązany.Ponawiam pytanie: Czy da się to zaimplementować komendę którą napisał dragonn w "standardzie", abym mógł zapomnieć o tej komendzie i cieszyć się bezproblemowym WiFi w linuksie?


(Kaka') #4

dakum67 ,

Jeszcze jeden Twój bezsensowny post, a dostaniesz bana. Już zarobiłeś jedno ostrzeżenie.

Zbędne posty > /dev/null.


(dragonn) #5

Po każdym wybudzeni tak masz? Możemy to rozwiązać na dwa sposoby, na sam początek pokaż co dają te polecenia:

ls /etc/acpi/

I jeszcze:

sudo iwconfig wlan0

To drugie polecenia pokaż zanim zrobisz sudo iwconfig wlan0 power off z niedziałającym wi-fi.


(#WireBoot) #6

polecenie ls /etc/acpi wypluwa tylko folder "events", a w nim są 2 katalogi:"power_button" oraz "thinkpad".

Polecenie iwconfig wlan0 z wstukanym poleceniem iwconfig wlan0 power off :

Polecenie iwconfig wlan0 bez wpisywania iwconfig wlan0 power off :

*niepotrzebne zagwiazdkowałem


(dragonn) #7

Kurcze, miałeś to drugie polecenie pokazać jak wi-fi ci nie działa, zanim zrobiłeś iwconfig wlan0 power off. Bez tego nie dam radę, podejrzewam że zmienia się parametr "Power Management:off", ale nie jestem pewny jak, a na mojej karcie wi-fi nie potrafię tego sprawdzić, jako że w ogóle nie obsługuje ona parametrów podanych po iwconfig wlan0.


(#WireBoot) #8

Pokazałem co wypluło przed wpisaniem i co pokazało po wklepaniu, tylko niestety musiałem posta edytować, mogłeś natrafić jak tylko jedna wersja była. Miałeś rację, zmienia się ten parametr :wink:


(dragonn) #9

O, o to mi chodziło. Napisałem mały skrypt który jak wykryje że Power Management jest na on to od razu przełączy go na off:

#!/bin/bash


while true; do

	if ["$(iwconfig wlan0 | grep 'Power Management:on' | wc -l)" = "1"]

		then

			iwconfig wlan0 power off

	fi

	sleep 2

done

Całość zapisujesz jako jakiś plik (nazwij sobie jak chcesz), przenosisz najlepiej do /usr/sbin (mv sicieżka/do/twójplik /usr/sbin/twójplik) i następnie edytujesz plik /etc/rc.locale (mam nadzieję że jest taki w opensuse) i dodajesz tam linię:

/usr/sbin/twójplik &

Tylko uwaga jeżeli jest tam linia zawierająca słowo exit to dodaj tą linię przed nią, nie zapomnij o znaku &, bo to ważne. Po tym wszystkim reboot, i powinno chodzić.


(#WireBoot) #10

Wszystko zrobiłem do punktu z /etc/rc.locale - okazało sie że nie ma takiego pliku w susku.

Daje screena z ls /etc/ | grep rc

64649715491387060316_thumb.jpg


(dragonn) #11

Heh, w każdej dystrybucji jest inaczej, sprawdź to http://forums.opensuse.org/archives/sf- ... local.html z tego co wyczytałem powinien być plik /etc/rc.d/boot.local który jest odpowiednikiem rc.locale z innych dystrybucji.


(#WireBoot) #12

Zapytam się dla pewności: czy jeśli nie ma tam żadnego skryptu dodanego, a ja dodam swój "/usr/sbin/twójplik &" , to muszę dać & , oraz czy muszę dopisac później exit?


(dragonn) #13

Jeżeli nie ma exit to nie musisz go dodać. Ale znak & jest istotny, bo program ten działa w pętli, bez tego znaku system zatrzyma ci się przy bootowaniu na tym skrypcie i będzie czekał na zakończenie jego działania (co nigdy nie nastąpi, bo program działa w pętli :stuck_out_tongue: ).


(#WireBoot) #14

Niestety chyba coś nie działa, nie wiem, podejrzewam chmody lub zła nazwa pliku(a raczej jego rozszerzenie).

Nazwa pliku to nwifi . Czy zmiana na nwifi.sh rozwieje problemy?


(LeserGD) #15

Czy plik jest wykonywalny?

Jeżeli nie to

chmod +x nwifi

Nazwa nie powinna mieć znaczenia.


(dragonn) #16

Rozszerzenie nie ma znaczenia, spróbuj uruchomić skrypt z terminalu (ale jako root):

sudo nwifi

I powiedz co się dzieje (najlepiej uśpi system i znowu go przywrócić).


(#WireBoot) #17

Tak, plik jednak nie był wykonywalny.

chmod +x rozwiązał sprawę.

Już wszystko działa, dragonn, LeserGD wielkie dzięki za pomoc :slight_smile:

Temat rozwiązany


(dragonn) #18

To dobrze, tylko wiesz że to jest obejście problemu, a nie jego rozwiązanie, niestety nie znam się na tyle na opensuse że wyłączyć "inteligencję system" dotyczącą tego problemu, ale wiem jak go obejść :smiley: .


(#WireBoot) #19

Z tym wifi miałem też coś podobnego na Ubuntu, śmiem sądzić, iż to jest gdzieś zaklepane w nm-applet lub networkmanager, ciężko stwierdzić, ale to już offtopem.