Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Железо в Linux (http://forum.oszone.net/forumdisplay.php?f=29)
-   -   Компиляция дров для Zyxel Omni 56K PCI в Федоре??? (http://forum.oszone.net/showthread.php?t=36824)

Evgenev 05-03-2004 02:57 254048

Просьба сразу всем не отсылать в "Поиск" - на форум захожу где-то с месяц и за эти недели прочитал его весь - и ни слова не нашел про решение "моей" проблемы. Хотя понимаю может быть уже кому-то и надоел со своей проблемой.
Имею дома компьютер со встроеным звуком (AC97), модем Zyxel Omni 56K PCI и три компакт-диска с Fedora Core 1.
До этого стоял Red Hat 9 и компиляция/установка драйвера проходила без проблем. Но хочется идти "в ногу со временем" и перейти на "Федору".
Пробовал перенести уже скомпилированные модули из Red Hat 9 в Fedora Core 1 - путем исправления патчем номера версии ядра - один раз модем запустился поработал и при следующей переустановке "Федоры" работать отказался.
Компиляция драйвера для "Федоры" заканчивается "Error 1" - о чем ниже.
В ходе решения данной проблемы было перечиьанно и просмотренно много "очень много" страниц на форумах и т.д. и т.п., но по данному случаю или в скользь или ничего.
Буду очень признателен всем кто откликнется и/или поможет разрешить данную ситуацию. Спасибо.

Делаю следующим образом: ставим "федору" "full install"; после установки пересобираем ядро для поддержки NTFS; ядро называем 2.4.22-2.evgenev; качаем "дрова" pctel-0.9.6.tar.gz
Следует отметить что для установки драйвера в /usr/src должна быть директория linux (то есть /usr/src/linux) с исходными текстами и ядро должно быть с конфигурированно и иметь тот же номер что работающее:
# make menuconfig
# make dep
Так как перед установкой драйвера была произведена пересборка выше перечисленные команды отпадают.
Приступаем к установке:
# uname -r
2.4.22-2.evgenev
# tar -xzvf pctel-0.9.6.tar.gz
pctel-0.9.6/
pctel-0.9.6/misc/
pctel-0.9.6/misc/Makefile.am
pctel-0.9.6/misc/Makefile.in
pctel-0.9.6/misc/SlackBuild.in
pctel-0.9.6/misc/build_rpms.sh.in
pctel-0.9.6/misc/pctel.spec.in
pctel-0.9.6/misc/autogen.sh
pctel-0.9.6/misc/pctel.spec
pctel-0.9.6/README
pctel-0.9.6/AUTHORS
pctel-0.9.6/COPYING
pctel-0.9.6/ChangeLog
pctel-0.9.6/INSTALL
pctel-0.9.6/Makefile.am
pctel-0.9.6/Makefile.in
pctel-0.9.6/NEWS
pctel-0.9.6/acinclude.m4
pctel-0.9.6/aclocal.m4
pctel-0.9.6/configure
pctel-0.9.6/configure.in
pctel-0.9.6/install-sh
pctel-0.9.6/missing
pctel-0.9.6/mkinstalldirs
pctel-0.9.6/cvscompile.sh
pctel-0.9.6/FAQ
pctel-0.9.6/src/
pctel-0.9.6/src/Makefile.am
pctel-0.9.6/src/Makefile.in
pctel-0.9.6/src/module/
pctel-0.9.6/src/module/Makefile.am
pctel-0.9.6/src/module/Makefile.in
pctel-0.9.6/src/module/ptmodule.c
pctel-0.9.6/src/ptserial/
pctel-0.9.6/src/ptserial/Makefile.am
pctel-0.9.6/src/ptserial/Makefile.in
pctel-0.9.6/src/ptserial/ptserial-2.4.6.c
pctel-0.9.6/src/ptserial/ptserial-2.4.7.c
pctel-0.9.6/lib/
pctel-0.9.6/lib/asus/
pctel-0.9.6/lib/asus/dsp.a
pctel-0.9.6/lib/asus/i810hal.a
pctel-0.9.6/lib/cm8738/
pctel-0.9.6/lib/cm8738/pctel-cm8738.o
pctel-0.9.6/lib/pct789/
pctel-0.9.6/lib/pct789/dsp.a
pctel-0.9.6/lib/pct789/pcthal.a
pctel-0.9.6/lib/sis/
pctel-0.9.6/lib/sis/dsp.a
pctel-0.9.6/lib/sis/i810hal.a
pctel-0.9.6/lib/via/
pctel-0.9.6/lib/via/dsp.a
pctel-0.9.6/lib/via/via686ahal.a
pctel-0.9.6/lib/Makefile.am
pctel-0.9.6/lib/Makefile.in
pctel-0.9.6/lib/control.a
pctel-0.9.6/lib/vuart.o
pctel-0.9.6/modules/
pctel-0.9.6/modules/Makefile.am
pctel-0.9.6/modules/Makefile.in
pctel-0.9.6/include/
pctel-0.9.6/include/pctel.h
pctel-0.9.6/include/halwraps.h
pctel-0.9.6/include/vuart.h
pctel-0.9.6/include/Makefile.am
pctel-0.9.6/include/Makefile.in
pctel-0.9.6/m4/
pctel-0.9.6/m4/Makefile.am
pctel-0.9.6/m4/Makefile.in
pctel-0.9.6/m4/_pctel.m4
# cd pctel-0.9.6
# ./configure --with-hal=pct789
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for gawk... gawk
checking whether make sets ${MAKE}... yes
checking build driver for... HAL_PCT789
checking for gcc... gcc
checking for C compiler default output... 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 style of include used by make... GNU
checking dependency style of gcc... none
checking whether make sets ${MAKE}... (cached) yes
checking for a BSD-compatible install... /usr/bin/install -c
checking whether ln -s works... yes
checking for gawk... (cached) gawk
checking how to run the C preprocessor... gcc -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking /usr/src/linux/include/linux/modversions.h usability... yes
checking /usr/src/linux/include/linux/modversions.h presence... yes
checking for /usr/src/linux/include/linux/modversions.h... yes
checking for Linux kernel version >= 2.4.0... yes
checking for Linux kernel version >= 2.4.7... yes
checking for mknod... mknod
checking for chgrp... chgrp
checking for chmod... chmod
checking for depmod... depmod
checking for rmmod... rmmod
checking for lsmod... lsmod
checking for modprobe... modprobe
checking for objdump... objdump
checking for objcopy... objcopy
configure: creating ./config.status
config.status: creating Makefile
config.status: creating lib/Makefile
config.status: creating modules/Makefile
config.status: creating include/Makefile
config.status: creating src/Makefile
config.status: creating src/module/Makefile
config.status: creating src/ptserial/Makefile
config.status: creating misc/Makefile
config.status: creating misc/pctel.spec
config.status: creating misc/SlackBuild
config.status: creating misc/build_rpms.sh
config.status: creating m4/Makefile
config.status: executing depfiles commands
config.status: executing default commands
# make
Making all in src
make[1]: Entering directory `/root/pctel-0.9.6/src'
Making all in module
make[2]: Entering directory `/root/pctel-0.9.6/src/module'
rm -f *~ \#* .*~ .\#*
rm -f ptmodule.o
rm -f ptmodule.o
rm -f ../../modules/pctel.o
gcc    -D__KERNEL__ -Werror -Wno-trigraphs -fno-common -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer -fno-strict-aliasing -pipe -fno-strength-reduce -DMODULE -DMODVERSIONS -DEXPORT_SYMTAB -DHAL_PCT789  -I../../include -I/usr/src/linux/include -include /usr/src/linux/include/linux/modversions.h -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE=\"pctel\" -DVERSION=\"0.9.5\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1   -c -o ptmodule.o ptmodule.c
ld -r -o ../../modules/pctel.o ptmodule.o ../../lib/control.a ../../lib/vuart.o ../../lib/pct789/dsp.a ../../lib/pct789/pcthal.a
make[2]: Leaving directory `/root/pctel-0.9.6/src/module'
Making all in ptserial
make[2]: Entering directory `/root/pctel-0.9.6/src/ptserial'
rm -f *~ \#* .*~ .\#*
rm -f ptserial.o ptserial.c
rm -f ptserial.o
rm -f ../../modules/ptserial.o
ln -s -f ptserial-2.4.7.c ../../src/ptserial/ptserial.c
make ptserial.o
make[3]: Entering directory `/root/pctel-0.9.6/src/ptserial'
gcc    -D__KERNEL__ -Werror -Wno-trigraphs -fno-common -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer -fno-strict-aliasing -pipe -fno-strength-reduce -DMODULE -DMODVERSIONS -DEXPORT_SYMTAB -DHAL_PCT789  -DBUILD_SYSTEM=\""`uname -s -m -r -p`\"" -DGCC_VERSION=\""`gcc --version | head -1`\"" -I../../include -I/usr/src/linux/include -include /usr/src/linux/include/linux/modversions.h -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE=\"pctel\" -DVERSION=\"0.9.5\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1   -c -o ptserial.o ptserial.c
ptserial.c: In function `rs_close':
ptserial.c:2813: error: invalid operands to binary ==
make[3]: *** [ptserial.o] Error 1
make[3]: Leaving directory `/root/pctel-0.9.6/src/ptserial'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/root/pctel-0.9.6/src/ptserial'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/root/pctel-0.9.6/src'
make: *** [all-recursive] Error 1

Вот так заканчивается компиляция дров - и я остаюсь без интернета.
В чем все же "ГРАБЛИ"???

ruslandh 05-03-2004 07:20 254049

ptserial.c:2813: error: invalid operands to binary
1 У меня эта строчка выглядит так:
Цитата:

 if ((tty->count == 1) && (state->count != 1)) {
а у Вас ?
2 Какая стоит версия gcc ?


Evgenev 05-03-2004 07:47 254050

По поводу первого вопроса не совсем ясно.
По второму: стоит gcc=3.3.2 - поставлялась с дистрибутивом.

ruslandh 05-03-2004 07:52 254051

ptserial.c:2813:  - файл ptserial.c, строка 2813

Evgenev 05-03-2004 09:15 254052

if ((tty->count == 1) && (state->count != 1)) {

ruslandh 05-03-2004 15:40 254053

Evgenev
Странно это всё ;(
Ну нет тут ошибки. Если только в самом тексте исходника нет какой-нибудь ошибки.  Может ещё какие ошибки были ?

Guest 06-03-2004 23:31 254054

У меня под манлрейком 9.2 пишет при сборке модулей, что GCC-3, а не 2-ой и не хочет компилить

ruslandh 07-03-2004 07:24 254055

Установите 2-й :)

Guest 07-03-2004 23:08 254056

Установил 2.9.**, как скомпилить драйвер с GCC 2,  а не с 3-им

Guest 12-03-2004 01:29 254057

Слава богу все разрешилось в лучшую сторону.
По вот этой ссылке http://linmodems.technion.ac.il/pctel-linux/ дров (pctel-0.9.6.1.tar.gz) на самом деле нет, а вот на этой страничке http://linmodems.technion.ac.il/ (совершенно случайно туда забрел - от безисходности) нашел там ссылку на какой-то FAQ http://linmodems.technion.ac.il/FAQ.html где и упоминалась проблема про Fedor`у с данными дровами (первым пунктом).
От туда дается ссылка на сайт http://hepunx.rl.ac.uk/~wmurray/pctel/pctel.html где лежат дрова pctel-0.9.6.2.tar.gz
Встали дрова нормально - хотя остался баг с зависанием системы после reconnect`a.
Все гениальное - просто.

Всем спасибо за соучастие.

ruslandh 12-03-2004 07:11 254058

Цитата:

По вот этой ссылке http://linmodems.technion.ac.il/pctel-linux/ дров (pctel-0.9.6.1.tar.gz) на самом деле нет
У нас что другой инет ? Щас только туда заглянул и вижу:
Цитата:

Download

Latest driver:
pctel-0.9.7-9.tar.gz - [1.4MB] driver for Via, Asus, CM8x, SiS, PCT and AMR based modems. For some modems, it seems to be stable now, for others, support is still broken.
Please read the ChangeLog and the README.
md5sum for this driver: 2c13a36a8bd39b7c2a5775040dfc0184


pctel-0.9.6.tar.gz - [1.3MB] Older driver for kernel 2.4.x, should support Via, Asus, CM8x, Sis, PCT and AMR based modems. This driver is new and may contain some bugs. However, support for AMR / MR based modems seems still to be broken. Please read the INSTALL, README and FAQ and follow the instructions.
See also the ChangeLog.
md5sum for this driver: e2f49ce6fcb5d8aa47e1c7e5485f66eb

pctel-2.2.tar.gz - [310kB] old driver for 2.x kernels, unsupported.
md5sum for this driver: 8404932eabba3532ad416e1846916d75


Evgenev 14-03-2004 06:48 254059

На уровень выше и там ищи строку жирным красным шрифтом упоминающее слово FAQ.
http://linmodems.technion.ac.il/
http://linmodems.technion.ac.il/FAQ.html
http://hepunx.rl.ac.uk/~wmurray/pctel/pctel.html

Guest 14-03-2004 07:48 254060

from Xwine :
а кастингом (int) нельзя было поправить ?
ну в смысле
if (((int)tty->count == (int)1) && ((int)state->count != (int)1))


Время: 15:32.

Время: 15:32.
© OSzone.net 2001-