Linux LAN card: Find out full duplex / half speed or mode

last updated in Categories , , , , , ,

Q. How do I find out if my Lan (NIC) card working at full or halt duplex mode / speed under Linux?

A. LAN card or NIC is use to send and receive data. Technically, we use word Duplex for this functionality. Full duplex means you are able to send and receive data (files) simultaneously. In half duplex, you can either send or receive data at a time (i.e. you cannot send receive data (files) simultaneously). Obviously, full duplex gives you best user experience. However, how can I find out whether I am using full duplex/half duplex speed/mode?

Task: Find full or half duplex speed

You can use dmesg command to find out your duplex mode:
# dmesg | grep -i duplex
Output:

eth0: link up, 100Mbps, full-duplex, lpa 0x45E1

ethtool command

Uss ethtool to display or change ethernet card settings. To display duplex speed, enter:
# ethtool eth1
Output:

Settings for eth1:
        Supported ports: [ TP ]
        Supported link modes:   10baseT/Half 10baseT/Full 
                                100baseT/Half 100baseT/Full 
                                1000baseT/Full 
        Supports auto-negotiation: Yes
        Advertised link modes:  10baseT/Half 10baseT/Full 
                                100baseT/Half 100baseT/Full 
                                1000baseT/Full 
        Advertised auto-negotiation: Yes
        Speed: 10Mb/s
        Duplex: Full
        Port: Twisted Pair
        PHYAD: 0
        Transceiver: internal
        Auto-negotiation: on
        Supports Wake-on: umbg
        Wake-on: g
        Current message level: 0x00000007 (7)
        Link detected: yes

mii-tool command

You can also use mii-tool to find out your duplex mode. Type following command at shell prompt:
# mii-tool

Output:

eth0: negotiated 100baseTx-FD flow-control, link ok

Remember,

  1. 100baseTx-FD: 100Mbps full duplex (FD)
  2. 100baseTx-HD: 100Mbps half duplex (HD)
  3. 10baseT-FD: 10Mbps full duplex (FD)
  4. 10baseT-HD: 10Mbps half duplex (HD)

mii-tool utility checks or sets the status of a network interface’s Media Independent Interface (MII) unit. Most fast ethernet adapters use an MII to autonegotiate link speed and duplex setting. If you are using old card then this utility may not work (use dmesg command).

This utility is useful for forcing specific Ethernet speed and duplex settings too, setup 100Mbps full duplex speed under Linux:
# mii-tool -F 100baseTx-FD

Setup 10Mbps half duplex:
# mii-tool -F 10baseT-HD

You can find more information about setting duplex speed here using ethtool command.

Updated for accuracy!

FreeBSD: Forcefully unmount a disk partition to get rid of device busy error

last updated in Categories

Under FreeBSD if you get error device busy while unmounting file system then you can forcefully unmount a disk partition or mount point. You can pass -f option to mount command. It forces the read/write mount of an unclean file system. Suppose you would like to unmount /cdrom forcefully then type command (login as a root user use su or sudo command):

# umount -f /cdrom

Where,

  • -f : Forces umount to unmount a disk partition or mounted system

Linux: Find out Ethernet card driver name

last updated in Categories , , , , , , ,

Under Linux, you use term called modules for device drivers. The driver can be loaded or unloaded as per your requirement using commands. Each driver or module gives the Linux information on how to control that particular Ethernet card. The name of each module (driver) is listed in the /etc/modules.conf file.

Command to find out Ethernet card driver name

You can try any one of the following command to find out your Ethernet card driver:

# dmesg | grep 'Ethernet driver'

Output:

8139cp: 10/100 PCI Ethernet driver v1.2 (Mar 22, 2004)

Or search a file called /var/log/dmesg:

# grep 'Ethernet driver' /var/log/dmesg

Output:

8139too Fast Ethernet driver 0.9.27
8139cp: 10/100 PCI Ethernet driver v1.2 (Mar 22, 2004)

You can also get driver name from config file:

# grep eth0 /etc/modules.conf

Output:

alias eth0 8139too

OR

# vi /etc/modules.conf

Search for eth0 string.

In above example 8139too is driver loaded for eth0. You can find out more information about this driver using modinfo command:

# modinfo 8139too

modinfo program to show information about a Linux Kernel module. You can also find out all loaded modules or drivers using lsmod command:

# lsmod | less

lsmod is a program to show the status of modules in the Linux Kernel.

See also:

FreeBSD Find out who is logged in?

last updated in Categories , , , ,

Q. How do I find out who is logged in and what they are doing?

A. On a FreeBSD, many users will be sharing the same system. If you want to find out if your friend or a coworker is logged in or not on FreeBSD, then you can use following commands.

Please note that following commands works with Linux and other UNIX like oses.

Task:Display who is on the system

To display who is on the system type following command at shell prompt:

$ who
$ who | grep vivek
$ who | less

The who utility displays information about currently logged in users. By default, this includes the login name, tty name, date and time of login and remote hostname if not local.

Task: Find out what user doing

You use w command to display who is logged in and what they are doing:

$ w

You can use the last utility to display either list the sessions of specified users, ttys,
and hosts, in reverse time order, or list the users logged in at a specified date and time.

$ last
$ last root

See also: