[Solved]eth0 선 꽂는 이벤트가 궁금합니다.
글쓴이: 송효진 / 작성시간: 화, 2008/11/04 - 6:00오후
udev 에서 해 보려니
이벤트가 따로 발생하는건지 udev 룰을 몰라서 그런건지 잘 안되네요.
목적은 꽂았을 때 dhcpcd 실행하고, 뽑았을때 eth0 down 하는 것입니다.
그리고 xnote 인데 fn+f6 등의 안잡히는 키코드를 찾아내는 방법도 궁금합니다.
감사합니다.
Forums:
현재 fn키에 대한
현재 fn키에 대한 키코드가 알려지지 않았습니다. 그래서 fn+'어떠한키' 조합은 인식되지 않습니다. 단, 그 조합이 다른 키의 역할을 한다면 그 키의 키코드가 나올 것입니다.
/proc/interrupts 로
/proc/interrupts 로 키보드 인터럽트가 발생하긴 하는 지 먼저 알아보세요.
키코드를 뱉어낸다해도 그게 알려지지 않은 전혀 생뚱맞은 코드라면 여전히 유저영역으로는 전달되지 않습니다.
setkeycodes 로 커널드라이버에게 알려주기전엔 계속 무시됩니다.
(커널 패치가 되기 전의 한영,한자 키처럼요)
아, 그리고
shell script 로 하려면 계속 폴링하는 수 밖에 없겠습니다.
netlink/hotplug 로는 아무런 이벤트도 날아오지 않더군요.
OTL
cat /proc/interrupts
cat /proc/interrupts 해보곤 멍하니 처다보고만 있습니다.;;;
뭘 봐야할지 모르겠네요.
eth 이벤트가 없다면 그냥 두는게 좋겠네요.
감사합니다. :D
emerge money
http://wiki.kldp.org/wiki.php/GentooInstallSimple - 명령어도 몇개 안되요~
http://xenosi.de/
https://xenosi.de/
이더넷 드라이버가
이더넷 드라이버가 MII를 지원하면 다음과 같이 사용 할 수도 있습니다.
----
데스크탑 프로그래머를 꿈꾸는 임베디드 삽질러
----
데스크탑 프로그래머를 꿈꾸는 임베디드 삽질러
cat /proc/interrupts 는
cat /proc/interrupts
는 노트북 Fn 조합키 때문에 언급했습니다.
댓글에 적었다시피 유저영역으로 키코드가 날아오지 않는다고 해서,
커널이 아무런 이벤트도 감지하지 못했다는 뜻은 아닙니다.
atkbd... PS/2 키보드 인터럽트는 i8042 라는 이름을 가진 놈을 주목하시면 됩니다.
하나는 마우스고 다른 하나는 키보드입니다.
Fn 키조합이 atkbd 와는 전혀 상관없는 다른 경로로 전달된다면,
그에 맞는 드라이버를 제작해서 올리기 전에는 감지할 수 없습니다.
OTL
NetworkManager의 소스를
NetworkManager의 소스를 보니 netlink로 모니터링 하는 것 같습니다.
드라이버에 따라서 ethertool이나 mii로 모니터링 되는지 확인한다음 모니터링해서 다음과 같은 콜백으로 연결 여부를 확인하네요.
----
데스크탑 프로그래머를 꿈꾸는 임베디드 삽질러
----
데스크탑 프로그래머를 꿈꾸는 임베디드 삽질러
udev 혹은 hotplug 에
udev 혹은 hotplug 에 의해 처리될 수 있는 NETLINK_KOBJECT_UEVENT 로는 아무 것도 날아오지 않습니다.
NETLINK_ROUTE, NETLINK_INET_DIAG, NETLINK_GENERIC 로 뭐가 날아올지는 모르겠는데,
이건 script 에서는 처리할 수 없으니 제껴도 상관없을 것 같습니다.
mii-tool 은 비추천합니다.
장치가 이를 지원하는 가도 보장못하고,
설령 한다해도 MAC 을 지나 PHY 에 있는 MII 레지스터를 직접 읽는 방식이라 구비구비 돌아가게 됩니다.
사실, 그러고보면 ether-tool 도 마찬가지긴 합니다.
드라이버에 의해 가공 처리된 정보를 읽기 때문에 장치 의존성은 떨어지지만,
이게 실제로 h/w 상태를 그대로 반영할런지는 의문입니다.
/sys/class/net/eth0/carrier 의 정보랑 비슷한 경우겠죠.
OTL
키코드 관련해서...
도움이 될는지는 모르겠습니다만 참고하세요.
http://miro.tistory.com/28
해주신 조언들을
해주신 조언들을 바탕으로 꽤 쓸만한게 나온듯 하여 위키에 정리하였습니다.
안잡히는 fn 키 조합은 acpi 이벤트 커널모듈을 직접 작성해야 하는것 같아서 GG ㅠㅠ
http://wiki.kldp.org/wiki.php/GentooLaptop
emerge money
http://wiki.kldp.org/wiki.php/GentooInstallSimple - 명령어도 몇개 안되요~
http://xenosi.de/
https://xenosi.de/
댓글 달기