Когда я пытаюсь собрать DLCI 1, похоже, это не удалось, вот журнал,
//открываем DLCI 0,
gsm_send_packet: 00000000: f9 03 3f 01 1c f9
gsmld_receive_buf: 00000000: f9 03 73 01 d7 f9
//открываем DLCI 1,
07-10 15:31:34.399 950 950 I gsm_send_packet: 00000000: f9 07 3f 01 de f9
07-10 15:31:34.399 950 950 I gsmld_output: 00000000: f9 07 3f 01 de f9
07-10 15:31:34.399 950 950 E : gsm_data_kick list_empty! return!
07-10 15:31:34.399 950 950 E : gsmld_write_task
07-10 15:31:34.399 950 950 E : gsm_data_kick ttyflag=2048
// одновременно запускаем SABM (можно ли это удалить? или это обязательно?)
07-10 15:31:34.399 950 950 I gsm_send_packet: 00000000: f9 03 ef 09 e3 05 07 8d fb f9
07-10 15:31:34.399 950 950 I gsmld_output: 00000000: f9 03 ef 09 e3 05 07 8d fb f9
07-10 15:31:34.399 950 950 E : gsm_data_kick list_empty! return!
//UA от хоста B для обоих отправленных выше кадров вернулось (всего 26 октетов)
07-10 15:31:34.407 249 249 I gsmld_receive_buf: 00000000: f9 07 73 01 15 f9 f9 01 ff 09 e3 05 07 8d 8f f9
07-10 15:31:34.408 249 249 I gsmld_receive_buf: 00000010: f9 03 ff 09 e1 05 07 8d ee f9
07-10 15:31:34.408 249 249 E : gsmld_receive_buf --flag 0 count=26
07-10 15:31:34.408 249 249 E : gsm0_receive gsm->state=0
07-10 15:31:34.408 249 249 E : gsm0_receive gsm->fcs=255
07-10 15:31:34.408 249 249 E : gsmld_receive_buf --flag 0 count=25
07-10 15:31:34.408 249 249 E : gsm0_receive gsm->state=2
07-10 15:31:34.408 249 249 E : gsm0_receive gsm->fcs=186
07-10 15:31:34.408 249 249 E : gsmld_receive_buf --flag 0 count=24
07-10 15:31:34.408 249 249 E : gsm0_receive gsm->state=3
07-10 15:31:34.408 249 249 E : gsm0_receive gsm->fcs=15
07-10 15:31:34.408 249 249 E : gsmld_receive_buf --flag 0 count=23
07-10 15:31:34.408 249 249 E : gsm0_receive gsm->state=8
07-10 15:31:34.408 249 249 E : gsm0_receive gsm->fcs=234
07-10 15:31:34.408 249 249 E : gsmld_receive_buf --flag 0 count=22
07-10 15:31:34.408 249 249 E : gsm0_receive gsm->state=6
07-10 15:31:34.408 249 249 E : gsm0_receive gsm->fcs=207
07-10 15:31:34.408 249 249 E : gsmld_receive_buf --flag 0 count=21
07-10 15:31:34.408 249 249 E : gsm0_receive gsm->state=10
07-10 15:31:34.408 249 249 E : gsm_queue addr=3, gsm->fcs=207
07-10 15:31:34.408 249 249 E : gsm_dlci_open state=2
//здесь процедура необоснованно останавливает обработку полученных данных буфера, около 1 с
//затем происходит тайм-аут T2 и вызывается gsm_control_retransmit.
07-10 15:31:35.434 0 0 E : [ C2] gsm_control_retransmit ctrl=759782080
07-10 15:31:35.434 950 950 E : gsmld_write_task
07-10 15:31:35.434 950 950 E : gsm_data_kick ttyflag=2048
07-10 15:31:35.434 950 950 I gsm_send_packet: 00000000: f9 03 ef 09 e3 05 07 8d fb f9
Кто-нибудь знает, почему 'gsmld_receive_buf' прекращает обработку полученных данных буфера в 21 октете?
вот такой же исходный код,
https://github.com/torvalds/linux/blob/ ... ty/n_gsm.c
static void gsmld_receive_buf(struct tty_struct *tty, const u8 *cp,
const u8 *fp, size_t count)
{
struct gsm_mux *gsm = tty->disc_data;
u8 flags = TTY_NORMAL;
if (debug & DBG_DATA)
gsm_hex_dump_bytes(__func__, cp, count);
for (; count; count--, cp++) {
if (fp)
flags = *fp++;
switch (flags) {
case TTY_NORMAL:
if (gsm->receive)
gsm->receive(gsm, *cp);
break;
case TTY_OVERRUN:
case TTY_BREAK:
case TTY_PARITY:
case TTY_FRAME:
gsm_error(gsm);
break;
default:
WARN_ONCE(1, "%s: unknown flag %d\n",
tty_name(tty), flags);
break;
}
}
/* FASYNC if needed ? */
/* If clogged call tty_throttle(tty); */
}
Подробнее здесь: https://stackoverflow.com/questions/787 ... eived-data
Вопрос по проблеме драйвера Linux n_gsm 0710 при обработке полученных данных ⇐ Linux
1721211509
Anonymous
Когда я пытаюсь собрать DLCI 1, похоже, это не удалось, вот журнал,
//открываем DLCI 0,
gsm_send_packet: 00000000: f9 03 3f 01 1c f9
gsmld_receive_buf: 00000000: f9 03 73 01 d7 f9
//открываем DLCI 1,
07-10 15:31:34.399 950 950 I gsm_send_packet: 00000000: f9 07 3f 01 de f9
07-10 15:31:34.399 950 950 I gsmld_output: 00000000: f9 07 3f 01 de f9
07-10 15:31:34.399 950 950 E : gsm_data_kick list_empty! return!
07-10 15:31:34.399 950 950 E : gsmld_write_task
07-10 15:31:34.399 950 950 E : gsm_data_kick ttyflag=2048
// одновременно запускаем SABM (можно ли это удалить? или это обязательно?)
07-10 15:31:34.399 950 950 I gsm_send_packet: 00000000: f9 03 ef 09 e3 05 07 8d fb f9
07-10 15:31:34.399 950 950 I gsmld_output: 00000000: f9 03 ef 09 e3 05 07 8d fb f9
07-10 15:31:34.399 950 950 E : gsm_data_kick list_empty! return!
//UA от хоста B для обоих отправленных выше кадров вернулось (всего 26 октетов)
07-10 15:31:34.407 249 249 I gsmld_receive_buf: 00000000: f9 07 73 01 15 f9 f9 01 ff 09 e3 05 07 8d 8f f9
07-10 15:31:34.408 249 249 I gsmld_receive_buf: 00000010: f9 03 ff 09 e1 05 07 8d ee f9
07-10 15:31:34.408 249 249 E : gsmld_receive_buf --flag 0 count=26
07-10 15:31:34.408 249 249 E : gsm0_receive gsm->state=0
07-10 15:31:34.408 249 249 E : gsm0_receive gsm->fcs=255
07-10 15:31:34.408 249 249 E : gsmld_receive_buf --flag 0 count=25
07-10 15:31:34.408 249 249 E : gsm0_receive gsm->state=2
07-10 15:31:34.408 249 249 E : gsm0_receive gsm->fcs=186
07-10 15:31:34.408 249 249 E : gsmld_receive_buf --flag 0 count=24
07-10 15:31:34.408 249 249 E : gsm0_receive gsm->state=3
07-10 15:31:34.408 249 249 E : gsm0_receive gsm->fcs=15
07-10 15:31:34.408 249 249 E : gsmld_receive_buf --flag 0 count=23
07-10 15:31:34.408 249 249 E : gsm0_receive gsm->state=8
07-10 15:31:34.408 249 249 E : gsm0_receive gsm->fcs=234
07-10 15:31:34.408 249 249 E : gsmld_receive_buf --flag 0 count=22
07-10 15:31:34.408 249 249 E : gsm0_receive gsm->state=6
07-10 15:31:34.408 249 249 E : gsm0_receive gsm->fcs=207
07-10 15:31:34.408 249 249 E : gsmld_receive_buf --flag 0 count=21
07-10 15:31:34.408 249 249 E : gsm0_receive gsm->state=10
07-10 15:31:34.408 249 249 E : gsm_queue addr=3, gsm->fcs=207
07-10 15:31:34.408 249 249 E : gsm_dlci_open state=2
//здесь процедура необоснованно останавливает обработку полученных данных буфера, около 1 с
//затем происходит тайм-аут T2 и вызывается gsm_control_retransmit.
07-10 15:31:35.434 0 0 E : [ C2] gsm_control_retransmit ctrl=759782080
07-10 15:31:35.434 950 950 E : gsmld_write_task
07-10 15:31:35.434 950 950 E : gsm_data_kick ttyflag=2048
07-10 15:31:35.434 950 950 I gsm_send_packet: 00000000: f9 03 ef 09 e3 05 07 8d fb f9
Кто-нибудь знает, почему '[b]gsmld_receive_buf[/b]' прекращает обработку полученных данных буфера в 21 октете?
вот такой же исходный код,
https://github.com/torvalds/linux/blob/master/drivers/tty/n_gsm.c
static void gsmld_receive_buf(struct tty_struct *tty, const u8 *cp,
const u8 *fp, size_t count)
{
struct gsm_mux *gsm = tty->disc_data;
u8 flags = TTY_NORMAL;
if (debug & DBG_DATA)
gsm_hex_dump_bytes(__func__, cp, count);
for (; count; count--, cp++) {
if (fp)
flags = *fp++;
switch (flags) {
case TTY_NORMAL:
if (gsm->receive)
gsm->receive(gsm, *cp);
break;
case TTY_OVERRUN:
case TTY_BREAK:
case TTY_PARITY:
case TTY_FRAME:
gsm_error(gsm);
break;
default:
WARN_ONCE(1, "%s: unknown flag %d\n",
tty_name(tty), flags);
break;
}
}
/* FASYNC if needed ? */
/* If clogged call tty_throttle(tty); */
}
Подробнее здесь: [url]https://stackoverflow.com/questions/78758952/question-on-linux-n-gsm-0710-driver-issue-during-processing-received-data[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия