Linux.org.ua
Технічні питання => Прикладні програми => Mageia => Гілку створено: vlad_cv від 2007-01-14 23:46:14
-
Доброго дня!
Поможіть!
У мене модем Genuis GM56PCI-LA
Mandriva 2007 ядро 2.6.17-5mdv
make 3.81
gcc 4.1.1
Не можу скомпілювати драйвера для модема!
Завантажив драйвера із сайту http://phep2.technion.ac.il/linmodems/packages/ltmodem/kernel-2.6/ архів ltmodem-2.6-alk-8.tar.bz2. Розпакував, виконую все як написано в інструкції та отримую наступне:
[root@localhost ltmodem-2.6-alk-8]# make KERNEL_DIR=/usr/src/linux-2.6.17-5mdv
make -C /usr/src/linux-2.6.17-5mdv SUBDIRS=/usr/src/modules/ltmodem-2.6-alk-8 modules
make[1]: Entering directory `/usr/src/linux-2.6.17-5mdv'
CC [M] /usr/src/modules/ltmodem-2.6-alk-8/lt_modem.o
/usr/src/modules/ltmodem-2.6-alk-8/lt_modem.c:123: error: expected ‘)’ before string constant
/usr/src/modules/ltmodem-2.6-alk-8/lt_modem.c:125: error: expected ‘)’ before string constant
/usr/src/modules/ltmodem-2.6-alk-8/lt_modem.c:130: error: expected ‘)’ before string constant
make[2]: *** [/usr/src/modules/ltmodem-2.6-alk-8/lt_modem.o] Ошибка 1
make[1]: *** [_module_/usr/src/modules/ltmodem-2.6-alk-8] Ошибка 2
make[1]: Leaving directory `/usr/src/linux-2.6.17-5mdv'
make: *** [module] Ошибка 2
Те саме із архівами драйверів ltmodem-2.6-alk-7.tar.bz2, ltmodem-2.6-alk-6.tar.bz2.
Наскільки я зрозумів, не утворюються самі драйвера *.ko.
Що я роблю не так, чи у чому проблема, підскажіть!
-
MODULE_PARAM - це застарілий макрос, тепер треба вживати module_param та module_param_array..., тобто для компіляції потрібно зробити приблизно такі заміни:
--- lt_modem.c.orig 2007-01-14 23:59:52.000000000 -0500
+++ lt_modem.c 2007-01-15 00:04:47.000000000 -0500
@@ -120,14 +120,14 @@
static int vendor_id = 0;
static int device_id = 0;
-MODULE_PARM(vendor_id, "i");
+module_param(vendor_id, int, 0);
MODULE_PARM_DESC(vendor_id, "Vendor ID of the Lucent Modem e.g. vendor_id=0x11c1");
-MODULE_PARM(device_id, "i");
+module_param(device_id, int, 0);
MODULE_PARM_DESC(device_id, "Device ID of the Lucent Modem e.g. device_id=0x0440");
static int Forced[4] = {-1,-1,-1,0};
-MODULE_PARM(Forced, "4i");
+module_param_array(Forced, int, 0, 0);
MODULE_PARM_DESC(Forced, "Forced Irq,BaseAddress,ComAddress[,NoDetect] of the Lucent Modem e.g. Forced=3,0x130,0x2f8");
але оскільки сирці драйвера дещо застаріли невідомо чи запрацює драйвер, навіть якщо скомпілюється...
удачі
-
Дякую! Драйвера справді скомпілювались. Далі копіював їх у папку /lib/modules/2.6.17-5mdv/ltmodem.
По інчструкції далі необхідно перевірити порт модема
# ls -l /dev/modem /dev/ttyLT0
в результаті чого маю повідомлення що його немає. Що робити у такому випадку?
P.S.
але оскільки сирці драйвера дещо застаріли невідомо чи запрацює драйвер, навіть якщо скомпілюється...
Знайшов сирці драйвера дещо новіші, а саме http://phep2.technion.ac.il/linmodems/packages/ltmodem/kernel-2.6/martian/martian-full-20061203.tar.gz від 3 грудня 2006 року. Пробував скомпілювати за інструкцією та ось що отримав:
[root@localhost martian]# make all
make -C kmodule/ modules
make[1]: Entering directory `/usr/src/modules/martian/kmodule'
make -C /lib/modules/2.6.17-5mdv/build M="/usr/src/modules/martian/kmodule" modules
make[2]: Entering directory `/lib/modules/2.6.17-5mdv/build'
make[2]: *** Нет правила для сборки цели `modules'. Останов.
make[2]: Leaving directory `/lib/modules/2.6.17-5mdv/build'
make[1]: *** [modules] Ошибка 2
make[1]: Leaving directory `/usr/src/modules/martian/kmodule'
make: *** [all] Ошибка 2
Сирці ядра знаходяться у папці /usr/src/linux-2.6.17-5mdv (на всяк випадок).
Що можна зробити у даному випадку?
-
Перевірте, чи дійсно лінк /lib/modules/$(uname -r)/build вказує на ці сирці.
P.S.
[isbear:~] ls -ld /lib/modules/$(uname -r)/build
lrwxrwxrwx 1 linux linux 34 2006-12-06 01:11 /lib/modules/2.6.19-lair11/build -> /usr/src/linux/source/linux-2.6.19
-
Справді, у мене не було посилання на сирці. встановив, і компіляція пройшла успішно. проте з інсталяцією виникла наступна проблема:
[root@localhost martian]# make install
make -C kmodule/ install
make[1]: Entering directory `/usr/src/modules/martian/kmodule'
make -C /lib/modules/2.6.17-5mdv/build M="/usr/src/modules/martian/kmodule" modules_install
make[2]: Entering directory `/usr/src/linux-2.6.17-5mdv'
INSTALL /usr/src/modules/martian/kmodule/martian_dev.ko
DEPMOD 2.6.17-5mdv
WARNING: /lib/modules/2.6.17-5mdv/kernel/net/ipv6/ipv6.ko.gz needs unknown symbol skb_gso_segment
WARNING: /lib/modules/2.6.17-5mdv/kernel/net/bridge/bridge.ko.gz needs unknown symbol rsbac_adf_request
WARNING: /lib/modules/2.6.17-5mdv/kernel/net/bridge/bridge.ko.gz needs unknown symbol rsbac_on
WARNING: /lib/modules/2.6.17-5mdv/kernel/fs/xfs/xfs.ko.gz needs unknown symbol __FIXADDR_TOP
WARNING: /lib/modules/2.6.17-5mdv/kernel/fs/supermount/supermount.ko.gz needs unknown symbol do_remount_sb
WARNING: /lib/modules/2.6.17-5mdv/kernel/fs/reiserfs/reiserfs.ko.gz needs unknown symbol rsbac_on
WARNING: /lib/modules/2.6.17-5mdv/kernel/fs/reiserfs/reiserfs.ko.gz needs unknown symbol rsbac_lookup_one_len
WARNING: /lib/modules/2.6.17-5mdv/kernel/fs/ntfs/ntfs.ko.gz needs unknown symbol __FIXADDR_TOP
WARNING: /lib/modules/2.6.17-5mdv/kernel/fs/ext3/ext3.ko.gz needs unknown symbol rsbac_adf_request
WARNING: /lib/modules/2.6.17-5mdv/kernel/fs/ext3/ext3.ko.gz needs unknown symbol rsbac_on
WARNING: /lib/modules/2.6.17-5mdv/kernel/drivers/scsi/sr_mod.ko.gz needs unknown symbol cdrom_mediactl
WARNING: /lib/modules/2.6.17-5mdv/kernel/drivers/md/dm-mod.ko.gz needs unknown symbol idr_replace
WARNING: /lib/modules/2.6.17-5mdv/kernel/drivers/ide/ide-cd.ko.gz needs unknown symbol cdrom_mediactl
WARNING: /lib/modules/2.6.17-5mdv/kernel/drivers/char/drm/drm.ko.gz needs unknown symbol __FIXADDR_TOP
WARNING: /lib/modules/2.6.17-5mdv/kernel/drivers/cdrom/mcdx.ko.gz needs unknown symbol cdrom_mediactl
WARNING: /lib/modules/2.6.17-5mdv/kernel/drivers/block/loop.ko.gz needs unknown symbol rsbac_adf_request
WARNING: /lib/modules/2.6.17-5mdv/kernel/drivers/block/loop.ko.gz needs unknown symbol delete_partition
WARNING: /lib/modules/2.6.17-5mdv/kernel/drivers/block/loop.ko.gz needs unknown symbol rsbac_on
WARNING: /lib/modules/2.6.17-5mdv/kernel/arch/i386/oprofile/oprofile.ko.gz needs unknown symbol __FIXADDR_TOP
WARNING: /lib/modules/2.6.17-5mdv/kernel/3rdparty/ndiswrapper/ndiswrapper.ko.gz needs unknown symbol __FIXADDR_TOP
WARNING: /lib/modules/2.6.17-5mdv/kernel/3rdparty/lufs/lufs.ko.gz needs unknown symbol kill_proc_info
make[2]: *** [_emodinst_post] Ошибка 1
make[2]: Leaving directory `/usr/src/linux-2.6.17-5mdv'
make[1]: *** [install] Ошибка 2
make[1]: Leaving directory `/usr/src/modules/martian/kmodule'
make: *** [install] Ошибка 2
Що робити у цьому випадку?
-
Якась дивина... Власне, помилки пов'язані не з тим модулем, що ви будували, а з вже попередньо встановленими.
Можу порадити лише перевірити точну відповідність одне одному встановлених пакетів ядра (з модулями?) і сирців до нього.
-
Перекомпiлював своэ ядро до версii 2.6.18. Вконав вище описанi дii знову та все получилось!!!
Це повiдомлення пишу iз середовища Firefox в Linux.
Дякую всiм, хто допомагав у процесi роботи!!!!!
-
Sorry, I'm writing english, but I can't writing in ukrainian language.
I had this same problem, but I can't get "ltmodem-2.6-alk-8.tar.bz2" and with an older version (what I have) I had more problems. The link to "ltmodem-2.6-alk-8.tar.bz2" doesn't function by me.
If I could plase You to send the file "ltmodem-2.6-alk-8.tar.bz2" to my e-mail: hawanarugby at o2.pl ?
Best regards
Adam
-
Eureka !
I've downloaded from:
http://www.barrelsoutofbond.org/downloads/martian/
file:
martian-full-20061203.tar.gz
(maybe, if You are reading thist post there is a newer version)
it compiles without problems with kernel 2.6.20.3 (the newest for today)
Make all with root privilleges:
Steps:
-unpack
- run:
make clean
make
make install
depmod -a
- run:
modprobe martian_dev
martian_modem &
sleep -1
ln -sf /dev/ttySM0 /dev/modem
chmod 666 /dev/modem
test it for example with command:
wvdialconf /etc/wvdial.conf
If You want to keep Your configuration, when computer starts, add lines into /etc/rc.local :
/sbin/modprobe martian_dev
/usr/sbin/martian_modem &
/bin/sleep -1
/bin/ln -sf /dev/ttySM0 /dev/modem
/bin/chmod 666 /dev/modem
I've do all on Fedora 3, but it is very simillar to Mandriva.
So, do not send me "Alk" modules :-)
Best regards
Adam