Jump to content
Калькуляторы

RT305* wifi routers Разработка прошивок для WiFI CPE

Sftudio,

 

Vlan 802.1q support seems to be broken at least with fw rev => 1.8.8.RU.01092011

 

~ # sysctl -a | grep doub

net.ipv4.vlan_double_tag = 0

 

set 1.

Super!

works like a charm!!!

Thank you very much

Best

Share this post


Link to post
Share on other sites

Коллеги, может, кто подскажет, как компильнуть и прошить бут?

Share this post


Link to post
Share on other sites

А это такой прикол не пользоваться гуглом? Раз 500 грилось что WDS будет работать корректно ТОЛЬКО МЕЖДУ ДЕВАЙСАМИ НА НАБОРЕ ЛОГИКИ ОТ ОДНОГО ПРОИЗВОДИТЕЛЯ. А частенькое ещё и при условии одной версии wifi драйверов в этих девайсов. Вы опять ужа с ежом скрещиваете.

набор логики от одного производителя не важен для WDS (ну кроме критических случаев), важно скорее совместимость софта. но чтобы не гадать на кофейной гуще - да: одинаковые ревизии устройств дают 100% результат.

Share this post


Link to post
Share on other sites

набор логики от одного производителя не важен для WDS (ну кроме критических случаев), важно скорее совместимость софта. но чтобы не гадать на кофейной гуще - да: одинаковые ревизии устройств дают 100% результат.

 

Всё совсем не так однозначно как вы выщаете. Сейчас во времена 2T2R/3T3R очень много из софта переносят в железо ради экономии тиков CPU и тут уже модификацией софта фиг отделаешся учитывая что микрокод для этой самой железячной части часто закрыт пусть даже при полностью открытом драйвере. У риалтэков часто вообще микрокод изменить низя.

Share this post


Link to post
Share on other sites
Sep 8 10:35:07 xl2tpd[2892]: Connecting to host 10.255.255.250, port 1701

Sep 8 10:35:12 xl2tpd[2892]: Maximum retries exceeded for tunnel 12452. Closing.

Помогите разобраться, пожалуйста, что такое Busy time statistics

 

А теперь давайте дружно позовём деда мороза? Тьфу гадалок. Железо? Версия ПО провайдер? Настройки? Полный лог? ГДЕ? ГАДАЛОК ТУТ НЕТ.

 

Погрепал исходники и не увидел у себя такого сообщения как " Busy time statistics is not included into the driver" в исходниках. Точно о wive-ng-rtnl речь идёт или так от балды?

 

А не. что-то нашлось в ралинковском драйвере. Это всего лишь отладка не оформленная в debug. Говорит о том что статистика QoS отключена при сборке и не более. Ща уберём этот мат он ни на что не влияет абсолютно.

Share this post


Link to post
Share on other sites

Ну такой наглости я ещё не встречал. Я так понимаю нанятый конкурентами переодчик просит помощи. Кайф.

Хорошо. Читаете первый пост по ссылкам находите git, сливаете исходники делаете grep по QLOAD_FUNC_BUSY_TIME_STATS и :

#define QLOAD_FUNC_BUSY_TIME_STATS                                                                                                          

/* provide busy time alarm mechanism */                                                                                                     
/* use the function to avoid to locate in some noise environments */                                                                        
#define QLOAD_FUNC_BUSY_TIME_ALARM                                                                                                          

#ifdef QLOAD_FUNC_BUSY_TIME_STATS                                                                                                           
#define QLOAD_BUSY_INTERVALS    20      /* partition TBTT to QLOAD_BUSY_INTERVALS */                                                        
       /* for primary channel & secondary channel */                                                                                       
       UINT32                                  QloadBusyCountPri[QLOAD_BUSY_INTERVALS];                                                    
       UINT32                                  QloadBusyCountSec[QLOAD_BUSY_INTERVALS];                                                    
