PC 컴퓨터는 리눅스 네트워크 카드 드라이버 문제 해결 사례를 설치하려면

작업 요구 사항, Linux 시스템에 임시 사무실 환경, 시스템 설치를 사용에 CentOS 6.5, 원활하게 네트워크에있는 마지막 카드를 가고, 네트워크를 사용할 수없는 것으로 나타났다. 레코드 문제 위치 섹터를 처리하는 과정에서 발견이 경우, 형제는 참조 용으로 같은 문제가 발생.

그리고 위치 문제 발견

ifconfig
lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:96 errors:0 dropped:0 overruns:0 frame:0
          TX packets:96 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:7672 (7.4 KiB)  TX bytes:7672 (7.4 KiB)

cd /etc/sysconfig/network-scripts
cat ifcfg-eth0
DEVICE=eth0
HWADDR=00:00:00:00:00:00
TYPE=Ethernet
UUID=146c8871-1435-41e1-a3a4-xxxxxxx
ONBOOT=no
NM_CONTROLLED=yes
BOOTTROTO="dhcp"
IPV6INIT=no
USERCTL=no
    
lspci -v
02:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 0c)

시도를 해결 :

설치 구성 카드 (자세한 단계는 생략, Baidu 검색 가이드의 많은있다)
구성이 완료가 구성 파일

cat ifcfg-eth0
DEVICE=eth0
HWADDR=00:00:00:00:00:00
TYPE=Ethernet
UUID=146c8871-1435-41e1-a3a4-xxxxxxx
ONBOOT=yes
NM_CONTROLLED=yes
IPADDR=192.168.1.X
NETMASK=255.255.252.0
GATEWAY=192.168.1.1
DNS1=XX.XX.XX.XX
IPV6INIT=no
USERCTL=no

시작 카드

service network restart

eth0: Device eth0 does not seem to be present, delaying initializa [FAILED]

보기의 카드 포인트는, 구동 문제가 될 가능성이있는 경우 구성에서 물리적 위치를 가져올 수 없습니다뿐만 아니라 정보 lspci를 참조하십시오.

두 가지를 해결하기 위해 시도 :

얻기 위해 광범위한 검색을 통해 드라이버는
핵심 컴파일러 오류 개발의 부족 : 문제가 발생했습니다. 설치 개발의 핵심은
컴파일을 계속

/home/software/r8168-8.048.00/src/r8168.h:102:1: warning: "netif_info" redefined
In file included from /home/software/r8168-8.048.00/src/r8168_n.c:45:
include/linux/netdevice.h:2648:1: warning: this is the location of the previous definition
/home/software/r8168-8.048.00/src/r8168_n.c:526: error: redefinition of ‘mii_adv_to_ethtool_adv_t’
include/linux/mii.h:287: note: previous definition of ‘mii_adv_to_ethtool_adv_t’ was here
/home/software/r8168-8.048.00/src/r8168_n.c:546: error: redefinition of ‘mii_lpa_to_ethtool_lpa_t’
include/linux/mii.h:355: note: previous definition of ‘mii_lpa_to_ethtool_lpa_t’ was here
/home/software/r8168-8.048.00/src/r8168_n.c:556: error: redefinition of ‘mii_stat1000_to_ethtool_lpa_t’
include/linux/mii.h:373: note: previous definition of ‘mii_stat1000_to_ethtool_lpa_t’ was here
/home/software/r8168-8.048.00/src/r8168_n.c:571: error: redefinition of ‘eth_hw_addr_random’
include/linux/etherdevice.h:210: note: previous definition of ‘eth_hw_addr_random’ was here

비 C ++ 직원, 나는 너무 새 드라이브 공식 웹 사이트입니다,이 오류를 상대적으로 무지 힘을 참조
질문에 대한 응답으로 온라인 찾을 수는 있지만, 이전 설치 패키지를 확보하기가 어렵 해당 유사있다. 여기에 자원, 많은 열매를 맺지 시도를 찾기 위해 몇 시간을 던져.

마지막 프로그램

거의 절망, 문제의 시작 지점으로 돌아 컴파일러에서 문제를 해결하려고합니다.
이미 방법을 재 정의 할 존재라고하는 것처럼보기 컴파일 정보는, 버전을 해당 다른 운영 체제의 문제가 나타나는 것으로 추정되고
, 해당 소스 코드를 찾을 전반적인 상황과 관련이없는 방법, 중간 몇 가지 작은 문제를, 주석 시도 할 수 있습니다. 결국, 몇 가지 주석 처리 방법 후, 실제로 컴파일러 마법의 성공.

보기 카드 정보, 훨씬 더 [마지막을 표시, 카드 정보를 많이 생략]

02:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 0c)
	Subsystem: Gigabyte Technology Co., Ltd Motherboard
	Flags: bus master, fast devsel, latency 0, IRQ 34
	I/O ports at e000 [size=256]
	Memory at f7c00000 (64-bit, non-prefetchable) [size=4K]
	Memory at f0000000 (64-bit, prefetchable) [size=16K]
	Capabilities: [40] Power Management version 3
	Capabilities: [50] MSI: Enable+ Count=1/1 Maskable- 64bit+
	Capabilities: [70] Express Endpoint, MSI 01
	Capabilities: [b0] MSI-X: Enable- Count=4 Masked-
	Capabilities: [d0] Vital Product Data
	Capabilities: [100] Advanced Error Reporting
	Capabilities: [140] Virtual Channel
	Capabilities: [160] Device Serial Number 01-00-00-00-68-4c-e0-00
	Capabilities: [170] Latency Tolerance Reporting
	Kernel driver in use: r8168
	Kernel modules: r8168

수줍음, 재구성, 시작, 성공을 느낌.

최신 드라이브 r8168-8.048.00.tar.bz2의 공식 웹 사이트 (공식 웹 사이트 거북이 속도, 이제 해외 현장 방문 슬픈 베이의 말할 것도없고, 말을)와 함께
이상 이동, 직접 https://download.csdn.net을 다운로드 할 수 있습니다 / 다운로드 / kaiheye / 12151597

소스 위치 [515-576]주의 사항

/*
#if LINUX_VERSION_CODE < KERNEL_VERSION(3,3,0)

#ifndef LPA_1000FULL
#define LPA_1000FULL            0x0800
#endif

#ifndef LPA_1000HALF
#define LPA_1000HALF            0x0400
#endif

static inline u32 mii_adv_to_ethtool_adv_t(u32 adv)
{

[省略若干行]

#if LINUX_VERSION_CODE < KERNEL_VERSION(3,4,0)
static inline void eth_hw_addr_random(struct net_device *dev)
{
        random_ether_addr(dev->dev_addr);
}
#endif
*/
发布了1 篇原创文章 · 获赞 0 · 访问量 18

추천

출처blog.csdn.net/kaiheye/article/details/104275825