[realtek] Kernel 2.4.7-10 insmod/compile/header issue

dp@shaw.ca dp@shaw.ca
Sat Jan 19 20:28:01 2002


I've read of several 2.4.x users having this problem, and I haven't found
any mention of a solution up to the Jan 15th,2002 ML archive... so here goes.

This is redhat 7.2, kernel 2.4.7-10.  The card is a Belkin F5D5000.

I have three of these cards, two in windows machines, one on the linux
machine.  The two cards work at 100Mbit/sec and full duplex under windows.
Under linux, the best I can get (which is good, no question ) is
100Mbit/sec half duplex.

I have compiled and am using the 8139too.c driver at the moment, for
reasons which are described below.  As such, the diag software on the scyld
site does not work.

The options/media/full_duplex options that you would normally put into
modules.conf / conf.modules do not appear to work with 8139too.o . There
are kernel messages in /var/log/messages saying 100Mbit /sec or full duplex
if I change options 8139too in modules.conf, but... well.. either I don't
understand the syntax of the options (full_duplex=1?) (media=100?) or the
driver just ain't jivin' with the card, if you get my drift.  With fidding
with the numeric values of the options, I've managed to actually disable
ports entirely, or place them in 'flashing amber' mode on my d-link switch
(for which there is no diagnostic code, oddly enough) so I've just left it
at 100 half for now.

In any case, the current hopeful solution is to switch to the rtl8139
driver instead.  However.  This is where I'm stuck:

:gcc -DMODULE -D__KERNEL__ -O6 -c rtl8139.c -I/usr/src/linux/include
-include /usr/src/linux/include/linux/modversions.h
In file included from rtl8139.c:102:
/usr/src/linux/include/linux/malloc.h:3:2: warning: #warning The Use of
linux/malloc.h is deprecated, use linux/slab.h

:gcc -DMODULE -D__KERNEL__ -O6 -c pci-scan.c -I/usr/src/linux/include
-include /usr/src/linux/include/linux/modversions.h
In file included from pci-scan.c:65:
/usr/src/linux/include/linux/malloc.h:3:2: warning: #warning The Use of
linux/malloc.h is deprecated, use linux/slab.h

:insmod pci-scan.o
pci-scan.o: unresolved symbol pci_set_master_Rsmp_f7dc9640
pci-scan.o: unresolved symbol pci_read_config_byte_Rsmp_2942b2b0
pci-scan.o: unresolved symbol pci_read_config_dword_Rsmp_086be4f9
pci-scan.o: unresolved symbol __ioremap_Rsmp_9eac042a
pci-scan.o: unresolved symbol __check_region_Rsmp_f1d0cdab
pci-scan.o: unresolved symbol kfree_Rsmp_037a0cba
pci-scan.o: unresolved symbol printk_Rsmp_1b7d4074
pci-scan.o: unresolved symbol ioport_resource_Rsmp_865ebccd
pci-scan.o: unresolved symbol pci_write_config_byte_Rsmp_3167e234
pci-scan.o: unresolved symbol kmalloc_Rsmp_93d4cfe6
pci-scan.o: unresolved symbol pci_find_class_Rsmp_6efdf2ec
pci-scan.o: unresolved symbol pci_write_config_dword_Rsmp_d187b286
pci-scan.o: unresolved symbol pci_write_config_word_Rsmp_33a916bf
pci-scan.o: unresolved symbol pci_read_config_word_Rsmp_2482fae9

