Cool Solutions

How to get ZENworks 7 Desktop Management Imaging to automatically recognize new NICs



By:

July 31, 2008 4:12 pm

Reads: 10211

Comments:3

Score:0

Editor’s Note: This article was excerpted from this TID. Before using this information please refer to the actual TID, as Support occasionally updates the information after we have highlighted it.

There are many times when Linux cannot recognize new hardware with new workstations being released to the public. Often this calls for a new hardware driver. Once the new compiled driver is added to the Linux kernel, Linux will still not recognize the new driver and will not load the driver automatically. (However, if you load it manually it will work.)

To solve this issue follow these steps to get the Linux kernel to load the driver automatically.

The following parameter must be passed to the kernel at boot time to get this to work.
newid=”,”

or use syntax as follows for using second “newid” Parameter
newid=”,”newid=”,”

Determining the VendorID and DeviceID

To determine the VendorID and DeviceID do the following:

  1. Boot from the latest ZENworks Imaging bootcd found on download.novell.com
  2. At the imaging menu select “Manual mode”.
  3. An error will occur saying that the network module was not loaded, select”OK”.
  4. This will get the user to a bash prompt.
  5. Once at a bash prompt type ‘hwinfo –netcard’.This will give information about the network card in the workstation.
  6. Look for Vendor, Device and Driver:
    • Example: Vendor: pci 0x14e4 “Broadcom” and Device: pci 0x169b and Driver: tg3
    • The hex values will be the numbers passed using the newid parameter. Write the hex values down for vendor and device IDs

Testing the String

Test the newid string as follows:

  1. Reboot the workstation and get back to the Imaging menu.
  2. Once at the imaging menu type a newid command – in our example here it would be this:
    newid=”0x14e4 0x169b,tg3″
    (Make sure quotes are used as in this example and the only space that’s used is between the two hex values.)
  3. Then select Manual mode and see what happens. If it does not load automatically it is more than likely a new driver will be needed and compiled. For compiling drivers see documentation on Adding or updating LAN cards.

If the driver is loaded automatically then this parameter can be added to a file for PXE or one of two different files for the bootcd. See below for details.

Adding the newid string for a bootcd

Option 1

The newid string can either be added to the linuxrc.config file in the initrd or the /boot/i386/loader/isolinux.cfg from the bootcd.iso. It’s much easier to add it to the isolinux.cfg from the bootcd.iso.

To modify the /boot/i386/loader/isolinux.cfg from the bootcd.iso, open the iso file with a utility like winiso and add the parameter to both of these append lines in the isolinux.cfg:

Example of isolinux.cfg BEFORE modification:

label linux
kernel linux
append initrd=initrd ramdisk_size=67584 vga=0x0314 splash=silent mode=2 CDBOOT=YES showopts
label manual
kernel linux
append initrd=initrd ramdisk_size=67584 vga=0x0314 splash=silent mode=5 CDBOOT=YES showopts

Example of isolinux.cfg AFTER modification:

label linux
kernel linux
append initrd=initrd ramdisk_size=67584 vga=0x0314 splash=silent mode=2 CDBOOT=YES showopts newid="0x14e4 0x169b,tg3"
label manual
kernel linux
append initrd=initrd ramdisk_size=67584 vga=0x0314 splash=silent mode=5 CDBOOT=YES showoptsnewid="0x14e4 0x169b,tg3"

Important: The newid string needs to be on the same line as the APPEND line.

Option 2

The second way to add the newid string for the bootcd is more difficult: modify the initrd and linuxrc.config file for the bootcd, seeModifiying and updating the Imaging resource files.

How to add the newid string for PXE:

NetWare:
Add the deviceid parameter to the z_auto.cmd and z_maint.cmd files found in the sys\tftp\cmds directory.

Linux:
Add the deviceid parameter to the z_auto.cfg and z_maint.cfg files found in /srv/tftp on Linux servers.

Windows:
Add the deviceid parameter to the z_auto.cfg and z_maint.cfg files found in C:\Program Files\ZEN Preboot Services\tftp\Data\cmds on Windows server.

NOTE: See ZDM 7 Imaging File Locations

Example of CMD / CFG file before modification:

KERNEL boot/linux
APPEND initrd=boot/initrd vga=0x314 install=tftp://$TFTPIP/boot rootimage=/root PROXYADDR=$PROXYADDR TFTPIP=$TFTPIP splash=silent PXEBOOT=YES mode=5

Example of CMD /CFG file after modification:

KERNEL boot/linux

APPEND initrd=boot/initrd vga=0x314 install=tftp://$TFTPIP/boot rootimage=/root PROXYADDR=$PROXYADDR TFTPIP=$TFTPIPsplash=silent PXEBOOT=YES mode=5newid="0x14e4 0x169b,tg3"

Important: the newid string needs to be on the same line as the APPEND line.

For more information on adding ANY parameter to PXE see: FAQ ACPI and PCMCIA.

Additional Information

To determine whether the imaging version you are using has the driver you need, boot up with the BootCD and go into maintenance mode to get to a bash prompt. From the bash prompt do either:

modprobe -l |grep

or

ls /lib/modules/-default/updates/initrd/

NOTE: If you use ENGL Imaging Toolkit as a replacement to initrd for pxe boot, the z_*.cmd files are not used. See TID 2007020 at the ENGL site for instructions on using defmenu.dat.

VN:F [1.9.22_1171]
Rating: 0.0/5 (0 votes cast)

Categories: Uncategorized

Disclaimer: This content is not supported by Novell. It was contributed by a community member and is published "as is." It seems to have worked for at least one person, and might work for you. But please be sure to test it thoroughly before using it in a production environment.

3 Comments

  1. By:bbinder

    I mean, I guess it’s a cool solution, but yeah, it’s just a copy like the intro says. I thought there would be a few modifications or something to it.

    Namely…

    mode=5newid=”0x14e4 0x169b,tg3″

    There should be a space between the 5 and n to separate the mode and id in all instances of the modified lines.

    VN:F [1.9.22_1171]
    Rating: 0.0/5 (0 votes cast)
  2. By:bsnipes

    You can use TRK 3.3 Build 310 with ZEN7 imaging and have a lot more drivers than the standard ISO. Check their forums for more info.

    VN:F [1.9.22_1171]
    Rating: 0.0/5 (0 votes cast)
  3. By:woutervantil

    With our PXE Zen7 environment we added 2 network drivers, here is our z_maint.cmd (it can be found in the tftp/cmds directory):

    KERNEL boot/linux
    APPEND initrd=boot/initrd vga=0×314 insmod=tg3 insmod=e1000 install=tftp://$TFTPIP/boot rootimage=/root PROXYADDR=$PROXYADDR TFTPIP=$TFTPIP splash=silent PXEBOOT=YES mode=5

    VN:F [1.9.22_1171]
    Rating: 0.0/5 (0 votes cast)

Comment

RSS