[realtek] SIOCSIFFLAGS problem witn rtl8139
Octavi Fors
ofors@am.ub.es
Tue Jun 4 14:21:01 2002
Hi,
this is my fisrt message and my first experience with IRQ-related problems
with Ethernet card running under Linux.
In particular, my setting is:
Hardware:
---------
Microstar - Medion9648 laptop.
Pentium III 1.2GHz, 384Mb RAM, 30Gb HDD, Internal DVD/CDROM.
BIOS:
-----
PhoenixBIOS Setup Utility - BIOS Version: 1.0C-0016-0713
Software:
---------
Dual booting with LILO 2.22:
- Linux Mandrake 8.2 (kernel 2.4.18-6mdk).
- Windows XP.
The problem is:
While ethernet card works fine with WinXP, I can't make it run on
Linux. I'm making use of RealTek RTL8139 driver (as a module):
% lsmod
Module Size Used by Tainted: GF
ham 15004 0 (unused)
hamcore 557760 0 [ham]
via82cxxx_audio 18144 1
uart401 6336 0 [via82cxxx_audio]
ac97_codec 9568 0 [via82cxxx_audio]
sound 57292 0 [via82cxxx_audio uart401]
soundcore 4068 4 [via82cxxx_audio sound]
lp 6464 0
parport_pc 22088 1
parport 23968 1 [lp parport_pc]
ds 6848 2
yenta_socket 9344 2
pcmcia_core 41824 0 [ds yenta_socket]
af_packet 12488 0 (autoclean)
usb-uhci 21668 0 (unused)
usbcore 59072 1 [usb-uhci]
8139too 14336 0 (autoclean)
mii 1360 0 (autoclean) [8139too]
supermount 62180 2 (autoclean)
ide-scsi 8032 0
scsi_mod 92488 1 [ide-scsi]
rtc 5912 0 (autoclean)
When I try to bring up the eth0 interface I get the following error
message:
% ifconfig eth0 up
SIOCSIFFLAGS: Device or resource busy
If I type ifconfig eth0 I get:
eth0 Link encap:Ethernet HWaddr 00:07:CA:00:45:F2
BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
Base address:0xa000
This is the content of /proc/interupts:
CPU0
0: 33850 XT-PIC timer
1: 226 XT-PIC keyboard
2: 0 XT-PIC cascade
4: 3 XT-PIC via82cxxx
5: 0 XT-PIC usb-uhci
8: 1 XT-PIC rtc
10: 12 XT-PIC O2 Micro, Inc. OZ6933 Cardbus Controller,
O2 Micro, Inc. OZ6933 Cardbus Controller (#2)
12: 767 XT-PIC PS/2 Mouse
14: 4657 XT-PIC ide0
15: 4 XT-PIC ide1
NMI: 0
LOC: 0
ERR: 0
MIS: 0
I downloaded (with another PC :-)) and compiled rtl8139-dial.c, and here
is the diagnostic message:
% rtl8139-diag -eam
rtl8139-diag.c:v2.06 3/22/2002 Donald Becker (becker@scyld.com)
http://www.scyld.com/diag/index.html
Index #1: Found a RealTek RTL8139 adapter at 0x1c00.
This chip has not been assigned a valid IRQ, and will not function.
This must be fixed in the PCI BIOS setup. The device driver has no way
of changing the PCI IRQ settings.
See http://www.scyld.com/expert/irq-conflict.html for more information.
RealTek chip registers at 0x1c00
0x000: 55aa55aa 000055aa 00000000 00000000 00002000 00002000 00002000
00002000
0x020: fffffffc fffffffc fffffffc fffffffc fffffffc 01000000 0000fff0
00000000
0x040: 74000000 00000000 26ca59ad 00000000 008d1000 00000000 0088e110
00100000
0x060: 1100000f 01e1782d 000141e1 00000000 00000004 000517c8 b0f243b9
8a36df43.
No interrupt sources are pending.
The chip configuration is 0x10 0x8d, MII half-duplex mode.
Decoded EEPROM contents:
PCI IDs -- Vendor 0x10ec, Device 0x8139.
PCI Subsystem IDs -- Vendor 0x10ec, Device 0x8139.
PCI timer settings -- minimum grant 32, maximum latency 64.
General purpose pins -- direction 0xe1 value 0x12.
Station Address 00:07:CA:00:45:F2.
Configuration register 0/1 -- 0x8d / 0xc2.
EEPROM active region checksum is 09c7.
The RTL8139 does not use a MII transceiver.
It does have internal MII-compatible registers:
Basic mode control register 0x1100.
Basic mode status register 0x782d.
Autonegotiation Advertisement 0x01e1.
Link Partner Ability register 0x41e1.
Autonegotiation expansion 0x0001.
Disconnects 0x0000.
False carrier sense counter 0x0000.
NWay test register 0x0004.
Receive frame error count 0x0000.
Well, I'm a novice in IRQ conflicts, but from messages above it seems IRQ
has not been assigned to ethernet chip.
What should I do at this point?
If I follow advise to fix PCI IRQ by BIOS setup, and follow instructions
at http://www.scyld.com/expert/irq-conflict.html, I notice that my BIOS
setup utility DOES NOT HAVE option for changing "Installed O/S". In the
Advanced menu there are only the following options:
- PS/2 Mouse
- LCD Panel View Expansion
- Silent Boot
- Frame Buffer Size
- I/O Device Configuration
- Serial port
- Infrared port
- Parallel port
- Floppy disk controller
but no Installed O/S option...
Can anybody help me at this point?
Alternative solutions/ideas?
Thanks in advance,
=================================================================
Octavi Fors
Astronomy Department
University of Barcelona
Barcelona
SPAIN
e-mail: ofors@am.ub.es
=================================================================