:insmod rtl8139.o
rtl8139.o: unresolved symbol free_irq_Rsmp_f20dabd8
rtl8139.o: unresolved symbol add_timer_Rsmp_08d2a00e
rtl8139.o: unresolved symbol __request_region_Rsmp_1a1a4f09
rtl8139.o: unresolved symbol tvec_bases_Rsmp_d29e5674
rtl8139.o: unresolved symbol del_timer_Rsmp_e239a3e9
rtl8139.o: unresolved symbol __netdev_watchdog_up_Rsmp_fe46338f
rtl8139.o: unresolved symbol pci_read_config_dword_Rsmp_086be4f9
rtl8139.o: unresolved symbol netif_rx_Rsmp_0ac0f379
rtl8139.o: unresolved symbol dev_close_Rsmp_40e531f6
rtl8139.o: unresolved symbol pci_drv_unregister
rtl8139.o: unresolved symbol eth_type_trans_Rsmp_6a3c2122
rtl8139.o: unresolved symbol alloc_skb_Rsmp_3702adc3
rtl8139.o: unresolved symbol skb_over_panic_Rsmp_7acbf56a
rtl8139.o: unresolved symbol kfree_Rsmp_037a0cba
rtl8139.o: unresolved symbol printk_Rsmp_1b7d4074
rtl8139.o: unresolved symbol ioport_resource_Rsmp_865ebccd
rtl8139.o: unresolved symbol init_etherdev_Rsmp_86a31451
rtl8139.o: unresolved symbol __kfree_skb_Rsmp_980007b5
rtl8139.o: unresolved symbol cpu_raise_softirq_Rsmp_d01f3ee8
rtl8139.o: unresolved symbol kmalloc_Rsmp_93d4cfe6
rtl8139.o: unresolved symbol unregister_netdev_Rsmp_99a6c7ea
rtl8139.o: unresolved symbol jiffies_Rsmp_0da02d67
rtl8139.o: unresolved symbol softnet_data_Rsmp_20eece54
rtl8139.o: unresolved symbol request_irq_Rsmp_0c60f2e0
rtl8139.o: unresolved symbol pci_drv_register
rtl8139.o: unresolved symbol __release_region_Rsmp_d49501d4

--------
reference: http://www.scyld.com/pipermail/realtek/2002-January/001215.html
--------

Any thoughts?  I'm sure I'm not the only person on the planet using these
cards with RH 7.2, so share the pain!

please and thank you for any feedback.  My full duplex cards are lonely.
(sniff) ;)

dp

p.s. I'll throw some kernel messages in here for kicks and giggles, maybe
they'll shed some light on the problem.

Jan 19 17:32:26 ewok kernel: 8139too Fast Ethernet driver 0.9.18a
Jan 19 17:32:26 ewok kernel: PCI: Found IRQ 7 for device 00:0d.0
Jan 19 17:32:26 ewok kernel: eth1: RealTek RTL8139 Fast Ethernet at
0xc6890000, 00:10:b5:0f:21:49, IRQ 7
Jan 19 17:33:46 ewok kernel: eth1: Setting half-duplex based on
auto-negotiated partner ability 0000.

Jan 19 17:42:35 ewok kernel: eth1: RealTek RTL8139 Fast Ethernet at
0xc686c000, 00:10:b5:0f:21:49, IRQ 7
Jan 19 17:42:35 ewok kernel: eth1: Media type forced to Full Duplex.
Jan 19 17:42:35 ewok kernel: eth1: Setting full-duplex based on
auto-negotiated partner ability 0000.
--
(note, THIS DOES NOT TURN ON THE FULL DUPLEX LIGHT ON THE SWITCH <-the
whole problem in one sentence)

(earlier I had been using IRQ 3, switch to 7 JUST to be sure)
--
Jan 19 15:31:46 ewok kernel: 8139too Fast Ethernet driver 0.9.18a
Jan 19 15:31:46 ewok kernel: PCI: Found IRQ 3 for device 00:0d.0
Jan 19 15:31:46 ewok kernel: eth1: RealTek RTL8139 Fast Ethernet at
0xc688a000, 00:10:b5:0f:21:49, IRQ 3
Jan 19 15:31:46 ewok kernel:   Forcing 100Mbs half-duplex operation.
Jan 19 15:31:46 ewok kernel: eth1: Setting half-duplex based on
auto-negotiated partner ability 0000.

Jan 19 15:27:19 ewok kernel: 8139too Fast Ethernet driver 0.9.18a
Jan 19 15:27:19 ewok kernel: PCI: Found IRQ 3 for device 00:0d.0
Jan 19 15:27:19 ewok kernel: eth1: RealTek RTL8139 Fast Ethernet at
0xc688a000, 00:10:b5:0f:21:49, IRQ 3
Jan 19 15:27:19 ewok kernel:   Forcing 10Mbs half-duplex operation.
Jan 19 15:27:19 ewok kernel: eth1: Setting half-duplex based on
auto-negotiated partner ability 0000.