У меня до сих пор остается проблема с падением потока при большом трафике через сетевую карту. Сейчас при загрузке с машины с * 25MB по http или ftp в 100% случаев поток падает. Пытаюсь решить эту проблему установкой более высокого приоритета для tau32.
Я заменил в tau32.c строку 237 (драйвера у меня 502a2)
spinlock_t tau32_lock_driver = SPIN_LOCK_UNLOCKED;
на
DEFINE_SPINLOCK(tau32_lock_driver);
(первый вариант выдавал ошибку, в форумах для моего варианта ядра предлагают такой вариант устранения).
Теперь лог компиляции
#./configure --enable-ce --with-zaptel=/home/krasyuk/asterisk/zaptel/zaptel-1.2.3 --with-ksrc=/usr/src/linux-2.6.15_p2-r1
checking kernel sources path... /usr/src/linux-2.6.15_p2-r1
checking whether kernel configured... Ok
checking for gcc... gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ANSI C... none needed
checking kernel version... 2.6.15-rt2
checking module extension... .ko
checking Zaptel path... /home/krasyuk/asterisk/zaptel/zaptel-1.2.3
checking modules path... /lib/modules/2.6.15-rt2
checking rc.d path... /etc/rc.d/init.d/
checking rc type... chkconfig
checking Manual path... cat: /etc/manpath.config: No such file or directory
checking adapter driver modules... ce
checking protocol modules... czaptel
All OK
configure: creating ./config.status
config.status: creating Makefile
config.status: creating cronyx.conf
#make clean
rm -f *.[obis] *.mo *~ sconfig sconfig.8.gz
make -C module-2.6.15-rt2 clean
make[1]: Entering directory `/home/krasyuk/asterisk/tau32driver/clinux/module-2.6.15-rt2'
rm -rf *.o *.ko .*.cmd *.mod.c .??*
make[1]: Leaving directory `/home/krasyuk/asterisk/tau32driver/clinux/module-2.6.15-rt2'
#make
cc -Wall -g -O sconfig.c -o sconfig
gzip < sconfig.mdoc > sconfig.8.gz
***
*** You may see some warnings about SUBDIRS during compilation.
*** That is Ok for external module using kernel's Makefile.
***
make V=0 -C /usr/src/linux-2.6.15_p2-r1 SUBDIRS=/home/krasyuk/asterisk/tau32driver/clinux/module-2.6.15-rt2 modules
make[1]: Entering directory `/usr/src/linux-2.6.15_p2-r1'
CC [M] /home/krasyuk/asterisk/tau32driver/clinux/module-2.6.15-rt2/binder.o
CC [M] /home/krasyuk/asterisk/tau32driver/clinux/module-2.6.15-rt2/tau32.o
CC [M] /home/krasyuk/asterisk/tau32driver/clinux/module-2.6.15-rt2/tau32-ddk.o
LD [M] /home/krasyuk/asterisk/tau32driver/clinux/module-2.6.15-rt2/ce.o
CC [M] /home/krasyuk/asterisk/tau32driver/clinux/module-2.6.15-rt2/czaptel.o
/home/krasyuk/asterisk/tau32driver/clinux/module-2.6.15-rt2/czaptel.c: In function `zap_close':
/home/krasyuk/asterisk/tau32driver/clinux/module-2.6.15-rt2/czaptel.c:260: error: parse error before "do"
/home/krasyuk/asterisk/tau32driver/clinux/module-2.6.15-rt2/czaptel.c: In function `zap_open':
/home/krasyuk/asterisk/tau32driver/clinux/module-2.6.15-rt2/czaptel.c:277: error: parse error before "do"
make[2]: *** [/home/krasyuk/asterisk/tau32driver/clinux/module-2.6.15-rt2/czaptel.o] Error 1
make[1]: *** [_module_/home/krasyuk/asterisk/tau32driver/clinux/module-2.6.15-rt2] Error 2
make[1]: Leaving directory `/usr/src/linux-2.6.15_p2-r1'
make: *** [modules] Error 2