wget: bad address - Vibrant Themes and Apps

Hi. wget is throwing "bad address" messages. It is seemingly unable to resolve the url. My /etc/resolv.conf says:
nameserver 8.8.8.8
nameserver 8.8.4.4
which are reported to be the Google nameservers. I can shell into the phone and ping the servers, but could do that before adding the resolv.conf file. A wget to the same servers fail. It doesn't seem to matter if I am su or not.
Suggestions would be most welcome at this point.
I am on a tmo Vibrant, with a Vibrant9 rom. Thanks!

I have same issue. I cannot use busybox's wget. I get every time Bad Address error message. Could you solve it? For me not working any /etc/resolv.conf modification on Samsung Galaxy S I9000.
I wait for your fast answer.

gyurman said:
I have same issue. I cannot use busybox's wget. I get every time Bad Address error message. Could you solve it? For me not working any /etc/resolv.conf modification on Samsung Galaxy S I9000.
I wait for your fast answer.
Click to expand...
Click to collapse
I solved it by calling wget on the ip address. Not much of a solution, but that's what I did.

wget bad address fixed
It seems wget does not use the same calls as ping. You are correct using an ip is not the correct way. It will work, but does not work on shared ip's even if you send the header HOST.
at least for android, bsd and linux will allow it. I have figured out how to fix this. It is still in alpha testing before the release.
Please check:
ln-s.net/8Xr9 to see if you need my fix.
if you do please email me and you will be added to the list.

Hi,
I came here seeking a solution to the issue as well. I appreciate the thread is old, but I thought I might shared what I have done to overcome the issue now that I have read this thread.
I appreciate this might seem obvious, or not what some users want to do, but it works for the purposes of working around wget's apparent inability to resolve hostnames:
url='[a URL]'
domain=`echo $url | sed 's-^[^/]*/*\([^/]*\)/\?.*$-\1-'`
ipaddr=`ping -c 1 $domain | sed -n '[email protected]^.*(\([0-9]*\.[0-9]*\.[0-9]*\.[0-9]*\).*[email protected]\[email protected]' | head -1`
req_url=`echo $url | sed "s-/[^/]\+-/$ipaddr-"`
Someone pointed out I could use nslookup instead of ping, but I chose ping because it seems to pick a particular address out of several, where nslookup seems to return a list of ip addresses in no particular order. Plus nslookup spits back out what dns server you are doing the lookup with, meaning I'd have had to use some uglier combination of line;line;head -1
Regards

Sweet! I can't wait to try it. Even if I had thought to try this, I never would have gotten the syntax right.

yaxattax said:
Hi,
I came here seeking a solution to the issue as well. I appreciate the thread is old, but I thought I might shared what I have done to overcome the issue now that I have read this thread.
I appreciate this might seem obvious, or not what some users want to do, but it works for the purposes of working around wget's apparent inability to resolve hostnames:
url='[a URL]'
domain=`echo $url | sed 's-^[^/]*/*\([^/]*\)/\?.*$-\1-'`
ipaddr=`ping -c 1 $domain | sed -n '[email protected]^.*(\([0-9]*\.[0-9]*\.[0-9]*\.[0-9]*\).*[email protected]\[email protected]' | head -1`
req_url=`echo $url | sed "s-/[^/]\+-/$ipaddr-"`
Someone pointed out I could use nslookup instead of ping, but I chose ping because it seems to pick a particular address out of several, where nslookup seems to return a list of ip addresses in no particular order. Plus nslookup spits back out what dns server you are doing the lookup with, meaning I'd have had to use some uglier combination of line;line;head -1
Regards
Click to expand...
Click to collapse
How can I use this with wget?

DroidVPN said:
How can I use this with wget?
Click to expand...
Click to collapse
Save this in a file called mywget.sh:
Code:
url=$1
domain=`echo $url | sed 's-^[^/]*/*\([^/]*\)/\?.*$-\1-'`
ipaddr=`ping -c 1 $domain | sed -n '[email protected]^.*(\([0-9]*\.[0-9]*\.[0-9]*\.[0-9]*\).*[email protected]\[email protected]' | head -1`
req_url=`echo $url | sed "s-/[^/]\+-/$ipaddr-"`
wget $req_url
And then do sh ./mywget http://www.domain.com/downloadpage.html

newb post for dev cred
nothing to see here.

I know this thread is kind of old, but I just wanted to link a better solution here
http://forum.xda-developers.com/showthread.php?t=998937

Neither solution works for me
Sepero said:
I know this thread is kind of old, but I just wanted to link a better solution here
http://forum.xda-developers.com/showthread.php?t=998937
Click to expand...
Click to collapse
This solution didn't work for me either.
And the one above neither, since ping has the same problem as wget.
How can busybox has such a big bug for years??
Thanks,
L.

