How to make realtek 8139 work ?
Hi folks, I installed solaris 10 express x86, nevada build 44 6/06, on my laptop, but I don't known how to make the NIC to work.
My system is a toshiba laptop S4014, with a realtek 8139 ethernet card (PCMCIA) - the builtin intel pro ethernet, just doesn't work (hardware failure).
I see the realtek 8139 is a supported card, as seen below:
# grep 8139 /boot/solaris/devicedb/master
/boot/solaris/devicedb/master:pci10ec,8139 pci10ec,8139 net pci none"Realtek 8139 Fast Ethernet"
# grep 8139 /etc/driver_aliases
/etc/driver_aliases:rtls"pci10ec,8139"
There is no /dev/rtls0
device created.
Before the installation started, the pcmcia card, was plugged in.
Any advice is appreciated.
thanks
Claudio Miranda
[838 byte] By [
Claudio4J] at [2007-11-26 10:28:40]

# 1
I'm not sure if you should have a /dev/rtls0, but you should have one /dev/rtls if this driver is functioning properly. I suppose you already tried;
ifconfig rtls0 plumb
Apart from that i have no clue on the exact cause of this problem, but i got two alternatives. You could try and download a driver from:
http://www.realtek.com.tw/
and use that one, then there is an other driver available from:
http://homepage2.nifty.com/mrym3/taiyodo/eng/
.. which also should do the trick..
7/M.
# 2
Most likely your realtek 8139 ethernet card uses a different pci vendor / deviceid than "pci10ec,8139".Run /usr/X11/bin/scanpci, look for the realtek ethernet pci device. What vendor / device is reported?
# 3
I downloaded and instaleed the realtek driver from the realtek website, but it didn't make any difference.
The output of installer:
+ cp rtls //kernel/drv/rtls
+ cp rtls.conf //kernel/drv/rtls.conf
+ chmod 755 //kernel/drv/rtls
+ chown root:sys //kernel/drv/rtls
+ grep ^rtls\> /etc/name_to_major
+ rem_drv -b / rtls
+ add_drv -v -i "pci1186,1301" "pci10ec,8139" "pci1113,1211" rtls
exit status = 0
devfsadm: driver failed to attach: rtls
exit status = 1
Warning: Driver (rtls) successfully added to system but failed to attach
Driver (rtls) installed.
+ exit 0
See the scanpci -v
http://www.claudius.com.br/resources/claudio/scanpci-v.txt
prtconf -D
http://www.claudius.com.br/resources/claudio/prtconf-D.txt
prtconf -pv
http://www.claudius.com.br/resources/claudio/prtconf-pv.txt
# 4
Looking at this document [1], and the piece below
# grep 8139 /boot/solaris/devicedb/master
/boot/solaris/devicedb/master:pci10ec,8139 pci10ec,8139 net pci none "Realtek 8139 Fast Ethernet"
Does the none option makes any difference ?
#realmode dvrThe realmode driver for bootable devices,
#otherwise "none".
#Note, realmode driver is no longer being used.
#The entry is there for backward compatibility.
1 - http://solaris-x86.org/documents/tutorials/network.mhtml
# 5
Hmm, so scanpci finds the device:
pci bus 0x0008 cardnum 0x00 function 0x00: vendor 0x10ec device 0x8139
Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+
CardVendor 0x10bd card 0x0428 (Surecom Technology, Card unknown)
STATUS0x0290 COMMAND 0x0000
CLASS0x02 0x00 0x00 REVISION 0x10
BIST0x00 HEADER 0x00 LATENCY 0x00 CACHE 0x00
BASE00xffffff01 addr 0xffffff00 I/O
BASE10xfffffe00 addr 0xfffffe00 MEM
MAX_LAT0x40 MIN_GNT 0x20 INT_PIN 0x01 INT_LINE 0xff
But the Solaris kernel hasn't recognized it, there is no "pci10ec,8139" device
in the prtconf -pv device tree. So the root cause of this problem is that the
Solaris kernel does not find this PCMCIA NIC device. Without a device tree
node for the "pci10ec,8139" device no Solaris driver will be able to find
that realtek nic.
Did you produce these prtconf outputs on Solaris Express? Which release?
Do you have the cardbus device driver installed? (AFAIK the latest Solaris
Express release now includes the updated cardbus driver)
http://www.opensolaris.org/os/community/laptop/wireless/cardbus/
# 6
prtconf was used at solaris 10 express x86, nevada build 44 6/06.I didn't install the cardbus, before. I downloaded version 0.3, and tonight I will install the cardbus.Thanks
# 7
Wow, cardbus did the job very well
lo0: flags=2001000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL> mtu 8232 index 1
inet 127.0.0.1 netmask ff000000
rtls0: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2
inet 192.168.1.11 netmask ffffff00 broadcast 192.168.1.255
See the boot message:
http://weblogs.java.net/blog/claudio/archive/nic8139.
So, I thought that, if scanpci detected realtek 8139, everything was ok, from the driver configuration.
I can issue a "ping smaug" and it is alive and kicking.
The only problem, is the router IP cannot be reached. But this is other topic.
Thank you all for your time and support.
Viva Solaris