android4.0(linux2.6.34)设备有以太网,网卡芯片为lan8720a,能正常上网,但每次重启后,mac地址变化(驱动中的mac地址是随机的),由于要通过mac地址来控件设备,所以每台设备只能有一个固定mac,并且两台设备的mac不能一样.
问:
1. lan8720能保存mac地址吗?
2. linux驱动中能读取一个配置文件吗(比如/etc/mac.conf),每次开机来读取这个文件。但一个是内核空间,一个是用户空间,不知能实现否。
或者有其它方法实现吗?linux mac lan8720LinuxMacAndroid 4.0网卡
问:
1. lan8720能保存mac地址吗?
2. linux驱动中能读取一个配置文件吗(比如/etc/mac.conf),每次开机来读取这个文件。但一个是内核空间,一个是用户空间,不知能实现否。
或者有其它方法实现吗?linux mac lan8720LinuxMacAndroid 4.0网卡
你是驱动的?用户空间和内核空间的话你用ioctl不能交互吗
是用户空间,不知能实现否。
或者有其它方法实现吗?
是驱动的,如果不在驱动中解决那最好了。
看来只有用笨办法了,串口中netcfg eth0 hwaddr xxx
然后再做成apk,让用户自己去定义吧。
这个方法问题是android应用中如何去执行命令,是用户空间,不知能实现否。
或者有其它方法实现吗?
是驱动的,如果不在驱动中解决那最好了。
看来只有用笨办法了,串口中netcfg eth0 hwaddr xxx
然后再做成apk,让用户自己去定义吧。
这个方法问题是android应用中如何去执行命令,试了一下子,运行命令不成功,不知道是root的问题还是什么问题
是用户空间,不知能实现否。
或者有其它方法实现吗?
是驱动的,如果不在驱动中解决那最好了。
看来只有用笨办法了,串口中netcfg eth0 hwaddr xxx
然后再做成apk,让用户自己去定义吧。
这个方法问题是android应用中如何去执行命令,try{
process = Runtime.getRuntime().exec("/system/xbin/su"); //ran as root
outstr = new DataOutputStream(process.getOutputStream());
instr = new DataInputStream(process.getInputStream());
outstr.writeBytes("/system/bin/chmod 777 /dev/i2c-0" + " \n"); //modify the device properties
outstr.writeBytes(" exit \n");
outstr.flush();
process.waitFor();
}catch(Exception e){
System.out.println("set mac error!");
}
试了一下子,运行命令不成功,不知道是root的问题还是什么问题代码贴错了
是用户空间,不知能实现否。
或者有其它方法实现吗?
是驱动的,如果不在驱动中解决那最好了。
看来只有用笨办法了,串口中netcfg eth0 hwaddr xxx
然后再做成apk,让用户自己去定义吧。
这个方法问题是android应用中如何去执行命令,try{
process = Runtime.getRuntime().exec("/system/xbin/su"); //ran as root
outstr = new DataOutputStream(process.getOutputStream());
instr = new DataInputStream(process.getInputStream());
outstr.writeBytes("/system/bin/chmod 777 /dev/i2c-0" + " \n"); //modify the device properties
outstr.writeBytes(" exit \n");
outstr.flush();
process.waitFor();
}catch(Exception e){
System.out.println("set mac error!");
}
试了一下子,运行命令不成功,不知道是root的问题还是什么问题代码贴错了
apk好像没有权限执行etcfg eth0 hwaddr xxx。你把这个命令做成服务放在init.rc里面,apk通过ctrl.start来启动这个服务吧
设备已有su权限,但是还是不成功。
请问下“apk好像没有权限执行etcfg eth0 hwaddr xxx。你把这个命令做成服务放在init.rc里面,apk通过ctrl.start来启动这个服务吧 ”这个是如何实现的?