#endif // QLOAD_FUNC_BUSY_TIME_STATS //
---------------
#provide busy time statistics for every TBTT */                                                                                             
#EXTRA_CFLAGS += -DQLOAD_FUNC_BUSY_TIME_STATS.                                                                                              

 

За деталями смотрите код сами.

 

Ладно ещё чуток на подумать:

========================================================================                                                                    
Routine Description:                                                                                                                        
       Update Channel Utilization.                                                                                                         

Arguments:                                                                                                                                  
       pAd                                     - WLAN control block pointer                                                                
       UpTime                          - current up time                                                                                   

Return Value:                                                                                                                               
       None                                                                                                                                

Note:                                                                                                                                       
       UpTime is used in QLOAD_FUNC_BUSY_TIME_STATS & QLOAD_FUNC_BUSY_TIME_ALARM                                                           

       If UpTime != 0, it means that the time period calling the function                                                                  
       maybe not TBTT so we need to re-calculate the time period.                                                                          

       If you call the function in kernel thread, the time period sometimes                                                                
       will not accurate due to kernel thread is not real-time, so we need to                                                              
       recalculate the time period.                                                                                                        
========================================================================

Share this post


Link to post
Share on other sites

Дык вы название темы и камент к ней прочитайте? Более того с чего вы взяли что ваш текст хоть какое-то отношение имеет к интерпретации той же фразы у Ralink`а. Тут обсуждаются вполне конкретные железки, на конкретных чипах с конкреным кодом.

Share this post


Link to post
Share on other sites

Добрый день!

Данный пост пишу вследствие такой проблемы - ставлю за роутер (модель в данном случае не важна, т.к. проблема актуальна для роутеров разных вендоров) видеокамеру, организую вещание на сайт, запись в файл, но поток от камеры прерывается через 30-40 секунд, в зависмости от роутера.

Вот собственно появилась такая идея: попробовать убрать НАТ для камеры.

Вычитал здесь http://www.dd-wrt.com/wiki/index.php/VLAN_Support, что можно прокинуть вилан на порты роутера, и эти порты роутера сделать тегированными и нетегированными. Попробовал на прошивке dd-wrt, сразу не получилось и решил долго не разбираться, тем более, что сами будем использовать прошивку wive-ng. Поэтому перешел ко второму варианту на прошивке wive-ng.

 

Суть такая: хочу создать на роутере вилан с ID=6 (ipif 10.1.6.254) eth2.6. Сбриджевать этот интерфейс с интерфейсом, в который подключена камера на роутере.

Тут сразу возник вопрос - а какое имя интерфейса, в который воткнута камера? Искал, думал, смотрел dmesg. В итоге пришел к выводу, что интерфейс ra0 - есть ничто иное, как все 4 порта роутера.

ifconfig:
br0       Link encap:Ethernet  HWaddr 00:0B:2B:85:8D:BE
         inet addr:192.168.0.1  Bcast:192.168.0.255  Mask:255.255.255.0
         UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
         RX packets:1205 errors:0 dropped:0 overruns:0 frame:0
         TX packets:847 errors:0 dropped:0 overruns:0 carrier:0
         collisions:0 txqueuelen:0
         RX bytes:123315 (120.4 KiB)  TX bytes:144238 (140.8 KiB)

eth2      Link encap:Ethernet  HWaddr 00:0B:2B:85:8D:BE
         UP BROADCAST RUNNING PROMISC MULTICAST  MTU:1500  Metric:1
         RX packets:1208 errors:0 dropped:0 overruns:0 frame:0
         TX packets:1198 errors:0 dropped:0 overruns:0 carrier:0
         collisions:0 txqueuelen:1000
         RX bytes:145197 (141.7 KiB)  TX bytes:171568 (167.5 KiB)
         Interrupt:3

eth2.1    Link encap:Ethernet  HWaddr 00:0B:2B:85:8D:BE
         UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
         RX packets:1205 errors:0 dropped:0 overruns:0 frame:0
         TX packets:847 errors:0 dropped:0 overruns:0 carrier:0
         collisions:0 txqueuelen:0
         RX bytes:128135 (125.1 KiB)  TX bytes:147626 (144.1 KiB)

eth2.2    Link encap:Ethernet  HWaddr 00:0B:2B:85:8D:BB
         inet addr:10.1.2.154  Bcast:10.1.2.255  Mask:255.255.255.0
         UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
         RX packets:1 errors:0 dropped:0 overruns:0 frame:0
         TX packets:351 errors:0 dropped:0 overruns:0 carrier:0
         collisions:0 txqueuelen:0
         RX bytes:50 (50.0 B)  TX bytes:16146 (15.7 KiB)

lo        Link encap:Local Loopback
         inet addr:127.0.0.0  Mask:255.0.0.0
         UP LOOPBACK RUNNING  MTU:16436  Metric:1
         RX packets:0 errors:0 dropped:0 overruns:0 frame:0
         TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
         collisions:0 txqueuelen:0
         RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

ra0       Link encap:Ethernet  HWaddr 00:0B:2B:85:8D:E5
         UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
         RX packets:37 errors:0 dropped:0 overruns:0 frame:0
         TX packets:3 errors:0 dropped:0 overruns:0 carrier:0
         collisions:0 txqueuelen:1000
         RX bytes:4293 (4.1 KiB)  TX bytes:0 (0.0 B)
         Interrupt:4

Что делал:

1. создаю вилан

vconfig add eth2 6

cat /proc/net/vlan/eth2.6

eth2.6  VID: 6   REORDER_HDR: 1  dev->priv_flags: 1
        total frames received                0
         total bytes received                    0
     Broadcast/Multicast Rcvd            0

     total frames transmitted                0
      total bytes transmitted                    0
           total headroom inc            0
          total encap on xmit            0
Device: eth2
INGRESS priority mappings: 0:0  1:0  2:0  3:0  4:0  5:0  6:0 7:0
EGRESSS priority Mappings:

2. создаю интерфейс br1

brctl addbr br1

добавляю интерфейс в eth2.6 в br1

brctl addif br1 eth2.6

Делаю то же самое для интерфейса ra0 и получаю такое сообщение:

brctl: bridge br1: Device or resource busy

Это потому что ra0 уже есть в br0. Убрал ra0 из br0, добавил ra0 в br1:

brctl show
bridge name     bridge id               STP enabled     interfaces
br0             8000.000b2b858dbe       no              eth2.1
br1             8000.000b2b858dbe       no              ra0
                                                       eth2.6

Ну для тестов подключаю вместо камеры ноут, ставлю ему IP 10.1.6.111, запускаю пинги до 10.1.6.254, но ничего не работает.

Грешил на фаервол - пробовал прописать разрешающие правила "from anywhere to anywhere" для цепочки INPUT, FORWARD - неуспех.

 

Подскажите, где я мог ошибиться? Или может кто знает другой способ как побороть прерывание вещания камеры через роутер?

Спасибо.

Share this post


Link to post
Share on other sites

Подскажите, где я мог ошибиться? Или может кто знает другой способ как побороть прерывание вещания камеры через роутер?

Спасибо.

 

Буквально везде. Начнём с того что вланы как и NAT вам вообще даром не нужны. Настраивайте обычный нормальный роутинг без всякого ната и не мучайте задницу. О том что такое маршрутизация и как её бедную настроить можете почитать на opennet.

 

Кстати я очень сильно сомневаюсь что тут вообще NAT виноват. Более того не понял на кой вам тут роутер вообще? У вас IP камера? В чём роль роутера тут? Кстати если в статусе включить TVPORT то WAN и порт рядом с ним окажуться в одной группе и доступ из TV/STB порта в WAN будет полностью прозрачным. Это гораздо проще чем развлекаться с бриджами и вланами. Более того так же сгруппировать можно любые порты (см исходники).

 

P.S. raX это WiFi интерфейсы.

Share this post


Link to post
Share on other sites

Спасибо, что откликнулись!

Кстати я очень сильно сомневаюсь что тут вообще NAT виноват. Более того не понял на кой вам тут роутер вообще? У вас IP камера? В чём роль роутера тут?

Есть идея ввести услугу видеонаблюдения для абонента с записью потока в файл и просмотром онлайн через веб. Чтобы не тянуть в квартиру число кабелей=числу камер в квартире нужен роутер, но вот тут та проблема с отваливанием потока:(

Кстати если в статусе включить TVPORT то WAN и порт рядом с ним окажуться в одной группе и доступ из TV/STB порта в WAN будет полностью прозрачным. Это гораздо проще чем развлекаться с бриджами и вланами. Более того так же сгруппировать можно любые порты (см исходники).

Обязательно попробую этот вариант. По результатам отпишусь.

P.S. raX это WiFi интерфейсы.

А какие интерфейсы тогда у LAN-портов?

Share this post


Link to post
Share on other sites

Тут нет физических LAN портов. Нет физического WAN читайте тему с самого начала, смотрите сырцы.

Share this post


Link to post
Share on other sites

Kernel Linking problem

Sftudio,

I am not an expert and what i will post is the problem as of my knowledge with help of the Google of course

 

On some pint onward – when the kernel size increases vmlinux can not be linked.

For instance I am trying to compile IPv6 enabled kernel. All is fine until linking

Here is what happens….

 

 

---------------------------

GEN .version

`CHK include/linux/compile.h

