Пряник Опубликовано 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 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.