|
Не работает драйвер сетевого устройства |
|
|
|
 |
Ответов
|
May 24 2018, 05:47
|

Местный
  
Группа: Участник
Сообщений: 319
Регистрация: 31-01-12
Пользователь №: 69 978

|
В моем случае вместо netif_rx выполняется netif_receive_skb (т.к. используется метод NAPI), функция возвращает в части случаев NET_RX_SUCCESS, в части случаев NET_RX_DROP, что говорит о том, что половина пакетов дропается.
При этом счетчик принятых пакетов в свойствах соединения растет. Так же растет и счетчик отправленных пакетов, однако входящих пакетов на ПК от устройства нет (соединение с ПК прямое). Так же похоже после определенного количества принятых пакетов устройство перестает их принимать, во всяком случае счетчик принятых пакетов перестает расти. Такое ощущение что в систему пакеты поступают из драйвера, но не разгребаются там, занимаются всю доступную память, после чего устройство перестает отправлять пакеты в систему. может такое быть? какие могут быть причины?
|
|
|
|
|
May 24 2018, 07:34
|
Участник

Группа: Участник
Сообщений: 68
Регистрация: 3-06-15
Пользователь №: 86 995

|
Цитата(k000858 @ May 24 2018, 06:47)  В моем случае вместо netif_rx выполняется netif_receive_skb (т.к. используется метод NAPI), функция возвращает в части случаев NET_RX_SUCCESS, в части случаев NET_RX_DROP, что говорит о том, что половина пакетов дропается.
При этом счетчик принятых пакетов в свойствах соединения растет. Так же растет и счетчик отправленных пакетов, однако входящих пакетов на ПК от устройства нет (соединение с ПК прямое). Так же похоже после определенного количества принятых пакетов устройство перестает их принимать, во всяком случае счетчик принятых пакетов перестает расти. Такое ощущение что в систему пакеты поступают из драйвера, но не разгребаются там, занимаются всю доступную память, после чего устройство перестает отправлять пакеты в систему. может такое быть? какие могут быть причины? сбрасывать пакеты сетевое устройство может по причине отсутствия свободных дескрипторов. попробуйте изменить кол-во дескрипторов, например #define DEF_RXDESC_NUM (100 вместо 4 если память позволяет..) если все пакеты теряются на нижнем уровне то это должно помочь.
Сообщение отредактировал winniethepooh - May 24 2018, 07:37
|
|
|
|
|
May 24 2018, 08:04
|

Местный
  
Группа: Участник
Сообщений: 319
Регистрация: 31-01-12
Пользователь №: 69 978

|
Цитата(winniethepooh @ May 24 2018, 11:34)  сбрасывать пакеты сетевое устройство может по причине отсутствия свободных дескрипторов. попробуйте изменить кол-во дескрипторов, например #define DEF_RXDESC_NUM (100 вместо 4 если память позволяет..) если все пакеты теряются на нижнем уровне то это должно помочь. попробую увеличить. правда вряд ли это поможет, большая часть пакетов все же удачно принимается, однако счетчик Rx0 = 0. При том само устройство тоже отправляет пакеты (запрос DHCP), и этот запрос я вижу в программе DHCP сервер (мак точно устройства), но счетчик полученных пакетов на ПК 0. Как так??? ПО верхнего уровня пакет получает (DHCP запрос) а в свойствах сетевого соединения количество полученных пакетов не растет... добавлено: поправка - счетчик Rx на устройство растет в cat /proc/net/dev но не растет в ifconfig Rx на ПК от устройства так же работает, вижу пакеты и в сниффере, но счетчик пакетов в винде не растет. то есть у этих 2х эффектов одна причина. пакеты - DHCP: запросы от устройства к ПК, затем ответ от ПК устройству и последующий повторный запрос (так по кругу) потому что ответ от ПК попал в систему устройства (netif_receive_skb NET_RX_SUCCESS) но система этот пакет не переварила.
|
|
|
|
|
May 24 2018, 08:44
|
Участник

Группа: Участник
Сообщений: 68
Регистрация: 3-06-15
Пользователь №: 86 995

