부재: Wi-Fi 멈춤 현상 해결하기

프롤로그 - 와이프의 잔소리

"자기야 요즘 무선인터넷이 자주 멈춰... 고쳐..."

 

최근 들어 Wi-Fi에 멈춤 현상이 잦아지고 있었다. 처음에는 AiMesh 때문에 그런 현상이 생기는 줄 알고 AiMesh도 풀어보고, 설정도 다시 최적의 값을 찾기 위해 노력을 했지만 멈춤 현상은 줄어들 기미를 보이지 않았고 여전히 발생했다.

 

또한 평소 Mesh 네트워크 안에 최근에 휴대폰 장비를 많이 구비하는 바람에 23대라는 많은 양의 장비들이 공유기에 묶여 있는 이유도 있다고 생각했다.

 

문제는 1대가 먹통이 되면 네트워크 안에 있는 장비 모두 Wi-Fi 가 멈추는 현상이 발생했다. 공유기의 문제였던 것이다.

 

간이 해결방법이라곤 네트워크를 2.4GHz에서 5 GHz로 바꾼다거나 모바일 장비에서 잠깐 Wi-Fi를 껐다 켜면 되긴 했다.

 

최근에 갑자기 발생해서 구글링을 했지만 해결책도 나오지 않고, 딱히 원인을 찾기도 힘들었는데, 오늘 다시 검색을 해보니 ASUS 공유기 무선인터넷 끊김현상 해결 후기라는 글을 발견했다.

 

기존에도 RT-AC68U 2 대중 1대는 여름을 대비하여 쿨링팬 작업을 하나 해놓은 게 있었으나 소음, 전기 먹는 것 등을 고려해서 꺼놓고 생활하고 있었다.

삽질 작업

다시 생각이 나서 기존에 1대에 2개의 쿨링팬을 붙였던 것을 1개로 바꾸고, 나머지 1대에 1개를 장착해주었다. 공유기 구조상 2개를 다는 것보다 1개를 다는 게 더 쿨링이 잘된다는 이야기가 있다. 아니면 쿨러 한 개는 안으로 넣고, 나머지 하나는 밖으로 바람을 빼주는 것도 좋을 듯하다.

 

USB의 전기는 5V로 동작하는데 쿨러는 12V 짜리다. 연결을 하면 5V에 맞게 낮춰진 RPM으로 동작한다. 어차피 병렬로 2개를 장착을 하니 2.5V로 되어서 펜 RPM이 낮아져서 쿨링 효율은 비슷할 것 같기도 하다. 5V만으로도 소음이 약간 발생하기에 2개를 장착을 하면 소음면에서는 이득일 수도 있겠다.

 

암튼 귀찮으니 1개로 마음먹고 집에 굴러다니는 USB 케이블을 절단해서 +- 극과 펜의 +-극을 잘 연결해주고 시험 삼아 꽂아보니 잘 동작하고 온도도 확 떨어지는 것을 확인했다. 그리고 그루 건으로 장착을 해주고, 그릴도 붙여줘서 혹시나 모를 사고에 대비했다.

 

결과

아래 코드를 사용하여 RT-AC68U ssh에 접속해서 CPU와 Wi-Fi 모듈의 온도를 체크해보았다.

 

삽질 전

krazyeom@RT-AC68U-D1E0:/tmp/home/root# ./get_temp.sh
Main - CPU: 80, Wi-Fi: 67
Mesh - CPU: 74, Wi-Fi: 64

삽질 후

krazyeom@RT-AC68U-D1E0:/tmp/home/root# ./get_temp.sh
Main - CPU: 55, Wi-Fi: 48
Mesh - CPU: 51, Wi-Fi: 45

CPU는 23~25, Wi-Fi 모듈은 19도 정도 떨어지는 것을 확인할 수 있다. 아직까지는 멈춤 현상이 발생하지 않는다. 이걸로 해결되었으면 좋겠지만.. 잘 안되어서 다른 공유기를 사고 싶기도 하다. 하핫.

