FireBrick 3G Dongle

From AAISP Support Site

3G Fallback

The 2700 model has a usb port that can be used with a 3G dongle for connectivity and/or fallback.

Basic 3G Config

If you have an AA data SIM, the FireBrick can configured to use this as a backup connection, by using a 3G dongle plugged into the USB port. Any routed legacy IP blocks will continue to work across this link, but so far IPv6 isn't supported (without using a tunnel). The FireBrick is known to support the ZTE MF112 Dongle and some Huawei dongles. Others may work too. The basic config is:

<usb>
<dongle username="me@a.3" password="secret"/>
</usb>

Provided you use your AA username and password, then that's all you need to get the dongle configured. If your main broadband connection goes down, the FireBrick will automatically switch to use the 3G connection, then back again once your main connection is back.

If the dongle is not using a AAISP SIM, (and therefore your IPv4 blocks won't be re-routed down the dongle, then include NAT="true" on the dongle line.

Config with Tunnelled IPv6 Fallback

If using AAISP, then the options for IPv6 routing on the control pages allow an IPv6 block to be routed to a tunnel endpoint if the main routing (ie ADSL/FTTC) goes down. - This means IPv6 can be routed to the 3G dongle if the main broadband(s) go down. The MTU will be limited though.

Here we have some profiles to manage the 3G, and also add logging.

<usb log="true" profile="No_PPPoE">
  <dongle name="3G" username="me@a.3" password="secret" nat="false" graph="Backup" comment="AAISP data SIM"/>
</usb>

<route name="6in4" profile="No_DSL" graph="6in4" ip="::/0" gateway="81.187.81.6" comment="IPv6 Default route when AAISP DSL is down" />

<profile name="DSL" ppp="AAISP" comment="Monitoring the PPP link named AAISP"/>

<profile name="No_DSL" timeout="PT5S" recover="PT1S" not="DSL"/ comment="Just the not of the previous profile">

Ping test example

Here we ping an IP on the LAN, behind the FB2700, and get the ADSL router to re-sync. The ADSL went down, the 3G kicked in, then shortly after the ADSL came back on and took over the routing again.

64 bytes from 81.187.xx.xxx: icmp_req=120 ttl=57 time=17.6 ms
64 bytes from 81.187.xx.xxx: icmp_req=121 ttl=57 time=18.1 ms
64 bytes from 81.187.xx.xxx: icmp_req=122 ttl=57 time=17.0 ms
64 bytes from 81.187.xx.xxx: icmp_req=123 ttl=57 time=20.4 ms
64 bytes from 81.187.xx.xxx: icmp_req=124 ttl=57 time=17.3 ms
64 bytes from 81.187.xx.xxx: icmp_req=125 ttl=57 time=17.2 ms
64 bytes from 81.187.xx.xxx: icmp_req=126 ttl=57 time=17.3 ms
From 90.155.53.12 icmp_seq=132 Time to live exceeded
64 bytes from 81.187.xx.xxx: icmp_req=133 ttl=57 time=792 ms
64 bytes from 81.187.xx.xxx: icmp_req=134 ttl=57 time=291 ms
64 bytes from 81.187.xx.xxx: icmp_req=135 ttl=57 time=451 ms
64 bytes from 81.187.xx.xxx: icmp_req=136 ttl=57 time=426 ms
64 bytes from 81.187.xx.xxx: icmp_req=137 ttl=57 time=338 ms

Some pings omitted as it took a while to sync again.

64 bytes from 81.187.xx.xxx: icmp_req=180 ttl=57 time=176 ms
64 bytes from 81.187.xx.xxx: icmp_req=181 ttl=57 time=276 ms
64 bytes from 81.187.xx.xxx: icmp_req=182 ttl=57 time=216 ms
64 bytes from 81.187.xx.xxx: icmp_req=183 ttl=57 time=174 ms
64 bytes from 81.187.xx.xxx: icmp_req=184 ttl=57 time=212 ms
64 bytes from 81.187.xx.xxx: icmp_req=187 ttl=57 time=16.3 ms
64 bytes from 81.187.xx.xxx: icmp_req=188 ttl=57 time=16.5 ms
64 bytes from 81.187.xx.xxx: icmp_req=189 ttl=57 time=16.2 ms
64 bytes from 81.187.xx.xxx: icmp_req=190 ttl=57 time=16.5 ms
64 bytes from 81.187.xx.xxx: icmp_req=191 ttl=57 time=16.6 ms
64 bytes from 81.187.xx.xxx: icmp_req=192 ttl=57 time=16.0 ms
64 bytes from 81.187.xx.xxx: icmp_req=193 ttl=57 time=16.8 ms

You can tell the swap over when the latency increases and then decreases when the DSL came back online


Telnet Commands

clear usb

Will reset the usb controller and re-detect everything from scratch.


You can turn on debug logging to get more info

set command log level debug

-there will be lots of info coming out!