реклама на сайте
подробности

 
 
> Свой стек PPP
Beginning
сообщение Oct 1 2008, 12:54
Сообщение #1


Знающий
****

Группа: Свой
Сообщений: 511
Регистрация: 24-08-07
Из: БРЕСТ
Пользователь №: 30 053



Долго искал, где создать тему, так и не нашёл. Разместил здесь, т.к. в конечном счёте, PPP необходим для GPRS. Если есть более подходящая ветка, прошу перенести.
Собственно сам вопрос. Рассчитываю CRC PPP фрейма. И CRC не совпадает. Делаю Следующее:
Сначало приходит стандартный LCP пакет:
~ }#А!}!}#} }9}"}&} }*} } }'}"}(}"}%}&ЂA}!в}#}%В#}%чи~
После преоброзования 7D, выделяем тело:
C0,21,1,3,0,19,2,6,0,A,0,0,7,2,8,2,5,6,80,41,1,E2,3,5,C2,23,5,F7,E8,

Функуия для расчёта CRC:
uint16 crc16_ppp(uint8 *buf,uint32 len)
{
uint32 i;
uint8 j;
uint16 crc=0x2E93; //В CRC побывало уже 0xFF и 0x03
for (i=0;i<len;i++)
{
crc^=(uint16)buf[i]<<8;
for(j=0;j<8;j++) crc=crc&0x8000 ? (crc << 1)^0x1021 : crc<<1;
}
return crc;
}
Получаю CRC: EB1C
Инвертирую CRC: 14E3 и оно не совпадает с F7E8.
Что я делаю не так? Через CRC надо пропускать байты уже преобразованные через 7D, или абсолютно каждый байт между ~~?
Если у кого есть исxодники PPP, можете помочь страждущему?
P.S. Т.к. есть большое желание узнать, как вся эта кухня работает, не предлагать взять готовый стек PPP и TCP/IP


--------------------
Если хочешь вбить гвоздь, не ищи обходных путей, просто бери молоток и бей по этому чёртовому гвоздю!
Go to the top of the page
 
+Quote Post
4 страниц V  < 1 2 3 4 >  
Start new topic
Ответов (30 - 44)
Beginning
сообщение Oct 14 2008, 07:18
Сообщение #31


Знающий
****

Группа: Свой
Сообщений: 511
Регистрация: 24-08-07
Из: БРЕСТ
Пользователь №: 30 053



Чтобы не описывать каждый свой шаг, приведу текст отладочной информации который я выкидываю в порт. (в драйвер портов внедрён snifer - выводится весь поток на модем и с модема, плюс моя отладочная информация):
Код
Serial port COM1 opened
Инициализаци{FF}--------------------
at&f
at&f
OK
ate0
ate0
OK
AT+CPIN?

+CPIN: READY

OK
Ожидание регистрации   в GSM сети...
AT+CREG?

+CREG: 0,1

OK
Регистраци{FF} успешна.-------------------
at+cgdcont?

OK
AT+CGDCONT=1,"IP","wap.velcom.by"

OK
ATD*99***1#

CONNECT
~{FF}}#А!}!}#} }9}"}&} }*} } }'}"}(}"}%}&0ТЎА}#}%В#}%oV~
Тело:FF,3,C0,21,1,3,0,19,2,6,0,A,0,0,7,2,8,2,5,6,30,D2,A1,C0,3,5,C2,23,5,6F,56,
Сервер предложил(LCP ID:3):
Async Control Character Map:A0000
Протокол аутентификации:C223
Параметр "магическое число":30D2A1C0
Cжати{FF} пол{FF} протокола
Cжати{FF} полей адреса и управлени{FF}

тело OUT: FF,3,C0,21,4,3,0,18,2,6,0,A,0,0,3,4,C0,23,5,6,30,D2,A1,C0,7,2,8,2,7,5F,~{FF}}#А!}$}#} }8}"}&} }*} } }#}$А#}%}&0ТЎА}'}"}(}"}'_~~{FF}}#А!}!}%} }(}#}$А#;,~~{FF}}#А!}!}%} }(}#}$А#;,~
Тело:FF,3,C0,21,1,5,0,8,3,4,C0,23,3B,2C,
Сервер предложил(LCP ID:5):
Протокол аутентификации:C023