luisflorit said:
This solution didn't work for me either.
And the one above neither, since ping has the same problem as wget.
How can busybox has such a big bug for years??
Thanks,
L.
Click to expand...
Click to collapse
I am surprised that this bug is still present in latest busybox.

paracha3 said:
I am surprised that this bug is still present in latest busybox.
Click to expand...
Click to collapse
Indeed, me too...

I have the same issue. Weirdly enough, when i write "busybox wget" it works
[email protected]:/data/local/tmp # which wget
/system/xbin/wget

Related

[MOD] Change WiFi hostname - for custom ROMs (Sept 23)

This is useful for identifying phones on the local networks by looking at DHCP lease tables in the routers. It doesn't make your phone appear on Windows networks, since the phone needs to broadcast NetBIOS name for that. If you want your phone to show up on Windows networks (and share files) - you need Samba server, and JimmyChingala is working on one.
ROM developers can insert the option to customize hostname using the way described below in their Spare Parts options. Feel free to do so.
[SOLUTION]
The following shell command does the job of changing WiFi hostname:
echo YOURHOSTNAME > /proc/sys/kernel/hostname
Click to expand...
Click to collapse
For the change to stay, it should be executed on each boot. And here the things start being more problematic.
For custom ROMs:
Most, if not all, custom ROMs include some user init shell script that will be executed on boot, making the solution easy.
Enter the following line in the Terminal / ADB shell:
echo "echo YOURHOSTNAME > /proc/sys/kernel/hostname" >> the_path_and_name_of_userinit_script.sh
chmod 777 the_path_and_name_of_userinit_script.sh
Click to expand...
Click to collapse
Several examples of custom ROMs and their userinit scripts:
Suggested - will work for most ROMs (creates another file in directory of autoexecuted scripts): /etc/init.d/88hostnameinit
Additional possibility for Enomther's ROM: /data/local/userinit.sh
Additional possibility for CyanogenMOD: /sd-ext/userinit.sh
For stock ROMs:
There is no autorun script for stock ROMs, so they have to be added through modifying boot.img. It's a complicated procedure, and even though guides exist for it - I suggest not to mess with it only because of the hostname. The easiest solution would be to create a script file with the line above using Gscript or other scripting solutions, and execute it after each reboot. If anyone really wishes to modify boot.img - I assume that he/she knows enough about Linux/Android since it can be relatively easily done only on Linux, can find the necessary guides with some googling (like I did), and in this case the modification is easiest to do directly in init.rc - changing "hostname localhost" to "hostname name_of_your_choice".
[ORIGINAL POST]
Hi people,
I'm not much of a dev, but I can find my way around with a bit of Google search And sorry about the links that don't link, new user's permissions don't allow me to...
Anyway, after messing with my router today I've noticed that Nexus transmits "localhost" as its host name to DHCP server, causing my DD-WRT to show it as "*". I went to Google and to my surprise, discovered that there isn't such an option in any Nexus ROM yet.
Found this: LINK_www_laslow_net_?p=501
To change your hostname on Cyanogen 5.x, add the following line to the bottom of /system/etc/init.d/01sysctl -- and make sure you make a backup of 01sysctl before editing it!
echo NEWHOSTNAME > /proc/sys/kernel/hostname
Click to expand...
Click to collapse
I tested it, and it didn't work. After booting, the file still read "localhost" in it, and the hostname on DHCP server reflected it.
But, I didn't get frustrated, connected with ADB, manually executed the command:
echo MyHostName > /proc/sys/kernel/hostname
checked that the file was overwritten, disabled WiFi, deleted DHCP lease, enabled WiFi back - and voila, I have a new hostname!
Then I went to search for hostname setting, which got me to /init.rc:
on boot
# basic network init
ifup lo
hostname localhost
domainname localdomain
Click to expand...
Click to collapse
Well, I guess that's the place. A tiny problem, though - it's in the boot image, which can't be easily modified. Thanks to the latest thread on update.zip creation I can probably do it myself, but I wanted to share the findings and ask for the correct way to implement.
There's a "dirty but functional" way of "disable WiFi - override /proc/sys/kernel/hostname - enable WiFi", and it's probably not a problem to stick it somewhere in the boot sequence, or even write an app that writes those changes to one of the boot scripts and allows configuration of host and domain names. But it's not the best way - DHCP might already give out a lease, and the new host name might not register.
And there's a correct (?) way of doing it, introducing it into init.rc. Since it's "on boot", I suppose that it runs after mounting the partitions - which means that the partitions are already accessible.
In this case, the best way would be executing a small shell script that would check for existence of, say, "/system/etc/settinghostdomainnames.rc" and create a default one if it's not there, then use "import /system/etc/settinghostdomainnames.rc" and set a manual trigger, like the guy is trying to do here:
LINK_groups.google.co.jp_group_android-developers_browse_thread_thread_e2f432707b735ff0
"trigger someeventtobringupnetworkinterface"
That would allow to use a custom setting for host and domain names that can be changed by SW, and adding that as another option into ROM Settings app or external app.
But the guy in question didn't succeed. What did he miss? Would it be better to do something like "on fakesystemproperty=something" and instead of manual trigger, doing "setprop fakesystemproperty something"?
I can probably test it and find out myself, but it would take loads of time compared to one of the kernel devs, and I don't even have the environment set up for modifying boot images. I was kinda hoping that one of the kernel devs would test it. I can write and post the modifications to init.rc and the custom script, they're very simple.
So, who can help me with answering the questions in the thread, and/or testing the modification?
Thanks! It's back.
Oh well, I'll keep preparing Ubuntu VM anyway
OK, first test fired - updated /init.rc in my own boot.img, checked the values. It's working, hostname is indeed modified.
Now I'll try to rewrite /init.rc in such way as to load the hostname setting from elsewhere, while not screwing the security. Will post results soon.
Setting it to the same value as the BT value would be ideal. I'm not sure how you could do that though, because the init scripts run before the frameworks load
Looking forward for a fix to this problem.
Update, but only partially on topic:
God, I hate SH scripting. Couldn't even google a normal tutorial that would explain where I went wrong. A script of 10 lines, and I can't make it work.
Let's see, I need something like this:
#!/system/bin/sh
echo "on service-exited-network_prepare" > /system/etc/net_init.rc
echo " ifup lo" >> /system/etc/net_init.rc
if [ -e "/system/etc/net_init.domain" ];
then
echo "hostname `cat /system/etc/net_init.host`" >> /system/etc/net_init.rc
else
echo "hostname localhost" >> /system/etc/net_init.rc
fi
if [ -e "/system/etc/net_init.domain" ];
then
echo "domainname `cat /system/etc/net_init.domain`" >> /system/etc/net_init.rc
else
echo "domainname localdomain" >> /system/etc/net_init.rc
fi
echo >> /system/etc/net_init.rc
Of course, this thing fails miserably with -
Syntax error: end of file unexpected (expecting "then")
What the hell am I doing wrong? Never used SH before, mostly tcsh and perl.
Thanks.
Oh well, I guess I got the problem.. Unix vs Windows file format. Sorry for bothering.
its always bothered me that you cant change the device name for wifi networks, and ive always looked for a way to change it.
kudos to you for the ambition and diligence to do it!
dont give up, if you can get it smoothed out enough im sure cyanogen will implement it in his next mod. ive always wished there was an option in wifi settings to change device name. itd be very useful for lan ip configuring and when your connected to a random hotspot lol
Ok, after fighting for a day, I still didn't manage to import another .RC file and run on service exit (I don't even see the trace of the process I'm trying to start - the first thing it does is attempting to write log, and there is no log, no matter where I put the start command), but at least for a "quick-and-dirty way" there's a very simple solution, given SD-EXT partition (I believe everyone creates it):
open terminal application, type the following command:
echo "echo YOURHOSTNAME > /proc/sys/kernel/hostname" > /sd-ext/userinit.sh
That would override the hostname of the system before boot completion.
After some reading, I believe there's nothing bad in setting the hostname twice - once default localhost in init.rc, and then overriding it using /proc/sys directory, Linux is designed to cope with that and hopefully so does Android.
So, as to pershoot's request, it's possible to write a small application to read Bluetooth device name value and write it as WiFi hostname, and include it in boot process right before 20userinit.
Now this is a task I'm not suitable for, I have no knowledge of frameworks whatsoever. Anybody up to the task?
Jack_R1 said:
After some reading, I believe there's nothing bad in setting the hostname twice - once default localhost in init.rc, and then overriding it using /proc/sys directory, Linux is designed to cope with that and hopefully so does Android.
So, as to pershoot's request, it's possible to write a small application to read Bluetooth device name value and write it as WiFi hostname, and include it in boot process right before 20userinit.
Now this is a task I'm not suitable for, I have no knowledge of frameworks whatsoever. Anybody up to the task?
Click to expand...
Click to collapse
I requested it and I'm not pershoot
Oops Sorry, my bad. Fever and lots of time in front of the computer don't do me good...
Kudos to you Jack_R1. Watching this.
Let me know if you need any help with shell scripting.
Gonna watch this and try it out later, the solution so far.
is this a stable fix?
is this confirmed to work?
Sorted out, updated with the most current info and several examples of custom ROMs.
Jack_R1 said:
Sorted out, updated with the most current info and several examples of custom ROMs.
Click to expand...
Click to collapse
I am running CM6 with a2sd and somehow the /sd-ext/userinit.rc is not executed. Even if I change permissions of the file to 777, it's not executed.
I also haven't found in init.d the script which executes userinit.rc, might be because I am running custom kernel? (wildmonks).
The only way for me to do it was to put the script in /etc/init.d/88userinit file and change it's permissions to 777
It's /scripts/userinit.sh, not userinit.rc
The execution of /sd-ext/userinit.rc used to be in /init.rc, in boot.img.
But the preferred way for most of the ROMs is to use /etc/init.d/ scripts anyway, since a lot of ROMs use them.
Changed the 1st post to reflect it.

