skip menu and go to main content

body start

Chmac Project

Project News

Project Info

activity viewforum,download view

Developer Info


This site is not compatible with IE 6.0/7.0

1 Introduction

This project is aim to make the system software which can change MAC address of wifi(eth0) on the fly. It takes two steps:
  1. linux command line software of chmac.
  2. JNI co-working JAVA application software of chmac.

Changing MAC address may be abnormal action. however, in some case, this is very useful, for example, to associate AP which require MAC address authentication.

2 Cautions

<!>YOU are all responsible about using this project/code/binary illegally.


3 Step1 User Manual : commandline chmac

  1. Download chmac from this page. (http://dev.odroid.com/projects/chmac/download)
  2. Connect your Odroid to your PC via USB
  3. Follow commands on a command prompt window in the PC.
D:\>adb root
* daemon not running. starting it now *
* daemon started successfully *
adbd is already running as root

D:\>adb push chmac /system/xbin/
11 KB/s (5500 bytes in 0.484s)

D:\>adb shell chmod 777 /system/xbin/chmac

D:\>adb shell chmac
00:99:88:77:66:55:
Usage:
                       chmac XX:XX:XX:XX:XX:XX
                       * This program changes MAC address of eth0.

D:\>adb shell netcfg
lo       UP    127.0.0.1       255.0.0.0       0x00000049
tunl0    DOWN  0.0.0.0         0.0.0.0         0x00000080
gre0     DOWN  0.0.0.0         0.0.0.0         0x00000080
eth0     UP    192.168.0.29    255.255.255.0   0x00001043

D:\>adb shell chmac 00:11:22:33:44:55

D:\>adb shell chmac
00:11:22:33:44:55:
Usage:
                       chmac XX:XX:XX:XX:XX:XX
                       * This program changes MAC address of eth0.

D:\>adb shell netcfg
lo       UP    127.0.0.1       255.0.0.0       0x00000049
tunl0    DOWN  0.0.0.0         0.0.0.0         0x00000080
gre0     DOWN  0.0.0.0         0.0.0.0         0x00000080
eth0     UP    192.168.0.29    255.255.255.0   0x00001043

D:\>adb shell ping 192.168.0.1
PING 192.168.0.1 (192.168.0.1) 56(84) bytes of data.
From 192.168.0.29 icmp_seq=1 Destination Host Unreachable
From 192.168.0.29 icmp_seq=2 Destination Host Unreachable
From 192.168.0.29 icmp_seq=3 Destination Host Unreachable
64 bytes from 192.168.0.1: icmp_seq=4 ttl=64 time=2007 ms
64 bytes from 192.168.0.1: icmp_seq=5 ttl=64 time=996 ms
64 bytes from 192.168.0.1: icmp_seq=6 ttl=64 time=2.33 ms
ping: sendmsg: Network is unreachable
ping: sendmsg: Network is unreachable
ping: sendmsg: Network is unreachable
ping: sendmsg: Network is unreachable
ping: sendmsg: Network is unreachable
64 bytes from 192.168.0.1: icmp_seq=12 ttl=64 time=9.49 ms
64 bytes from 192.168.0.1: icmp_seq=13 ttl=64 time=2.62 ms
64 bytes from 192.168.0.1: icmp_seq=14 ttl=64 time=2.19 ms
64 bytes from 192.168.0.1: icmp_seq=15 ttl=64 time=2.30 ms
64 bytes from 192.168.0.1: icmp_seq=16 ttl=64 time=2.39 ms
^C
D:\>

After you set mac address using chmac, the network interface will be disconnected for short time and will be connected again soon.

4 Step1 User Manual : commandline suo

  • commandline chmac require root account. however, normally, we are not root. Therefore, we modified "su" for a non root user. The name is "suo" which means "su" for Odroid.
  • Download suo from this page. (http://dev.odroid.com/projects/chmac/download)
  • Connect your Odroid to your PC via USB
  • Follow commands on a command prompt window in the PC to install
D:\>adb root
* daemon not running. starting it now *
* daemon started successfully *
adbd is already running as root

D:\>adb push suo /system/xbin/suo
2255 KB/s (72168 bytes in 0.031s)

D:\>adb shell chmod 6777 /system/xbin/suo
D:\>
  • "chmod 6777" makes suo to become a root at execution time.
  • Now, let us test suo as following.
D:\>adb shell
# su 2999
su 2999
$ ping 192.168.0.1
ping 192.168.0.1
ping: icmp open socket: Operation not permitted
$ su
su
su: uid 2999 not allowed to su
$ suo 0
suo 0
#
# ping 192.168.0.1
ping 192.168.0.1
PING 192.168.0.1 (192.168.0.1) 56(84) bytes of data.
64 bytes from 192.168.0.1: icmp_seq=1 ttl=64 time=5.99 ms
64 bytes from 192.168.0.1: icmp_seq=2 ttl=64 time=2.41 ms
  • Prompt # stands for "root" while prompt $ stands for "normal user".
  • The first command "su 2999" means it makes the current user to a normal user (uid=2999 for example).
  • As shown, original su does not allow to change a normal user to root user.
  • However, our suo can do it.

  • The following screen shot shows an example of suo usage with ConnectBot in Odriod.
suo-connectbot.png
  • basically, "ping" can be worked for root. In this example, suo makes ping work for Android application process.

  • Now, use can change MAC address on ConnectBot. Type the following line in ConnectBot's local screen.
 chmac 00:11:22:33:44:55

5 Step2 User Manual

TBD


6 How to be a developer for this project

If you want to join this project, please email me(softgear at paran.com) your id.

Or, leave a message on the board with the following information.
  Title: Want to be a member.
  ID: (Your login ID)
  Description: Brief introduction
After the registration process, you can commit source (svn access) and modify Wiki pages.

7 Question / Bug Report

8 Others

* ChmacOrgFrontPage : Original Front Page