|
Цитата(k000858 @ May 24 2018, 09:04)  поправка - счетчик Rx на устройство растет в cat /proc/net/dev но не растет в ifconfig Rx на ПК от устройства так же работает, вижу пакеты и в сниффере, но счетчик пакетов в винде не растет.
то есть у этих 2х эффектов одна причина.
пакеты - DHCP: запросы от устройства к ПК, затем ответ от ПК устройству и последующий повторный запрос (так по кругу) потому что ответ от ПК попал в систему устройства (netif_receive_skb NET_RX_SUCCESS) но система этот пакет не переварила. да это интересно, что то в пакетах делает их невидимыми для ОС? может можно сравнить с пакетами от другой системы..
|
|
|
|
Сообщений в этой теме
k000858 Не работает драйвер сетевого устройства May 18 2018, 11:32 winniethepooh Цитата(k000858 @ May 18 2018, 12:32) Порт... May 18 2018, 13:45 k000858 Цитата(winniethepooh @ May 18 2018, 16:45... May 21 2018, 04:09  winniethepooh Цитата(k000858 @ May 21 2018, 05:09) Вы в... May 21 2018, 07:02   k000858 Цитата(winniethepooh @ May 21 2018, 10:02... May 21 2018, 07:40    winniethepooh Цитата(k000858 @ May 21 2018, 08:40) что ... May 21 2018, 08:07     k000858 Цитата(winniethepooh @ May 21 2018, 11:07... May 21 2018, 08:54      samike Цитата(k000858 @ May 21 2018, 11:54) - в ... May 22 2018, 06:16       winniethepooh Цитатаcat /proc/interrupts ?
да оно May 22 2018, 07:09       k000858 Цитата(samike @ May 22 2018, 10:16) А как... May 22 2018, 08:01        samike Цитата(k000858 @ May 22 2018, 11:01) Врод... May 22 2018, 08:16         k000858 Цитата(samike @ May 22 2018, 12:16) Тогда... May 22 2018, 09:22          samike Цитата(k000858 @ May 22 2018, 12:22) Даль... May 22 2018, 10:57           k000858 Цитата(samike @ May 22 2018, 14:57) А как... May 23 2018, 10:22            winniethepooh Цитата(k000858 @ May 23 2018, 11:22) да, ... May 23 2018, 12:53 k000858 распарсив sk_buff полученного пакета и сравнив его... May 28 2018, 05:14 winniethepooh Цитата(k000858 @ May 28 2018, 06:14) расп... May 28 2018, 07:19 k000858 Больше волнует вопрос: при получении пакета, долже... May 28 2018, 09:41 winniethepooh Цитата(k000858 @ May 28 2018, 10:41) Боль... May 28 2018, 11:19 k000858 По делу есть кое какие продвижения: счетчик Rx уже... May 31 2018, 04:43 k000858 В общем победил настройки встроенного в SoC свитча... Jun 7 2018, 08:09 winniethepooh Цитата(k000858 @ Jun 7 2018, 09:09) В общ... Jun 7 2018, 08:50 k000858 В общем драйвер успешно интегрирован, Lan'ы ра... Jun 14 2018, 03:51 winniethepooh Цитата(k000858 @ Jun 14 2018, 04:51) В об... Jun 14 2018, 10:51  k000858 Цитата(winniethepooh @ Jun 14 2018, 14:51... Jun 14 2018, 11:17   winniethepooh Цитата(k000858 @ Jun 14 2018, 12:17) тест... Jun 14 2018, 13:26    k000858 Цитата(winniethepooh @ Jun 14 2018, 16:26... Jun 15 2018, 03:27     winniethepooh Цитата(k000858 @ Jun 15 2018, 04:27) самы... Jun 15 2018, 07:17     Olej Цитата(k000858 @ Jun 15 2018, 06:27) Повт... Jul 1 2018, 11:19      k000858 Цитата(Olej @ Jul 1 2018, 14:19) В модели... Jul 2 2018, 03:11 k000858 Как в драйвере задать битовую маску CPU, которая п... Jun 21 2018, 10:09
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|