반응형

OS: Linux 11.04 (32bit)

확인해본 USB 무선랜카드: IPTIME (Ralink) RT2501/RT2573 Wireless Adapter, IPTIME N150UA (Ralink RT3070)


노트북에 USB 무선랜카드를 하나씩 추가해서, 멀티 라디오 라우팅을 테스트하다 보면 가끔 USB 무선랜카드로부터 아무 패킷도 받지 못하는 현상이 발생한다.

이 때 ifconfig를 통해서는 무선랜 인터페이스가 정상적으로 인식되며, 고정IP도 정상적으로 세팅되어 있다. 하지만 프로그램 상에서 테스트해 보면 아무 패킷도 받지 못할 뿐더러 아무 패킷도 보내지 못한다.


확실치는 않지만, 그 때마다 iwconfig를 통해서 보면 애드혹 네트워크에서 ESSID 영역이 "Not associated"로 되어 있었던 것 같다. 단순히 노트북을재부팅하는 것만으로는 여전히 위와 같이 먹통인 상태인 것을 확인했다.


현재로써는 두 가지 해결방법이 가장 무식하지만 가장 확실하다.

1) USB 무선랜카드를 분리하고 잠시 있다가 다시 연결 (USB plug out + plug in)

2) 노트북을 재부팅하지 말고, 아예 전원을 완전히 껐다가 다시 부팅 (shutdown + turn on)


전공이 전자과도 아니고 장비에 익숙하지 않아서 원인을 알 수 없지만,

굳이 추측하자면 컴퓨터에 연결된 채 오랫동안 많은 명령(사실 많은 트래픽도 아니다. 나는 단지 라우팅 프로토콜을 구현해서 plain text 형태의 라우팅 메세지, ping 메세지 정도만 반복적으로 주고받았으니까.)을 보내다 보면 여전히 낮은 확률이지만 먹통 현상이 발생한다.




반응형
블로그 이미지

Bryan_

,
반응형

OS: Ubuntu 계열 (11 이상에서 테스트했으나 이하 버전도 아마 가능할 듯)


컴퓨터에 USB 무선랜카드를 여러 개를 번갈아 가면서 쓰다 보면, wlan0, wlan1, wlan2 등 여러 개의 무선 네트워크 인터페이스가 존재하는 것으로 인식될 뿐만 아니라 인터페이스 번호도 뒤죽박죽이 되는 경우가 있다.

또한 네트워크 관련 프로그래밍을 하다 보면 의도적으로 인터페이스 이름을 지정해야 하는 경우도 생기는데, 인터페이스 번호가 달라서 실행하지 못하는 문제가 발생하기도 한다.


이 때는 /etc/udev/rules.d/70-persistent-net.rules 파일을 열어서 인터페이스 번호를 수정할 수 있다.


# This file maintains persistent names for network interfaces.

# See udev(7) for syntax.

#

# Entries are automatically added by the 75-persistent-net-generator.rules

# file; however you are also free to add your own entries.


# PCI device 0x8086:0x10f5 (e1000e)

SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:1f:16:08:98:a5", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"


# PCI device 0x8086:0x4236 (iwlagn)

SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:16:ea:b1:9d:a4", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="wlan*", NAME="wlan0"


# USB device 0x148f:0x2573 (usb)

SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:08:9f:fd:55:4b", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="wlan*", NAME="wlan1"


위에서 빨간색 표시된 영역을 원하는 인터페이스 이름으로 수정할 수 있다. 

만약 현재 쓰지 않는 네트워크 인터페이스일 경우에는 #을 이용해서 주석처리할 수도 있다.

또는 아예 운영체제가 자동으로 네트워크 인터페이스 이름을 처음부터 새로 잡아주길 바란다면 위 파일을 삭제하고 재부팅하는 방법도 있다.




반응형
블로그 이미지

Bryan_

,
반응형

간혹 시스템에서 아주 긴~ log파일 같은 것을 확인해야 할 때가 있는데, vi를 굳이 열어서 맨 끝까지 이동하는 것보다는 계속 기록되고 있는 log파일의 맨 끝부분만 화면을 통해 보는 것이 더 편할 때가 있다.
그럴 때는 tail [filename]을 치면 파일의 맨 끝에서부터 10줄을 화면에 보여준다. 보여지는 줄 수를 변경하고 싶으면 -n 옵션을 통해서 조정 가능하다.

$ tail [filename] -n [라인 수]


추가로, 실시간으로 갱신되어 저장되는 로그 파일의 경우에 변경된 내용을 실시간으로 화면상에서 보고 싶으면 옵션에 "-f"를 추가해 준다.

tail [filename] -f -n [라인 수]

반응형
블로그 이미지

Bryan_

,
반응형
OS: Ubuntu 8.04 desktop (AMD64)

64비트 기반의 리눅스(우분투)에서, 실행파일이 존재하는 정확한 위치에 가서도 프로그램을 실행하면 "no such file or directory" 에러가 나면서 실행되지 않을 때가 있다.

이와 관련해서 내가 직접적으로 직면한 문제는 라이센스 관리 프로그램인 "lmgrd"를 64비트 리눅스 서버에서 실행하려고 했을 때였다.

그럴 때는 32비트용으로 컴파일된 프로그램을 실행할 수 있는 라이브러리를 설치해 주면 된다.

$ sudo apt-get install ia32-libs lib32gcc1 lib32stdc++6 libc6-dev-i386 gcc-multilib


반응형
블로그 이미지

Bryan_

,