Atheros e2400 드라이버를 설치하는 방법이 있습니까?


9

MSI Z170A GAMING M5라는 새로운 마더 보드가 있습니다. 이 마더 보드에는 Atheros killer e2400 이더넷 컨트롤러가 있습니다. 내가 할 때 lspci -nn, 나는 얻는다 :

03.00.0 Ethernet controller [0200]: Qualcomm Atheros Device [1969:e0a1] (rev 10)

구글은 답을 알지 못하는 것 같았다. openSUSE 포럼에서 해결되지 않은 유사한 문제 만 있습니다.


난 그냥 지금이 패치를 참조 comments.gmane.org/gmane.linux.network/376851
yuyichao

yuyichao가 게시 한 패치를 참조하십시오. comments.gmane.org/gmane.linux.network/376851 그러나 어떻게 설치합니까?
user3081568

글쎄 ... 유망한 것 같습니다 :) 인내심을 가지고 있습니까?
Dylan Westra

1
스카이 레이크 그래픽으로 인해 git 커널을 사용 해보고 싶기 때문에 내 커널을 컴파일했습니다. 위의 패치로, 현재 아무런 문제없이 Killer e2400 컨트롤러를 사용하고 있습니다
yuyichao

@yuyichao이 패치는 어떻게 사용합니까?
PitaJ

답변:


12

우분투 그놈에서 Killer E2400을 사용하여 Skylake MSI Z170A GAMING M5 빌드에서 이것을 게시하고 있습니다! 다음은 작동시키는 데 사용한 간단한 단계입니다.

먼저 우분투의 지침을 따르겠습니다.

sudo apt-get build-dep linux-image-$(uname -r)
sudo apt-get install git
git clone git://kernel.ubuntu.com/ubuntu/ubuntu-vivid.git

그 자식 URL은 15.04 Vivid Vervet입니다. 생생한 릴리스 코드 이름으로 바꿀 수 있습니다. 마지막 단계는 시간이 조금 걸릴 수 있으므로 E2400이 곧 작동 할 것이라는 사실을 알고 휴식을 취하십시오.

완료되면 E2400을 포함하도록 alx 드라이버를 수정합니다 (원하는 텍스트 편집기를 자유롭게 사용하십시오)

cd ubuntu-vivid/drivers/net/ethernet/atheros/alx/
sudo -H gedit reg.h

ALX_DEV_ID_E2200 (E2200 만 검색 가능)을 정의하는 행을 찾아서 아래에 추가하십시오.

#define ALX_DEV_ID_E2400                0xe0a1

다음,

sudo -H gedit main.c

다시, E2200을 찾아 라인을 { PCI_VDEVICE(ATTANSIC, ALX_DEV_ID_E2200), .driver_data = ALX_DEV_QUIRK_MSI_INTX_DISABLE_BUG },추가 한 후

{ PCI_VDEVICE(ATTANSIC, ALX_DEV_ID_E2400),
  .driver_data = ALX_DEV_QUIRK_MSI_INTX_DISABLE_BUG },

이제 남은 것은 드라이버를 만들고 설치하는 것입니다

make -C /lib/modules/$(uname -r)/build M=$(pwd) modules
sudo make -C /lib/modules/$(uname -r)/build M=$(pwd) modules_install
sudo modprobe -r alx
sudo depmod
sudo modprobe -v alx

참고 : 마지막 행을 실행 한 후에는 모듈로드가 표시되어야 ...extra/alx.ko합니다. 그렇지 않으면 alx.ko찾은 이름 alx.ko.bak또는 정렬 된 이름을 바꾸고 마지막 세 명령을 다시 실행해야합니다.

이제 네트워킹을 즐기기 위해 E2400이 나타납니다!


우리는 여전히 1 일 후에 기다리고 있습니다. 그래서 이것은 완전한 답변이 아닙니다 (아직), 삭제되도록 투표했습니다 ...
Fabby

마침내 이것을 시도 할 수있는 기회를 얻었습니다. 단계별 지침을 포함하도록 답변을 업데이트했습니다. 매력처럼 작동 :)
BattleDingo

당신은 생명의 은인입니다.
오스틴기도

참고 - 15.10 우분투 그놈의 상자 밖으로 일
BattleDingo

