Any wifi fix for calkulin rom
Before I answer your question, you need to answer mine. What medicine do I need to take for my illness?
For simplicity, I'll assume that the problem your having is that the wifi doesn't connect when the the radio is turned off.
This is a known issue and can be solved by turning the wifi radio on.
Ok, your probably wondering why it takes so long to connect when the screen turns on. Today I went into wifi settings and set the wifi sleep policy to never. I haven't seen a bad hit to battery life, but it's only been a day.
it disconnects and connect
It disconnect and connect
Can you at least give us a clue on which version of calkulin you're using and which kernel?
luis250 said:
It disconnect and connect
Click to expand...
Click to collapse
Every 5 or 10 mins? If so, I may be able to help.
Do this:
1. Reboot the gTablet.
2. After the tablet's booted, run a Terminal Emulator app. (You can also run the commands after "adb shell").
3. Inside the Terminal Emulator, type this (don't type in the '$' prompt):
Code:
$ dmesg > /mnt/sdcard/dmesg.txt
$ ls -l /system/lib/hw/wlan/ > /mnt/sdcard/wlan.txt
Transfer both the text files to your PC and attach them to your next post so I can look at them.
(tl;dr, experienced modders: skip to the steps section below)
I've spent several days trying to set up sharing of my mobile phone's Internet connection with my tf201. The phone (Nokia 6120 classic, running Symbian S60) has neither WIFI, nor bluetooth PAN (don't worry, the terminology is explained below), and there's no PDANet version available for it, which left me with two ways to tether with it: wired USB connection or bluetooth DUN. I show here how to configure both. You might want to do this if you're in a similar position as myself, but also if you want to replace wifi tethering with bluetooth DUN (bluetooth is said to be less power-hungry).
While I'd like the howto to be accessible to novices (such as myself), I can't cover basic/trivial parts and in general will assume a reader capable of googling and with a basic Linux familiarity.
This post does NOT relate to the issue of enabling bluetooth DUN on your Android phone or changing the server side of the connection in other ways. Please don't comment about that in this thread.
My primary source is this outstanding article in Russian, which solves the same problem for a different tablet: notioninkinfo.ru/telefon_kak_3g_edge_modem_dlya_adama/
The process turned out to be much simpler for Prime, since it has most of the necessary software in place.
Background
Sharing internet connection from your mobile phone to another device is called "tethering". Obviously, tethering has great importance when mobile devices are involved, thus a naive soul could hope that it works perfectly in Android. Surprisingly, the opposite is the truth: Android hates tethering with passion; so much that (stupidity being inapplicable) I have no choice but to suspect malice on Google's/ASUS's part. It's not that they lack the resources to implement it; or that the feature requires some kind of special know-how they don't have. No: all these features are present and work in vanilla Linux; the appropriate kernel drivers exist and work; in some cases, the features worked in earlier versions of Android, but have been disabled in later ones. Some bugtracker issues related to this have not received any attention, despite having tens to hundreds of comments from angry users. code.google.com/p/android/issues/detail?id=16717&q=dun&colspec=ID%20Type%20Status%20Owner%20Summary%20Stars
/rant
About tethering
There are multiple ways to do tethering that I know of (and probably then a few more). Most of them, unfortunately, are not enabled out of the box or even implemented in Prime at all.
1. Wifi hotspot: this works well *if* your phone supports it. "Hotspot" means that the device acts as a kind of router that is "meant" to accept connections from other devices and not just "happens" to have wifi. AFAIK, from the practical perspective, the only distinction is that the devices present themselves differently.
2. Adhoc wifi: this is the opposite of "hotspot wifi". Transformer Prime with Ice Cream Sandwich (ICS) does not currently support connecting to an adhoc wifi network directly. The feature was present and worked fine in some previous Android versions, but thanks to an offending kernel commit, no longer works in ICS. The only known workarounds are PDANet (see below) or making a custom ROM with a patched kernel. I don't recommend trying the latter at this time, as very few brave souls have already done it, and that was the last anyone heard of them I don't know if all the issues have been ironed out.
3. Bluetooth. There are two ways of connecting through Bluetooth (that I know of). In order to work, both require certain capabilities, or profiles, to be enabled on your phone. It is quite possible none of the two profiles are enabled or even implemented, in which case you're screwed.
3.1. PAN (Personal Area Network): treats the phone as an intelligent device. When connecting to the Internet, the client "asks" the server to establish the link and only forward data from and to the client. This is one of the best ways to do tethering, and fully supported by Prime's user interface out of the box.
3.2. DUN (Dial-Up Networking): treats the phone as a "dumb" device: the client takes over the phone's modem and uses it directly by sending it both commands and data through an emulated serial (RS232) link. This has several disadvantages, among them it requires the client to be aware of the line provider's dial-up config, such as service number, service name, user and password. Prime does not support it out of the box, despite (as we will see) having adequate hardware and software for it.
4. PDANet: this is an application (accessible from the market) that somehow circumvents Prime's and Android's restrictions on wifi and BT connectivity. You install it on both devices, configure it, and it should work. This method is only applicable to a few platforms that PDANet supports, including Android, but not Symbian.
5. USB: if your Prime has the dock, you've got a full-size USB port on it, which can act as a USB host. You can use this port to connect to your mobile phone (if your phone supports it). In some cases, connecting the phone will cause the Prime to discover the phone's modem, and once it is discovered, you can use it just like DUN.
Methods available out of the box: (1), (3.1). Methods this howto is concerned with: (3.2) and (5).
Prerequisites
1. Ice Cream Sandwich (ICS). It is possible the guide will work with earlier versions, but I didn't try it.
2. The tablet is rooted.
3. adb is installed.
There are plenty of other topics that explain how to get these.
Steps
(Note that I'm writing this from memory, so some inaccuracies are inevitable.)
1. connect the tablet to your PC with adb and execute:
Code:
adb shell
2. become superuser:
Code:
su
3. make /system writable:
Code:
mount -o rw,remount /system
4. download the attached ppp scripts
5. download a pre-compiled rfcomm binary here: omappedia.org/wiki/Android:_Working_with_pre-built_binaries
... or build it yourself. Or, if you're stupid enough to trust a random person on the internet, you can use the rfcomm binary included in the attachment.
6. gather the necessary info:
6.1. for USB:
6.1.1. connect your phone to the tablet by USB cable and try to make the tablet recognize it as a modem. This could vary from phone to phone. My 6120c Nokia needs to be connected in "Nokia PC Suite" mode.
6.1.2.
Code:
ls /dev/tty*
. If it worked, you should see new device(s) in the list. In my case, I got /dev/ttyACM0 and /dev/ttyACM1. I'm not sure why it creates two devices instead of one, but using /dev/ttyACM0 seems to work fine.
6.2. for DUN:
6.2.1. enable bluetooth both in the tablet and in the phone and pair them
6.2.2.
Code:
sdptool search DUN
The output should look like this:
Code:
Searching for DUN on [B]00:1E:A4:66:94:2E[/B] ...
Service Name: Dial-Up Networking
Service RecHandle: 0x10019
Service Class ID List:
"Dialup Networking" (0x1103)
Protocol Descriptor List:
"L2CAP" (0x0100)
"RFCOMM" (0x0003)
Channel: [B]2[/B]
7. Using the above information, fill the placeholders in the scripts you downloaded. In particular, the following must be replaced with real settings:
7.1. the device on line 8 in 3g_usb. Replace "/dev/ttyACM0" with the device you got in step 6.1.2
7.2. MAC and channel in 3g_bt_up. Use the values you got in step 6.2.2.
7.3. username and password in 3g_usb and 3g_bt. If you can use mobile internet from your phone, these values are already stored in the phone, so you just need to find them in the settings. Failing that, search for the correct values for your operator on the net (they are often the same for all users of the operator) or inquire the operator.
7.4. host name in 3gchat. Again, this varies from operator to operator. Note that the host name need not end with "com" or another valid root domain, and can thus sound nonsensical, e.g. "internet.internet". In my case (Israeli operator called Rami Levi), it was "internet.rl".
7.5. There are more operator-specific settings you might need to change in 3gchat, e.g. the dial-up number. In case the current value (*99***1# in my script) doesn't work, you can most likely find those on the net. If it doesn't work, search the net with query like "pppd chat <MY OPERATOR>" (without the quotes).
8.
Code:
adb push 3gchat /etc/ppp/
adb push 3g_bt_pdown /system/bin/
8.1. for usb connectivity:
Code:
adb push 3g_usb /etc/ppp/peers/
adb push 3g_usb_pup /system/bin/
6.2. for DUN connectivity (mind the trailing slashes):
Code:
adb push 3g_bt /etc/ppp/peers/
adb push 3g_bt_pup /system/bin/
adb push rfcomm /system/xbin/
7.
Code:
adb shell
chmod 0755 /etc/ppp/3gchat /system/bin/3g_usb_pup /system/bin/3g_usb_pdown /system/bin/3g_bt_pup /system/bin/3g_bt_pdown /system/xbin/rfcomm
8. try running 3g_bt_pup and 3g_usb_pup in adb
9. if it works, find a way to run these scripts directly on the Prime. E.g., you might want to make a GUI launcher for every one of 3g_bt_pup, 3g_usb_pup, 3g_pdown. The author of the original article recommends an app called GScript. I personally never tried it, as I just use Terminal Emulator from the market.
10. (Don't forget to remount /system in ro mode.)
Known issues
1. DNS refuses to work when you connect through the scripts. A workaround that I found is to connect to a wifi, then disconnect, then connect using the scripts. DNS will continue working until the next reboot. (I didn't have enough time to play with it yet, so not sure this is consistent.)
2. I consistently get 2-3 times slower download speed through DUN than through USB. Perhaps this has something to do with my phone, OTOH could be a problem in the scripts.
Enjoy! Corrections, tweaks, fixes are welcome.
Thank you very much!
I was trying to bring the tablet into the internet using bluetooth DUN for days. Your rfcomm, skripts and complete explanations did the trick: Archos G9 10.1 with Android 4.0.4 (Archos: 4.0.25) connects to Nokia N79 and dials into the internet.
neatfires said:
Known issues
1. DNS refuses to work when you connect through the scripts. A workaround that I found is to connect to a wifi, then disconnect, then connect using the scripts. DNS will continue working until the next reboot. (I didn't have enough time to play with it yet, so not sure this is consistent
Click to expand...
Click to collapse
Do you already have a solution for this problem?
I see strange behavior:
What I tried:
I had a look into syslog (using logcat) which reveals the DNS servers of the 3g provider.
Then I entered this IP-address in /etc/resolv.conf
Result:
* traceroot resolves the names but
* ping does not,
* ICS Browser+ does not and
* K9 does not resolve the DNS names
Do you have any idea how this problem could be solved?
Best regards,
Pfeffer2de.
Hi pfeffer2de,
Unfortunately, I don't have any other solution to this problem than the workaround I mentioned (connecting to the wifi before using DUN). I haven't used DUN at all since late spring, so I have no new input on this. If you find a solution, please post it here for other people to learn about it.
Hi neatfires!
neatfires said:
Unfortunately, I don't have any other solution to this problem than the workaround I mentioned (connecting to the wifi before using DUN). I haven't used DUN at all since late spring, so I have no new input on this. If you find a solution, please post it here for other people to learn about it.
Click to expand...
Click to collapse
I have to admit that I do not really understand what do you mean: Of couse the tablet has been connected to an Wifi access point some time before.
I rooted the device, connected to a wifi hotspot, made your steps and connected bluetooth DUN finally. Ok, I had some tries to succeed in connecting DUN. Anyway I had the DNS problems. So what is the difference to your work a round, at what point in time the wifi should be connected?
BTW: I switched wifi off before connecting bluetooth DUN.
Best regards,
Pfeffer2de.
pfeffer2de said:
Hi neatfires!
I have to admit that I do not really understand what do you mean: Of couse the tablet has been connected to an Wifi access point some time before.
I rooted the device, connected to a wifi hotspot, made your steps and connected bluetooth DUN finally. Ok, I had some tries to succeed in connecting DUN. Anyway I had the DNS problems. So what is the difference to your work a round, at what point in time the wifi should be connected?
BTW: I switched wifi off before connecting bluetooth DUN.
Best regards,
Pfeffer2de.
Click to expand...
Click to collapse
I can't remember all the details now, but the post says that you need to connect to a wifi, and then DNS works until the reboot, so it must be true . Anyway, try this:
1. fill in a valid DNS host in resolv.conf
2. connect to a wifi network, make sure you can reach internet
3. disconnect from the wifi network, but don't turn off the wifi
4. connect through the DUN
If it works, try doing the same but turn off the wifi. I can't remember currently if I had to have wifi on or off (I think I didn't), but this is the only thing I can think of.
Almost working, bit missing on
neatfires said:
I can't remember all the details now, but the post says that you need to connect to a wifi, and then DNS works until the reboot, so it must be true . Anyway, try this:
1. fill in a valid DNS host in resolv.conf
2. connect to a wifi network, make sure you can reach internet
3. disconnect from the wifi network, but don't turn off the wifi
4. connect through the DUN
If it works, try doing the same but turn off the wifi. I can't remember currently if I had to have wifi on or off (I think I didn't), but this is the only thing I can think of.
Click to expand...
Click to collapse
I tried it on my Motorola Atrix 4G which doesn't support 'reverse DUN' as such and I had to use my GPRS phone due to data plans reaching limits on Atrix 4G.
OK, here is original '3gchat' file, I just filled in releavant APN
--------------------------------------------------------------------------
#!/system/bin/sh
exec /system/bin/chat \
TIMEOUT 5 \
ECHO ON \
ABORT '\nBUSY\r' \
ABORT '\nERROR\r' \
ABORT '\nNO ANSWER\r' \
ABORT '\nNO CARRIER\r' \
ABORT '\nNO DIALTONE\r' \
ABORT '\nRINGING\r\n\r\nRINGING\r' \
'' AT \
OK ATH \
OK ATE1 \
OK 'AT+CGDCONT=1,"IP","<APN>","0.0.0.0",0,0' \
OK ATDT*99***1# \
TIMEOUT 22 \
CONNECT ""
----------------------------------------------------------------------------
It hangs at $ exec /system/bin/chat \ 'Permission Denied'
If i delete above line (exec /system/bin/chat \ ) from 3gchat, it connects and remain conencted to BTDUN to my GPRS phone until I diconenct it, however there is no data. Following is after deleting line "exec /system/bin/chat \ "
-----------------------------------------------------------------------------
#!/system/bin/sh
TIMEOUT 5 \
ECHO ON \
ABORT '\nBUSY\r' \
ABORT '\nERROR\r' \
ABORT '\nNO ANSWER\r' \
ABORT '\nNO CARRIER\r' \
ABORT '\nNO DIALTONE\r' \
ABORT '\nRINGING\r\n\r\nRINGING\r' \
'' AT \
OK ATH \
OK ATE1 \
OK 'AT+CGDCONT=1,"IP","<APN>","0.0.0.0",0,0' \
OK ATDT*99***1# \
TIMEOUT 22 \
CONNECT ""
---------------------------------------------------------------------------------
Infact, there wasn't any /system/bin/chat directory so I created one to comply with 3gchat sript. Yet above permission denied issue remained, until I deleted the "exec...." line.
I found someone adding follwing line in the shell script file connecting his chat file to /usr/sbin/chat :
connect '/usr/sbin/chat -v -f /etc/ppp/<chatfile name>'
Above quotes /usr/sbin/chat while '3gchat' script uses /system/bin/chat.
I am missing something here.
One a side note, I tried BlueVPN from the marked which worked.
UPDATEver
OK I installed BlueDUN on my Xolo X900 (which doesn't support reverseDUN, i.e. it doesn't natively support Bluetooth Dial-Up Modem profile, butr it can dial-up other Bluetooth Dial-Up Modems, i.e. other phones). This software enabled Xolo X900 to become a software Bluetooth Dial-Up Modem (as it natively doesn't have this feature like most android devices)
On another anrdoid device (Atrix 4G) I installed BlueVPN (please note this becomes almost mandatory somehow as until target phone natively supports reverseDUN, other btDial-Up softwares will not be able to detect (via sdptool) target phone until it has native reverseDUN (Bluetooth SPP per say). Then removed old pairing and repaired both devices again. After that, the most importatnt is to swicth on WiFi Tethering on target phone (in my case Xolo X900) and connect host phone (Atrix 4G in my case) to the WiFi Tether of Xolo X900. Whie WiFiTether is active, start BlueDUN on target phone (Xolo X900) and then start BlueVPN on host android device (Atrix 4G). This will make a working internet connection and you will be able to connect it via VPN setup. After net is connected you can turn off WiFi tethering and switch off wifi on both devices. WiFi thethering is required initially till internet starts working as it sorts out DNS issues.
As long as target phone is 3G or 4G, speed is not a problem. I am usining this BlueDUN + BlueVPN combo to post this.
I am resolved that BT tethering method of OP will not work in my setup wihout setting up VPN because I have been able to establish connection but still couldn't get any net traffic.
For the record, its not android that "hates tethering" - its the carriers that block, disable, or remove those capabilities, because they want to charge you more for the same service based on what device (eg your laptop) you use it with.
Firt, Great site very helpfull. Sorry my english.
I need to change my wifi mac adress on my huawei u8180 with ROM CyanogenMod 7.2.0-RC0 U8160 (thx is great).
I have try to change/modify nvram.txt but no good
Also try with softwares :
- com.jiaofamily.android.mac: change mac for huawei (it´s old). it can read the mac but can´t change it (unsuported device)
-Set MAC adress : cant read mac adress
both don´t ask root right.
Any idea?
You can spoof your MAC using busybox
For instance:
http://blog.thecodecracker.com/hacks/spoof-mac-address-in-android/
First, you need Busybox and Terminal Emulator installed. And you need root.
After you have that, open up Terminal Emulator and give it superuser permissions by typing
"su" (without quotes)
and press enter. You should be asked if you want to allow it to have superuser access. Press allow
Next, type in
"busybox ifconfig". (make sure your wifi is on first). Look for either eth0 or wlan0. Whichever one is on the list is your wifi device. Keep that in mind.
Next, type in
"busybox ifconfig wlan0(or eth0) hw ether XX:XX:XX:XX:XX:XX"
with the xx's being your MAC address you want to change it to.
Now, this is the important part!
It WILL NOT change your MAC address properly if your wifi is not off first! You must have it off, and then turn it on (through the status bar toggle) and then quickly hit enter! If it says no such device found you must press Volume Up+W to automatically reenter your last command and press enter again until it does not say no such device found.
I find it works best when I do Volume up+W and then hit enter multiple times.
To check if your MAC address has been changed, go to your wifi settings, click the menu key and select advanced. Your current MAC address will be under the MAC address section.
Good luck!
Sent from my GT-I9100
You can also do this without having to use Terminal Emulator by using the adb.
With your device properly setup for development on your pc just type adb shell in your terminal on your pc and then you can enter your busybox commands.This still does require that your root and have busybox installed!
thx
waylaidwanderer said:
First, you need Busybox and Terminal Emulator installed. And you need root.
After you have that, open up Terminal Emulator and give it superuser permissions by typing
"su" (without quotes)
and press enter. You should be asked if you want to allow it to have superuser access. Press allow
Next, type in
"busybox ifconfig". (make sure your wifi is on first). Look for either eth0 or wlan0. Whichever one is on the list is your wifi device. Keep that in mind.
Next, type in
"busybox ifconfig wlan0(or eth0) hw ether XX:XX:XX:XX:XX:XX"
with the xx's being your MAC address you want to change it to.
Now, this is the important part!
It WILL NOT change your MAC address properly if your wifi is not off first! You must have it off, and then turn it on (through the status bar toggle) and then quickly hit enter! If it says no such device found you must press Volume Up+W to automatically reenter your last command and press enter again until it does not say no such device found.
I find it works best when I do Volume up+W and then hit enter multiple times.
To check if your MAC address has been changed, go to your wifi settings, click the menu key and select advanced. Your current MAC address will be under the MAC address section.
Good luck!
Sent from my GT-I9100
Click to expand...
Click to collapse
I have done that and it work ...Thx. to all off course, but now I have an another question :
How can I make the wifi shutdown and start on the terminal?
My idea, it´s to make:
wifi off
wifi on
busybox ifconfig wlan0(or eth0) hw ether XX:XX:XX:XX:XX:XX
Any adeia?
trouble
Hi,
it changes my MAC, however I can’t connect to any wifi network! It always say that the password is bad, or in open networks, it hangs on retriving ip address.
But if I use:
busybox ip link set wlan0(or eth0) address XX:XX:XX:XX:XX:XX
It work at the first time or second.
Insted of turn the wifi off and on and quickly run the command.
I use the terminal with su:
svc wifi disable
svc wifi on
(need to wait 0.5s to proced)
busybox ip link set wlan0(or eth0) address XX:XX:XX:XX:XX:XX
and its done .
it will be great if an app developer can make an app to run this command automatically when we want to connect to wifi. it will make the mac address not permanent but almost.
noob pirate said:
I have done that and it work ...Thx. to all off course, but now I have an another question :
How can I make the wifi shutdown and start on the terminal?
My idea, it´s to make:
wifi off
wifi on
busybox ifconfig wlan0(or eth0) hw ether XX:XX:XX:XX:XX:XX
Any adeia?
Click to expand...
Click to collapse
no way
i am getting SIOCSIFHWADDR: Operation not supported... please help
You must have rooted device and busybox installed. First switch to su and type commands.
I have tried this it actually changed my mac address. I can able to connect open network and verify that. but when I'm trying to wps2 password protected network it gave authentication error "incorrect password" but i know the password I'm using is correct.
Hi everyone,
since a while i try to set up an WiFi Network with static IP adresses on my Nexus 5 with Multirom and Ubuntu Touch-rtm installed, but it seems i'm a bit dumb. :silly:
i followed the instructions from an website wich url i can't post, because i am an new user and i don't have written 10 posts ...
but nevertheless, all i get after saving the configuration file and reconnecting is an new configuration file - of course without my changes.
So, what did i do wrong?
You could try doing the following before the reboot:
Code:
sudo stop ofono
sudo stop urfkill
sudo stop network-manager
sudo rm /var/lib/urfkill/saved-states
# Your changes to the config file
sudo reboot
(This will, among other things, stop the network connection services in the background, so you cannot run these commands via SSH. You need to use adb for that. )
That's the only idea I have right now. Let's hope that your files won't get overridden again.
thanks for the tip, but that also does not help anything.
meanwhile i think i got something wrong in the config syntax, but i don't know where. I also took the configuration of my Linux Mint pc for comparison, but without success. when i try to reconnect the wlan, a new file will created and the "old"-changed one simply be ignored.
@the_Pan Have you tried simply copying over the file from your PC? Make sure it has the same name on your phone which it also has on your desktop.
Sent from my awesome Ubuntu Touch device using the Forum Browser app
Only copying wouldn't work, my pc is in LAN, but yes i used the same parameters for IPv4 as in this file (except from the IP).
The only idea i got for now, is that something went wrong with the file permissions when i edit the file on pc with the adb shell, but if i take a look with "ls -l" everything seems alright.
EDIT: nope, has nothing to do with editing on pc. it also happens if i edit the file within the terminal directly on the phone.