---CONFIG OK---

тело OUT:FF,3,C0,21,2,5,0,8,3,4,C0,23,EB,A6,
PPP login:
PPP passward:

тело OUT:FF,3,C0,23,1,5,0,6,0,0,91,4,


Скачал TCP-IP Lean--Web Servers for Embedded Systems.
Там есть проект для PIC18. Последний раз с PIC работал лет 7 назад. Работал, если не изменяет память с MPLAB.
Вопрос: какая среда используется для этого проекта? Есть файл с расширением .prj


--------------------
Если хочешь вбить гвоздь, не ищи обходных путей, просто бери молоток и бей по этому чёртовому гвоздю!
Go to the top of the page
 
+Quote Post
vesago
сообщение Oct 14 2008, 07:22
Сообщение #32


Тутэйшы
****

Группа: Свой
Сообщений: 708
Регистрация: 30-11-04
Пользователь №: 1 263



Там наверное использован хайтэч + мплаб. Но вам это не нужно. Там все написно на сях. Портируйте в свой проект только то что нужно.
Go to the top of the page
 
+Quote Post
Beginning
сообщение Oct 14 2008, 12:01
Сообщение #33


Знающий
****

Группа: Свой
Сообщений: 511
Регистрация: 24-08-07
Из: БРЕСТ
Пользователь №: 30 053



Блин! Почему не работает? Модем MC55. Подправил snif+debag_inf для наглядности:
Код
Serial port COM1 opened
at+cgdcont?

OK
AT+CGDCONT=1,"IP","wap.velcom.by"

OK
ATD*99***1#

CONNECT
~{FF}}#А!}!}#} }9}"}&} }*} } }'}"}(}"}%}&Ї$/}1}#}%В#}%ъд~
<--GSM:FF,3,C0,21,1,3,0,19,2,6,0,A,0,0,7,2,8,2,5,6,AF,24,2F,11,3,5,C2,23,5,FA,E4,

-->GSM:FF,3,C0,21,4,3,0,18,2,6,0,A,0,0,3,4,C0,23,5,6,AF,24,2F,11,7,2,8,2,C0,79,
~{FF}}#А!}$}#} }8}"}&} }*} } }#}$А#}%}&Ї$/}1}'}"}(}"Аy~~{FF}}#А!}!}%} }(}#}$А#;,~
<--GSM:FF,3,C0,21,1,5,0,8,3,4,C0,23,3B,2C,

---CONFIG OK---

-->GSM:FF,3,C0,21,2,5,0,8,3,4,C0,23,EB,A6,
~{FF}}#А!}"}%} }(}#}$А#л¦~
PPP login:
PPP passward:

-->GSM:FF,3,C0,23,1,1,0,6,0,0,81,29,
~{FF}}#А#}!}!} }&} } Ѓ)~
PPP login:
PPP passward:

-->GSM:FF,3,C0,23,1,1,0,6,0,0,81,29,
~{FF}}#А#}!}!} }&} } Ѓ)~
PPP login:
PPP passward:

-->GSM:FF,3,C0,23,1,1,0,6,0,0,81,29,
~{FF}}#А#}!}!} }&} } Ѓ)~
PPP login:
PPP passward:

-->GSM:FF,3,C0,23,1,1,0,6,0,0,81,29,
~{FF}}#А#}!}!} }&} } Ѓ)~
PPP login:
PPP passward:

-->GSM:FF,3,C0,23,1,1,0,6,0,0,81,29,
~{FF}}#А#}!}!} }&} } Ѓ)~~{FF}}#А!}%}%} }$\¤~~{FF}}#А!}%}%} }$\¤~
NO CARRIER

Что не так?

To west329_:
Не могли бы вы прислать свои логи PAP?


--------------------
Если хочешь вбить гвоздь, не ищи обходных путей, просто бери молоток и бей по этому чёртовому гвоздю!
Go to the top of the page
 
+Quote Post
west329_
сообщение Oct 14 2008, 12:21
Сообщение #34


Местный
***

Группа: Свой
Сообщений: 378
Регистрация: 10-09-07
Из: UKR/Voz
Пользователь №: 30 423



после 18.00

п.с. Может настройки провайдера глючат, попробуйте с другой симкой и провайдером. У меня такое не раз было на Лайфе

