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.