SKIPPED include/linux/compile.h

LD vmlinux

/root/wive/toolchain/bin/mipsel-linux-uclibc-ld: section .init.text loaded at [0000000080220000,000000008023545f] overlaps section .data loaded at [0000000080214000,000000008022313f]

/root/wive/toolchain/bin/mipsel-linux-uclibc-ld: section .data.cacheline_aligned loaded at [0000000080224000,00000000802260bf] overlaps section .init.text loaded at [0000000080220000,000000008023545f]

make[1]: *** [vmlinux] Error 1

make[1]: Leaving directory `/root/wive/linux-2.6.21.x'

make: *** [linux] Error 1

 

----------------------

From the other hand when I do decrease kernel size (disabling some of the kernel features) it links just fine. That is why I am thinking that it is related wit build scripts and kernel size.

 

I can post you my kernel config if you want it of course

Can you be so kind to comment what is wrong?

 

PS: I am trying to build ipv6 kernel for 4M Flash....It may be connected

I just figured out that compiling same kernel config with "hacked"

 

# CONFIG_RT2880_FLASH_4M is not set

CONFIG_RT2880_FLASH_8M=y

and

CONFIG_MTD_PHYSMAP_LEN=0x800000

 

Compiles just fine

and produced image with size of 3.45Mb (i have disabled all user applications samba,transmission and so on) which is absolutely OK to fit in 4M flash

But unfortunately device can not boot because ralink-flash.h and probably others are ***ed up (all fs partition sizes are wrong)

10X

Edited by loshia

Share this post


Link to post
Share on other sites

sfstudio, Вам спасибо!! Разобрался со своей задачей! Сделал все с помощью роутинга, поток от камеры не прерывается!

Share this post


Link to post
Share on other sites

Kernel Linking problem

 

#ifdef CONFIG_RALINK_RT3052                                                                                                                 
#ifdef CONFIG_MTD_SPI_RALINK                                                                                                                
#ifdef CONFIG_RT2880_FLASH_4M                                                                                                               
 /* This hack need for SPI devices work only */                                                                                            
 /* init need start > 0x80220000 */                                                                                                        
 . = 0x80220000;                                                                                                                           
#endif                                                                                                                                      
#endif                                                                                                                                      
#endif

 

Your kernel .init section size more > 0x8022000. Or disable SPI SUPPORT (if you device use NOR flash.) or move all to modules. PHYSMAP NO NEED SELECT IN NOPADDED MODE!!!!

 

sfstudio, Вам спасибо!! Разобрался со своей задачей! Сделал все с помощью роутинга, поток от камеры не прерывается!

 

Не за что.

Share this post


Link to post
Share on other sites

Уважаемый sfstudio

Вы можете поделится даташитом на Ralink RT3050? А собственно интересует какой диаметр шарика нужен для реболинга чипа.

А то гугля не знает ? Или не знаю так просить правильно.

Share this post


Link to post
Share on other sites

привет всем,

 

знает кто-нибудь как на RT3050F Bootloader можно зафлешить по новой?

я с дуру в uboot'e "eraze all" запустил, ну и естесственно девайс мой сдох.

 

кроме как RX-GND-TX-VCC никаких больше пинов нету (фото). в даташите нашел контакты

ответственные за JTAG (T12, U12, U11, T11, R11)

http://caxapa.ru/thumbs/271633/RT3050_5x_V2.0_081408_0902.pdf

но под чип-то мне не залесть...

 

где еще разводка JTAG'a может быть?

post-88794-063444900 1316611616_thumb.jpg

Edited by danja

Share this post


Link to post
Share on other sites

Уважаемый sfstudio

Вы можете поделится даташитом на Ralink RT3050? А собственно интересует какой диаметр шарика нужен для реболинга чипа.

А то гугля не знает ? Или не знаю так просить правильно.

 

В 100й раз повторяю, вчё что мог опубликовать - всё есть в GIT.

Share this post


Link to post
Share on other sites

Подскажите пожалуйста - можно ли в 3052F (nag snr-cpe-w4n) сделать одновременно wifi_client+ap ?

при попытке одновременно грузить модули ap+sta - дерутся за прерывание и все падает - хотя-бы теоретически это реально?

apcli? оно живое?

Edited by gorec2005

Share this post


Link to post
Share on other sites

Sfstudio,

I have upgraded my router to Acorp_WR-150N-1T1R.1.10.11.RU.24092011.bin.

I had been using net.ipv4.conf.all.arp_ignore = 1 with oldest versions to avoid LAN interface responding to arp requests coming from WAN interface.

 

According to kernel docs

 

arp_ignore - INTEGER

Define different modes for sending replies in response to

received ARP requests that resolve local target IP addresses:

0 - (default): reply for any local target IP address, configured

on any interface

1 - reply only if the target IP address is local address

configured on the incoming interface

 

What I did is:

1. I upgraded the router to Acorp_WR-150N-1T1R.1.10.11.RU.24092011.bin

2. fs cleanall

3. ping 192.168.1.1 – from my pc OK

4. sysctl –w net.ipv4.conf.all.arp_ignore=1 (inside router CLI)

5. arp –d 192.168.1.1 (from My PC)

6. ping 192.168.1.1 – from my pc and I got core dump

UPDATE:

i tracked back changes and changing ipv4/arp.c line 414 from

return !inet_confirm_addr(in_dev, sip, tip, scope);

to

return !inet_confirm_addr(dev, sip, tip, scope);

Solved the issue at least for my build. I do not know if this is right or wrong and what side effects might appear

If you could fix that it would be great! Thank You in advance!

Here is the kernel dump

 

# Unhandled kernel unaligned access[#1]:

Cpu 0

$ 0 : 00000000 80240000 00000003 00000001

$ 4 : 00000003 00000000 0101a8c0 000000fe

$ 8 : 81fe9831 00000000 80245d84 80240000

$12 : 7fff6380 00000000 00000400 7d88612b

$16 : 81fe6e60 81975000 81ce7880 8190a820

$20 : 81fe982c 00000040 801f0000 80200000

$24 : 00000000 8018bb80

$28 : 801ec000 801edc48 801ede20 8018b448

Hi : 00000000

Lo : 00000000

epc : 8018de24 Tainted: P

ra : 8018b448 Status: 11008003 KERNEL EXL IE

Cause : 00800010

BadVA : 0000000f

PrId : 0001964c (MIPS 24K)

Modules linked in: hw_nat(P) rt2860v2_ap nf_nat_ftp nf_conntrack_ftp

Process swapper (pid: 0, threadinfo=801ec000, task=801ee188)

Stack : 81fe6e60 81975000 81ce7880 81fe9824 81fe982c 8018b908 81d19780 ffffffff

801d6ef0 80200000 81975000 c01e5d30 81953400 81fe6c20 3701a8c0 0101a8c0

81ce7880 c006f000 00020000 c0190000 c008d1e0 c008d1f4 c008d260 c0200000

c0217990 c0189530 81953400 81fe6c20 819753a0 00000000 c00912b8 00000040

c008d298 81fe6e60 81955800 819753a0 00000000 81fe6e60 00000040 00010000

...

Call Trace:[<c01e5d30>][<c0190000>][<c0200000>][<c0189530>][<c0189720>][<c01d44c4>][<80008558>]

 

Code: 3c028024 08063781 00000000 <8c83000c> 1060003e 00002021 00001021 14400037 00000000

Kernel panic - not syncing: Fatal exception in interrupt

Rebooting in 1 seconds..

Edited by loshia

Share this post


Link to post
Share on other sites

Собрал wive с включенным apcli - вроде как даже в веб-интерфейсе что-то появилось, но видимо в init скриптах обвязка нерабочая...

при попытке управлять apcli0 интерфейсом оно ругается:

# ip l set apcli0 down
~ # iwconfig apcli0 essid "DD-WRT"
Error for wireless request "Set ESSID" (8B1A) :
   SET failed on device apcli0 ; Operation not supported.

 

при попытке изменения настроек через

ip l set apcli0 down
~ # iwpriv apcli0 set ApCliEnable=0
~ # iwpriv apcli0 set ApCliAuthMode=OPEN
~ # iwpriv apcli0 set ApCliEncrypType=NONE
~ # iwpriv apcli0 set ApCliSsid=DDWRT
~ # iwpriv apcli0 set ApCliEnable=1
~ # ifconfig apcli0 up

(как описанов pdf-е на драйвер) все молча глотает и ничего не происходит :-( - может секрет какой есть ? или я доки/сорцы неправильно смотрю?

Edited by gorec2005

Share this post


Link to post
Share on other sites

..

 

I`m revert regress patch. Try git version.

 