Posted by KraZYeom

댓글을 달아 주세요

0. 준비

ssh 관련 권한은 아래와 같이 설정한다.

chmod 400 ~/.ssh
chmod 600 ~/.ssh/*

1. 실패

일반적으로 사용하는 ssk-keygen 이 asus 무선공유기에는 없다.

putty key generator로 key gen을 하고 openssh key로 export해서 id_rsa, id_rsa.pub 를 복사하고
target server .ssh/authorized_keys 에 등록을 한다.

ssh -i ~/.ssh/id_rsa user@host 를 입력을 하면 다음과 같은 에러가 난다.

ssh: Exited: String too long

일반적인 ssh와 달리 OpenWRT에서는 dropbear라는 ssh 클라이언트를 사용해서 생기는 문제이다.

krazyeom@RT-AC68U-8DF0:/tmp/home/root/.ssh# ssh -V
Dropbear v2019.78

2. 해결

dropbear로 키를 다음 명령어 dropbearkey -f id_rsa -t rsa로 생성하면 된다.
private key는 자동으로 id_rsa 파일로 저장된다. public키는 아래와 같이 보이기만해서 적당히 복사해서 사용한다.
public key를 저장하지 못했으면, dropbearkey -y -f id_rsa 다음 명령어로 다시 보이게 할 수 있다.

krazyeom@RT-AC68U-8DF0:/tmp/home/root# dropbearkey -f id_rsa -t rsa
Generating 2048 bit rsa key, this may take a while...
Public key portion is:
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCZaj90uKcWjEbpHb7XN23Cl08s/fPKRPF6jLy9NUOJ14cMSLMhxAlfRThqNfk6R/KwdbUQHJ2SmSnWeeltnQ2+Odh8Ux1.............VRB krazyeom@RT-AC68U-8DF0

public key를 id_rsa.pub 로 저장을 한다음

cat .ssh/id_rsa.pub | ssh b@B 'cat >> .ssh/authorized_keys'
b@B's password:

다음부터는 ssh a@B 명령어로 접속을 한다. 또는 ssh -i ~/.ssh/id_rsa a@B 로 직접 private key 위치를 지정해서 실행해도 된다.

Posted by KraZYeom
TAG Asus, ssh

댓글을 달아 주세요

프롤로그

회사에서 진행하고 있는 오픈소스 데이터 분석 플랫폼 Brightics Studio에서 6월 초에 One Way ANOVA 시 에러 가 이슈로 등록이 되었고, 그냥 함수 버그겠지라며 대수롭지 않게 생각하고 있었다.

 

갑자기 8월 19일~20일 사이에 사내 게시판과 메일로 엄청나게 위와 동일한 이슈가 쏟아졌다. 메신저, 전화로까지 연락이 온다. 하하.

그러는 순간 마션의 첫 대사가 떠올랐다. 

 

 

“I'm pretty much fucked. That's my considered opinion. Fucked.”

아. 뿔. 싸. 씨. 발. 좆. 됐. 다.

 

그제야 이슈의 원인을 파악하기 시작했다. 

 

원인을 찾기 위해 에러 로그인 numpy.linalg.linalg.LinAlgError: SVD did not converge로 구글링을 해서 찾고 numpy 소스코드를 찾았지만 정확한 원인을 찾기 힘들었다.

 

왜... 소스코드를 제대로 파악을 못하니라고 잔소리를 들었지만... 아무리 찾아도 나오지 않았습니다... 팀장님? ㅠㅠ 

 

처음에는 사내 특정 솔루션을 설치하면서 윈도 업데이트를 해서 그것과 관련된 사이드 이펙트라고 파악했었는데, 그것도 문제가 아니었다. 어떤 사람은 발생하고 어떤 사람에게서는 나타나지 않았다. 

 

다행하게도 내 자리의 윈도 10 PC에서도 동일한 버그가 발생하였다. 그리고 마찬가지로 집에 있는 PC에서도 동일한 버그가 발생했다. 휴... 동일한 이슈가 발생한다는 건 얼마나 즐거운 건지 모르겠다. 재현이 된다는 거이기 때문이다.

 

윈도키+R => winver를 확인하니, 윈도 10, 버전 2004. 공통된 부분이었다. 이로서 버그의 힌트는 얻었고 다음날 돌아와서 발생한 사람에게서도 확인을 하니 모두 동일한 윈도 버전을 사용하고 있었다. 

 

... 그럼 원인이 윈도 10의 문제라고?
ㅇㅇ
그것도 딱 버전 2004에서만 발생을 한다.

 

윈도 10 이슈이니 아무리 구글링을 해도 코드를 뒤져도 원인이 당연히 나올 수 없었다. 

그래서 다시 제대로 된 검색어로 구글링을 하니 이제야 결과가 조금 보이기 시작했다. 

 

polyfit and eig regression tests fail after latest Windows 10 update #16744 
LinAlgError using scipy.signal.savgol_filter since windows 10 (2004) update #12747

 

공통된 의견은 윈도 10을 업데이트 한 뒤로 numpy와 scipy가 동작하지 않는다는 거였다. 최초 우리 쪽 이슈만 더 빨리 받아들였어도 더 빨리 해결책을 찾을 수 있었고 더 빨리 공유할 수 있었을 텐데 좀 아쉽긴 하다. 아래 삼천포에 설명한 pyarrow & jvm도 공유를 하지 못해서 아쉬웠다. 

 

삼천포

예전에도 비슷한 이슈 경험이 있었다. 그땐 numpy가 아니었지만 pyarrow에서 사용하는 jvm이 리눅스 커널 특정 버전 3개? 에서만 발생을 했다. JVM crashes after updating to kernel with patch for Stack Guard flaw CVE-2017-1000364 그 때도 버그 원인 찾고 해결책 찾느라 죽는 줄 알았다(아무도 안 알아주지만 ㅋㅋ). 지금이야 구글링해도 몇 건이라도 나오는데, 그때는 발견된 초창기라 나오지 않아서 정말 엄청 삽질을 하고 linux kernel을 업데이트했었다.

 

원인

  • 윈도 10, 버전 2004 업데이트

  • Windows 10, Version 2004 Update

 

해결방법

  • anaconda의 numpy와 디펜던시 라이브러리 사용

  • numpy+mkl(Intel® Math Kernel Library)와 디펜던시 라이브러리 사용

  • 기타 

anaconda를 사용하면 문제가 발생하지 않는다. 대다수 python 프로젝트는 anaconda를 사용해서 위 문제점이 빨리 발견되지 않은 것 같다. Brightics Studio에서는 특정 이슈때문에 https://www.python.org에서 제공하는 python을 사용하고 있었고 그냥 pip로 기타 라이브러리를 관리하고 있었다. 그래서 anaconda로 라이브러리를 변경했지만, 또 다른 버그?로 인해서 다시 원복을 했다. 그래서 2번째 방법으로 조치하기로 마음먹었다. 

삽질 목록

  1. anaconda로 이전 

    => sqlite에서 rank와 같은 windows 함수에서 또 다른 이슈 발생

  2. 원복

  3. numpy‑1.18.5+mkl‑cp36‑cp36m‑win_amd64.whl 만 설치

    => scipy를 사용하는 함수에서 값이 틀리게 나오는 이슈 발생

  4. scipy‑1.5.2‑cp36‑cp36m‑win_amd64.whl를 추가 설치

    => statsmodels를 사용하는 함수에서 에러 발생

  5. statsmodels‑0.11.1‑cp36‑cp36m‑win_amd64.whl를 추가 설치

    => numexpr 이슈 발생과 gensim을 사용하는 함수에서 에러 발생

  6. numexpr‑2.7.2‑cp36‑cp36m‑win_amd64.whl patsy‑0.5.1‑py2.py3‑none‑any.whl를 추가 설치 및 gensim에서 사용하고 있는 scipy 라이브러리 소스코드 변경

numpy와 연관된 라이브러리를 다 변경해주면 된다. 

Brightics Studio에서는 아래 5개 + 소스 코드 수정으로 눈에 보이는 버그는 다 잡은 것 같다. 

그러고 나서 One Way ANOVA 시 에러 이 이슈는 closed 시킬 수 있었고, 사내 게시판을 통해 조만간 패치된 버전을 릴리스 한다고 공지했다.

 

교훈

이번에도 느꼈다. 아무도 믿지 말자. 윈도도 MS도 사람도. 

Posted by KraZYeom

댓글을 달아 주세요

raywenderich 동영상 다운로드 받는 방법

창과 방패의 뚫고 막히는 것 처럼 자주 다운로드 받는 방법이 막힌다. 

딱 1년전에 Ray Wenderlich 동영상 다운로드 받기를 포스팅 했지만 금방 막혀버렸다.

이번에는 조금더 간단해졌다. 지난번에는 mmpeg 명령어로 스트리밍되는 것을 다운로드 받았다면, 이번에는 그냥 wget으로 받으면 땡이다.


사파리 상의 원하는 동영상에서 마우스 오픈쪽 버튼을 눌러 Show Frame Source를 클릭한다.


그리고 바로 아래에 frame source가 나타는데 그것을 Cmd + C를 해서 복사를 하고, Sublime Text와 같은 툴에 붙여넣기를 한다. 그리고 1080p, 720p 등으로 원하는 화질으로 찾기를 한다. 그러면 원하는 URL을 찾을 수 있고, 이 주소를 또 복사를 해서 터미널 창에서


wget https://xxx.xxx.xxxx/xxxxxxxx.mp4 명령어를 입력하면 다운로드 받을 수 있다.




Posted by KraZYeom

댓글을 달아 주세요

참조: OpenSSH Legacy Options


OpenSSH 7.0 이상에서 ssh를 사용해서 원격에 접속을 하려할 때 몇 몇 알고리듬은 보안상의 이유로 기본적으로 비활성화 되어 있다. 


NAS와 무선 인터넷 공유기의 ssh를 접속을 하려 하는데 아래와 같이 에러가 나면서 원격 접속이 되질 않는다. -o 옵션을 줘서 알고리듬을 추가 해도 된다. 또는 ~/.ssh/config에 host 정보를 추가 해주면 자동으로 적용이 된다.


no matching host key type found. Their offer: ssh-dss

My Cloud NAS 접속시 문제

krazyeom@MBP:~$ ssh  root@192.168.219.18
Unable to negotiate with 192.168.219.18 port 22: no matching host key type found. Their offer: ssh-dss

ssh -oHostKeyAlgorithms=+ssh-dss root@192.168.219.18

~/.ssh/config

Host 192.168.219.18
HosKeyAlgorithms +ssh-dss


no matching key exchange method found. Their offer: diffie-hellman-group1-sha1

ASUS 무선 공유기 접속 문제

krazyeom@MBP:~$ ssh  admin@192.168.219.5
Unable to negotiate with 192.168.219.5 port 22: no matching key exchange method found. Their offer: diffie-hellman-group1-sha1

ssh -oKexAlgorithms=+diffie-hellman-group1-sha1 admin@192.168.219.5

~/.ssh/config

Host 192.168.219.5
KexAlgorithms +diffie-hellman-group1-sha1






​ ​​마음에 드셨으면 아래 추천 버튼을 꾹 눌러주세요. :]


Posted by KraZYeom

댓글을 달아 주세요

  1. 소소한삶 2018.04.03 14:08  댓글주소  수정/삭제  댓글쓰기

    안녕하세요.

    포스터 내용으로 시도해 보다 오타가 있는 것 같습니다.

    예제에서 HosKeyAlgorithms +ssh-dss에서 Host에 t가 빠져 있는 것 같네요.