[Q]X10mini pro and VPN PPTP (Cisco Router) possible?

Hi guys!
I´ve got problems to establish a connection to the university wlan network with my phone.
We´ve got a Cisco Router, so I need Cisco VPN support.
Any helpful suggestions for me?
Greetings, DaXmYsT
I asked SE, they sad they are not sure if they are intended to implement Cisco PPTP VPN support.
It is possible, but not easy at the moment... If you know linux well, look at the tun.ko module i compiled for the x10 mini and look for get-a-robot-vpnc packages and how to's. You'll have to fix the vpnc scripts but it works. Sorry i'm not at home and won't be able to share more than the kernel module i posted in the x10 mini forum...
Sent from my U20i using XDA App
I too am battling with this.
The vpnc-script as is stands does't work very well and is throwing up loads of errors. I had to install busybox on the device and set PATH so it used those commands so it could find things commands like "which" and "grep" etc. However simple lines in the script to set up variables such as
IPROUTE="`which ip | grep '^/' 2> /dev/null`"
Which is simply trying to set variable IPROUTE to the path where the command "ip" is found is failing, so I've set had to set up all the variable paths manually. I do not know why this is failing, but I suspect it's using "grep" is a slightly different manner to the busybox grep I have. grep didn't exist in /system/bin by default on my phone. (Debranded x10 on Voda)
However the big problem I've now discovered is the "route" command. The default in /system/bin fails miserably with the commands in the script and the busybox route command doesn't support all the options either.
So I'm now working out what the script is trying to do with the routing table so I can set all this manually...
...but appreciate any help!
UPDATE: Well I got vpnc working - turned out my version of busybox was waaay out of date. Installed the latest and it works just fine. Of course now I can connect via RDP to my work machine over my VPN I very much doubt I'll ever want or need to!
Which busybox version are you using?
Also which app from the market?
Thanks!
I am using busybox 1.16.1 downloaded from busybox - I then had to copy the binary over to my phone and installed it in /system/sbin
this caused me a few issues as in init.rc it sets up the path /system/sbin before /system/bin so applets from busybox took priority over /system/bin.
So I had to remove the "ps" and the "su" commands IIRC.
However doing it the other way would have also caused issues, as "route" only worked when I used the busybox 1.16.1 and not the one currently in my /system/sbin
Other strange oddities also included the fact that rmmod from busybox didn't work but it did from the original /system/bin.
meh
I then also got the latest get-a-robot-vpnc.
I also needed the tun module, which I placed into /system/lib/modules
get-a-robot-vpnc didn't automatically install this module correctly though so I modified the scrip to ensure that when I used it the tun.ko module was loaded....
Code:
TUNTEST="`lsmod | grep 'tun'`"
if [ -z "$TUNTEST" ]; then
echo "tun not found try to install"
insmod -f /system/lib/modules/tun.ko
else
echo "tun module installed"
fi
Which seemed to do the trick.
I also had to put in my appropriate flags for vpnc.
Essentially I got it working first just using the shell and typing the commands manually and then got it working with the GUI.
I do not understand you mean that the included VPN client in Mini does not work with cisco VPN (pptp)?
Because for me it worked with a cisco vpn 3000.You say that you do pptp but which one (it could be pptp over ipsec?)
However, there is a free client on the market called "vpn connection", which work very vell with cisco equipement, it worked like a charm on my dream, but only on wifi as my phone provider do not let pass ipsec or pptp/ipsec.
Bye
Herc.

