SunSoft Solaris* Troubleshooting Issues

Solaris 8 Bad Device Number Error

Alternate Pathing Support

Network Issues

Driver Did Not Load

Operating System Does Not Recognize the Device

Adapter Moved to Different Slot


Solaris 8 Bad Device Number Error

If you get a "Bad Device Number" error, shut down your computer with the following command:

# touch /reconfigure;sync;init 6

After rebooting, configure your adapters by entering the following:

# ifconfig e1000g<instance no.> plumb
# ifconfig e1000g<instance no.> inet <ip_address> netmask + broadcast + -trailers up

Alternate Pathing Support

The driver supports the Solaris* alternate pathing functionality. To configure adapters for alternate pathing, refer to SUN Solaris (x86) Alternate Pathing man pages, the User's Guide, and the Alternate Pathing 2.0 AnswerBook documentation available at http://docs.sun.com.


Network Issues

If you cannot ping other machines, check whether the cable is plugged-in properly and that the link lights on the back of the adapter are illuminated.

Check the cable. Faulty cables are a frequent source of problems.

Check the Net to Media (ARP) table:

#arp –a

ARP table:

Device IP Address Mask Flags Physical Address
e1000g0 10.0.0.237 255.255.255.255 SP 00:c0:4f:68:9c:74
e1000g0 10.0.0.146 255.255.255.255   00:a0:c9:3f:27:4a
e1000g0 10.0.0.151 255.255.255.255   00:60:94:2e:b0:42
e1000g0 10.0.0.198 255.255.255.255   00:90:27:62:2b:5a
e1000g0 10.0.0.200 255.255.255.255   00:a0:c9:ab:e3:9c
e1000g0 10.0.0.1 255.255.255.255   00:a0:c9:b1:00:6d
e1000g0 10.0.0.80 255.255.255.255   00:a0:c9:aa:e1:f2

If the table is not up to date, try adding entries into the ARP table as follows:

  1. For a computer with the IP address 10.0.0.200, add the entry for the other side of the network interface:

    # arp –s 10.0.0.253 00:a0:c9:61:00:f2

  2. On the other side (of the computer with IP address 10.0.0.253) add the entry for the previous interface:

    # arp –s  10.0.0.200 00:a0:c9:61:a0:c0 

  3. Ensure that the proper entries are included in the ARP tables on both ends by running arp -a. Then, try to ping the IP address.

  4. Check your network configuration files, such as /etc/hosts, /etc/ethers, $HOME/.rhosts, and /etc/hostname.e1000g<device_instance>.


Driver Did Not Load

  1. Ensure that the device is identified by the operating system:

    # prtconf -v | grep pci8086,[0-2][01][0-4][0-F]
  2. If you see that the driver is not attached, ensure the e1000g and e1000g.conf files are present in /kernel/drv, and add the driver:

    # add_drv –m '* 0666 root root' –i 'pci8086,1000' e1000g
    # modload –p drv/e1000g
    # ifconfig e1000g0 plumb
    # ifconfig e1000g0 inet <ip_address> netmask + broadcast + -trailers up
    # ifconfig –a
  3. Ping the IP address from a different computer on the network:

    # ping <ip_address>
  4. Remove the driver, and add it again:

    # rem_drv e1000g
    # touch /reconfigure
    # sync; init 6
  5. Reload the driver as described above, or remove and reload the driver.


Operating System Does Not Recognize the Device

Ensure that the adapter is inserted all the way into the PCI slot.

If the driver is added but has no IP Address, check the device instance:

# prtconf -v | grep pci8086,[0-2][01][0-4][0-F]

The /etc directory must contain a file named, hostname.e1000g<device_instance>, that contains the computer name. This computer name must be present in the /etc/hosts file with the IP address.

In the hosts file:

<ip_address> my_machine

In /etc/hostname.e1000g<device_instance>:

my_machine


Adapter Moved to Different Slot

If, after the driver installation, you moved the adapter to a different slot, you must reconfigure the computer while booting. This way all the devices can be re-scanned and the appropriate resources such as IRQ, memory, etc. can be reassigned to all the detected devices. Your device instance will change as all the device instances are persistent in Solaris. 

To perform a reconfiguration at the boot prompt, enter:

boot –r

Or, reconfigure and reboot the system by entering:

#touch /reconfigure;sync;init 6

NOTE: Your device instance will change, so you will have to check your device instance using prtconf –v | grep pci8086,1000 and create another hostname.e1000g<device instance> file. After this process you can do the following:

# ifconfig e1000g0 plumb
# ifconfig e1000g0 inet <ip_address> netmask + broadcast + -trailers up

Last modified on 11/20/02 1:29p Revision 8