네트워크 카드가 작동하지 않을 때 어떻게 sudo apt-get install을 할 수 있습니까?
bioShark

7

Ubuntu 14.04 (Trusty) 용 업데이트 :

비슷한 질문에 대한 chili555의 의견 에 따르면 장치가 Ubuntu 16.04와 함께 제공된 커널에서 지원된다고합니다. 운 좋게도 LTS / HWE 업그레이드를 통해 Ubuntu 14.04에서 동일한 커널로 업그레이드 할 수 있습니다.

  1. 커널 패키지를 설치하십시오 :

    sudo apt install linux-generic-lts-xenial
    
  2. 머신을 재부팅하십시오. 새로 설치된 커널은 Grub의 새로운 기본 부팅 옵션이어야합니다.

추가 정보 : Ubuntu Wiki – LTS 인 에이블먼트 스택


원본 게시물 (여전히 16.04 이전의 다른 Ubuntu 릴리스에 적용 가능)

적절한 패치 를 적용하고 영향을받는 커널 모듈을 재 컴파일하지 않으면 기존 장치 드라이버로 새 PCI 장치 ID ( 문서 ) 를 등록 할 수 있습니다 .

이 파일에 장치 ID를 쓰면 새로운 장치 ID를 PCI 장치 드라이버에 동적으로 추가하려고 시도합니다. 이로 인해 드라이버는 컴파일 타임에 드라이버의 정적 장치 ID 지원 테이블에 포함 된 것보다 많은 하드웨어를 지원할 수 있습니다. 장치 ID의 형식은 다음과 같습니다 VVVV DDDD SVVV SDDD CCCC MMMM PPPP. 벤더 ID, 디바이스 ID, 서브 시스템 벤더 ID, 서브 시스템 디바이스 ID, 클래스, 클래스 마스크 및 개인 드라이버 데이터입니다. 공급 업체 ID 및 장치 ID 필드는 필수이며 나머지는 선택 사항입니다. ID를 성공적으로 추가하면 드라이버가 장치를 검사하여 바인딩을 시도합니다. 예를 들면 다음과 같습니다.

# echo "8086 10f5" > /sys/bus/pci/drivers/foo/new_id

따라서이 경우 다음을 잘 수행해야합니다.

sudo modprobe alx
echo 1969 e0a1 | sudo tee /sys/bus/pci/drivers/alx/new_id >/dev/null

의견에 언급 된 패치alx 에서 드라이버 이름 을 추측했습니다 . 올바른 드라이버 모듈 이름이 아닌 경우 대안을 검색하십시오.


당신은 (거의) 평판 사용자이므로 :이 질문에 대한 답변이 있다면,이 텍스트의 왼쪽에있는 "0"아래의 회색 ☑을 클릭하여 수락하십시오 . 유효한"!
David Foerster

드라이버를 만들지 않는 멋진 솔루션! 재설정이 필요하지 않았습니다.
BenB

또한, 나는 sudo chmod 777 /sys/bus/pci/drivers/alx/new_id먼저 해야했다 . 그런 다음 sudo다른 모든 명령에도 사용해야 했습니다.
BenB

2
무엇을하고 있는지 알지 않는 한 커널 매개 변수의 액세스 권한을 쓰기 가능으로 변경하지 마십시오! 대신 a) 먼저 수퍼 유저 셸 ( sudo -i)을 시작한 다음 위의 명령을 실행하거나 b) sudo modprobe alx && echo 1969 e0a1 | sudo tee /sys/bus/pci/drivers/alx/new_id수퍼 유저로 파일을 여는 방법으로 이러한 파일을 수퍼 유저로 작성해야합니다.
David Foerster

2

4.4 커널의 소스 코드를 사용하여 DKMS 버전을 만들었습니다.

지시 사항은 다음과 같습니다.

sudo apt-get install git dkms build-essential linux-headers-generic
git clone https://github.com/jeremyb31/alx.git
sudo dkms add ./alx
sudo dkms build alx/2.0
sudo dkms install alx/2.0

재부팅

이전 3.13.0-24 커널에서 이것을 테스트했으며 4.2와 함께 작동하여 커널에있는 모듈과 정확히 동일하다는 것을 정확하게 나타냅니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.