[Q] VPN Connections - anybody running on Archos 70 IT ?

Hello,
I'm trying to connect to a Cisco VPN client by using VPN Connections on an Archos 70 IT 250 GB, that is rooted.
I always get a "Connection failed" message, after which the app crashes.
Did anyone succeed in getting VPN Connections working on Archos 70 IT ?
Regards,
Tonny
TonnyVanmunster said:
Hello,
I'm trying to connect to a Cisco VPN client by using VPN Connections on an Archos 70 IT 250 GB, that is rooted.
I always get a "Connection failed" message, after which the app crashes.
Did anyone succeed in getting VPN Connections working on Archos 70 IT ?
Regards,
Tonny
Click to expand...
Click to collapse
Hi,
I used to have the same error on my Galaxy S, when trying to create a VPN tunnel to my companies CISCO gateway.
The problem seems to relate to the missing tun.ko library.
I'm not sure if the Samsung Galaxy files will work for Archos, but you might want to adapt and try the following how-to: http://forum.xda-developers.com/showthread.php?t=793712&highlight=tun.ko
Regards,
Patrick
TonnyVanmunster said:
Did anyone succeed in getting VPN Connections working on Archos 70 IT ?
Click to expand...
Click to collapse
I found a possible clue. After trying several free pptp vpn services and noticing that it seemed to resolve a url one time then just hang, I set up a vpn on my lan and tried the local coffee shop connection to access it. I found that if encryption was completely disabled on the lan vpn and unchecked on the 70 IT, it would connect and I could browse, check email, etc. As soon as I set the policy on the vpn server to enable any level of encryption it was back to the resolve 1 url and hang behavior. Of course an unencrypted vpn is about as worthless as t*ts on a bull but it's the only clue I've found. As a control, I tried an ip*d touch w/encryption on against the same vpn with all levels enabled and that worked.
If anybody else who's running a local vpn can duplicate and confirm this, it's a step in the right direction!
VPN Connections 0.99 (aka get-a-robot-vpnc) working on A101IT with urukdriod-0.6
I've managed to make get-a-robot-vpnc (aka VPN Connections 0.99) work on urukdroid0.6 on Archos 101 IT.
There are two issues with default vpnc.script, and one issue with output of 'ps' command needed by VPN Connections 0.99 GUI, to check is there a connected vpnc process.
Resolving vpnc.script issues:
1. Symbolic link is missing that links /bin/busybox (or /usr/local/bin/busysbox on urukdroid) to 'which' command (cd /usr/local/bin; ln -s busybox which)
2. Symbolic link is missing that links /bin/busybox (or /usr/local/bin/busysbox on urukdroid) to 'ip' command (cd /usr/local/bin; ln -s busybox ip)
$aur0n told me that this two commands/links will be included in urukdroid-0.7.
Resolving GUI 'ps' issue (a bit harder ):
VPN COnnections GUI do 'ps | grep 'vpnc$' to see is there active vpnc process (established connection), but output of 'ps' command(s) found on urukdroid is not what GUI expects, so it cannot find vpnc proccess even if it is running and VPN is established.
On urukdroid there is 2 versions of 'ps' command:
1st is /bin/ps which is symbolic link to /bin/busybox (very old version of busybox (1.7.2, I believe) and output of ps this command is not suitable for VPN Connections (GUI)
2nd is /usr/local/bin/ps which is native ps command, but its output is also not suitable for VPN Connections (GUI)
There is a (hidden ) 3rd 'ps' command in /usr/local/bin/busybox (that version of busybox is 1.17.2) - but also not suitable output for VPN Connections (GUI).
Experimenting a bit I've found that '/usr/local/bin/ps -A' gives an suitable output, so I:
1. renamed /usr/local/bin/ps to /usr/local/bin/ps.new
2. made a script /usr/local/bin/ps with:
Code:
#!/bin/sh
ps.new -A
exit $?
3. chown root:root /usr/local/bin/ps; chmod 755 /usr/local/bin/ps
After that, everything worked.
Hope this solves issues for some of you
P.S. Forgot to mention - urukdroid 0.7 will have its own vpnc service built-in.
Works in UD 1.5
nenadr said:
I've managed to make get-a-robot-vpnc (aka VPN Connections 0.99) work on urukdroid0.6 on Archos 101 IT.
There are two issues with default vpnc.script, and one issue with output of 'ps' command needed by VPN Connections 0.99 GUI, to check is there a connected vpnc process.
Resolving vpnc.script issues:
1. Symbolic link is missing that links /bin/busybox (or /usr/local/bin/busysbox on urukdroid) to 'which' command (cd /usr/local/bin; ln -s busybox which)
2. Symbolic link is missing that links /bin/busybox (or /usr/local/bin/busysbox on urukdroid) to 'ip' command (cd /usr/local/bin; ln -s busybox ip)
$aur0n told me that this two commands/links will be included in urukdroid-0.7.
Resolving GUI 'ps' issue (a bit harder ):
VPN COnnections GUI do 'ps | grep 'vpnc$' to see is there active vpnc process (established connection), but output of 'ps' command(s) found on urukdroid is not what GUI expects, so it cannot find vpnc proccess even if it is running and VPN is established.
On urukdroid there is 2 versions of 'ps' command:
1st is /bin/ps which is symbolic link to /bin/busybox (very old version of busybox (1.7.2, I believe) and output of ps this command is not suitable for VPN Connections (GUI)
2nd is /usr/local/bin/ps which is native ps command, but its output is also not suitable for VPN Connections (GUI)
There is a (hidden ) 3rd 'ps' command in /usr/local/bin/busybox (that version of busybox is 1.17.2) - but also not suitable output for VPN Connections (GUI).
Experimenting a bit I've found that '/usr/local/bin/ps -A' gives an suitable output, so I:
1. renamed /usr/local/bin/ps to /usr/local/bin/ps.new
2. made a script /usr/local/bin/ps with:
Code:
#!/bin/sh
ps.new -A
exit $?
3. chown root:root /usr/local/bin/ps; chmod 755 /usr/local/bin/ps
After that, everything worked.
Hope this solves issues for some of you
P.S. Forgot to mention - urukdroid 0.7 will have its own vpnc service built-in.
Click to expand...
Click to collapse
Just wanted to say thanks! I'm using Urukdroid 1.5 and had the same issue. Used your trick and now VPNC connects to my companies VPN ^_^

[Q] Spoofing MAC address on the Nexus 7 FLO with KitKat

I recently bought a Nexus 7 Flo tablet running the latest Android 4.4. I've since been trying to spoof a MAC address on it, but for some reason the wireless card seems to refuse to use the spoofed mac no matter what I do.
There's a more detailed discussion what I've tried in android.stackexchange.com/questions/57922/wifi-network-not-accessible-with-modified-mac-address (forum won't let me link), but I'll repeat the main points here. I have tried both ip link set wlan0 address XX:XX:XX:XX:XX:XX and busybox ifconfig wlan0 hw ether XX:XX:XX:XX:XX:XX. They both result in the MAC address being changed as far as I can tell from the output of ip link and busybox ifconfig, but when connecting to a network with MAC filtering with the spoofed MAC address being allowed, the device fails to connect. /sys/class/net/wlan0/address also shows the spoofed address. If I use the device's stock MAC and add this to the filter on the AP, then the device connects successfully.
Has anyone experienced anything similar on KitKat devices?
Jonhoo said:
Has anyone experienced anything similar on KitKat devices?
Click to expand...
Click to collapse
Haven't tried anything, yet. Just wondering if you've had any success with this since it's been a while. Thanx=)
pan.droid said:
Haven't tried anything, yet. Just wondering if you've had any success with this since it's been a while. Thanx=)
Click to expand...
Click to collapse
No, unfortunately not. I ended up buying a Samsung Galaxy S II where I can change the MAC successfully for demo purposes. I would still really like to get this working on an up-to-date tablet though..
Bummer. Okay, thanx.
---------- Post added at 03:54 PM ---------- Previous post was at 03:53 PM ----------
This is hopeful, but not a silver bullet... http://forum.xda-developers.com/showthread.php?t=2180809
pan.droid said:
This is hopeful, but not a silver bullet... http://forum.xda-developers.com/showthread.php?t=2180809
Click to expand...
Click to collapse
Interesting...
There seems to be a couple of suggestions here that I will try when I get back to work next week:
- Enable Airplane mode before changing the MAC, then turn airplane mode off again and your WiFi should work
- Deleting /persist/wifi before changing the MAC
- Using this spoofing app
Good news everyone!
/persist/wifi/.macaddr seems to be the key to changing the MAC, *and* it allows the MAC to be changed *permanently*!
Code:
$ adb shell
$ su
# cd /persist/wifi
# echo -n "112233445566" > .macaddr
# ^D
$ ^D
$ adb reboot
And voilà, MAC changed even after reboot, and connects without a problem!
Jonhoo said:
Good news everyone!
/persist/wifi/.macaddr seems to be the key to changing the MAC, *and* it allows the MAC to be changed *permanently*!
Code:
$ adb shell
$ su
# cd /persist/wifi
# echo -n "112233445566" > .macaddr
# ^D
$ ^D
$ adb reboot
And voilà, MAC changed even after reboot, and connects without a problem!
Click to expand...
Click to collapse
Hi,
I stumbled upon your post. I'm trying to do the same on my Nexus 5. I found your method works in changing my MAC address but it doesn't change to the string I put in the quotes. What I found is that the address I end up with is the unicode values of the first 6 characters. Is there some special format for this file?
Thanks!
tmagritte said:
I found your method works in changing my MAC address but it doesn't change to the string I put in the quotes. What I found is that the address I end up with is the unicode values of the first 6 characters. Is there some special format for this file?
Click to expand...
Click to collapse
Hmm, that's quite strange. From what I remember, simply using echo worked fine for me.
What you can do instead is this:
Code:
echo -ne '\x11\x22\x33\x44\x55\x66' > .macaddr
Let me know if it works!
Jonhoo said:
Hmm, that's quite strange. From what I remember, simply using echo worked fine for me.
What you can do instead is this:
Code:
echo -ne '\x11\x22\x33\x44\x55\x66' > .macaddr
Let me know if it works!
Click to expand...
Click to collapse
Brilliant!
Thanks so much!
---------- Post added at 01:31 PM ---------- Previous post was at 01:31 PM ----------
I'm guessing for some reason on the Nexus 7 it uses a text file but a binary file on the Nexus 5...
I also found a couple of ways to activate the new MAC address without requiring a reboot. This is useful if you want to be able to change MAC address dynamically using Tasker or similar.
The least obtrusive method I found is adding:
busybox ifconfig wlan0 down
busybox ifconfig wlan0 up
commands after the echo command. This will briefly turn off the WiFi adapter and when it comes back on it will have the new MAC address. I actually found the busybox ifconfig wlan0 up command isn't strictly necessary, at least on the Nexus 5, as it seems to get reactivated automatically after you take it down.
You can confirm the new MAC is in effect by opening a new terminal emulator window and running:
busybox ifconfig wlan0
Interestingly, if you go into Wifi Settings, under advanced settings it still shows the old MAC address but the WiFi adapter is clearly running with the new one as indicated by ifconfig and the ability to connect to a MAC filtered router.
Alternatively, toggling on then off airplane mode will also activate the new MAC and it even shows the new MAC under the advanced WiFi settings.
I like the first option as you'd be able to automate dynamic changes for a particular network without the risk of interrupting voice or cellular data connections when it happens.
tmagritte said:
The least obtrusive method I found is adding:
busybox ifconfig wlan0 down
busybox ifconfig wlan0 up
Click to expand...
Click to collapse
I tried using the approach above to reset the MAC on-the-fly, but it doesn't seem to work on my Nexus 5 4.4.4.
For now I'm sticking with "reboot" at the end of my .sh script, which works well. Any thoughts / advice are appreciated. Thanks!
great but
Jonhoo said:
Good news everyone!
/persist/wifi/.macaddr seems to be the key to changing the MAC, *and* it allows the MAC to be changed *permanently*!
Code:
$ adb shell
$ su
# cd /persist/wifi
# echo -n "112233445566" > .macaddr
# ^D
$ ^D
$ adb reboot
And voilà, MAC changed even after reboot, and connects without a problem!
Click to expand...
Click to collapse
helo i tried u r method and i succeed the problem its gaining random mac address not specified mac address i would like to copy iPhone mac address to my android but it is failed please help me
Hi everyone,
Does anyone know how to remove this method of mac change and go back to the original?
Many thanks!

[Q] [XPERIA P] Configuring wireless adapter

Hi,
The goal of my project is to implement mobile ad-hoc network routing protocol(AODV).
My problem is that I need to reconfigure the wireless driver/adapter to be able to work in ad-hoc mode. This means receiving packets from other nodes and resending packets if 2 nodes which want to communicate are far away from each other.
I don't have experience with drivers changing and I'm noob in Linux.
For better imagination, I've got source code for the Nexus One and HTC Hero and this code should be able to change wireless drivers configuration on these devices.
Here's the code for Nexus One:
Code:
case 0: //NEXSUS
system("insmod /system/lib/modules/bcm4329.ko");
snprintf(cmd, sizeof cmd, "ifconfig eth0 %s netmask 255.255.255.0", ip);
printf("\ncmd: %s\n", cmd);
system(cmd);
system("ifconfig eth0 up");
system("iwconfig eth0 mode ad-hoc");
system("iwconfig eth0 essid nexusbac");
system("iwconfig eth0 channel 6");
system("iwconfig eth0 commit");
break;
And here for the HTC Hero
Code:
system("insmod /system/lib/modules/wlan.ko");
system("wlan_loader -f /system/etc/wifi/Fw1251r1c.bin -e /proc/calibration -i /data/local/bin/tiwlan.ini");
snprintf(cmd, sizeof cmd, "ifconfig tiwlan0 %s netmask 255.255.255.0", ip);
system(cmd);
system("ifconfig tiwlan0 up");
break;
I was wondering if you could give me some advice what commands to use.
My Sony Xperia P is Rooted and I'm using Honami Moonwalker V8 ROM.
It seems that command ifconfig is not working. If I try to execute e.g
Code:
ifconfig eth0 up
android shell throws this error:
ifconfig eth0 up
error: SIOCGIFFLAGS (No such device)
Thank you for your answers. I really appreciate the time you give to this thread.
Try wlan0
ChikeD said:
Try wlan0
Click to expand...
Click to collapse
thanks ChikeD, it seems that wlan0 works fine for ifconfig but it seems that iwconfig binary is missing. Are there any alternatives for this shell command in Android?
I tried to use iwconfig binary from Android tethering project but using it throws an error like this:
Code:
[email protected]:/ # iwconfig wlan0 essid xperiaP
SET failed on device wlan0; Invalid argument
Ageiris said:
thanks ChikeD, it seems that wlan0 works fine for ifconfig but it seems that iwconfig binary is missing. Are there any alternatives for this shell command in Android?
I tried to use iwconfig binary from Android tethering project but using it throws an error like this:
Code:
[email protected]:/ # iwconfig wlan0 essid xperiaP
SET failed on device wlan0; Invalid argument
Click to expand...
Click to collapse
There is iw binary see what you can make out of that.
ChikeD said:
There is iw binary see what you can make out of that.
Click to expand...
Click to collapse
Thanks, this looks very interesting. I'll give some feedback later if I manage to make it work
Ageiris said:
Thanks, this looks very interesting. I'll give some feedback later if I manage to make it work
Click to expand...
Click to collapse
You changing the driver source?
ChikeD said:
You changing the driver source?
Click to expand...
Click to collapse
I just need to make it work in the ad-hoc mode. If think it's an IBSS mode. I just need to figure out, how to setup this type of connection
Ageiris said:
I just need to make it work in the ad-hoc mode. If think it's an IBSS mode. I just need to figure out, how to setup this type of connection
Click to expand...
Click to collapse
Assuming(thinking) is not an option.
From a brief look at the sources it seems the ad-hoc is not implemented.
ChikeD said:
Assuming(thinking) is not an option.
From a brief look at the sources it seems the ad-hoc is not implemented.
Click to expand...
Click to collapse
Sorry for delay.
So you don't consider an IBSS mode as a true ad-hoc mode? Am I right? I thought that IBSS is like a synonym of the term "ad-hoc"
According to this website: http://en.kioskea.net/contents/804-wifi-modes-of-operation-802-11-or-wi-fi
It should be the same.
To my problem. I've made this commands to work:
Code:
/*Bring the interface up (an additional step like rfkill unblock wifi might be needed: ip link set wlan0 up*/
system("iw dev wlan0 set type ibss"); //Set the operation mode to ibss ):
system("iw dev wlan0 ibss join MyAdHocNetwork 2412") //frequency for channel 6: 2437, 2412 for channel 1...
system("ip addr add 192.168.1.2/24 broadcast 192.168.1.255 dev wlan0");
system("ip route add default via 192.168.1.1");
What do you think?
Thanks
Seems so, does it work?
ChikeD said:
Seems so, does it work?
Click to expand...
Click to collapse
I don't know yet. I seems that everything is set up. Now I need to buy at least another xperia p or similar smartphone to test communication.
I am now trying to run ad-hoc mode on HTC Desire and Tablet Prestigio Multipad 3270b. But it's pain, because they don't have iwconfig and iw binaries.
Ageiris said:
I don't know yet. I seems that everything is set up. Now I need to buy at least another xperia p or similar smartphone to test communication.
I am now trying to run ad-hoc mode on HTC Desire and Tablet Prestigio Multipad 3270b. But it's pain, because they don't have iwconfig and iw binaries.
Click to expand...
Click to collapse
So what is the purpose of this?
Doesn't have to be a smartphone, you can do it with a wireless pc/laptop
http://windows.microsoft.com/en-us/windows/set-computer-to-computer-adhoc-network#1TC=windows-7
http://www.tp-link.com/en/article/?id=219
ChikeD said:
So what is the purpose of this?
Doesn't have to be a smartphone, you can do it with a wireless pc/laptop
http://windows.microsoft.com/en-us/windows/set-computer-to-computer-adhoc-network#1TC=windows-7
http://www.tp-link.com/en/article/?id=219
Click to expand...
Click to collapse
Thanks for the links. The goal of my project is to run ad-hoc mode on android. I will definitely test this later using windows but I am running out of time, so I'm focusing mainly to at least changing wireless mode from managed to ad-hoc. That's the most difficult thing because right now I am not able to change wireless mode on HTC and Prestigio using linux system commands. Maybe there is a way to change wireless mode programmatically (Java or C) but I haven't found that information yet.

Categories

Resources