마사키군의 다락방

끄적끄적할게 있을때 끄적거려 보관해두는 다락방

무선 인터넷 사용시, 때때로 라즈베리 파이의 네트워크가 해제되는 경우 해결법

내 경우에는 라즈베리 파이에 USB 무선 랜카드를 연결해서 사용하고 있는 중인데, 전원만 연결해놓고 안쓰다가 갑자기 라즈베리 파이로 연결하려고 들면, 라즈베리 파이의 네트워크가 해제되어 접속할 수 없는 경우가 제법 있었다. 하지만 몇 번 시도하다 보면 접속이 복원되어서 다시 정상적인 접속이 가능했다. 그래서 평소에는 라즈베리 파이로 작업을 하기 전 몇초동안 계속 라즈베리 파이로 ping을 날려준 후, 정상적으로 ping 신호가 오는것을 확인한 후에 작업을 하곤 했다.

그러다가 이것도 왠지 짜증나서 어떻게 해결방법이 없을까 생각해보다가, 혹시 라즈베리 파이도 스마트폰의 와이파이 모듈처럼 절전 모드가 있어서, 일정 시간동안 사용하지 않으면 절전 모드가 되어 네트워크가 해제되는 것이 아닐까 의심했다. 그리고 예감은 옳았던 것 같다.

이 문제는 이런저런 정황을 고려해 봤을때 리얼텍 8192 cu 칩셋을 사용하는 무선 랜카드의 모델에서 발생하는 것 같지만, 내가 사용하는 무선 랜카드는 리얼텍 8188을 사용하기 때문에 꼭 그런것만은 아닐수도 있겠다. 다만, 리얼텍 8192하고 8188이 기능상 서로 호환되기 때문일 수도 있다.

서론이 길었는데, 이런 경우 라즈베리 파이의 터미널에서 다음 명령어를 쳐 보자.

위 명령어를 쳤을때 0이 나오면 절전 모드가 해제되어 있는 것이고, 1이나 2가 나올 경우에는 절전 모드를 사용 중이다.

절전 모드를 해제하기 위해서는 vi나 nano 등의 편집기로 /etc/modprobe.d/8192cu.conf 파일을 새로 작성해서 설정하면 된다. 참고로 이 파일을 작성하거나 편집하려면 관리자의 권한이 있어야 한다. 내 경우에는 역시 nano보다는 vi가 더 손에 맞는거 같다.

편집기 화면이 뜨면 아래와 같이 작성하자.

주석에도 작성해 뒀지만, rtw_power_mgnt는 절전 모드의 설정으로, 0은 절전모드 해제, 1은 최소 절전 모드, 2는 최대 절전 모드로 설정한다.

rtw_enusbss의 경우, 나는 이 옵션 없이도 문제가 해결되었지만 내용상 설정해두는 것이 좋지 않을까 싶어서 설정했다. 무선 인터넷의 자동 중단 모드의 설정으로 생각되며, 0은 자동 중단 모드 해제, 1은 자동 중단 모드로 설정한다.

참고로 각 설정 항목들의 현재 설정 상태는, /sys/module/8192cu/parameters/{설정항목명}을 cat 명령으로 확인함으로써 조회할 수 있다.

여하튼 설정한 이후 라즈베리 파이를 재시작하면, 이후부터는 별다른 문제가 없을 경우 라즈베리 파이의 네트워크가 해제되지 않는다.

참고로, 8192cu.conf 파일에 설정할 수 있는 설정 내용은 다음과 같다. /sys/module/8192cu/parameters/ 디렉토리를 살펴본 바로는 이보다도 설정 항목의 가짓수가 훨씬 많을 것 같지만, 전부를 찾아내지는 못했다.

  • rtw_power_mgnt={0|1|2}
    • 0 == disable power saving
    • 1 == enable power saving, MIN_PS
    • 2 == enable power saving, MAX_PS
  • rtw_enusbss={0|1}
    • 0 == disable auto suspend
    • 1 == enable auto suspend
  • rtw_hwpwrp_detect={0|1}
    • 0 == disable H/W power pin detection
    • 1 == enable H/W power pin detection
  • rtw_ips_mode={0|1}
    • 0 == low power, IPS_NORMAL
    • 1 == higher power, IPS_LEVEL2

이 문서를 작성하는데에는 아래 웹사이트를 참고했다.

 

, , , , ,

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 항목은 *(으)로 표시합니다