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 -
+ STATUS=0
+ '[' 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
+ KVER=2.6.16.13-4-bigsmp
+ make KVER=2.6.16.13-4-bigsmp
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


LVL 1
dalvaAsked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

NopiusCommented:
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.




0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
ShineOnCommented:
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.
0
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/2.6.16.13-4-bigsmp/kernel/drivers/net
Performed the command lsmod | grep tg3* and got no hits
Performed the command insmod /lib/modules/2.6.16.13-4-bigsmp/kernel/drivers/net/tg3.ko
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.

Thanks
Dave

0
The Ultimate Tool Kit for Technolgy Solution Provi

Broken down into practical pointers and step-by-step instructions, the IT Service Excellence Tool Kit delivers expert advice for technology solution providers. Get your free copy for valuable how-to assets including sample agreements, checklists, flowcharts, and more!

ShineOnCommented:
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.  
0
NopiusCommented:
Next run a command 'scanpci -v' and post results here.
0
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.

http://www.experts-exchange.com/OS/Linux/Q_22484147.html

Thanks,
dalva
0
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Linux

From novice to tech pro — start learning today.