Evde kullandığım kablosuz erişim noktası (U.S Robotics 5451) düzenli aralıklarla kilitlendiği için enerjisini kesip yeniden başlatıyordum. Bu tür paket yönlendirmesi yapan cihazlar zaman zaman kararlılıklarını yitirip yeniden başlatılmaya ihtiyaç duyabiliyor (MODEM/HUB/SWITCH/KABLOSUZ ERİŞİM NOKTASI/ACCESS POINT).
Bunun nedeni hakkında emin olmamakla birlikte iki sebepten şüpheleniyorum;
- Yoğun anahtarlama (software process) sonrası aşırı ısınan elektronik bileşenlerin (CPU/RAM) router yazılımının kararlılığını bozup kilitlenmesine neden olması.
- Cihazın yeterli kalitede gerilim regülasyonu yapamayan veya normalden düşük güçte bir besleme adaptörü ile çalıştırılması.
Raspberry Pi‘nin cronjob’ına aşağıdaki betiği koyup cihazı düzenli aralıklarla yeniden başlatmanın iyi bir fikir olacağını düşündüm.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
# Basic auth. ile giris yap, request header'i req.log'a kaydet wget -d -a req.log --spider --user=ensei --password=tankado http://192.168.0.2/status.asp # Request header'lar icinde Aut. header'i bul ve AUTHBASIC ortam degiskenine kaydet AUTHBASIC=`cat req.log | grep "Authorization: Basic " | awk '{print $3}' | tail -1` # AUTHBASIC'i kullanarak yeni bir istek yap wget --header "Authorization:Basic $AUTHBASIC" --post-data 'page=device.asp&action=Reboot' http://192.168.0.2/apply.cgi # AUTHBASIC ortam degiskenini sil unset AUTHBASIC # Wget cikti dosyalarini sil rm -rf req.log rm -rf apply.cgi* rm -rf status.asp* |
Yukarıdaki kodun normalde daha basit olması gerekiyordu fakat USR5451 access point sadece giriş sayfasında Basic Auth. kimlik doğrulamasını desteklediğinden ve wget aracında Basic Auth.’u bir session dahilinde kullanacak bir özellik bulunmadığından doğrulama ile elde edilen Authorization: başlığının sonraki sayfa isteklerine manuel eklemek gerekti. Bu nedenle Authorization: başlığının değerini bir ortam değişkenine saklayıp apply.cgi URI’sine elle gönderdim.
normalde wireless açıkken kilitleniyor zaman zaman, firmware güncellemesinden sonra, durduk yere kitlenmesi kesilmişti, wireless açıkken kitlenmeler sürüyordu bende wireless i kapalı tutuyordum.. belki yeni firmware çıkmıştır… bir anda durduk yere pehdahlanan bi sorun, bence sorun adaptöründe olabilir..
Merhaba, wget’te q=quiet, O-=çıktıyı yönlendir manasına geldiğinden;
wget -d -a req.log –spider –user=ensei –password=tankado -qO- http://192.168.0.2/status.asp &> /dev/null
Şeklinde komut yazarsak çıktının dosyaya yazılmasına engel olabiliriz.