- programmers level2 C
- openwrt perf 에러
- Linux
- 중동연탄구이
- 프로그래머스 c언어
- ubuntu
- openwrt 컴파일 에러
- openwrt perf error
- WiFi
- openwrt No gnu/libc-version.h found package/devel/perf
- 카페 한가로이
- 제주도
- 취미생활
- 군산뚜벅이여행
- C언어
- Wireless
- 뚜벅이 군산
- 동대문부자재시장
- 자이언트얀
- openwrt compile error
- 군산 1박2일 뚜벅이
- menuconfig
- hostapd
- openwrt
- 네트워크
- 리눅스
- WiFi6
- No gnu/libc-version.h found package/devel/perf
- C
- 비즈팔찌
- Today
- Total
목록Dev & Network/C (6)
Mandoo’s WLAN story
No gnu/libc-version.h found package/devel/perf please install glibc-dev[el]. 이 에러가 뜨면서 glibc-dev[el]를 설치하라는 메세지가 나온다면, 다음과 같이 해보자. 나의 경우는 처음엔 정상적으로 컴파일이 됐는데, 두세달 뒤 다시 컴파일 할 때 에러가 발생했다. 그래서 구글에 검색해보니, 2가지 방법이 나왔는데, 나는 2번으로 문제를 해결했다. 1. 컴파일 한 위치에서 make defconfig 해주기 2. 커널 쪽 소스코드에 헤더 추가 후 재컴파일 우선 package/devel/perf 경로말고, 리눅스 커널 쪽 perf 폴더로 접근해야한다. 첫 컴파일 때 해당 에러가 발생한 경우에는 아래 파일에 헤더를 추가해주어야 한다. folder..
서버와 클라이언트가 소켓으로 패킷을 전달하는 과정에서 패킷이 손실되는 문제가 발생했고, 해결방법을 정리해보았다. 해결하는 과정을 세세하게 적어두었으니 부분부분 넘어가도 좋다. ▶ 통신 환경 통신 : 소켓통신 서버 : 웹 (웹 개발자가 따로 있어서 사용언어는 정확하지 않지만, JAVA로 추측됨) 클라이언트 : C언어로 개발된 리눅스용 프로그램 패킷 : 헥사값으로 이루어진 5000byte 이상의 패킷 ▶ 문제점 클라이언트가 패킷 전체를 전달받지 못하는 문제가 간헐적으로 발생 ▶ 원인 파악 과정 1. 네트워크 상태 체크 : 클라이언트 - 서버 ping체크 2. 클라이언트 C 소스코드에서 request 패킷 전송 전, 후 / response 패킷 수신 전, 후 마다 연결 상태 및 에러를 체크했다. 3. 서버에서..
shell script로 디스크 사용량 확인하기 #!/bin/ash # ash : openwrt, bash : ubuntu PREFIX=/log DISK_USAGE=`df /overlay/ | grep -v Use | awk '{print $5}'` echo $DISK_USAGE #0% USAGE_STR=`echo ${DISK_USAGE} | cut -d '%' -f 1` USAGE_INT=`expr $USAGE_STR` MAX_USAGE=70 echo $USAGE_INT if [ ${USAGE_INT} -gt ${MAX_USAGE} ]; then echo "디스크 사용량이 70% 이상입니다." echo $DISK_USAGE >> hello.txt fi
리눅스 터미널에서 ifconfig로 조회되는 정보들은 ioctl 함수를 이용해 받아올 수 있다! (ip, netmask, mac주소, broadcast addr, destination addr 등) gateway 주소는 ifconfig로 조회되지 않기 때문에 popen을 쓰면 꽤 쉽게 받아올 수 있다! popen은 pipe 통신을 이용해 리눅스에서 명령어를 실행시키고 그 결과를 file 형태로 받아오는 것이다. (openwrt에서는 uci 명령어를 이용해 ubuntu나 cent os와는 사용법이 다르다.) 아래 코드를 보자 #include #include int main(){ char network_info[32] = {0,}; FILE *fp; fp = popen("uci get network.wan...