[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