Перейти к содержанию

драйвер для win-модема на чипсете pctel


Рекомендуемые сообщения

Скачал драйвер для своего модема. У становка проходит нормально, но модем не работает. Делаю insmod pctel, выводит сообщение об ошибке, процитировать не могу, но смысл в том, что данный модуль откомпилирован gcc 2, а ядро gcc 3 и работать это совместно не будет. Что делать? Может где нибудь другой драйвер достать можно?

Ссылка на комментарий
Поделиться на другие сайты

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#

Ссылка на комментарий
Поделиться на другие сайты

Цитата:

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.

вот ваш ответ.

Ссылка на комментарий
Поделиться на другие сайты

Цитата:

Понимаете, я в никсах новичок. Может вы просто объясните, что и как нужно сделать, чтобы модем заработал?

а перевести на русский лень?

вам нужно собрать драйвер той же версией компилятора что и активное ядро.

Ссылка на комментарий
Поделиться на другие сайты

вот 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)

Ссылка на комментарий
Поделиться на другие сайты

Цитата:

man gcc, сударь!

и чего он в этом мане путного узнает по существу???

Цитата:

вот makefile, но я не понимаю, что нужно в нем изменить

ничего не надо менять. Надо или поставить gcc версии 2 и им пересобрать ядро или поставить gcc версии 3 и им пересобрать модуль драйвера модема.

Ссылка на комментарий
Поделиться на другие сайты

в мане по gcc, из путного, говорится с какой опцией надо компилировать пакет, что бы версия компилятора соответствовала

нужной...

Ссылка на комментарий
Поделиться на другие сайты

Цитата:

в мане по gcc, из путного, говорится с какой опцией надо компилировать пакет, что бы версия компилятора соответствовала

нужной...

это чтото новенькое Smile то есть я gcc 2 запросто могу в 3 превратить?

это ж ядерный модуль

Ссылка на комментарий
Поделиться на другие сайты

подсказали вариант

Цитата:

модуль откомпилирован с помощью gcc2, а ядро gcc3, вот тут то надо изменить название gcc2_compiled на gcc3_compiled, это делается с помощью любого HEX редактора, ищем в нем gcc2_compiled и заменяем 2-ку на 3-ку, или на любую другую цифру

Ссылка на комментарий
Поделиться на другие сайты

  • 2 недели спустя...

Dr.Spectre писал(а) пт, 13 мая 2005 12:07

Цитата:

в мане по gcc, из путного, говорится с какой опцией надо компилировать пакет, что бы версия компилятора соответствовала

нужной...

это чтото новенькое Smile то есть я gcc 2 запросто могу в 3 превратить?

это ж ядерный модуль

Касательно 2 в 3 не знаю (надо попробывать, но уверен, что не сработает). На сколько я помню, в gcc предусмотрен вариант, когда требуется версия ниже той, что стоит в системе.

Только я тут промахнулся... тут действительно нужно выше версию ставить, а не ниже Smile

Ссылка на комментарий
Поделиться на другие сайты

  • 1 месяц спустя...

Выход напрашивается сам собой - пересобрать ядро, загрузиться с ним и собрать драйвера для модема. Тогда получится, что и драйвер, и ядро буду собраны одной версией gcc и проблема исчезнет.

Ссылка на комментарий
Поделиться на другие сайты

  • 4 месяца спустя...

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
×
×
  • Создать...