Kaffeine po hibernacji

Niestety albo i “stety” Linux ma to do siebie, że wydaje się stosunkowo trudny w obsłudze. Dodatkowo przy wyborze dystrybucji jaką jest Arch Linux ten problem niestety może się powiększyć. Oczywiście jest to ułuda dlatego, że dzięki ym zabiegom zyskujemy pewną kontrolę nad systemem.

Co nam to daje? Ano tę możliwość, że jak coś się “wysypie” nie muszę czekać na łatkę dostarczoną przez producenta a dodatkowo wiem jakie usługi, moduły są ładowane (bo sam je określam na wstępie) i część problemów mogę sam rozwiazać.

Tak się też ma z problemem jaki teraz mam zamiar opisać. Jedną z przypadłości Linuksa jest to, że po hibernacji mogą nie działać niektóre rzeczy zwiazane ze sprzętem. Dlatego jeśli jest to możliwe (zazwyczaj w przypadku akcesoriów komputerowych) można dany moduł usunąć z pamięci i załadować go powtórnie.

Ja mam niestety taką sytuację z kartą DVB SkyStar2 oraz phoenixem (urządzenie odczytujące dane z karty kodowej Cyfry+). Więcej o instalacji w artykule Instalacja Kaffeine 0.8.8 oraz newcs. Cyfra+ i Linux.

Problem polega na tym, że tuż po hibernacji zarówno phoenix jak i karta DVB nie działają należycie. W przypadku phonix-a pojawiają się błędy odczytu karty. O tym jak sobie z tym także tutaj: NewCS i Reset failed po hibernacji. Karta DVB także odmawia współpracy – nawet programy FTA nie są odbierane.

Postanowiłem napisać skrypt. Jako, że odbiór telewizji odbywa się za pośrednictwem programu Kaffeine i wtyczki newCS skrypt nazwałem refreshkaff.sh i umieściłem go w katalogu /usr/bin a także nadałem mu prawa wykonalności.

sudo gedit /usr/bin/refreshkaff.sh

sudo chmod +x /usr/bin/refreshkaff.sh

 

Sam skrypt wygląda tak

SERVICE='newcs'

sudo rmmod ftdi_sio
sudo rmmod b2c2-flexcop-pci
sudo rmmod stv0299
sudo rmmod uhci_hcd

sudo modprobe ftdi_sio
sudo modprobe b2c2-flexcop-pci
sudo modprobe stv0299
sudo modprobe uhci_hcd

sudo killall SERVICE
 
if ps ax | grep -v grep | grep $SERVICE > /dev/null

then
    echo "$SERVICE jest uruchomione"
    kaffeine
else
    echo "$SERVICE nie jest uruchomione. Uruchamiam $SERVICE"
    sudo newcs
    sleep 2
fi

if ps ax | grep -v grep | grep kaffeine > /dev/null
then
        killall kaffeine
        cp ~/.xine/catalog.cache1 ~/.xine/catalog.cache
        sleep 1    
        kaffeine&
else
        cp ~/.xine/catalog.cache1 ~/.xine/catalog.cache

Mam nadzieję, że komuś tym wpisem pomogłem rozwiązać część problemów z kartą DVB oraz hibernacją. Możliwe, że można ten problem rozwiązać w inny prostszy sposób. Jeśli tak dajcie znać w polu komentarzy.

 

~ - autor: cytrynek w dniu Październik 26, 2011.

Dodaj komentarz

Wprowadź swoje dane lub kliknij jedną z tych ikon, aby się zalogować:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Zmień )

Twitter picture

You are commenting using your Twitter account. Log Out / Zmień )

Facebook photo

You are commenting using your Facebook account. Log Out / Zmień )

Connecting to %s

 
Follow

Otrzymuj każdy nowy wpis na swoją skrzynkę e-mail.