Jul
30
Скрипт автозапуска Rutilt для wi-fi Ralink ч.1 | 30 July 2008, 15:22

Хочу интернет и чтоб без проводов, и чтоб само и работало! :) Сегодня в этом поможет технология Wi-Fi ;)

Недавно мне пришла такая идея: вот есть у меня замечательная wi-fi карта на базе чипа Ralink rt2570, вот есть замечательная программа Rutilt, чтобы её настроить, но почему она не грузиться сама? Да ещё пароль рута надо вводить? Вообщем я решила написать простенький скрипт, который при запуске KDE автоматом запускает программу с нужными настройками.

Wireless LAN (WLAN) — беспроводная локальная вычислительная сеть.
Wi-Fi (англ. Wireless Fidelity — «беспроводная точность») — стандарт на оборудование Wireless LAN.

Итак, сегодня у нас имеется:

  • всё тот же любимый ноутбук MSI Megabook S270 с беспроводной карточкой на базе чипа Ralink rt2570
  • OC Gentoo Linux 2008.0
  • драйвера wi-fi c сайта
    http://rt2x00.serialmonkey.com
  • программа Rutilt v.0.16
  • текстовый редактор

Что будем делать?

Для достижения искомой цели, нужно всего лишь написать скрипт наподобие демона, написать второй – который будет пускать первый с нужными параметрами и положить его в автозагрузку.

Rutilt – известная программа для настройки карточек Ralink, обитает она http://bonrom.cbbknet.com ;)

Простой скриншот Rutilt

[singlepic id=118 w=500 mode=watermark float=center]

1. Написание скрипта

По аналогии со скриптами для демонов, тут использованы цели start и stop, а так как программа может запускаться без GUI (почти незаметно для пользователя), то добавлены еще цель startconsole, цели restart и restartconsole формируются из уже имеющихся. Здесь основной задачей, являась корректная обработка ситуации когда программа уже запущена, дабы не было повторных запусков.

Вот, собственно, сам скрипт

#!/bin/bash

# файл wi-fi-rultilt.sh
# start wi-fi daemon by rutilt
# karina (с), июль 2008

RUTILT_BIN=/usr/local/bin/rutilt
RUTILT_CONSOLEARG="--hide"
RUTILT_IP_ARG="--dhcp"

# имя профиля 
RUTILT_PROFILE_ARG="--profile di-524"

start() 
{ 
echo -n "Probing rutilt daemon..." 
checkproc ${RUTILT_BIN}
 if [ "$?" == "0" ]; 
  then 
    echo -n "Rutilt daemon: - Warning! Rutilt is already running! Try 'restart'! "	
exit 2; 
fi 

#start daemon 
echo -n "Start rutilt daemon..." 
sudo startproc ${RUTILT_BIN} ${RUTILT_IP_ARG} ${RUTILT_PROFILE_ARG}

exit 0
}
#-------------------------------------------------------------------- 
stop() 
{ 
echo -n "Shutting down rutilt daemon..." 
# опция "-k"  -> тогда возвращаемое значение "7" соответсвует "программа не запущена"
# источник http://man-wiki.net/index.php/8:checkproc
checkproc -k ${RUTILT_BIN}
  if [ "$?" == "7" ]; 
   then 
     echo -n " Rutilt daemon: - Warning!  Rutilt daemon is not running! "     
  exit 1; 
fi 
sudo killproc -t 2 ${RUTILT_BIN} 

exit 0 
}
#-------------------------------------------------------------------- 
#старт программы в консоли
startconsole()
{
echo -n "Probing rutilt daemon..." 
checkproc ${RUTILT_BIN}
 if [ "$?" == "0" ]; 
  then 
    echo -n "Rutilt daemon: - Warning! Rutilt is already running! Try 'consolerestart'! " 
exit 2; 
fi 

#start daemon 
echo -n "Start rutilt console daemon..." 
sudo startproc ${RUTILT_BIN} ${RUTILT_CONSOLEARG} ${RUTILT_IP_ARG} ${RUTILT_PROFILE_ARG}
 
exit 0
}
#-------------------------------------------------------------------- 
#check parametr for daemon 
case "$1" in 
start) 
start 
;; 
startconsole) 
startconsole 
;; 
stop) 
stop 
;; 
restart) 
stop 
start 
;; 
restartconsole) 
stop
startconsole
;;

*) 
echo -n "Usage: $0 start|startconsole|stop|restart|restartconsole" 
exit 1 
;; 
esac 
#-------------------------------------------------------------------- 
#EOF

Скрипт использует переменные, которые нужно настроить самостоятельно:

  • Путь к программе Rutilt: RUTILT_BIN=/usr/local/bin/rutilt
  • Имя профиля: RUTILT_PROFILE_ARG=”–profile di-524″
  • Использовать DHCP (необязательный параметр): RUTILT_IP_ARG=”–dhcp”
  • Старт программы в трее (необязательный параметр): RUTILT_CONSOLEARG=”–hide”

Итак, основной скрипт написан :) Теперь переходим к следующему – создание скрипта автозапуска ;)


Страницы 1, 2

30 July 2008, 15:22  
Рубрика: softoкопательство, разборки с devicАМИ  |  
Метки:   |  

Листинги патчей ;)


Хотите пропатчить? ;)

Вы должны быть залогинены что бы оставить патч.


  karina ©
2007-2010