• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 1588
  • Last Modified:

How do I install tg3 driver in SUSE 10.1

I have a Dell Precision with a NetExtreme NIC.  I need to use SUSE 10.1 for my VMWare setup.  SUSE 10.1 does not support this NIC.  SUSE 10.2 has the tg3 included but VMWare does not support SUSE 10.2.

I have downloaded the tg3 driver and followed the rpm instructions to install.  The install fails during the make process as shown below.

I suspect the problem may be with actual pathnames being different than those which are found in the premade Makefile which came with the driver.

After lots of research and testing I have conclude my best route is to just install the driver the old fashion way using configure, make and other commands I read about but not certain how to use them.

Question 1: I have downloaded the tar files which included tg3-3.71b.tar.gz and tg3_sup-3.71b.tar.gz.  What is the difference between these two?

Question 2: How do I install this NIC driver?  I need the step by step process to compile, link, load and whatever else to make it happen.

LNX1305:/usr/src/packages # rpmbuild -bb SPECS/tg3.spec
+ umask 022
+ cd /usr/src/packages/BUILD
+ cd /usr/src/packages/BUILD
+ rm -rf tg3-3.71b
+ /usr/bin/bzip2 -dc /usr/src/packages/SOURCES/tg3-3.71b.tar.bz2
+ tar -xvvf -
+ '[' 0 -ne 0 ']'
+ cd tg3-3.71b
++ /usr/bin/id -u
+ '[' 0 = 0 ']'
+ /bin/chown -Rhf root .
++ /usr/bin/id -u
+ '[' 0 = 0 ']'
+ /bin/chgrp -Rhf root .
+ /bin/chmod -Rf a+rX,u+w,g-w,o-w .
+ exit 0
+ umask 022
+ cd /usr/src/packages/BUILD
+ /bin/rm -rf /var/tmp/tg3-buildroot
++ dirname /var/tmp/tg3-buildroot
+ /bin/mkdir -p /var/tmp
+ /bin/mkdir /var/tmp/tg3-buildroot
+ cd tg3-3.71b
+ value=
+ '[' -z '' ']'
++ uname -r
+ make KVER=
make[1]: *** No rule to make target `modules'.  Stop.
make: *** [default] Error 2
error: Bad exit status from /var/tmp/rpm-tmp.67784 (%build)
    Bad exit status from /var/tmp/rpm-tmp.67784 (%build)
PCLNX1305:/usr/src/packages # ll
total 4
drwxrwxrwt 3 root root  80 Mar 21 11:37 BUILD
drwxrwxrwt 8 root root 192 Mar 21 09:28 RPMS
drwxrwxrwt 2 root root  88 Mar 21 11:27 SOURCES
drwxrwxrwt 2 root root  72 Mar 21 11:27 SPECS
drwxrwxrwt 2 root root  48 Apr 22  2006 SRPMS
-rw-r--r-- 1 root root 911 Mar 21 11:37 out.txt
PCLNX1305:/usr/src/packages # vi out.txt

  • 2
  • 2
  • 2
2 Solutions
Hi, dalva.
I'll not answer to your questions (since I have no SuSE 10.1). But I try to help you :-)

As I know, NetXtreme uses broadcom network driver available from here: http://www.broadcom.com/support/ethernet_nic/downloaddrivers.php
Probably you get your files there.

What about files, tg3-3.71b.tar.gz is a real kernel driver, tg3_sup-3.71b.tar.gz is a set of scripts to register NetXreme pci id on your system and associate it with that driver + it has image files for system installation process for suse 10.0  and rhel.

Now what I guess you already have required driver, but it is either outdated or doesnt associated with required pci ids. To see if you have this driver already installed in your system run:
'ls -al /lib/modules/`uname -r`/kernel/drivers/net/tg3*'
If you have this file there, you can try to reguster it with 'yast' and associate with required pci id. This procedure is described here: http://www.novell.com/documentation/suse101/pdfdoc/suse_101_start_up/suse_101_start_up.pdf
page 57. PCI vendor and device IDs you may find in tg3_sup-3.71b.tar.gz in bin/pci.updates file. After registering a device try command 'insmod tg3'. If it woks, fine.

Now if you have no tg3 in kernel modules directory or 'insmod' doesn't work (outdated drver).
To build new kernel module you _should_ have kernel sources in a directory /usr/src/linux (if you have another directory, create a link with name 'linux' pointing there). Only then that described procedure for compiling sources should work.

Good luck.

You say you downloaded the RPM - did you make sure it was a SuSE 10.x RPM, made for your architechture?

RPM-packaged installs (except source RPM's, IIRC) need to be distro-specific.  A redhat/fedora RPM often work for SuSE.

Follow Nopius' recommendation to build your kernel module from the tarball you downloaded, and then make sure to register it with YaST so any future patches will recognize what version you've got.
dalvaAuthor Commented:
Still lost on how to install the driver.
So far this is where I am at.

Installed SUSE 10.1
Confirmed the file tg3.ko is located in /lib/modules/
Performed the command lsmod | grep tg3* and got no hits
Performed the command insmod /lib/modules/
Again performed the command lsmod | grep tg3* and got a hit

Now I am suppose to register the module using YaST?  How is that done?  Please be specific since this is all new to me.


Build your data science skills into a career

Are you ready to take your data science career to the next step, or break into data science? With Springboard’s Data Science Career Track, you’ll master data science topics, have personalized career guidance, weekly calls with a data science expert, and a job guarantee.

Nopius gave you a link to the suse 10.1 documentation pdf, but, what Nopius is saying is you should tell YaST what the PCI ID information for the device is, so it's in the YaST database of devices.

It has a hex code for Vendor, Device, Subvendor, Subdevice, etc... as well as the card name.  Hopefully, you can glean that info from the file Nopius suggested you look in.

Once you get that info gathered, then to register the device:

In YaST, go into System, PCI Device Drivers.

Select "ADD" and "Manually"

Plug in the details for the driver's PCI ID.
Click OK...

After you add it in, you'll be able to see the NIC in the selection criteria for the network setup.  
Next run a command 'scanpci -v' and post results here.
dalvaAuthor Commented:
*************** IMPORTANT - Please read *******************

The actual answer is found at the link below which I also opened and was answered by Nopius.  I have split points on this question since Nopius and ShineOn contributed clues which finally lead to the solution posted on the link below.


Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Get expert help—faster!

Need expert help—fast? Use the Help Bell for personalized assistance getting answers to your important questions.

  • 2
  • 2
  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now