Собрал wive с включенным apcli - вроде как даже в веб-интерфейсе что-то появилось, но видимо в init скриптах обвязка нерабочая...

при попытке управлять apcli0 интерфейсом оно ругается:

 

Кто бы с этим apcli разбирался? ИМХО оно изначально мёртворожденное. Используйте WDS если нужно по wifi раскидать сеть на тонну точек и с каждой дать доступ.

Share this post


Link to post
Share on other sites

Sfstudio,

arp is working fine with Acorp_WR-150N-1T1R.1.10.12.RU.30092011.bin

Thank you!!

But unfortunately with same revision (probably a couple of revs before) icmp fragmentation seems to be broken again. If you remember a long time ago it was broken again and you fixed it. As you said in Russian the router suffered it's "performance" because of that. Probably it suffers again

The result ping the router from wired PC (connected to LAN) with big packets

 

 

C:\Documents and Settings\H>ping 192.168.1.1 -l 30000

 

Pinging 192.168.1.1 with 30000 bytes of data:

 

Reply from 192.168.1.1: bytes=30000 time=6ms TTL=64

Reply from 192.168.1.1: bytes=30000 time=6ms TTL=64

Reply from 192.168.1.1: bytes=30000 time=6ms TTL=64

Reply from 192.168.1.1: bytes=30000 time=6ms TTL=64

 

