본 방법은 제가 수행한 방법으로, 환경마다 조금씩 방식은 다를 수 있습니다.
수행 환경과 버전
Desktop
Ubuntu 18.04 4.15.0-52-generic
iptime A2000UA Wirelss Lan 카드 USB 버전
일단 그냥 USB를 꼽았을 때는 인식이 되지 않아서, 해당 iptime 무선랜과 관련된 Linux Driver을 찾아보았습니다.
https://github.com/aircrack-ng/rtl8812au
구글링을 해 보니 어딘가에서(링크는 지금 기억이 안납니다) 다음 커맨드로 드라이버 소스를 받아서 빌드를 해보라고 합니다.
sudo apt install -y build-essential bc git
git clone https://github.com/aircrack-ng/rtl8812au -b v5.1.5
cd rtl8812au/
make
make install
그리고 이제 생성된 커널모듈파일(*.ko)을 modprobe 명령어로 적재를 시키려는데, 안됩니다...
modprobe 8812au
위 명령어를 치는데
modprobe : required key not available
대충 뭐 이런식으로 에러가 납니다.
이전에 dkms인가 그거를 이용해서 해볼려고 Secure Boot 뭐시기가 설치가 되었는데, 그거때문에 전자서명이 되지 않은 커널 모듈파일(ko)은 로딩이 안되는 모양입니다.
http://www.onurmark.co.kr/?p=726
그래서 위 글을 참조해서, 인증서를 하나 만든 뒤, 인증서를 등록하고 이를 이용해서 전자서명을 해 주었습니다.
openssl req -new -x509 -newkey rsa:2048 -keyout ~/Key/MOK.priv -outform DER -out ~/Key/MOK.der -nodes -days 3650 -subj "/CN=onurmark/"
mokutil --import MOK.der
/usr/src/linux-headers-$(uname -r)/scripts/sign-file sha256 ~/Key/MOK.priv ~/Key/MOK.der /lib/modules/$(uname -r)/kernel/drivers/net/wireless/8812au.ko
modprobe 8812au
대략 위 명령어를 순차적으로 입력하니 모듈이 잘 들어갑니다.
첫번째 줄은 아무 인증서를 만드는 과정이고요, ~/Key라는 디렉토리가 생성되어 있어야지 에러가 나지 않습니다.
두번째 줄은, 만든 인증서를 Secure Boot에서 신뢰하도록 등록하는 과정입니다. 이 과정에서 친 패스워드는 다음 재부팅 시 입력을 해 주어야 하므로 잘 기억해 놓도록 합니다.
세번째 줄은, 8812au 커널 모듈 파일을 해당 인증서로 서명하는 과정입니다.
마지막 네번째 줄은 해당 모듈을 적제하는 과정입니다.
modinfo 8812au
요걸로 모듈이 잘 들어갔는지 확인할 수 있습니다.
뭔가가 우르르 나오면 된 것이겟죠?
그리고 ifconfig를 치니, 이전에는 보이지 않던 wireless network inferface가 나타납니다.
그리고 기존에 시도했던 dkms로 로드했던 모듈들은 dkms status로 확인한 뒤 dkms remove로 몽땅 없애버렸습니다.
무선랜 잡는거에 삽질을 좀 해서 답답했는데, 어쨋든 해결을 하니 기분이 좋네요.
저랑 비슷한 경우가 별로 없으실 것 같지만 혹시나 비슷한 상황이실 경우 참고하여 문제 잘 해결하셨으면 하는 바람입니다.
'팁 & 기타' 카테고리의 다른 글
[알고리즘] 웹에서 그래프 그리는 사이트(툴) (0) | 2019.10.31 |
---|---|
64비트 32비트 CPU와 운영체제 에 대하여 (3) | 2019.09.27 |
쉘 코드와 쉘 스크립트의 차이(Shellcode vs Shellscript) (0) | 2019.06.25 |
프린터 스풀러 아키텍쳐(Print Spooler Architecture) (0) | 2019.01.07 |
윈도우즈 프린팅 관련 문서 번역(Introduction to Printing) (0) | 2019.01.07 |