FAQs about Nic settings in Linux (5)

Source: Internet
Author: User
Article title: FAQ about Nic settings in Linux (5 ). Linux is a technology channel of the IT lab in China. Includes basic categories such as desktop applications, Linux system management, kernel research, embedded systems, and open source.
Linux Ethernet card on Alpha/axp pci board
  
For v2.0, only 3c509, depca, de4x5, pcnet32, and all 8390 drivers (wd, smc-ultra, ne, 3c503, etc.) are written as "structure-independent, so they can run on the DEC-based Alpha CPU system. Other Updated PCI drivers downloaded from the Donald's WWW homepage can also work, because they are also written in a schema-independent way.
  
Note that the changes required to make the driver unrelated to the structure are not very complex. You only need to do the following:
  
-- Multiply all values related to jiffies by HZ/100 to get the different HZ values used by Alpha. (That is, timeout = 2; to timeout = 2 * HZ/100 ;)
  
-- Replace the pointer reference of all I/O memory (from 640k to 1 MB) with the corresponding readb () writeb () readl () writel () call, as shown in the following example.
  
  
--------------------------------------------------------------------------------
  
-Int * mem_base = (int *) dev-> mem_start;
-Mem_base [0] = 0xba5eba5e;
+ Unsigned long mem_base = dev-> mem_start;
+ Writel (0xba5eba5e, mem_base );
  
  
--------------------------------------------------------------------------------
  
-- Replace all memcpy () calls that use the I/O memory as the source or destination address with the corresponding memcpy_fromio () or memcpy_toio () calls.
  
Details of memory access processing in a schema-independent way are described in the recent kernel attached file linux/Documentation/IO-mapping.txt.
  
  
Linux Ethernet card on SUN/iSCSI hardware
You can access the following URL to obtain the latest table names:
  
Linux
  
Note that some of the Ethernet hardware of the iSCSI server obtains its MAC address from the host. Therefore, multiple interfaces may have the same MAC address. If you want to use multiple interfaces on the same network, you can use the hw option of ifconfig to assign a unique MAC address.
  
Porting the PCI driver to the iSCSI platform is similar to the AXP Platform mentioned above. The possible difference lies in the endian, because the reason for the difference is big endian, while the AXP and ix86 are little endian.
  
  
Linux Ethernet card on other hardware
Other hardware platforms can run Linux, such as Atari/Amiga (m68k ). Just like a Linux instance, it is best to visit the homepage of each platform supported by Linux to see which hardware is currently supported. (Welcome to provide such site connections-send them to me !)
  
  
Connect to 10/100 BaseT without using Hub
Can I use a Hub to connect to a 10/100 BaseT (RJ45)-based system?
  
If no additional equipment or mechanical device is used, it is easy to connect two such machines, but no more. See twisted pair wires to explain how to do this. In addition, it is impossible for you to create a Hub by simply crossing several lines or anything else, and conflict signals cannot be completed without replicating the Hub.
  
  
SIOCSIFxxx: No such device
There was a lot of "SIOCSIFxxx: No such device" information at startup, followed by a "SIOCADDRT: Network is unreachable". what happened?
  
Your Ethernet devices are not detected when the module is started/inserted. when ifconfig and route are running, they do not have any available devices. Use dmesg | more to view the startup information and check whether the information of the Ethernet card is detected.
  
  
SIOCSFFLAGS: Try again
When "ifconfig" is run, "SIOCSFFLAGS: Try again" appears. -- what is going on?
  
Some other devices use the IRQ that the Ethernet card wants, so the Eni cannot use this IRQ. You don't have to restart to solve this problem, because some devices only obtain IRQ as needed, and then release it. For example, some sound cards, serial ports, and floppy disk drives. You can type cat/proc/interrupts to see which interrupts are being used. Most Linux Ethernet card drivers obtain IRQ only when "ifconfig" is enabled. If you can allow other devices to "open" the required IRQ disconnection, you can use ifconfig to "try again.
  
  
The connection obtained by using ifconfig is UNSPEC, and the hardware address is 00: 00: 00: 00: 00: 00: 00.
When running ifconfig without parameters, it is reported that the connection is UNSPEC (instead of 10Mbs Ethernet), and the hardware address is zero.
  
This is because the running "ifconfig" program version is higher than the kernel version. When running together with earlier versions of the kernel, the new version of ifconfig cannot report these features. You can upgrade the kernel, downgrade ifconfig, or ignore this error. The kernel knows the hardware address, so it does not matter even if ifconfig cannot read it.
  
If the ifconfig program used is much older than the used kernel, some strange information may also appear.
  
  
A large number of RX and TX errors
When ifconfig is run without parameters, a large number of receive and send packet errors are reported. But it seems to work normally-what's going on?
  
Read it again. The report indicates that RX packets big number pauses errors 0 pauses dropped 0 pauses overrun 0. So the big number you see is the total number of packets received and sent by the machine. If you still find it incredible, type cat/proc/net/dev.
  
  
/Dev/Ethernet card entry
/Dev/eth0 is a connection to/dev/xxx. Is that true?
  
In contrast to what you have heard, files in/dev/* are not used. You can delete any/dev/wd0,/dev/ne0, and similar entries.
  
  
Linux and "trailers"
Do I need to disable trailers when I use an "ifconfig" Nic?
  
Trailers cannot be disabled, and it is unnecessary. "Trailers" is a tool to avoid data replication at the network layer. The idea is to use a fixed size header with a size of "H" and put the variable size header information at the end of the package, and locate all packages in the "H" byte before the start of the page. This is just a good idea, and it is not a good job in practice. If someone suggests "-trailers", it's just a scapegoat. This does not make any sense to solve the problem, but if the problem is solved on his own, then he can boast his magic skills.
  
  
Access the original Ethernet device
In Linux, how does one not access the original Ethernet device through something like TCP/IP?
  
  
--------------------------------------------------------------------------------
  
Int s = socket (AF_INET, SOCK_PACKET, htons (ETH_P_ALL ));
  
  
--------------------------------------------------------------------------------
  
In this way, you can obtain a socket that receives all protocol types. Execute recvfrom () for it, and it will fill sockaddr with the device type in sa_family and the device name in the sa_data array. I don't know who was the first to use SOCK_PACKET in Linux, but it is really good. You can also call sendto () to send the original data packet. Of course, in this case, you must have the root permission.
Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.