Actiontec modems

From FreekiWiki
Jump to: navigation, search

Linux boxes have difficulty connecting through Actiontec modems. The problem is that the modem supplies its own IP address as one of the nameservers, and it is apparenly non-standard enough so this will not work with our boxen. This is actually a bug in the actiontec firmware as evidenced by the contents of /etc/udhcpd.conf on one of the modems.

# cat /etc/udhcpd.conf 
start 192.168.0.2
end 192.168.0.254
interface br0
opt router 192.168.0.1
opt domain domain.actdsltmp
opt dns 192.168.0.1 205.171.3.25
opt subnet 255.255.255.0
opt lease 86400
conflict_time 86400
lease_file /var/tmp/udhcpd.leases


Static ip solution

Set the linux box to a static IP in 192.168.0.x range, with a gateway of 192.168.0.1 and subnet mask of 255.255.255.0, and give it static dns address(es). The DNS address will vary from one ISP to another, but may generally be found by searching on google for "<ISP name> DNS server".

You need to edit /etc/network/interfaces to set the static IP

Edit /etc/resolv.conf to set the nameservers on a Debian box. On Ubuntu, both IP and DNS can be set with System>Administration>Networking.

ISP setup info

bind9 solution

The following solution has been tested on several boxes now and seems to work well, without the hassle of static ip configuration. Especially good is that the box will still work if connected to a different network.

apt-get install bind9
echo 'supersede domain-name-servers 127.0.0.1;' >> /etc/dhclient.conf
dhclient

You might want to add the resolvconf utility which has been seen to help on a dapper box

apt-get install resolvconf

dhclient.conf method

Open /etc/dhcp3/dhclient.conf

sudo nano /etc/dhcp3/dhclient.conf

Find this section

#prepend domain-name-servers 127.0.0.1;
request subnet-mask, broadcast-address, time-offset, routers,
        domain-name, domain-name-servers, host-name,
        netbios-name-servers, netbios-scope, interface-mtu;

and edit it so it looks like this (remove the '#' from 'prepend', put your dns server in place of 127.0.0.1 and remove 'domain-name-servers' from 'request'

prepend domain-name-servers yourdnsserver1, yourdnsserver2;
request subnet-mask, broadcast-address, time-offset, routers,
        domain-name, host-name,
        netbios-name-servers, netbios-scope, interface-mtu;

On an actiontec modem you should be able to look up what your dns servers should be through the web interface at 192.168.0.1

Network-Manager method

In newer versions of ubuntu (8.10 and up) you can use network-manager to work around this actiontec dns issue. The benefits of using Network-Manager instead of the above solutions is that you can configure it on a per connection basis (meaning these settings won't muck up your computer if you take it somewhere else) and the fact that it can be set up entirely through the GUI.

Right click Network-Manager and select 'Edit Connections...'

Network-manager-menu.png

If you are connecting to your actiontec modem using wireless you should edit the profile already created under 'Wireless' or if you are using a wired connection select 'Add' to create a new wired profile.

Network-manager-editconnections.png

Select the 'IPv4 Settings' tab and change the 'Method' in the drop down menu from 'Automatic (DHCP)' to 'Automatic (DHCP) adresses only'. Now you need to type your isp's dns servers where it says 'DNS Servers:'.

Network-manager-editprofiles.png