Gentoo Wiki


This article is part of the HOWTO series.
Installation Kernel & Hardware Networks Portage Software System X Server Gaming Non-x86 Emulators Misc



This article describes how to install a Huawei SmartAX MT810 or equivalent USB ADSL modem. There is another howto (which was used as a start point to get this hardware working) that explains how to install Eagle software; that article refers to an external link specifying a modem (SmartAX MT810) which uses EagleII chipset (thus, using EagleII firmware), and that isn't entirely correct. In Argentina, this hardware uses EagleIII chip and somehow Eagle module doesn't work. It works through ueagle-atm module.


FIXME: There was a change in kernel's structure around the .16 subversion. I can't remember exactly WHEN, but all I can remember is that in previous kernels ueagle-atm was not present inside kernel.

Getting started

Dealing with kernel

The first thing to be done is to prepare some room for the firmware (and module) to work.

Linux Kernel Configuration: Kernel root
 Loadable modules support ---> 
  [*] Enable loadable module support
  [*] Module unloading
  [ ]   Forced module unloading
  [*] Module versioning support (EXPERIMENTAL)
  [ ] Source checksum for all modules (<-- optional)
  [ ] Automatic kernel module loading (<-- were load it manually)

Remember that this is a USB modem, and the USB configuration may vary depending on computer hardware. Here is a typical Nforce2 based configuration:

Linux Kernel Configuration: Device Drivers
 USB support  ---> 
  ---   USB Host Controller Drivers
  <*>   EHCI HCD (USB 2.0) support
  [ ]Full speed ISO transactions (EXPERIMENTAL)      (<-- optional)
  [ ]Root Hub Transaction Translators (EXPERIMENTAL) (<-- optional)
  < >   ISP116X HCD support
  <*>   OHCI HCD support                             (<-- optional -- to make it USB 1.1 compliant)

As it is an ADSL modem, it needs the PPP subsystem:

Linux Kernel Configuration: Device Drivers
Network device support  --->
 <*> PPP (point-to-point protocol) support
 [ ]   PPP multilink support (EXPERIMENTAL) (NEW)
 [ ]   PPP filtering
 <*>   PPP support for async serial ports
 <*>   PPP support for sync tty ports
 <*>   PPP Deflate compression
 <*>   PPP BSD-Compress compression
 < >   PPP MPPE compression (encryption) (EXPERIMENTAL) (NEW)
 <*>   PPP over Ethernet (EXPERIMENTAL) (NEW)
Note: Despite of using ATM api, it needs to connect through Ethernet.

ATM configuration is a dependency of ueagle-atm module, which is the correct driver for this hardware, so it must be activated:

Linux Kernel Configuration: Networking
Networking options  --->
 <*> Asynchronous Transfer Mode (ATM) (EXPERIMENTAL)
 <*>   Classical IP over ATM (EXPERIMENTAL)
 [ ]     Do NOT send ICMP if no neighbour (EXPERIMENTAL) (NEW)
 < >   LAN Emulation (LANE) support (EXPERIMENTAL) (NEW)
 <*>   RFC1483/2684 Bridged protocols

Next step is to enable the kernel module which will "power on" the modem itself.

Linux Kernel Configuration: Device Drivers
USB support  --->
 USB DSL modem support  --->
  <*> USB DSL modem support
  < >   Speedtouch USB support (NEW)
  < >   Conexant AccessRunner USB support (NEW)
  <*>   ADI 930 and eagle USB DSL modem (NEW)
  < >   Other USB DSL modem support (NEW)
Warning: The modem selected here is arbitrary but has been proven to work correctly. Nothing can be said about the remaining modules.

After recompiling the kernel, all things related to it should be automagically detected.

Tip: Remember to restart the computer if you compile everything inside the kernel! ;-)

At this point the modem should be detected by the kernel, and the log should show something like this:

File: /var/log/messages
[ueagle-atm] driver ueagle 1.3 loaded
[ueagle-atm] ADSL device founded vid (0X1110) pid (0X9032) : Eagle III
reset full speed USB device using ohci_hcd and address 2
[ueagle-atm] pre-firmware device, uploading firmware
[ueagle-atm] loading firmware ueagle-atm/eagleIII.fw
usbcore: registered new driver ueagle-atm
[UEAGLE-ATM] firmware is not available

Pay special attention to the last line: The firmware is not available. That is the obstacle that leads to the next step:

