====== 3G / Mobile support for APdesk and MESHdesk ======
{{ :user_guide:apdesk:img_20161012_143220.jpg?nolink |}}
===== Introduction =====
* Today, all of the commercial cloud based controllers we know about require that the hardware be connected to an Ethernet network running a DHCP server.
* MESHdesk and APdesk was also like that until recently.
* While one of the developers were waiting for a DSL Internet connection, the only other Internet connection available was through the mobile network using a 3G dongle.
* Since neither **MESHdesk** nor **APdesk** are driven by hardware sales but rather to provide creative solutions, this then offered just such an opportunity.
* We can now with pride say we also support mobile Internet connections as an alternative to Ethernet based Internet connections.
{{ :user_guide:apdesk:mobile_connection.png?nolink |}}
-------------------------
===== A Catch-22 =====
* Having a controller somewhere on the Internet where a device will fetch its settings from will require the device to have an Internet connection to start with.
* If you use a mobile connection there will be the requirement to preset the device with some very basic configuration in order for the device to get Internet connectivity.
* This is where we use the **MESHdesk Node Config Utility**.
* The utility now include a **3G Option** tab to pre-configure the device for Internet connectivity.
* This is usually a once off setup and will be left unchanged until you maybe one day decide to disable it or to use another mobile provider which will then need their unique settings.
* The first item to select on the **3G Option** tab is an Action
* **Do Not Change** will leave the device unchanged and without adding or removing any existing mobile specific settings. This is the default and set during start-up.
* **Enable** will enable all the fields which you can then populate.
* **Disable** will disable an existing mobile configuration (provided there is one)
* See the following screenshot which was for one of my 3G dongles
{{ :user_guide:3g_option.png?nolink |}}
* The following URL has a nice list of APN and usernames for various providers over the world:
* http://www.3g.co.za/index.php/information/mobile-data-connectivity
* Now that the device is pre-configured it can use the mobile connection to get Internet access and fetch the rest of its settings from the RADIUSdesk server.
-------------
===== What's the requirements? =====
* There is not much extra requirements. You basically need the following things.
* A device that can support a mobile Internet connection, eg. one with a USB port that can take the 3G dongle.
* The extra modules required included with the firmware running on the device. See this bit on building your own firmware: [[http://www.radiusdesk.com/old_wiki/technical_discussions/md_on_lede#support_for_3g_dongles|Add Support for 3G dongles]]
* The latest version of the **MESHdesk Node Config Utility**
* Hardware that can access the mobile network eg. a 3G Dongle.
* On the exit points of both **MESHdesk** meshed and APdesk AP Profiles you **cannot** have an exit point that is bridged with Ethernet
* You can have a:
* Captive Portal
* NAT + DHCP
* OpenVPN Bridge
-----------------
===== Lets get technical =====
For those technical people, the next section is aimed at you.
* The MESHdesk Node Config Utility will insert an entry into the **/etc/config/meshdesk** config file that looks just like the interface declaration in the **/etc/config/network** file. Here is a sample
* This means you can actually pre-build / configure the device, provided they do not require a pin or the pin is common among the devices which you will flash the firmware on.
* It also means you can disable the interface in **/etc/config/meshdesk**.
* The script which sets up the device will check if there is a **wwan** entry in the meshdesk config file and if it is there and active it will include that declaration in the **/etc/config/network** file and reload the networking.
* If you need more inf on getting your mobile dongle working, refer to this pages:
* https://wiki.openwrt.org/doc/recipes/3gdongle
* Although the above page has lots of information, I got two dongles tested and running with the minimal effort and using the default values.
config interface 'wwan'
option proto '3g'
option service 'umts'
option pincode 1234
option apn 'internet'
option username 'guest'
option device '/dev/ttyUSB0'