Сообщение отредактировал west329_ - Oct 14 2008, 12:23
Go to the top of the page
 
+Quote Post
Beginning
сообщение Oct 14 2008, 13:08
Сообщение #35


Знающий
****

Группа: Свой
Сообщений: 511
Регистрация: 24-08-07
Из: БРЕСТ
Пользователь №: 30 053



Народ, кто подскажет программу, которую можно просто на COM натравить, на котором модем GPRS висит, что бы она в INET вышла. А то я что-то не нашёл. Ставлю обычный драйвер стандартного модема, так он мне аппаратную ошибку выдаёт. Видимо не заточен под GPRS.


--------------------
Если хочешь вбить гвоздь, не ищи обходных путей, просто бери молоток и бей по этому чёртовому гвоздю!
Go to the top of the page
 
+Quote Post
vesago
сообщение Oct 14 2008, 13:47
Сообщение #36


Тутэйшы
****

Группа: Свой
Сообщений: 708
Регистрация: 30-11-04
Пользователь №: 1 263



Видно не знает стандартный драйвер особенности вашего аппарата. Качните в интеренете дрова под свой модем/телефон. Допустим тут
Go to the top of the page
 
+Quote Post
Beginning
сообщение Oct 14 2008, 14:24
Сообщение #37


Знающий
****

Группа: Свой
Сообщений: 511
Регистрация: 24-08-07
Из: БРЕСТ
Пользователь №: 30 053



Искал инфу. Наткнулся на это:
http://www.xakep.ru/post/37720/default.asp
Я плакал. lol.gif


--------------------
Если хочешь вбить гвоздь, не ищи обходных путей, просто бери молоток и бей по этому чёртовому гвоздю!
Go to the top of the page
 
+Quote Post
lolful
сообщение Oct 15 2008, 12:07
Сообщение #38


Частый гость
**

Группа: Свой
Сообщений: 106
Регистрация: 27-11-07
Из: Пермь
Пользователь №: 32 732



Цитата(Beginning @ Oct 14 2008, 19:08) *
Народ, кто подскажет программу, которую можно просто на COM натравить, на котором модем GPRS висит, что бы она в INET вышла. А то я что-то не нашёл. Ставлю обычный драйвер стандартного модема, так он мне аппаратную ошибку выдаёт. Видимо не заточен под GPRS.
У меня Windows XP SP2. Я просто добавил новый модем, настроил соединение и все заработало. Никаких драйверов скачивать не пришлось. Модем Siemens mc35i.
Go to the top of the page
 
+Quote Post
Beginning
сообщение Oct 15 2008, 12:29
Сообщение #39


Знающий
****

Группа: Свой
Сообщений: 511
Регистрация: 24-08-07
Из: БРЕСТ
Пользователь №: 30 053



А какой именно модем вы добавили??????

У меня вообще глюки, капец какие. Мало того, что после согласавания параметров, модем вступает в ступор, и не отвечает ни на какие запросы PAP и IPCP, а через 1 минуту как ни в чём небывало, присылает мне Code-Reject, но впрочем я это описал выше, так ещё и винда такие фокусы выдаёт!
Установил драйвер на модем. Простой .inf. Делаю подключение. Смотрю в PortMonitor уходят запросы AT, а в порт физически не поступают. Т.е. просераются гдето между драйвером и микрухой порта, или ещё где. Пипец какойто. sad.gif


--------------------
Если хочешь вбить гвоздь, не ищи обходных путей, просто бери молоток и бей по этому чёртовому гвоздю!
Go to the top of the page
 
+Quote Post
Beginning
сообщение Oct 17 2008, 13:52
Сообщение #40


Знающий
****

Группа: Свой
Сообщений: 511
Регистрация: 24-08-07
Из: БРЕСТ
Пользователь №: 30 053



В общем и целом, удолось подключить модем к компу и выйти в интернет. При этом удалось удачно заснифить весь трафик. И сразу посыпались сюрпризы. Как оказалось, комп сразу берёт инициативу на себя и начинает предлогать настройки модему. Вот первая его посылка:
Код
7E,FF,3,C0,21,1,0,0,17,2,6,0,0,0,0,5,6,20,A4,5,5D,7,2,8,2,D,3,6,F7,D9,7E,

Кто знает, что за параметр: D,3,6? Нигде в referenc нет описания?

