아는 것이 좋은 것이다.

[DS718+] 무선랜카드 Linux Driver 설치하기(크로스 컴파일) #2 본문

Synology

[DS718+] 무선랜카드 Linux Driver 설치하기(크로스 컴파일) #2

start0 2020. 8. 26. 22:49

2020/08/24 - [Synology] - [DS718+] 무선랜카드 Linux Driver 설치하기(크로스 컴파일) #1

 

[DS718+] 무선랜카드 Linux Driver 설치하기(크로스 컴파일)

컴파일 환경 구성 - 도커 컨테이너(debian 10.5) 활용하여 크로스 컴파일 - 시놀로지 커널 다운로드 (Linux NAS 4.4.59+ #25426 SMP PREEMPT Wed Jul 8 03:21:29 CST 2020 x86_64 GNU/Linux synology_apollolake_..

start0.tistory.com

위에 작성하였던 글에서 나스가 재부팅이 될 경우 USB 무선랜카드가 곧바로 인식 되지 않는 현상이 생겼다. 무선랜카드를 다시 연결할 경우에는 인식이 잘 되는듯 싶었다.

 

재부팅이 되더라도 무선랜카드가 인식하도록 아래의 스크립트를 '/usr/local/etc/rc.d'의 경로에 확장자 sh(*.sh)로 생성하게 되면 어떤 이유에 의해 재부팅이 되면 해당 쉘 스크립트가 실행이 되고 무선랜카드의 모듈이 로드 되고 인식도 된다. 

#!/bin/sh
MODULES_DIR="/lib/modules"
MODULES_START=("cfg80211.ko" "88x2bu.ko rtw_switch_usb_mode=1")
MODULES_STOP=("88x2bu.ko" "cfg80211.ko")
start_modules() {
    echo "--- Load modules ---"
    for ((i = 0; i < ${#MODULES_START[@]}; i++)) do
        echo "Loading $MODULES_DIR/${MODULES_START[$i]}" 
        insmod $MODULES_DIR/${MODULES_START[$i]}
    done
	echo '4-2' | tee /sys/bus/usb/drivers/usb/unbind && echo '4-2' | tee /sys/bus/usb/drivers/usb/bind #usb load
}

stop_modules() {
    echo "--- Unload modules ---"
    for ((i = 0; i < ${#MODULES_STOP[@]}; i++)) do
        echo "Unloading $MODULES_DIR/${MODULES_STOP[$i]}" 
        rmmod $MODULES_DIR/${MODULES_STOP[$i]}
    done
}
case "$1" in start) start_modules ;; stop) stop_modules ;; *) echo "usage: $0 { start | stop }" exit 1 >&2 ;; esac

여기서 유의 해야할 점은 echo '4-2' 부분이다. lsusb 명령어를 실행 해보면 아래와 같이 결과가 출력이 되는데 무선랜카드가 연결된 usb 포트는 4-2 이기 때문에 이 부분을 확인하고 스크립트를 수정해줘야 정상적으로 실행가능한상태가 된다.

Comments