MAC ADRRESS 설정방법
글쓴이: toatoa / 작성시간: 월, 2008/03/24 - 7:53오후
안녕하세요
현재 타켓에서 다음과 같이 MAC ADDRESS를 설정하였습니다.
ifconfig eth0 down
ifconfig eth0 hw ether 00:40:5a:00:12:45
ifconfig eth0 up
헌데 ifconfig로 보면
Link encap:Ethernet HWaddr 00:00:C0:FF:EE:09과 같이 나옵니다.
왜 설정값 00:40:5a:00:12:45이 적용되지 않는지 모르겠습니다.
고수님들의 답변부탁드립니다.
수고하세요
감사합니다.
Forums:
가끔
가끔 디바이스드라이버가
HW 주소를 바꾸어주는 기능을 지원 안 해주는 경우가 있습니다..--;;
해당 디바이스드라이버가 지원하는지부터 확인이 필요할 것으로 보입니다.
이상 허접 답변이었습니다..--;;
답변감사합니다. 이더
답변감사합니다.
이더넷 콘트롤로는 cs8900을 쓰고 있습니다.
이건 지원해주는 걸로 알고있는데..
감사합니다.
try... ifconfig eth0 down
try...
ifconfig eth0 down hw ether 00:40:5a:00:12:45
ifconfig eth0 up
결과는 변화질
결과는 변화질 않습니다.
답변에 감사드립니다.
해보진 않았지만 이런 자료가 있네요
1. u-boot에서는
CONFIG_OVERWRITE_ETHADDR_ONCE
를 지정해 주면 ethernet address가 한번 overwrite가 됩니다. 당연히 ethernet은 쓴다고 되어 있어야 하고요.
2. kernel의 driver에서는 이렇게 처리해주면 됩니다.
static unsigned char my_ethaddr[MAX_ADDR_LEN];
/* need to get the ether addr from armboot */
static int __init ethaddr_setup(char *line)
{
char *ep;
int i;
printk("ethaddr_setup()\n");
memset(my_ethaddr, 0, MAX_ADDR_LEN);
/* there should really be routines to do this stuff */
for (i = 0; i < 6; i++)
{
my_ethaddr[i] = line ? simple_strtoul(line, &ep, 16) : 0;
if (line)
line = (*ep) ? ep+1 : ep;
printk("mac[%d] = 0x%02X\n", i, my_ethaddr[i]);
}
return 0;
}
__setup("ethaddr=", ethaddr_setup);
이 부분을 커널의 cs89x0.c에 삽입해 주신 후,
부트로더에서 넘겨주는 kernel command line argument를 이렇게 지정해 주면 됩니다.
setenv bootargs root=/dev/nfs rw nfsroot=172.16.1.253:/korea-dokdo/nfsmount/rootfs-aesop ip=172.16.1.100:172.16.1.253:172.16.1.1:255.255.255.0::eth0:off console=ttyS0 ethaddr=08:00:3e:26:0a:5b
여기의 맨 뒤에 있는 ethaddr=08:00:3e:26:0a:5b
이 cs8900에서 자동 해석하게 코드를 작성하면 됩니당....^^
Mac address를 직접
Mac address를 직접 지정하는게 가능한 건가요?
당연히 불가능할 것이라고 생각했던 건데...
--
academic은 제 고등학교 때 동아리 이름입니다.
academic, 아주 가끔은 저도 이랬으면 좋겠습니다.
----
academic은 제 고등학교 때 동아리 이름입니다.
academic, 아주 가끔은 저도 이랬으면 좋겠습니다.
댓글 달기