Ping statistics for 192.168.1.1:

Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),

Approximate round trip times in milli-seconds:

Minimum = 6ms, Maximum = 6ms, Average = 6ms

 

C:\Documents and Settings\H>ping 192.168.1.1 -l 50000

 

Pinging 192.168.1.1 with 50000 bytes of data:

 

Request timed out.

Request timed out.

Request timed out.

Request timed out.

 

Ping statistics for 192.168.1.1:

Packets: Sent = 4, Received = 0, Lost = 4 (100% loss),

 

The result is absolutely the same when pinging router WAN interface (PC is connected in same switch with WAN of the router)

 

The interesting part is that Wireless pc connected to ra0 can ping LAN (br0 - 192.168.1.1 and WAN IP of the router with 65000 bytes without issues) but can not ping nothing in the WAN subnet with bigger packet than 29000-30000 bytes

What can cause this?

Thanks!

Share this post


Link to post
Share on other sites

1) This in not bug/issue. Yhis is limit packet size from PPE (HW_NAT).

2) Wifi2localhost not HW_NAT offloaded and work with oversized packets.

3) MRU/MTU per interface=1500 bytes. You system need be use PMTU discovery for auto tune packet size!

4) VLANinVLAN(double vlan) need decrease MTU/MRU.

5) This is not problem for correct network working. Always system must be use packets <=1500 bytes always if not gigabits switch with jumbo frames enabled

 