Кстати, не только я не знаю что за параметр, но и модем тоже. На что он благополучно фыркнул реджектом:
Код
7E,FF,3,C0,21,4,0,0,7,D,3,6,AD,36,7E,


--------------------
Если хочешь вбить гвоздь, не ищи обходных путей, просто бери молоток и бей по этому чёртовому гвоздю!
Go to the top of the page
 
+Quote Post
Beginning
сообщение Oct 17 2008, 14:59
Сообщение #41


Знающий
****

Группа: Свой
Сообщений: 511
Регистрация: 24-08-07
Из: БРЕСТ
Пользователь №: 30 053



Обнаружил что сразу после согласования параметров, комп посылает модему следующее:
Код
7E,C0,21,0C,03,00,12,20,A4,05,5D,4D,53,52,41,53,56,35,2E,31,30,42,C4,7E,

Что за тип 0x0С? Если приглядется то в теле есть строка
Код
MSRASV5.10

Затем комп сразу посылает:
Цитата
7E,C0,21,0C,04,00,19,20,A4,05,5D,4D,53,52,41,53,2D,30,2D,44,45,56,45,4C,4F,50,45
,52,5F,8E,7E,

В теле содержится:
Код
MSRAS-0-DEVELOPER_


После этого, комп посылает пороль по PAP, и модем отвечает аском. Что это за фигня?


--------------------
Если хочешь вбить гвоздь, не ищи обходных путей, просто бери молоток и бей по этому чёртовому гвоздю!
Go to the top of the page
 
+Quote Post
west329_
сообщение Oct 18 2008, 09:30
Сообщение #42


Местный
***

Группа: Свой
Сообщений: 378
Регистрация: 10-09-07
Из: UKR/Voz
Пользователь №: 30 423



не обращай внимая, это винда, надо использовать стандартные АТ
ATE
ATH
AT+FCLASS=0
ATS7=60\Q0
AT+CGDCONT=1,\x22IP\x22,\x22internet\x22\x0D\x0A" - точка доступа
ATD*99***1# -- для сименс
Go to the top of the page
 
+Quote Post
west329_
сообщение Oct 18 2008, 18:33
Сообщение #43


Местный
***

Группа: Свой
Сообщений: 378
Регистрация: 10-09-07
Из: UKR/Voz
Пользователь №: 30 423



Ув. не подскажите, пока автор молчит, задам вопросик.
Разбираюсь с передачей пакетов в режиме ЖПРС через РРР сесию, как протокол верхнего уровня стоит UDP,

Собственно вопрос такоой, обём данных которые упаковываются в UDP на постоянный и находится в предел от 100 до 180 байт, играет роль четное или не четное количество байт, надо ли както это исправлять.

Получается что часть пакетов не выходит за пределы телефона, не слышно характерного звука в колонке, а часть пакетов процентов 30 проходит нормально, и проблема не со стороны сервера уже проверяли неоднократно, уже незнаю на что грешить ???
Go to the top of the page
 
+Quote Post
Beginning
сообщение Oct 20 2008, 09:48
Сообщение #44


Знающий
****

Группа: Свой
Сообщений: 511
Регистрация: 24-08-07
Из: БРЕСТ
Пользователь №: 30 053



Насколько я помню, но GPRS поддерживает только IP, или это только для sim300?


--------------------
Если хочешь вбить гвоздь, не ищи обходных путей, просто бери молоток и бей по этому чёртовому гвоздю!
Go to the top of the page
 
+Quote Post
west329_
сообщение Oct 20 2008, 10:39
Сообщение #45


Местный
***

Группа: Свой
Сообщений: 378
Регистрация: 10-09-07
Из: UKR/Voz
Пользователь №: 30 423



Цитата(Beginning @ Oct 20 2008, 12:48) *
Насколько я помню, но GPRS поддерживает только IP, или это только для sim300?



IP это транспортный протокол, на него ложатся UDP или TCP, до него идёт РРР скорее всего только его поддерживает GPRS.
Go to the top of the page
 
+Quote Post

4 страниц V  < 1 2 3 4 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 3rd August 2025 - 16:25
Рейтинг@Mail.ru


Страница сгенерированна за 0.01498 секунд с 7
ELECTRONIX ©2004-2016