http://linuxmobile.lrn.ru/wiki/index.php?title=%D0%A1%D0%BC%D0%B0%D1%80%D1%82%D1%84%D0%BE%D0%BD%D1%8B_%D1%81_%D0%BE.%D1%81._Symbian
Как зафиксировать TTL на linux-роутере
/etc/sysctl.conf
net.ipv4.ip_default_ttl = 65
А любители чтоб было совсем красиво (ТТЛ только для роутимых пакетов)
могут его задавать скриптом
#!/bin/sh
# если выходим через Android то 65
iptables -t mangle -A POSTROUTING -j TTL --ttl-set 65
# если выходим через iPhone то 129
iptables -t mangle -A POSTROUTING -j TTL --ttl-set 129
Интернетстатистика на роутере для бедных
Добавить табличку в FORWARD и правила для каждого компа, типа:
iptables --new Traffic
iptables -A Traffic -j RETURN
iptables -A FORWARD -s 192.168.0.1 -j Traffic
iptables -A FORWARD -s 192.168.0.2 -j Traffic
iptables -A FORWARD -s 192.168.0.3 -j Traffic
А потом по крону сохранять, значения счётчиков в какой-нибудь файл командой
iptables -vL -Z >> Traffic.log
iptables -nvL -Z
Эта команда будет сохранять значения и сбрасывать счётчики в ноль.
fprobe + nfsen - простая вебморда для трафика
Настройка iPhone в качестве 3G/EDGE/GPRS-модема по USB
Включаем на iPhone "Inet tethering", подключаем к Linux'у по USB
Автоматические активируется дравер ipheth и создает сетевой интерфейс wwan0
ifconfig wwan0 192.168.20.2
route add default gw 192.168.20.1
Или:
/etc/sysconfig/network/ifcfg-wwan0 :
##################### чтоб на wwan0 автоматически поднимался IP
BOOTPROTO=dhcp4
NAME='IPHONE tethering iface'
STARTMODE=auto
DHCLIENT_SET_DEFAULT_ROUTE=yes
/etc/sysconfig/network/routes :
## default gw для wwan0 пишем первым, для остальных случаев прописываем обычный GW
default 192.168.20.1 - wwan0
default 192.168.1.1 - -
AT$$READALLMT - список СМС
AT$$DISCHV1=пинкод - отключает запрос пинкода
Для Huawai 1550 ( /dev/ttyUSB_utps_modem , /dev/ttyUSB_utps_pcui ...)
АТ^2DIAG=0 - модем only
АТ^2DIAG=1 - модем, CDROM
АТ^2DIAG=255 - модем, CDROM, cardreader
АТ^2DIAG=256 - модем, cardreader
Для MF180 ( /dev/ttyUSB0,1,2,3, data port: ttyUSB2)
http://m-blog.pp.ua/%D0%B1%D0%B5%D0%B7-%D1%80%D1%83%D0%B1%D1%80%D0%B8%D0%BA%D0%B8/14.html
# Включаем модем, он определяется как CD-диск с драверами, автомонтируется на /dev/sr1
отключаем:
$ eject sr1
Тогда возникают /dev/ttyUSB0, /dev/ttyUSB1, /dev/ttyUSB2, Модем работает на /dev/ttyUSB2
$ stty -iutf8 hupcl -icrnl -opost -onlcr -isig -icanon -echo -echoe -echok -F /dev/ttyUSB2
$ echo -e "AT+ZCDRUN=8\r\n" > /dev/ttyUSB2 #отключаем автозагрузку USB CD-ROM
$ echo -e "AT+ZCDRUN=9\r\n" > /dev/ttyUSB2 #включит
6. Команды для управления из командной строки.
xterm1$ cat /dev/ttyUSB2 # для получения диагностики
xterm2$ для ввода команд
xterm2$ stty -iutf8 hupcl -icrnl -opost -onlcr -isig -icanon -echo -echoe -echok -F /dev/ttyUSB2
$ echo -e "AT+ZCDRUN=8\r\n" > /dev/ttyUSB2 # отключаем автоподключение USB CD-ROM
$ echo -e "AT+ZCDRUN=9\r\n" > /dev/ttyUSB2 # включаем автозагрузку USB CD-ROM
$ echo -e "AT+ZCDRUN=E\r\n" > /dev/ttyUSB2 # только модем, отключить кардридер и автозагрузку USB CD-ROM
$ echo -e "AT+ZCDRUN=F\r\n" > /dev/ttyUSB2 # модем + кардридер + USB CD-ROM
$ echo -e "AT+cfun=0\r\n" > /dev/ttyUSB2 # выключить модем
$ echo -e "AT+cfun=1\r\n" > /dev/ttyUSB2 # включить
$ echo -e "AT+CSQ\r\n" > /dev/ttyUSB2 # уровень сигнала сети
$ echo -e "AT+CGMR\r\n" > /dev/ttyUSB2 # версия ПО
$ echo -e "AT+CGSN\r\n" > /dev/ttyUSB2 # IMEI
$ echo -e "AT+CNUM\r\n" > /dev/ttyUSB2 # ваш номер сим
$ echo -e "AT+zsnt?\r\n" > /dev/ttyUSB2 # текущий режим поиска сети
$ echo -e "AT+zsnt=0,0,0\r\n" > /dev/ttyUSB2 #установить режим поиска сети "автоматически, GSM+WCDMA"
$ echo -e "AT+zsnt=0,0,1\r\n" > /dev/ttyUSB2 #установить "автоматически, GSM+WCDMA, предпочтительно GSM"
$ echo -e "AT+zsnt=0,0,2\r\n" > /dev/ttyUSB2 #установить "автоматически, GSM+WCDMA, предпочтительно WCDMA"
$ echo -e "AT+zsnt=1,0,0\r\n" > /dev/ttyUSB2 #установить "автоматически, только GSM"
$ echo -e "AT+zsnt=2,0,0\r\n" > /dev/ttyUSB2 #установить "автоматически, только WCDMA"
$ echo -e "AT+zsnt=0,1,0\r\n" > /dev/ttyUSB2 #установить "вручную, GSM+WCDMA"
$ echo -e "AT+zsnt=1,1,0\r\n" > /dev/ttyUSB2 #установить "вручную. только GSM"
$ echo -e "AT+zsnt=2,1,0\r\n" > /dev/ttyUSB2 #установить "вручную, только WCDMA"
$ echo -e "AT+COPS=?\r\n" > /dev/ttyUSB2 #сканируется сеть и выводит список операторов связи
$ echo -e "AT+CPIN?\r\n" > /dev/ttyUSB2 #узнаём какой нужно ввести код:PIN, PUK и др. Или не нужно...
$ echo -e "AT+CPIN=0000\r\n" > /dev/ttyUSB2 #пример, ввод PIN кода
AT-команды для AirPlus 650 (не работают?)
lsusb
1edf:6004
modprobe usbserial vendor=0x1edf product=0x6004
AT*SKT*RECEIVERESTRICTION=1 - 1x (попадалась версия {0,1,2})
AT*SKT*RECEIVERESTRICTION=2 - 1x - EV-DO (Hybrid)
AT*SKT*RECEIVERESTRICTION=3 - EV-DO
at*skt*ori=номер - голосовой звонок
FME и переходник AirPlus на FME
echo "options usbserial vendor=0x1011 product=0x3198" > /etc/modprobe.d/mcd650
echo "options usbserial vendor=0x1011 product=0x3198" > /etc/modules.d/mcd650
update-modules
Настройки GPRS-соединения через PCMCI-модем
У него все как у телефона, но единовременно ему надо указать PIN
AT+CPIN=1234
эту команду нужно заслать в модем ровно один раз - в самый первый
Голосовой теефонный автоответчик на базе mgetty
http://andgera.livejournal.com/4606.html
Генератор паролей
head -c6 /dev/random | uuencode -m - | sed -n '2s/=*$//;2p' | col -x | xmessage -center -buttons OK:1,Otmena:0 -default OK -file - ; echo $?
Заставляем работать инфракрасный порт Toshiba Sattelite 5005-507
Эта глава специфична для моего лаптопа Toshiba Sattelite 5005-507,
для других машин активация IR может быть попроще.
Телефоны Siemens S45 и Nokia 6510, 8310
Linux RedHat 7.3
Kernel version 2.4.18 (с более старыми ядрами добиться
успеха проблематично)
0. Скорее всего в S45 устарелая прошивка, с ней GPRS работал _только_ через
COM-порт. Помогает установка S45_210306_UpdateTool.exe с сайта
www.mysiemens.com -> s45 -> device
В Toshiba Sattelite 5005-507 нет BIOS-настроек, железо конфигурится
программно. IR порт и ISA-bridge, на котором он сидит, драверами не
распознаются, поэтому их предварительно необходимо активировать.
// lspci on 5005-507 says
// 00:1f.0 ISA bridge: Intel Corp. 82801BA ISA Bridge (LPC) (rev 05): 82801BA (0x2440)
// IR-controller: SMC,LPC47N227,2.0,0x2e,0x3f8,0x130,3,3,128,0,1
1. Перекомпилировать ядро, чтобы в нем участвующие дравера были модулями:
##############################################################
* Character devices
M Standart/generic serial support
* IrDA (infrared support)
M IrDA subsystem support
M IrLAN support
M IrNET protocol
M IrCOMM protocol
Y Ultra protocol
**Infrared-port device drivers)
SIR device
M IrTTY
M IrPORT
FIR device
M SMC IrCC
##############################################################
2. С помощью исправленной программы tosh5100-smcinit (скачать из интернета, исправить)
///////// Исправить строку /////
if (twobyte != 0x248c){
/////////////// на /////////////
if ( twobyte != 0x248c && twobyte != 0x2440 ){
////////////////////////////////
gcc -O2 -o /usr/local/sbin/tosh5100-smcinit tosh5100-smcinit.c -lpci -L/usr/lib -I/usr/include/pci
Проверка:
/usr/local/sbin/tosh5100-smcinit # сетапим IR
/usr/sbin/findchip # убеждаемся, что контроллер ожил
SMC,LPC47N227,2.0,0x2e,0x3f8,0x130,3,3,128,0,1
3. Дописываем в файл /etc/modules.conf
##############################################################
# smc-ircc Infra Red
# активация IR-порта (в Toshiba-507 он садится на io 0x3f8 irq 3)
# FIR я не использовал: pre-install smc-ircc /usr/local/sbin/tosh5100-smcinit
pre-install serial /usr/local/sbin/tosh5100-smcinit
# заводим COM1 на io/irq IR-порта
post-install serial /bin/setserial /dev/ttyS0 uart 16550 port 0x3F8 irq 3
alias tty-ldisc-11 irtty
alias char-major-161 ircomm-tty
alias char-major-10-187 irnet
##############################################################
4. Прописываем в файл /etc/sysconfig/irda
##############################################################
IRDA=yes
DEVICE=/dev/ttyS0
DISCOVERY=yes
##############################################################
5. Запускаем
/usr/local/sbin/tosh5100-smcinit
/bin/setserial /dev/ttyS0 uart 16550 port 0x3F8 irq 3
irattach /dev/ttyS0 -s
Финита - теперь инфракрасный порт в режиме SIR (до 115бод) используем по
имени /dev/ircomm0. Примечательно, что irattch насаживается на ttyS0,
а мы пользуемся девайсом /dev/ircomm0. Ничего страшного. Так надо :)
Все указанные команды при перезагрузке будут уже исполняться автоматически,
вручную запускать ничего не потребуется.
Проверить, что порт жив
irdadump
Для IR в режиме скоростного FIR нужно поднимать специализированный FIR-дравер
modprobe smc-ircc
(эксперименты успехом не завершились)
Настройки pppd для Linux mts-gprs
Ничего экстраординарного в настройках PPP не требуется, для GPRS специфичны
следующие моменты (в скобках ключи pppd):
IP-адреса выдаются сервером (ipcp-accept-local ipcp-accept-remote noipdefault)
DNS-сервера выдается сервером (usepeerdns)
(либо прописывается руками в /etc/resolv.conf 213.87.0.1 и 213.87.1.1)
Компрессия заголовков НЕ используется (novj nobsdcomp novjccomp nopcomp noaccomp)
Init-строка мобильника содержит AT+CGDCONT=1,"IP","internet.mts.ru" OK
Используется PAP-авторизация (user mts и /etc/ppp/pap-secrets)
Логин/пароль не используются, поэтому логиннный скрипт банален: "CONNECT"
а в опции pppd имеет смысл добавить ключ noauth
pppd боится назначать "свой" default router, если таковой уже имеется, поэтому
перед стартом pppd default router надо удалить руками/программно
1. # Готовим файл для PAP-авторизации с pop-сервером mts
Единоразово выполняем команду
еcho 'mts * mts *' >> /etc/ppp/pap-secrets
2. Создаем командный файл pppup
==================== CUT HERE ==============================
#!/bin/sh
DIALTIMEOUT=20
# если мобильник подцеплен к COM1 а не к IR, заменить в скрипте ircomm0 на ttyS0
case "$1" in
mts0885)
MODEM=ircomm0 SPEED=57600 MODEM_INIT=""
IH_IP=" ipcp-accept-local ipcp-accept-remote noipdefault user mts"
LOGSCRIPT="CONNECT"
PHONE="0885"
;;
mtsgprs|*)
MODEM=ircomm0 SPEED=115200 MODEM_INIT='AT+CGDCONT=1,\"IP\",\"internet.mts.ru\" OK'
IH_IP=" ipcp-accept-local ipcp-accept-remote noipdefault
debug usepeerdns user mts noauth
novj nobsdcomp novjccomp nopcomp noaccomp"
LOGSCRIPT="CONNECT"
PHONE="*99***1#"
# *99# для QTEK
;;
esac
# перед запуском pppd удаляет default router, по окончании - восстанавливает
# Более корректно было бы вставить эти действия в /etc/ppp/ip-up.local и /etc/ppp/ip-down.local
DR=`route -n | egrep '^0.0.0.0'| grep -v ppp | sed 's/^[^ ]* *\([^ ]*\) .*/default gw \1/'` ;
if [ -n "$DR" ] ; then
trap "echo route add $DR ; route add $DR ; exit" 2 3 9 15
route delete $DR
echo route delete $DR
fi
##########################
##################### При обрыве соединения pppd перезапускается ####################
while true ; do
pppd \
connect 'chat -v ABORT "NO DIALTONE" ABORT "NO CARRIER" ABORT BUSY "" '"$MODEM_INIT"' ATDP'$PHONE' '"$LOGSCRIPT"' ;' \
crtscts defaultroute modem -detach mru 1500 \
$NASH_IP:$IH_IP /dev/$MODEM $SPEED
sleep $DIALTIMEOUT
done
======================== END CUT HERE ==============================
Запуск соединения:
pppup mtsgprs
Остановка: CTRL+C
Если телефон не откликается - выключить/включить его
Таблица параметров для GPRS-подключения к операторам
Номер телефона:
Для Siemens: *99***1#
Motorola, Nokia, Ericsson: *99#
QTEK : *99#
MTS
user: mts
APN: internet.mts.ru
DNS: 213.087.0.1, 213.087.0.1 или Авто
Header-compresion: NONE
BeeLine
user: beeline
APN: internet.beeline.ru
DNS: 217.118.66.243, 217.118.66.244
Header-compresion: NONE
Megafon
user: gdata
APN: internet
DNS: Авто
Header-compresion: Yes
В Toshiba 507 (как и в большинстве новых ноутбуках) нет COM-порта. Зато есть
USB и IR. Переходник USB->COM по стоит около 15$ и понимается FTDI-ишным
дравером для USB, однако нет 100% гарантии, что все это удастся настроить.
Второй минус подключения мобильника через COM - необходимо иметь довольно
недешевый COM-кабель для телефона. Третий минус: COM-подключения -
занимается разъем для подключения питания, а аккумулятор GPRS сжирает
довольно быстро (1 час GPRS = 1 суткам в режиме ожидания)
С другой стороны: не во всех телефонах и ноутбуках есть IR-порт. К некоторым
телефонам COM-кабель прилагается в стандартной поставке, в отличие от IR,
телефон, висящий на кабеле не теряет коннекта от случайных смещений.
Выводы:
1) в ноутбуке желателен IR-порт.
2) в телефоне желателен IR-порт.
3) в телефоне желателен COM-кабель.
4) желательно, чтобы COM-кабель и питание имели раздельные разъемы.
5) полезно иметь адаптер от автомобильного прикуривателя.
6) любопытен вариант с BlueTooth
Вопрос подключения к Linux-ноутбуку через USB давно решен.
Просто исшпользуем порт /dev/ttyACM0
О качестве GPRS (МТС-GPRS и дача - две вещи иногда совместные)
Громко объявленные мобильными операторами высокие скорости GPRS (до 115Кбод)
существуют только в теории. Реальная скорость передачи данных 2.5-2.7Кб/сек.
При снижении качества сигнала - опускается до 0.5Кб/сек и далее - до полного
нуля.
GPRS очень критичен к силе сигнала. При ослаблении сигнала скорость передачи
заметно падает, начинаются задержки и обрывы связи вплоть до полной
неработоспособности даже при вполне удовлетворительном уровне приема.
Все сильно зависит от модели(производителя?) телефона. По некоторым отзывам,
Motorolla держит связь там, где Siemens'ы и Ericsson'ы уже не тянут.
По моему собственному опыту там, где Siemens S45 не работал, устойчиво
работала Nokia 6510.
Конкретно Siemens S45 работает _только_ в условиях хорошего сигнала - хотя
бы "четыре палки" по индикатору из пяти возможных (т.е. примерно до -80dBm)
При "трех палках" (-85dBm : -95dBm) соединяется, но не работает.
При "двух палках" (-97dBm : -109dBm) даже не соединяется.
Nokia 6510 при "трех палках" (-85dBm : -95dBm) работает, иногда с
временными выпаданиями на 5-10 секунд, скорость передачи 450-700 байт в
секунду.
У меня на даче сигнал в "3 палки", для работы через S45 его необходимо
поднять на 20dBm. Стандартные одноштыревые антенны, которые продаются в
мобильных салонах, имеют усиление от 5dBm(300руб) до 11dBm(700руб) - т.е. в
моем случае не помогут.
Направленная антенна в 16дБ стоит около 80$
Бустер (поднимает сигнал, проваленный длинным кабелем) - 60-100$
GSM-усилитель на 20-25dB стоит от 200$ до 1000$
Репитер (усилитель совмещенный с мини GSM-ретранслятором) - 300$
Вывод: телефон Siemens S45 (а по слухам - и другие модели Siemens) для
обеспечения GPRS в условиях средне-посредственного приема НЕПРИГОДЕН, или
требует установки антенно/усилительного хозяйства на сумму в 100-200-300$.
А я отправляюсь покупать Nokia (скорее всего реально протестированный и
доказавший работоспособность 6510) - за 190$.
Подключение к не Unix-системам
Windows (PC), Windows CE (Pocket PC):
Make new connection: via IR-port, PPP, noheadercompression, phonenumber, dns ...
Дополнительно перейти в "Свойства модема" и забить в строку инициализации
AT+CGDCONT=1,IP,internet.mts.ru
PalmOS (Palm)
Боле-менее аналогично, однако здесь в параметрах модема нет понятия "строка
инициализации модема", поэтому придется написать dialup-script, содержащий
эту строку в начале чата.
EPOC-32 (Psion)
1. В панели управления настроить новый модем. В параметрах модема поставить
"Modem type: Mobile", "Terminal Detect: NO", "Carrier Detect: NO"
2. В панели "настройки Интернет" задать ДНС, и логин
3. После подключения и первой попытки обращения к любому сайту появится
сообщение "операцию провести невозможно".
4. После этого запустить программу "GPRS Helper" или "Mobile GPRS Update"
GPRS Helper: http://psiloc.com/psion/eng/gprs/
Mobile GPRS Update: http://www.mypsion.ru, далее по ссылкам
IR и мобильник, и что с ними можно сделать
http://www.opennet.ru/prog/sml/101.shtml
Программы для управления адресной книгой/календарем/sms:
Текстовые, с кучей ключей:
scmxx-0.6.3.7-1.i386.rpm
gsmlib-1.10.tar.gz
К примеру, отсылка СМС может выглядеть так:
gsmsendsms -d /dev/ircomm0 +79021234567 "Tekst SMS-soobsheniya zaklyuchennyj w kawychki"
Смена PIN у симкарты
gsmctl -o setpw sc 1234 2345
С графическим интерфейсом
multisync-0.72-1.i386.rpm требует OBEX-библиотек, у меня не заработала
xgsmlib-0.2.tar.gz требует GNOME-development version 1.4, у меня не собрался
* Далее идет сырой неразобранный материал, надерганный из разных источников *
Origin: http://sn00per.narod.ru/gprs/mtu_w2k.html
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NdisWan\Parameters\Protocols\0\ProtocolMTU
,
устанавливаем десятичное значение MTU меньшее чем 1450, если брать по
аналогии с вин98 - то
В настройках соединения устанавливаем в качестве прокси
proxy.mtsnet.ru и порт 3128.
и сами забудем про
MTU!
Name: mts3.mtsnet.ru
Address: 213.87.0.3
Aliases: proxy.mtsnet.ru
Origin: http://sn00per.narod.ru/gprs/linux_gprs.html
Запустить GPRS под линуксом довольно несложно. Есть масса разных вариантов в инете, как это сделать.
Не претендуя на особую оригинальность, расскажу как это сделал я. Я не стал пока парится с ИРДА,
учитывая наличие КОМ-шнурка. Так проще и надежнее.
И так.. Ядро 2.2.х, chat и pppd подразумеваются установленными. По большому счету особых отличий от
обычного модемного соединениия нет. Отличаются детали. И так. Создаем файлы со следующим
содержанием:
/etc/ppp/peers/gprs-connect-chat:
#!/bin/sh
# chat-gprs-connect
# The actual chat script:
exec chat \
TIMEOUT 5 \
ECHO ON \
ABORT '\nBUSY\r' \
ABORT '\nERROR\r' \
ABORT '\nNO ANSWER\r' \
ABORT '\nNO CARRIER\r' \
ABORT '\nNO DIALTONE\r' \
ABORT '\nRINGING\r\n\r\nRINGING\r' \
'' \rAT \
TIMEOUT 12 \
SAY "Press CTRL-C to close the connection at any stage!" \
SAY "\ndefining PDP context...\n" \
OK ATH \
OK ATE1 \
OK 'AT+CGDCONT=1,"IP","internet.mts.ru"' \
OK ATD*99***1# \
TIMEOUT 22 \
SAY "\nwaiting for connect...\n" \
CONNECT "" \
SAY "\nConnected." \
SAY "\nIf the following ppp negotiations fail,\n" \
SAY "try restarting the phone.\n"
#
/etc/ppp/peers/gprs-connect-chat:
#!/bin/sh
# chat-gprs-disconnect
exec /usr/sbin/chat -V -s -S \
ABORT "BUSY" \
ABORT "ERROR" \
ABORT "NO DIALTONE" \
SAY "\nSending break to the modem\n" \
"" "\K" \
"" "+++ATH" \
SAY "\nPDP context detached\n"
#
/etc/ppp/peers/gprs:
# Serial cable pppd options for GPRS phone
nodetach
debug
show-password
connect /etc/ppp/peers/gprs-connect-chat
disconnect /etc/ppp/peers/gprs-disconnect-chat
/dev/ttyS0 # COM1
#/dev/ttyS1 # COM2
115200
crtscts
local
noipdefault
ipcp-accept-local
defaultroute
usepeerdns
# ppp compression
novj
nobsdcomp
novjccomp
nopcomp
noaccomp
#
noauth
user "mts"
/etc/ppp/pap-secrets:
# Secrets for authentication using PAP
# client server secret IP addresses
mts * mts *
Теперь касаемо ДНС. Если РРР стек телефона может получать ДНС с сервера GPRS
и скрипт /etc/ppp/ip-up может правильно отрабатывать полученную информацию
от pppd, то ставим параметр usepeerdns в /etc/ppp/peers/gprs. С этим
параметром полученная информация сохраняется в файле /etc/ppp/resolv.conf.
/etc/ppp/resolv.conf:
#
nameserver 213.87.0.1
nameserver 213.87.1.1
#
Если такой финт не прокатывает - тогда добавьте эти строки в /etc/re-
solv.conf. Заодно проверьте, что /etc/host.conf содержит строчку "order
hosts,bind".
Вроде все... Коннектим шнурком телефон к компорту. Как root даем команду pp-
pd call gprs и наблюдаем вывод. Оччень полезная информация об установлении
коннекта. Можно контролировать, на какой стадии происходят проблемы.. Вот
например, сегодня очень часто не получается получить ИП адрес из пула МТС,
видимо, весь исчерпался на момент коннекта. Потом вам этот дебаг-мусор
надоест, и тогда можно параметр debug закомментировать. Был еще один момент,
связанный с дефолтовым маршрутом. В моем случае дефолтовый шлюз был в
локалку перед коннктом к GPRS. Я написал короткий скриптик, который перед
вызовом pppd убивал дефолтовый шлюз. После завершения коннекта
восстанавливал локальный дефолтовый шлюз в скрипте /etc/ppp/ip-down.local
Вот и все..потратил полчаса на пользу народу. Продолжаем следить за бредом в
форуме и вылавливать интересные мысли и идеи..Как надоели эти халявщики..
Все вопросы в почту, хотя я не уверен, что будет время отвечать.
1.03.03
Глава 27. Настройка доступа к Интернету через GPRS
Origin: http://ruslandh.narod.ru/GPRS/ch27.html
М.Быков, И.Синелобов, С.Скороходов
Сначала настроим инфракрасный порт, для чего установим пакет irda-utils:
apt-get install irda-utils
Список установленных в составе пакета программ вы можете получить, введя следующую команду:
rpm -ql irda-utils
Теперь у нас есть irdadump, irattach и документация к ним. Man-страницы с документацией существуют
отдельно от пакета: http://mobilix.org/software/irda/
Теперь, для того чтобы определить ваш IR-чипсет и соответствующий ему модуль, введите команду lspci,
предварительно убедившись в том, что инфракрасный порт включен в BIOS. В выводе консоли в случае с
указанным выше ноутбуком вы помимо другой информации увидите следующее:
00:09.0 Communication controller: Toshiba America Info Systems
FIR Port (rev 23)
FIR (Fast Infra-Red) означает хороший чипсет, которому соответствует устройство /dev/ircomm0. В некоторых
моделях ноутбуков Toshiba стоят чипсеты SIR (Serial Infra-Red), которые "притворяются" последовательным
портом /dev/ttyS0 и обеспечивают скорость соединения до 115 Кб/сек, а FIR- до 4 Мб.
Вывод команды lspcidrake даёт название модуля:
toshoboe : Toshiba FIR Port
В LINUX-IFRARED говорится, что в /etc/modules.conf должно быть
alias tty-ldisc-11 irtty
alias char-major-161 ircomm-tty
Добавим необходимые строки и загрузим нужные модули:
$ modprobe toshoboe
$ service irda start
Проверим:
$ service irda status
irattach (pid XXX) is running...
Замечание
Команду irattach ircomm0 -s 1, которая вам встретится в документации, давать не нужно- всё сделает service
irda start.
Активизируем IR на сотовом телефоне, "пристроим" телефон к IR-окошку ноутбука, и, чтобы убедиться в том,
что он определился, последовательно вводим следующие команды и смотрим на их вывод:
# cat /proc/net/irda/discovery - пишет, увидел Моторолу.
# irdadump (дает поток, но после старта сервиса irda не все
строки одинаковые, явно какая-то жизнь).
# ifconfig показывает irda0 и lo.
# dip -t
>port ircomm0
>term
в терминале- AT и ввод, на что телефон честно отвечает ОК. Можно позвонить ATDXXXXX на городской
телефон и услышать писк.
Теперь самое сложное- запустить ppp. Вносим исправления в скрипты из пакета gprs-ppp-scripts.tgz (привожу
только отличия):
В файл /etc/ppp/pap-secrets, делая пробел нажатием на клавишу Tab, вносим следующую запись:
mts * mts
beeline * beeline
В файл /etc/ppp/peers/gprs-moto:
name mts
либо
name beeline
В файл /etc/ppp/gprs-options:
debug - потом полезно выключить
В файл /etc/ppp/chatscripts/gprs-moto-connect-chat запишем:
OK 'AT+CGDCONT=1,"IP","internet.mts.ru"'
(OK 'AT+CGDCONT=1,"IP","internet.beeline.ru"')
Теперь введём команду pppd call gprs-moto и прочитаем её вывод:
....
Script /etc/ppp/ip-up started (pid xxx)
Если вы увидели эти строки, значит есть local IP, и мы в сети.
Замечание
Если появится сообщение "not replacing existing default route to eth0", а
это означает, что # ifconfig показывает eth0, irda0, и lo а # netstat -nr
показывает "дефолтный" gateway, прописанный для вашей сетевой карточки,
проверьте опцию default gateway в файле /etc/ppp/gprs-options (или просто
достаньте pcmcia-карту).
Настройки телефонов смотрите на сайтах компаний: обычно настройки по
умолчанию работают, но иногда бывает необходимо включить и выключить телефон
после настройки или активизации сервиса.
Пакет gprs-ppp-scripts.tgz нужно загрузить со страницы PPP over GPRS from a
UNIX machine.
Литература
UniX and (Cellular) Phones. http://mobilix.org/phones_linux.html.
Linux Infrared HOWTO. http://mobilix.org/Infrared-HOWTO/Infrared-HOWTO.html.
LINUX GPRS HOWTO. http://turtiainen.dna.fi/GPRS-HOWTO.
Linux on the Road. http://mobilix.org/Mobile-Guide.db/Mobile-Guide.html.
something like "/usr/sbin/irattach /dev/ttyS1 -s 1".
[tlinux-users:02215] IrDA on Satellite Pro 6000
http://linux.toshiba-dme.co.jp/linux/eng/faq2/comm/02215.htm
05/21/2002
Hi,
I am currently trying to get the IrDA stuff working in my SatellitePro
6000, but with no success so far.
I already read, that it's some SMC hardware contained in the PCI-to-ISA
bridge (M1533) of the ALi chipset. Which makes me wondern, if I should
go for the ali-ircc or smc-ircc module of my current 2.4.19-pre7 kernel.
But I think, before I try to load a module, findchip (part of the
irda-common package in Debian Woody) should mention the related
hardware.
According to
http://www.pasta.cs.uit.no/pipermail/linux-irda/2001-October/003262.html
there is the problem of activating the SMC chip first. The tools setpci
and setsmc haven't changed the behaviour on my SatellitePro 6000.
On the other hand it's quite unlikely, that setpci/setsmc written for a
SP4600 will also work on a SP6000, even if the IrDA-component seems to
be identical.
Any ideas about further approaches to this problem?
[tlinux-users:02306] 05/31/2002
Hi,
I solved the problem in the meanwhile:
- The SMC hardware is using dma=1, irq=10, firbase=0x130, sirbase=0x2e8.
- Use Daniele Peri's tool to activate the IrDA stuff, which is not done
automatically by the BIOS:
http://www.csai.unipa.it/peri/toshsat1800-irdasetup/
I am using a pre-install entry in my modules.conf:
options smc-ircc ircc_dma=1 ircc_irq=10 ircc_sir=0x2e8 ircc_fir=0x130
pre-install smc-ircc /usr/local/bin/toshsat1800-irdasetup --dma=1 --irq=10 -
-firbase=0x130 --sirbase=0x2e8
- Take care to exclude the ioports for smc-ircc in the pcmcia
configuration (file /etc/pcmcia/config.opts on my Debian Woody box):
exclude port 0x130-0x137, port 0x2e8-0x2ef
In my case the 0x130 port would otherwise be used by orinoco_cs.
Утилиты для работы с мобильными телефонами
Toshiba Software Modem AMR
Askey 1456VQL4(INT) Lucent Scorpio
Download slmdm-2.7.9.tar.gz (resp. the newer version) from the following
webpage and copy it into the /tmp folder:
http://linmodems.technion.ac.il/packages/smartlink/
slmdm-2.7.9.tar.gz
Install all necessary developer packages gcc, rpmbuild, kernel sources ...
Check if the "linux" link points to the kernel sources to avoid compilation
problems:
cd /usr/src
ls -l
Create "linux" link if it does not exist
ln -s linux-2.4... linux
Build rpm packages
cd /tmp
rpm -ta slmdm-2.7.9.tar.gz for SuSE
rpmbuild -ta slmdm-2.7.9.tar.gz for RedHat
(for older RedHat versions use: "rpm -ta slmdm-2.7.9.tar.gz")
Install new rpm-packages
cd /usr/src/packages/RPMS/i386/ for SuSE
cd /usr/src/redhat/RPMS/i386/ for RedHat
rpm -Uhv slmdm-2.7.9-0.i386.rpm
rpm -Uhv slmdm-amr-2.7.9-0.i386.rpm
Add the following line into /etc/modules.conf. Replace "GERMANY" with your
country.
Default setting is USA.
Look into the README for more details if necessary. See last lines.
options slmdm country=GERMANY
http://www.angelfire.com/linux/notebook/toshiba/satellite3000514.html
You can add the following lines into the /etc/rc.d/boot.local (SuSE),
/etc/rc.d/rc.local (RedHat)
to load modules at every bootup
(execute this commands also now in the console to load the modules
immediately for the following tests)
/sbin/insmod slmdm
/sbin/insmod slamrmo
/sbin/insmod slfax
(Your system should load this modules automatically at bootup.)
Stop for the test the network to exclude routing problems
rcnetwork stop for SuSE
service network stop for Red Hat
or
ifconfig eth0 down
ifconfig eth1 down ...
Start KDE -> open a Terminal and type kppp& or start it by menu.
Select "Device"-tab and set Modem Device: /dev/modem.
Select "Modem"-tab ->"Query Modem" if answer is ok click on "Modem
Commands".
Insert in the "Dial String:" Field "ATX3DT" if you are using your own
Telephone System (PBX).
Create your Dialup profile and dial into the internet.
For all other Linux distributions or additional information look into the
README file:
cd /tmp
tar -xvzf slmdm-2.7.9.tar.gz
cd slmdm-2.7.9
less README
Maybe it will work ... sometimes.
But it is not reliable!
I am using my PCMCIA Modem further on.
1. Включить в ядре поддержку Serial over USB
Support for USB
В секции USB Serial Converter support->
USB Serial Converter support
USB Generic Serial Driver
USB Prolific 2303 Single Port Serial Driver(?)
И использовать девайс /dev/usb/tts/0
Bluetooth-подключение телефона
http://www.hanscees.com/bluezhowto.html
http://bluez.sourceforge.net
Dialup подключение Linux PC через Bluetooth & GPRS
http://www.smartweb.ru/news.php?act=c&page=27&cat=2&scat=6
ссылки к статье:
http://www.linmodems.org/
а там - как повезет
Копируете файл Z:\System\Data\irda.esk в C:\System\Data\irda.esk
дописываете в конец файла строчку "irMinLinkTurnaroundTime= 1".
irda.esk выглядит так:
[sockman]
protocols= irmux,tinytp
[irmux]
filename= irda.prt
index= 1
[tinytp]
filename= irda.prt
index= 2
irPod= jeteye7401
irBaud= 115200
irPhysicalComPort= 3
irLinkDisconnectTime= 20
irSupportedBauds= 319
irWindowSize= 1
irMinLinkTurnaroundTime= 1
Точка доступа (APN): internet.beeline.ru
Имя пользователя (User id): beeline
Пароль (Password): beeline
Запрос пароля (Password reqest): Откл (Off)
Разрешенные вызовы (Allow calls): автоматически
(Auto)
IP-адрес (IP address): оставить пустым
Адрес DNS (DNS): оставить пустым
Дополнительные настройки (Advan.settings):
Аутентификация (Authentication): обычная (normal)
Сжатие данных (Data compr): Откл (Off)
Сжатие заголовков (Header compr): Откл (Off)
Качество обслуживания (Quality of serv): во всех
подпунктах установите
?по умолчанию? (Subscribed)
*99***1#
AT+CGDCONT=1,"IP","internet.beeline.ru"
без компрессии заголовков
--------------------------------
http://klamstwo.org/evad/archives/20
bluedevil-wizard позволяет запарить телефоны
На время первой установки bluetooth соединения:
# для Nokia N70 посмотреть сюда
http://www.linuxforum.ru/lofiversion/index.php/t24559.html
hcitool scan
Scanning ...
00:17:4B:45:66:77
sdptool search DUN
. . .
"RFCOMM" (0x0003)
Channel: 3 ### Запомнить номер канала под RFCOMM
### его и использовать в rfcomm.conf . .
/etc/bluetooth/rfcomm.conf
rfcomm0 {
bind yes;
device 00:1C:35:85:9D:24;
channel 1;
comment "Nokia 3109c";
}
rfcomm1 {
bind yes;
device 00:16:4E:7A:CB:8B;
channel 1;
comment "Nokia 6021";
}
mknod /dev/rfcomm0 c 216 0
/etc/init.d/bluetooth restart
Включаем в своем телефоне bluetooth-видимость, а затем на хосте
запускаем
bluetooth-wizard - и спариваем мобильник с хостом.
======= начиная с openSuSE 11.1 то что ниже - устарело ==========
# /etc/init.d/bluez-utils restart
# необязательная команда - прямой коннект к телефону
# rfcomm connect 0 00:17:4B:45:66:77
rfcomm -a
rfcomm0: 00:17:4B:45:66:77 channel 1 closed
Make sure you have following settings in options section of
/etc/bluetooth/hcid.conf file:
options {
autoinit yes;
security auto;
pairing multi;
pin_helper /usr/local/bin/bluepin;
}
Now you need /usr/local/bin/bluepin file:
--------------------------------
#!/bin/sh
echo "PIN:1234"
--------------------------------
## в новых версиях перед авторизацией телефона надо
## запустить ручную команду
passkey-agent --default 1234
Запускаем приложенение, используещее порт /dev/rfcomm0
Вводим логин/пароли, авторизуем комп для pairing
Проверяем:
cd /var/lib/bluetooth/00\:16\:41\:74\:39\:C0/
cat linkkeys
00:16:4E:7A:CB:8E F6ABFA84B559FEF4622B53913495F71C 0
00:17:4B:45:66:77 F513E053ADAEEEAA196C3693C7994373 0
GPRS с телефоном, подключенным к через USB кабель
Воткнуть USB,
в /var/log/messages посмотреть, какое имя получил USB-шный порт.
Скорее всего что-то типа
: Mar 25 15:37:19 bliss kernel: cdc_acm 2-2:1.8: ttyACM0: USB ACM device
Далее все по стандартной схеме, используя в качестве устройства модема
/dev/ttyACM0
Конфигурирование WiMax'овской сетки
wget madwimax.googlecode.com/files/madwimax-0.0.2.tar.gz # Скачиваем исходный код
tar -xzf madwimax-0.0.2.tar.gz # Распаковываем
mv madwimax-0.0.2 wimax
make -C wimax # Компилируем
Инсталлируем
Создаем два файла
/usr/sbin/wimax.sh:
#!/bin/sh
/usr/root/wimax/wimax -qd
sleep 10
ip l set dev tap0 mtu 1386
dhcpcd -q --noipv4ll tap0 &> /dev/null
/etc/udev/rules.d/99-madwimax.rules:
# udev rules file for madwimax supported devices
SUBSYSTEM!="usb|usb_device", GOTO="madwimax_rules_end"
ACTION!="add", GOTO="madwimax_rules_end"
ATTRS{idVendor}=="04e9", ATTRS{idProduct}=="6761", ATTR{bInterfaceNumber}=="01", RUN+="/bin/sh -c '/bin/echo -n $kernel > /sys/$devpath/driver/unbind'"
ATTRS{idVendor}=="04e9", ATTRS{idProduct}=="6761", ATTR{bInterfaceNumber}=="00", RUN+="/usr/bin/at -f /usr/sbin/wimax.sh +1minute"
LABEL="madwimax_rules_end"
Лечение USB-шного свистка
eject /dev/sr0
sleep 5
/sbin/modprobe usbserial vendor=0x19d2 product=0x0001
dmesg | grep ttyUSB
должно появиться три устройства: ttyUSB0, ttyUSB1, ttyUSB2
модем цепляется на ttyUSB0
"Улучшение" sysctl для модемной связи
/etc/sysctl.conf
net.ipv4.tcp_fin_timeout = 30
net.ipv4.tcp_keepalive_time = 1800
net.ipv4.tcp_window_scaling = 0
net.ipv4.tcp_sack = 0
net.ipv4.tcp_timestamps = 0
/dev/ttyAC0
atdp#777
Login: mobile
Password: internet
Строки инициализации:
AT+CRM=1;&C2 (???)
AT*SKT*RECEIVERESTRICTION=3 EV-DO only
AT*SKT*RECEIVERESTRICTION=2 1X + EV-DO
AT*SKT*RECEIVERESTRICTION=1 1X only
Советуют добавить ввод пинкода и noauth
SPEED 460800
MODEM_INIT='"AT+CRM=1;&C2" OK "AT*SKT*RECEIVERESTRICTION=1" OK'
Популярность: 18, Last-modified: Thu, 02 Apr 2020 12:45:13 GmT