[mdk-re] fealnx.o: unresolved symbol alloc_skb_R2gig666cd57b
Yura Zotov
=?iso-8859-1?q?yznews_=CE=C1_hotbox=2Eru?=
Чт Ноя 22 12:45:20 MSK 2001
On Thu, Nov 22, 2001 at 12:45:47PM +0700, Igor Fadin wrote:
> On Wed, 21 Nov 2001 21:08:41 +0300
> Yura Zotov <yznews на hotbox.ru> wrote:
>
> YZ> fealnx.o: unresolved symbol alloc_skb_R2gig666cd57b
> YZ> fealnx.o: unresolved symbol eth_type_trans_R2gigeb4f6776
> YZ> fealnx.o: unresolved symbol skb_over_panic_R2gig16a41d90
> YZ> fealnx.o: unresolved symbol netif_rx_R2gigad5dfb67
> YZ> fealnx.o: unresolved symbol __kfree_skb_R2gig14efd9ae
> YZ> fealnx.o: unresolved symbol unregister_netdev_R2gig8efc83c2
> YZ> fealnx.o: unresolved symbol init_etherdev_R2gige9f4817d
> YZ> fealnx.o: unresolved symbol eth_copy_and_sum_R2gig2d147569
>
> YZ> Вот что пишет мне при загрузке драйвер сетевушки. Собственно
> YZ> поэтому и не работает, наверное. Что бы это значило? Может ему
> YZ> ядро 2.4 надо, а не 2.2? Почему же тогда скомпилялся? У него доки
> YZ> почти нету.
>
> YZ> Помогите, кто знает в чем дело.
>
>
> Покажи что /sbin/ksyms -a|grep init_etherdev говорит.
801beba4 init_etherdev_R2gigac66723a
> Ядро сам компилил? cat /usr/src/linux/.config|grep MODVERSIONS что говорит?
CONFIG_MODVERSIONS=y
Ядро собирал из src.rpm, сейчас оно у меня 2.2.19-alt2-custom-3
> Драйвер сам компилил? Если сам, что там на счет MODVERSIONS было?
>
Сам собирал. Вот кусок кода из него. Компилировал такой же
командной строкой, которой и модули из src.rpm собираются.
#ifdef MODVERSIONS
#include <linux/modversions.h>
#endif
<skip>
/* Kernel compatibility defines, some common to David Hinds'
* PCMCIA package. */
/* This is only in the support-all-kernels source code. */
#define RUN_AT(x) (jiffies + (x))
#if (LINUX_VERSION_CODE >= 0x20100)
char kernel_version[] = UTS_RELEASE;
#else
#ifndef __alpha__
#define ioremap vremap
#define iounmap vfree
#endif
#endif
#if defined(MODULE) && LINUX_VERSION_CODE > 0x20115
MODULE_AUTHOR("Jao Ching Chen");
MODULE_DESCRIPTION("100/10M Ethernet PCI Driver");
MODULE_PARM(max_interrupt_work, "i");
MODULE_PARM(min_pci_latency, "i");
MODULE_PARM(debug, "i");
MODULE_PARM(rx_copybreak, "i");
MODULE_PARM(multicast_filter_limit, "i");
MODULE_PARM(options, "1-" __MODULE_STRING(MAX_UNITS) "i");
MODULE_PARM(full_duplex, "1-" __MODULE_STRING(MAX_UNITS) "i");
#endif
#if LINUX_VERSION_CODE < 0x20123
#define test_and_set_bit(val, addr) set_bit(val, addr)
#endif
#if LINUX_VERSION_CODE <= 0x20139
#define net_device_stats enet_statistics
#else
#define NETSTATS_VER2
#endif
#if LINUX_VERSION_CODE < 0x20155 || defined(CARDBUS)
/* Grrrr, the PCI code changed, but did not consider CardBus...
* */
#include <linux/bios32.h>
#define PCI_SUPPORT_VER1
#else
#define PCI_SUPPORT_VER2
#endif
#if LINUX_VERSION_CODE < 0x20159
#define dev_free_skb(skb) dev_kfree_skb(skb, FREE_WRITE);
#else
#define dev_free_skb(skb) dev_kfree_skb(skb);
#endif
--
Юрий А. Зотов
Подробная информация о списке рассылки community