티스토리 뷰

이 글의 내용은 openSUSE Leap 15.3 x86_64에서 테스트되었습니다.

 

지금 사용하는 컴퓨터에서는 여러가지 사정때문에 USB 무선 랜카드로 인터넷에 연결하고 있다. 윈도우에서는 USB를 꽂으면 바로 인식이 되지만, 리눅스에서는 내장랜이 아니어서 그런지 자동으로는 인식이 안된다. 우분투였다면 해결 방법이 인터넷에 많을텐데, 역시 수세는 자료가 별로 없어서 삽질좀 했다. 우선 유선랜을 꼽고 인터넷이 가능한 상태에서 진행한다.

 

1. OBS 저장소에서 드라이버를 찾아 설치하기

포럼 게시물(https://forums.opensuse.org/showthread.php/556412-Asus-AC53-Nano-USB-Wireless)을 참고했음.

 

터미널을 열고 아래와 같이 커맨드를 입력한다.

> sudo zypper addrepo https://download.opensuse.org/repositories/home:Sauerland:hardware/openSUSE_Leap_15.3_Update/home:Sauerland:hardware.repo
> sudo zypper ref
> sudo zypper install rtl8822bu-kmp-default
> sudo modprobe rtl8822bu

# 트레이에 와이파이 아이콘이 나타났는지 확인
# 아이콘이 없는 그대로면 재부팅해본다.
> sudo reboot

사실 패키지 명이 RTL8812bu가 아니라 RTL8822bu라고 되어있는데, RTL88x2bu 칩셋이면 다 가능한 것 같다. 당장 와이파이가 잘 되고, lsusb로 장치를 확인해도 RTL88x2bu라고 인식되고 있다. (인터넷 상에 공개된 다른 드라이버들도 RTL88x2bu라고 되어 있다.) 찜찜하다면 다른 드라이버를 검색해보거나, 아래와 같이 직접 소스를 빌드해 설치하는 방법으로 진행한다.

참고로, rtl88x2bu (https://software.opensuse.org/package/rtl88x2bu)라는 이름의 패키지도 검색되는데, 본인의 경우 설치해도 무선랜이 인식되지 않았다.

 

2. 깃 저장소에서 클론 받은 소스를 직접 빌드 (1번이 안되는 경우)

1. 터미널을 열고 다음과 같이 빌드를 위한 패키지를 설치해준다.

> uname -r
# 드라이버 소스 빌드를 위해서는 커널 소스와 헤더가 필요하다. 우선 현재 커널 버전을 확인한다.
# 여기서는 5.3.18-59.10-default을 기준으로 작성했다. 버전이 다르면 아래의 커맨드에서 버전을 수정하여 입력한다.
# (버전 지정을 하지 않으면 현재보다 더 높은 버전의 커널 소스가 설치되어 빌드 과정에서 헤더를 찾지 못한다.)

> sudo zypper install kernel-source=5.3.18-59.10 kernel-devel=5.3.18-59.10 kernel-default-devel=5.3.18-59.10

> sudo zypper install git dkms

 

2. 드라이버 소스가 있는 깃 저장소를 클론한다.

> mkdir .drivers && cd .drivers

> git clone https://github.com/cilynx/rtl88x2bu && cd rtl88x2bu

 

3. 소스 코드 일부를 수정한다.

본인은 소스 코드를 수정하지 않고 빌드했을 때 오류가 발생했다. 찾아보니 깃에 올라온 소스가 리눅스 커널 5.8 대에서 동작하도록 짜여있어서 커널 버전이 5.3 대인 openSUSE Leap 15.3에서 빌드할 때 오류가 나는 것 같다. 깃헙에 올라온 이슈를 참고하여 소스코드를 수정하고 진행했더니 해결되었다. (참고: https://github.com/cilynx/rtl88x2bu/issues/156#issuecomment-869192075)

 

    (1) 터미널에서 아래의 명령어를 입력하거나, 직접 디렉토리 루트에서 os_dep/linux/ioctl_cfg80211.c를 찾아 열어준다.

> kate ./os_dep/linux/ioctl_cfg80211.c
# Kate는 KDE에 탑재된 에디터이다. 열리지 않는다면 환경에 따라 vi나 nano로 실행해본다.

    (2) 파일 내부에서 'KERNEL_VERSION(5, 8, 0)' 문자열을 모두 찾아 'KERNEL_VERSION(5, 3, 0)'으로 바꿔주고 저장한다.

 

4. 디렉토리 루트에서 배포 스크립트를 실행한다.

> sudo bash deploy.sh

 

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2025/04   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
글 보관함