65kb packets size is more than hardware PPE buffer size per packets.

Share this post


Link to post
Share on other sites

1) This in not bug/issue. Yhis is limit packet size from PPE (HW_NAT).

2) Wifi2localhost not HW_NAT offloaded and work with oversized packets.

3) MRU/MTU per interface=1500 bytes. You system need be use PMTU discovery for auto tune packet size!

4) VLANinVLAN(double vlan) need decrease MTU/MRU.

5) This is not problem for correct network working. Always system must be use packets <=1500 bytes always if not gigabits switch with jumbo frames enabled

 

65kb packets size is more than hardware PPE buffer size per packets.

Sfstudio,

Thank you for your reply.

I know quite well that 1500 bytes is max packet size (Without fragmentation). I am tiring to say that packet fragmentation is broken (in the router) which is affecting the performance of the router.

 

Back to your reply...

 

Same thing happens when hw_nat and soft nat are not used. (hw_nat mod unloaded) + soft nat (/proc/sys/...fasnat=0)

I am almost sure that PMTU discovery is on. But anyway i am just wondering why 65000 bytes used to work with old revisions when hw_nat and fast nat were off? Do you mean that just compiling hw_nat as module (even though not loaded) limits icmp packet size?

Again just to make things easier what config must be done with latest build so that router can pass 65000 bytes when both nat + FW disabled. I know that you are too busy but if you spend a couple of mins to test it you will see that there is no way to ping WAN or LAN from a wired station with 65000 bytes.

Thank you very much in advance

PS: please understand me correct i am not trying to make you mad or nervous but as of my knowledge something is wrong and that is why i am posting again:)

Edited by loshia

Share this post


Link to post
Share on other sites

Блин. Да не работал никогда hw_nat с дико оверсайзнутыми пакетами, и какая нафиг фрагментация если в случае с hw_nat всю работу на себя берёт PPE т.е. чёрный ящик. Если было ОК значит не работал hw_nat, если работал то не пролазили такие пакеты и не могли.

 

Никакого падения производительности из-за этого не будет в режиме роутинга. А в режиме бриджа hw_nat бесполезен и бдует отключен. Что за стоны-то? Есть желание? Нагородите в коде самого hw_nat проверку размера skb->data и делайте ретёрн. Производительность при этом упадёт в разы а толку будет 0,0 зато пинги будут пролазить блин....

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.
Sign in to follow this