Пряник Опубликовано 8 мая, 2005 Жалоба Опубликовано 8 мая, 2005 Скачал драйвер для своего модема. У становка проходит нормально, но модем не работает. Делаю insmod pctel, выводит сообщение об ошибке, процитировать не могу, но смысл в том, что данный модуль откомпилирован gcc 2, а ядро gcc 3 и работать это совместно не будет. Что делать? Может где нибудь другой драйвер достать можно? Цитата
Legalizer Опубликовано 8 мая, 2005 Жалоба Опубликовано 8 мая, 2005 А почему не можете процитировать? Это бы помогло существенно. Цитата
Пряник Опубликовано 9 мая, 2005 Автор Жалоба Опубликовано 9 мая, 2005 root@darkstar:~/musor/pctel-0.9.7-9-rht/src# ./configure -auto checking for running kernel version...2.4.29 checking for ptserial...ptserial-2.4.7.c checking for gcc...3.3.4 searching for kernel includes...found at /usr/src/linux/include checking for modversions.h.../usr/src/linux/include/linux/modversions.h checking for kernel_version...UTS_RELEASE is 2.4.29 detecting your modem...found. Your modem is a pct789 type modem. root@darkstar:~/musor/pctel-0.9.7-9-rht/src# make gcc -Werror -Wno-trigraphs -fno-common -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer -fno-strict-aliasing -pipe -fno-strength-reduce -DVERSION=\"0.9.7-9-rht\" -DGCC_VERSION=\"3.3.4\" -DMODULE -DMODVERSIONS -DEXPORT_SYMTAB -DBUILD_SYSTEM=\""`uname -s -m -r -o`\"" -D__KERNEL__ -I/usr/src/linux/include -DHAL_PCT789 -include /usr/src/linux/include/linux/modversions.h -o ptmodule.o -c ptmodule.c as vuart.s -o vuart.o gcc -Werror -Wno-trigraphs -fno-common -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer -fno-strict-aliasing -pipe -fno-strength-reduce -DVERSION=\"0.9.7-9-rht\" -DGCC_VERSION=\"3.3.4\" -DMODULE -DMODVERSIONS -DEXPORT_SYMTAB -DBUILD_SYSTEM=\""`uname -s -m -r -o`\"" -D__KERNEL__ -I/usr/src/linux/include -DHAL_PCT789 -include /usr/src/linux/include/linux/modversions.h -o ptserial.o -c ptserial-2.4.7.c ld -r -o ../driver/ptserial.o ptserial.o ld -r -o ../driver/pctel.o ptmodule.o lib/control.a vuart.o \ lib/pct789/dsp.a lib/pct789/pcthal.a root@darkstar:~/musor/pctel-0.9.7-9-rht/src# make install ./inst installing device file...done installing driver...done root@darkstar:~/musor/pctel-0.9.7-9-rht/src# insmod pctel Using /lib/modules/2.4.29/misc/pctel.o /lib/modules/2.4.29/misc/pctel.o: The module you are trying to load (/lib/modules/2.4.29/misc/pctel.o) is compiled with a gcc version 2 compiler, while the kernel you are running is compiled with a gcc version 3 compiler. This is known to not work. root@darkstar:~/musor/pctel-0.9.7-9-rht/src# insmod ptserial Using /lib/modules/2.4.29/misc/ptserial.o /lib/modules/2.4.29/misc/ptserial.o: /lib/modules/2.4.29/misc/ptserial.o: unresolved symbol COM_Vlcr /lib/modules/2.4.29/misc/ptserial.o: /lib/modules/2.4.29/misc/ptserial.o: unresolved symbol PctelInitCtrlVars /lib/modules/2.4.29/misc/ptserial.o: /lib/modules/2.4.29/misc/ptserial.o: unresolved symbol Pctel_module_free /lib/modules/2.4.29/misc/ptserial.o: /lib/modules/2.4.29/misc/ptserial.o: unresolved symbol get_uart_ier /lib/modules/2.4.29/misc/ptserial.o: /lib/modules/2.4.29/misc/ptserial.o: unresolved symbol get_uart_dll /lib/modules/2.4.29/misc/ptserial.o: /lib/modules/2.4.29/misc/ptserial.o: unresolved symbol get_uart_dlm /lib/modules/2.4.29/misc/ptserial.o: /lib/modules/2.4.29/misc/ptserial.o: unresolved symbol GlobalTimer /lib/modules/2.4.29/misc/ptserial.o: /lib/modules/2.4.29/misc/ptserial.o: unresolved symbol put_uart_ier /lib/modules/2.4.29/misc/ptserial.o: /lib/modules/2.4.29/misc/ptserial.o: unresolved symbol get_uart_scr /lib/modules/2.4.29/misc/ptserial.o: /lib/modules/2.4.29/misc/ptserial.o: unresolved symbol HAL_GetTimer /lib/modules/2.4.29/misc/ptserial.o: /lib/modules/2.4.29/misc/ptserial.o: unresolved symbol put_uart_dll /lib/modules/2.4.29/misc/ptserial.o: /lib/modules/2.4.29/misc/ptserial.o: unresolved symbol put_uart_tx /lib/modules/2.4.29/misc/ptserial.o: /lib/modules/2.4.29/misc/ptserial.o: unresolved symbol put_uart_dlm /lib/modules/2.4.29/misc/ptserial.o: /lib/modules/2.4.29/misc/ptserial.o: unresolved symbol get_uart_lcr /lib/modules/2.4.29/misc/ptserial.o: /lib/modules/2.4.29/misc/ptserial.o: unresolved symbol get_uart_msr /lib/modules/2.4.29/misc/ptserial.o: /lib/modules/2.4.29/misc/ptserial.o: unresolved symbol put_uart_scr /lib/modules/2.4.29/misc/ptserial.o: /lib/modules/2.4.29/misc/ptserial.o: unresolved symbol put_uart_lcr /lib/modules/2.4.29/misc/ptserial.o: /lib/modules/2.4.29/misc/ptserial.o: unresolved symbol put_uart_msr /lib/modules/2.4.29/misc/ptserial.o: /lib/modules/2.4.29/misc/ptserial.o: unresolved symbol HAL_DoInterrupt /lib/modules/2.4.29/misc/ptserial.o: /lib/modules/2.4.29/misc/ptserial.o: unresolved symbol get_uart_iir /lib/modules/2.4.29/misc/ptserial.o: /lib/modules/2.4.29/misc/ptserial.o: unresolved symbol PctelInitVUartVars /lib/modules/2.4.29/misc/ptserial.o: /lib/modules/2.4.29/misc/ptserial.o: unresolved symbol get_uart_mcr /lib/modules/2.4.29/misc/ptserial.o: /lib/modules/2.4.29/misc/ptserial.o: unresolved symbol get_uart_lsr /lib/modules/2.4.29/misc/ptserial.o: /lib/modules/2.4.29/misc/ptserial.o: unresolved symbol modem_main /lib/modules/2.4.29/misc/ptserial.o: /lib/modules/2.4.29/misc/ptserial.o: unresolved symbol get_uart_rx /lib/modules/2.4.29/misc/ptserial.o: /lib/modules/2.4.29/misc/ptserial.o: unresolved symbol put_uart_iir /lib/modules/2.4.29/misc/ptserial.o: /lib/modules/2.4.29/misc/ptserial.o: unresolved symbol HAL_Deinit /lib/modules/2.4.29/misc/ptserial.o: /lib/modules/2.4.29/misc/ptserial.o: unresolved symbol Pctel_module_init /lib/modules/2.4.29/misc/ptserial.o: /lib/modules/2.4.29/misc/ptserial.o: unresolved symbol dspMain /lib/modules/2.4.29/misc/ptserial.o: /lib/modules/2.4.29/misc/ptserial.o: unresolved symbol HAL_Init /lib/modules/2.4.29/misc/ptserial.o: /lib/modules/2.4.29/misc/ptserial.o: unresolved symbol put_uart_lsr /lib/modules/2.4.29/misc/ptserial.o: /lib/modules/2.4.29/misc/ptserial.o: unresolved symbol put_uart_mcr /lib/modules/2.4.29/misc/ptserial.o: Hint: You are trying to load a module without a GPL compatible license and it has unresolved symbols. The module may be trying to access GPLONLY symbols but the problem is more likely to be a coding or user error. Contact the module supplier for assistance, only they can help you. root@darkstar:~/musor/pctel-0.9.7-9-rht/src# Цитата
SignFinder Опубликовано 9 мая, 2005 Жалоба Опубликовано 9 мая, 2005 Цитата: The module you are trying to load (/lib/modules/2.4.29/misc/pctel.o) is compiled with a gcc version 2 compiler, while the kernel you are running is compiled with a gcc version 3 compiler. This is known to not work. вот ваш ответ. Цитата
Пряник Опубликовано 10 мая, 2005 Автор Жалоба Опубликовано 10 мая, 2005 Понимаете, я в никсах новичок. Может вы просто объясните, что и как нужно сделать, чтобы модем заработал? Цитата
SignFinder Опубликовано 10 мая, 2005 Жалоба Опубликовано 10 мая, 2005 Цитата: Понимаете, я в никсах новичок. Может вы просто объясните, что и как нужно сделать, чтобы модем заработал? а перевести на русский лень? вам нужно собрать драйвер той же версией компилятора что и активное ядро. Цитата
Пряник Опубликовано 11 мая, 2005 Автор Жалоба Опубликовано 11 мая, 2005 вот makefile, но я не понимаю, что нужно в нем изменить Цитата: # Makefile generated from configure at Пнд Май 9 12:04:27 MSD 2005 # CFLAGS options KERNEL_INC=/usr/src/linux/include GCC_VERSION=3.3.4 VERSION=0.9.7-9-rht MODVERSIONS=/usr/src/linux/include/linux/modversions.h UTS_RELEASE_PCTEL=2.4.29 HAL=HAL_PCT789 AUDIOROUTING= # which ptserial to use PTSERIAL=ptserial-2.4.7.c # what to compile TARGET=pct789 # $Id: Makefile.orig,v 1.1 2003/11/03 21:27:56 cvs Exp $ # BUILD_SYSTEM modified to work with uname 5.0, which does not support the -p # switch - instead we use -o (Operating System). # Robert Thornburrow <robert@tsac.fsnet.co.uk> 09/04/2004 CFLAGS= -Werror -Wno-trigraphs -fno-common -Wall -Wstrict-prototypes \ -O2 -fomit-frame-pointer -fno-strict-aliasing -pipe \ -fno-strength-reduce \ $(AUDIOROUTING) \ -DVERSION=\"$(VERSION)\" -DGCC_VERSION=\"$(GCC_VERSION)\" \ -DMODULE -DMODVERSIONS -DEXPORT_SYMTAB \ -DBUILD_SYSTEM=\""`uname -s -m -r -o`\"" \ -D__KERNEL__ -I$(KERNEL_INC) -D$(HAL) -include $(MODVERSIONS) # -DBUILD_SYSTEM=\""`uname -s -m -r -p`\"" \ all: $(TARGET) vuart.o: as vuart.s -o vuart.o i8xxhal.a: as i8xxhal.s -o i8xxhal.o ar rv i8xxhal.a i8xxhal.o ptmodule.o: gcc $(CFLAGS) -o ptmodule.o -c ptmodule.c ptserial.o: gcc $(CFLAGS) -o ptserial.o -c $(PTSERIAL) ld -r -o ../driver/ptserial.o ptserial.o pct789: ptmodule.o vuart.o ptserial.o ld -r -o ../driver/pctel.o ptmodule.o lib/control.a vuart.o \ lib/pct789/dsp.a lib/pct789/pcthal.a cm8738: ptmodule.o ptserial.o make fix_cm8738_symbols ld -r -o ../driver/pctel.o ptmodule.o pctel-cm8738.tmp.o i8xx: vuart.o i8xxhal.a ptserial.o ptmodule.o ld -r -o tmp.o lib/control.a vuart.o lib/amr/dsp.a i8xxhal.a @echo "-=- Fixing wrong symbol names: kmalloc, kfree, printk and __udelay. -=-" make fix_amr_symbols ld -r -o ../driver/pctel.o ptmodule.o tmp.o @echo "-=- Fixing .modinfo section -=-" make fix_amr_modinfo sis: vuart.o ptserial.o ptmodule.o ld -r -o tmp.o lib/control.a vuart.o lib/sis/dsp.a lib/sis/sishal.a @echo "-=- Fixing wrong symbol names: kmalloc, kfree, printk and __udelay. -=-" make fix_amr_symbols ld -r -o ../driver/pctel.o ptmodule.o tmp.o @echo "-=- Fixing .modinfo section -=-" make fix_amr_modinfo via686a: vuart.o ptserial.o ptmodule.o ld -r -o tmp.o lib/control.a vuart.o lib/via/dsp.a \ lib/via/via686ahal.a @echo "-=- Fixing wrong symbol names: kmalloc, kfree, printk and __udelay. -=-" make fix_amr_symbols ld -r -o ../driver/pctel.o ptmodule.o tmp.o @echo "-=- Fixing .modinfo section -=-" make fix_amr_modinfo clean: rm -f *.o i8xxhal.a rm -f ../driver/*.o rm -f make.log inst.log install: ./inst fix_cm8738_symbols: echo "Removing symbols: init_module, cleanup_module, __module_kernel_version and __module_using_checksums."; \ modinfo=../driver/modinfo; \ module=lib/cm8738/pctel-cm8738.o; \ module_tmp=pctel-cm8738.tmp.o; \ (echo -ne "kernel_version="$(UTS_RELEASE_PCTEL)"\0" > $$modinfo) && \ (echo -ne `objdump -s -j .modinfo $$module | \ awk 'BEGIN{v=0;} /Contents/ {v=1; next; } { if (v==1) print $$0; }' | \ cut -c7-41 | \ awk '{ printf($$0); }' | \ sed 's/ //g;s/../\\\\x&/g;'` | \ tr '\000' '\n' | \ awk '/^kernel_version=/ { next;} {print $$0;}' | \ tr '\n' '\000' >> $$modinfo) && \ (objcopy \ --strip-symbol=__module_kernel_version \ --strip-symbol=__module_using_checksums \ --strip-symbol=init_module \ --strip-symbol=cleanup_module \ --remove-section=.modinfo \ --add-section=.modinfo=$$modinfo \ $$module $$module_tmp) && rm -f $$modinfo # Added __udelay_R9e7d6bd0, schedule_timeout_R17d59d01 and # _const_udelay_Reae3dfd6 symbols, all of which are defined in the kernel. # Robert Thornburrow <robert@tsac.fsnet.co.uk> 09/04/2004 fix_amr_symbols: (wrong_symbols="kmalloc_R93d4cfe6 kfree_R037a0cba printk_R1b7d4074 __udelay_R9e7d6bd0 schedule_timeout_R17d59d01 __const_udelay_Reae3dfd6"; \ for sym in $$wrong_symbols; do \ tsym=`echo $$sym | awk '{ gsub(/_R[0-9a-fA-F]+/,""); printf("%s", $$1); }'`; \ case $$tsym in \ printk|schedule_timeout|__const_udelay) \ fsym="`awk '/ '$$tsym'/ { printf("%s", $$2); }' < /proc/ksyms`"; \ ;; \ *) \ fsym="pctel_$$tsym"; \ ;; \ esac; \ redef_cmd="$$redef_cmd --redefine-sym=$$sym=$$fsym"; \ done && \ objcopy \ $$redef_cmd \ tmp.o tmp2.o) && \ (rm -f tmp.o && mv -f tmp2.o tmp.o) fix_amr_modinfo: modinfo=../driver/modinfo; \ module=../driver/pctel.o; \ module_tmp=../driver/pctel.tmp.o; \ (echo -ne "kernel_version="$(UTS_RELEASE_PCTEL)"\0" > $$modinfo) && \ (echo -ne `objdump -s -j .modinfo $$module | \ awk 'BEGIN{v=0;} /Contents/ {v=1; next; } { if (v==1) print $$0; }' | \ cut -c7-41 | \ awk '{ printf($$0); }' | \ sed 's/ //g;s/../\\\\x&/g;'` | \ tr '\000' '\n' | \ awk '/^kernel_version=/ { next;} {print $$0;}' | \ tr '\n' '\000' >> $$modinfo) && \ (objcopy --remove-section=.modinfo --add-section=.modinfo=$$modinfo \ $$module $$module_tmp) && \ (rm -f $$module $$modinfo && mv -f $$module_tmp $$module) Цитата
Hans R. Steiner Опубликовано 12 мая, 2005 Жалоба Опубликовано 12 мая, 2005 man gcc, сударь! Если Вы makefile смогли найти, прочитать ман по gcc Вам труда не составит... Цитата
SignFinder Опубликовано 13 мая, 2005 Жалоба Опубликовано 13 мая, 2005 Цитата: man gcc, сударь! и чего он в этом мане путного узнает по существу??? Цитата: вот makefile, но я не понимаю, что нужно в нем изменить ничего не надо менять. Надо или поставить gcc версии 2 и им пересобрать ядро или поставить gcc версии 3 и им пересобрать модуль драйвера модема. Цитата
Hans R. Steiner Опубликовано 13 мая, 2005 Жалоба Опубликовано 13 мая, 2005 в мане по gcc, из путного, говорится с какой опцией надо компилировать пакет, что бы версия компилятора соответствовала нужной... Цитата
SignFinder Опубликовано 13 мая, 2005 Жалоба Опубликовано 13 мая, 2005 Цитата: в мане по gcc, из путного, говорится с какой опцией надо компилировать пакет, что бы версия компилятора соответствовала нужной... это чтото новенькое то есть я gcc 2 запросто могу в 3 превратить? это ж ядерный модуль Цитата
SignFinder Опубликовано 14 мая, 2005 Жалоба Опубликовано 14 мая, 2005 подсказали вариант Цитата: модуль откомпилирован с помощью gcc2, а ядро gcc3, вот тут то надо изменить название gcc2_compiled на gcc3_compiled, это делается с помощью любого HEX редактора, ищем в нем gcc2_compiled и заменяем 2-ку на 3-ку, или на любую другую цифру Цитата
Hans R. Steiner Опубликовано 28 мая, 2005 Жалоба Опубликовано 28 мая, 2005 Dr.Spectre писал(а) пт, 13 мая 2005 12:07 Цитата: в мане по gcc, из путного, говорится с какой опцией надо компилировать пакет, что бы версия компилятора соответствовала нужной... это чтото новенькое то есть я gcc 2 запросто могу в 3 превратить? это ж ядерный модуль Касательно 2 в 3 не знаю (надо попробывать, но уверен, что не сработает). На сколько я помню, в gcc предусмотрен вариант, когда требуется версия ниже той, что стоит в системе. Только я тут промахнулся... тут действительно нужно выше версию ставить, а не ниже Цитата
loungelizard Опубликовано 27 июля, 2005 Жалоба Опубликовано 27 июля, 2005 Выход напрашивается сам собой - пересобрать ядро, загрузиться с ним и собрать драйвера для модема. Тогда получится, что и драйвер, и ядро буду собраны одной версией gcc и проблема исчезнет. Цитата
stanislav Опубликовано 7 декабря, 2005 Жалоба Опубликовано 7 декабря, 2005 была такая же проблема надо: insmod -f pctel insmod -f ptserial Цитата
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.