7

I have a very simple problem: when I run Wifi Tether on my Galaxy S3 the computer won't get the IP address unless I disable DroidWall firewall.

DW runs in whitelist mode, but I ran across its menu to enable all wireless related applications it found. Nothing. I have to stop it at all to make DHCP server work.

What application in Android 4.1, or at least in the stock GS3 ROM, governs DHCP in wireless tethering and should be enabled with DroidWall?

Or else, how do I find it out without try-and-fail across a large number of applications.

5

As of version 1.2.5, tethering has been included in AFWall+, you should only need to enable

  • (Tethering) - DHCP+DNS services
4

I had the same problem with wifi tethering after I installed Droidwall. Though the wifi connection was successful but I got no internet access.

I got it working simply by adding the DNS in my laptop. Hope, it works for you or anyone facing the same problem.

Change/Add DNS 4.2.2.2 and 8.8.8.8 in your PC/Laptop. That's it.

  • This worked for me too, using NoRoot Firewall. Thanks :-) – Just Plain High Mar 30 '16 at 5:17
  • Thank you this works for me as well using NoRoot Firewall. Could you please provide more info as to why you chose to use those settings? – Mario Awad Jul 12 '17 at 9:27
2

It is normal to disable Droidwall, for the reason that it blocks any incoming packets for port 67, to allow Wifi Tethering to work. Or quite simply, allow a custom script that matches the port number 67 which is dhcp to pass through.

FYI about Droidwall - the functionality and development efforts have been discontinued and the author sold it off to Avast.

The fork of Droidwall is called AFWall+ which can be found here and found on Google Play which is apparently better than the old Droidwall.

Edit

Since Wifi-Tether operates on both TCP/UDP's port number 67 (for dhcp to work), here's the rules necessary:

$IPTABLES -A "droidwall-wifi" -p TCP --destination-port 67 -j RETURN
$IPTABLES -A "droidwall-wifi" -p UDP --destination-port 67 -j RETURN

This rule here enables adbWireless to work with DroidWall enabled.

$IPTABLES -A "droidwall-wifi" --destination "0.0.0.0" --destination-port 5555 -j RETURN

You also have to enable Wi-Fi access for "Apps running as root" for this to work.

  • Thanks for the 'bought by avast' info. Missed that, although it's already a year... – ce4 Jan 12 '13 at 19:32
  • Since I'm currently fine with DW, the question comes quickly: does AFWall+ allow DHCP without hacky scripts? By the way, since I'm not familiar with iptables scripting may I have the code for the port-67-allowing script? – usr-local-ΕΨΗΕΛΩΝ Jan 13 '13 at 12:24
  • Trying to guess: "$IPTABLES -A "droidwall" --destination-port 67 -j RETURN". Is it correct? – usr-local-ΕΨΗΕΛΩΝ Jan 13 '13 at 12:27
  • @djechelon: I will try out that shortly, am not 100% sure, but it does seem to be legit to me... :) – t0mm13b Jan 13 '13 at 14:39
  • Both script and flagging applications running as root fixed. I'm pretty unsure because AFAIK system apps are all root apps and Samsung preloads lots of unwanted bloatware on device, software that I wouldn't want to "phone home" often. These include Game Hub and Samsung Apps – usr-local-ΕΨΗΕΛΩΝ Jan 13 '13 at 19:49
1

In my case allowing user id 9999 (nobody) to connect through WiFi fixed the problem. So I added this line as a custom script to DroidWall:

$IPTABLES -A droidwall-wifi -j RETURN -m owner --uid-owner 9999
1

This solution should work for all firewalls, on root or no root. Initially I tried both kinds of devices and neither worked and after I found this info both worked. So I'm fairly sure this will work for you. To make it into a complete answer, as I'm sure it would be unclear how/where to change DNS for most users. Basically no change is done on the app side, just on the PC.

I used NoRoot Firewall (on unrooted device) and USB tethering wasn't working. I also used a rooted device running AFWall+ and though it has specific setting for "(tethering) - DHCP+DNS services" enabling it didn't make tethering work. So in the end I disabled it. In fact I tried only enabling Chrome browser on it, and none of the other things, and with this solution tethering still worked.


Having the phone connected and tethered, Go to Control Panel\Network and Internet\Network and Sharing Center, and click on the Local Area connection "Connections:" screenshot

On the next screen select Properties, then highlight "Internet Protocol Version 4" and press properties below.

Now in the lower portion you see Preferred and Alternative DNS server boxes. Enter 4.2.2.2 and 8.8.8.8 there (thanks @michaelsangma)

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.