[realtek] RTL-8139C: SIOCSIFFLAGS: Device or resource busy
kiing@altern.org
kiing@altern.org
Fri Nov 30 13:52:11 2001
I just buyed a ST100S StarTech ethernet card with a 8139C chip in it. The card work fine under windows, but work under Linux (Slackware Linux 8.0, tryed with a 2.2.19 generic kernel and a 2.4.10 custom kernel). When I use ifconfig, I always get the "Device or resource busy" error. I tryed the rtl8139 and the 8139too driver.
With the 2.2.19 and rtl8139:
rtl8139.c:v1.07 5/6/99 Donald Becker http://cesdis.gsfc.nasa.gov/linux/drivers/rtl8139.html
eth0: RealTek RTL8139 Fast Ethernet at 0xf800, IRQ 11, 00:50:fc:33:0f:01.
root@kiingbox:~# ifconfig eth0 up
SIOCSIFFLAGS: Resource temporarily unavailable
With the 2.4.10 and 8139too:
8139too Fast Ethernet driver 0.9.18a
eth0: RealTek RTL8139 Fast Ethernet at 0xc6a66c00, 00:50:fc:33:0f:01, IRQ 11
eth0: Identified 8139 chip type 'RTL-8139C'
root@kiingbox:~# ifconfig eth0 up
SIOCSIFFLAGS: Device or resource busy
The rtl8139-diag -eam output:
rtl8139-diag.c:v2.04 8/08/2001 Donald Becker (becker@scyld.com)
http://www.scyld.com/diag/index.html
Index #1: Found a RealTek RTL8139 adapter at 0xf800.
RealTek chip registers at 0xf800
0x000: 33fc5000 0000010f ffffffff ffffffff 00002000 00002000 00002000 00002000
0x020: 00028c84 00029484 00029c84 0002a484 0002ac84 01000000 0000fff0 00000000
0x040: 74000000 00000000 e493a692 00000000 000f1000 00000000 0088e100 00100000
0x060: 1100000f 01e1782d 000141e1 00000000 00000004 000307c8 b0f243b9 8a36df43.
No interrupt sources are pending.
The chip configuration is 0x10 0x0f, 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:50:FC:33:0F:01.
Configuration register 0/1 -- 0x0c / 0xc2.
EEPROM active region checksum is 08cd.
The RTL8139 does not use a MII transceiver.
It does have internal MII-compatible registers:
Basic mode control register 0x782d.
Basic mode status register 0x1100.
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.
If I type ifconfig eth0 I get:
eth0 Link encap:Ethernet HWaddr 00:50:FC:33:0F:01
inet addr:192.168.1.1 Bcast:192.168.1.255 Mask:255.255.255.0
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)
Interrupt:11 Base address:0x6c00
The RX packets and TX packets always stay to 0.
Anyone have an idea to fix this ?