[Comm] интернет для КПК + bluetooth

jrthw jrthw jrthwk на gmail.com
Вт Июн 30 21:33:21 MSD 2009


>
> *Имеется кпк с wm6, у него есть синезуб и вайфай адаптеры, у меня в
> системе есть только синезуб. Возможна ли раздача интернета с основной
> системы по синезубу для кпк?*
>

/посмотрев по ветке/

Кто б знал, как раздражают такие советчики, которые вместо ответа на
конкретный вопрос начинают советовать что купить, давать абстрактные советы
ман $var... Короче, расписываю как у меня.
Итак:

На кпк в настройках bluetooth pan user driver выставлен ip адрес
192.168.0.122, маска 255.255.255.0 шлюз 192.168.0.121

На домашнем минисервачке стоит bt-свисток, внутренний интерфейс сервачка
192.168.0.120,

 в /etc/bluetooth/hcid.conf прорисывем

options {
autoinit yes;
security auto;
pairing multi;
passkey "1111";
}

device {
name "btapatlinux";
iscan enable;
discovto 1;
pscan enable;
lm accept;
lp rswitch,hold,sniff,park;
}

Затем на сервере делаем
*pand --listen --role NAP*
и коннектимся к нему с кпк, вводим pin если потребует.
Командой
*pand -l*
смотрим появился ли BT-интерфейс, если все нормально должно выдавать что-то
вроде *
bnep0 12:34:56:78:98:76 NAP*
Конфигурируем этот интерфейс как шлюз для кпк
*ifconfig bnep0 192.168.0.121*
и делаем маршрут для него
*route add -host 192.168.0.122 gw 192.168.0.121 dev bnep0*
после этого кпк должен начать пинговать сервер и дальше интернет выдается
ему на выбор
либо через прокси либо в iptables'ах настраивается NAT.

Поскольку все это делать руками каждый раз нафиг не надь, а pand у меня
после некоторого
количества подключений и отваливаний без дисконнекта bt-соединения
загадочным образом
начинал игнорировать попытки соединиться, то пускаем такой вот левой ногой
писанный скриптик,
который будет регулярно перезапускать синезубых демонов, а обнаружив
соединение - автоматически
делать все вышеописанное.


===btup.pl===
#! /usr/bin/perl
`killall hcid &`;
sleep 3;
`killall pand &`;
sleep 3;
`rmmod ohci_hcd &`;
sleep 3;
`rmmod bnep &`;
sleep 3;
`modprobe ohci_hcd &`;
sleep 3;
`modprobe bnep &`;
sleep 3;
`hcid &`;
sleep 3;
`pand --listen --role NAP &`;
$kpk="bnep0 12:34:56:78:98:76 NAP";
$min=0;

while (2>1)
{
$a=`pand -l`;
$c=`ifconfig bnep0 |grep 192.168.0.121`;
$a=~tr/\n//d;
$c=~tr/\n//d;
localtime();
if($a eq $kpk and $c eq "" )
{
`ifconfig bnep0 192.168.0.121 &`;
sleep 2;
`route add -host 192.168.0.122 gw 192.168.0.121 dev bnep0 &`;
printf "$dirr bt connect\n";
}

printf "11 $a\n";
if ($a ne $kpk and $min>300)
{

`killall hcid &`;
sleep 3;
`killall pand &`;
sleep 3;
`rmmod ohci_hcd &`;
sleep 3;
`rmmod bnep &`;
sleep 3;
`modprobe ohci_hcd &`;
sleep 3;
`modprobe bnep &`;
sleep 3;
`hcid &`;
sleep 3;
`pand --listen --role NAP &`;
printf "$dirr start pand\n";
$min=0;
}
printf "33 $min $minutes_cnt\n";
$min=$min+5;
sleep 5;
}



sub lasttime
{
($sec,$min,$hour,$day,$month,$year) = localtime();
$calltime=$hour;
$year=$year+1900;
$month=$month+1;
$month= sprintf('%02d',$month);
$day= sprintf('%02d',$day);
$hour = sprintf('%02d',$hour);
$min= sprintf('%02d',$min);
$sec= sprintf('%02d',$sec);
$dirr="$year\-$month\-$day-$hour\_$min\_$sec";
return $dirr;
}

===btup.pl===


ps В качестве ssh-терминалки на кпк могу порекомендовать mtoken
----------- следующая часть -----------
Вложение в формате HTML было удалено...
URL: <http://lists.altlinux.org/pipermail/community/attachments/20090630/3623e34d/attachment.html>


Подробная информация о списке рассылки community