Emerging required packages

The ueagle-atm ebuild installs a pack of binaries containing generic firmware that supports several modems. It needs as dependencies both net-dialup/ppp and net-dialup/linux-atm

To make things yet more complicated, net-dialup/ppp needs two flags active: atm and dhcp

Activating needed USE flags

# echo "net-dialup/ppp atm dhcp" >> /etc/portage/package.use

Installing needed packages

If everything goes fine, emerging only ueagle-atm should call as dependencies to ppp and linux-atm. If it isn't the case, these must be emerged by hand:

Code: Installing needed packages
rei ~ # emerge -vat net-misc/br2684ctl net-dialup/ueagle-atm net-dialup/ppp net-dialup/linux-atm

These are the packages that would be merged, in reverse order:

Calculating dependencies... done!
[ebuild  N    ] net-misc/br2684ctl-20040226  12 kB
[ebuild  N    ] net-dialup/ueagle-atm-1.1-r2  1,240 kB
[ebuild  N    ]  net-dialup/ppp-2.4.3-r16  USE="atm dhcp gtk pam -activefilter -eap-tls -ipv6 -mppe-mppc -radius" 759 kB
[ebuild  N    ]   net-dialup/linux-atm-2.4.1-r1  695 kB

Total size of downloads: 2,717 kB
Tip: Pay attention to the output of the process, it may show useful data.


At this point, the system should be able to detect and "link" the modem to the ISP's signal. If it is not the case, please review this HOWTO, paying special attention to the kernel config and the packages required. If everything goes fine, there is a specialized document in /usr/share/doc/ueagle-atm-1.1-r2/README.gz which may be useful troubleshooting the isntallation. Here are both the general configuration (contained in the file mentioned above), and the configuration required to work with Arnet (ISP providing this equipment), in Argentina.

Setting up the init scripts

Tip: Remember, it uses to connect through PPPoE

General setup

File: /etc/conf.d/net
config_nas0=( null )
br268config_ppp0=( ppp )
ctl_nas0="-e 0 -a 0.38"
br2684ctl_nas0="-e 0 -a 0.38"
config_ppp0=( ppp )
plugins_ppp0=( 'pppoe' )
pppd_ppp0=( updetach noauth debug defaultroute noaccomp nobsdcomp noccp nodeflate nopcomp novj novjccomp child-timeout 60 )
## It has been reported that some flags doesn't work well, causing more much problems instead of what actually fixes. In the local configuration for Argentina, that flags won't be present.
depend_ppp0() {
    need net.nas0
##Only if the modules were compiled as modules outside the kernel, and coldplug/hotplug didn't load them before.
function preup() {
        if [[ "$1" = "nas0" ]] ; then
                modprobe -q ueagle-atm
                return 0

If you don't need the local configuration for Argentina you can continue with HOWTO_Huawei_SmartAX_MT810#Finalizing Configuration

Local setup for Argentina

File: /etc/conf.d/net
config_nas0=( null )
br2684ctl_nas0="-e 0 -a 0.33"
config_ppp0=( ppp )
plugins_ppp0=( 'pppoe' )
pppd_ppp0=( updetach noauth defaultroute noaccomp nobsdcomp noccp nodeflate nopcomp novj novjccomp usepeerdns)
## This flags weren't included: "child timeout 60"
depend_ppp0() {
    need net.nas0
##Only if the modules were compiled as modules outside the kernel, and coldplug/hotplug didn't load them before.
function preup() {
        if [[ "$1" = "nas0" ]] ; then
                modprobe -q ueagle-atm
                return 0

Finalizing Configuration

Baselayout needs two symlinks to be created; they will establish the connection itself.

In /etc/init.d:

ln -sfn net.lo net.ppp0

ln -sfn net.lo net.nas0

Starting the connection

Tip: Getting the modem up and linking may take a while. Be patient and wait for the modem to leave the POWER and LINK lights on.

To start manually, with the modem connected: /etc/init.d/net.ppp0 start

To start automatically when the PC boots: rc-update add net.ppp0 default


The main basis of this HOWTO is HARDWARE_Install_a_modem_that_uses_the_eagle-usb_software

Another great source which is almost the biggest source of information about this hardware is Eagle FAQ Site

Of course, it couldn't be made without Gentoo Forums

Retrieved from ""

Last modified: Thu, 04 Sep 2008 02:59:00 +0000 Hits: 2,345