Embedded Device – How to Connect to the Internet via USB Dongle


In my country (Nigeria) we have very few wireless hotspots,
most people connect to the internet via private USB dongles.

I was wondering if it is possible to use these dongles to allow an embedded system connect to the internet.

I know that involves knowing some form of USB protocol with which these devices communicate with a system, but I don't know if there is some standard for that or something to make it generic.

Best Answer

Wireless USB Internet dongles come in two flavours.

  • A wifi dongle connects to a 2.4GHz 802.11 network (but, I don't think you mean these?)
  • A GSM modem dongle connects via the cell phone network.

Like a modem for the fixed line telephone network, many GSM modems have RS232 and Hayes (AT) commands.

The easiest GSM dongle to interface to an embedded system is one which exposes an AT command set. If you are lucky then you will be able to attach directly to a UART. But, you may need to implement a USB host with support for CDC/serial devices.

Interfacing any other dongle will be considerably harder. In the best case, you might identify chips and find an open source Linux driver to port. In the worst case, you will need to reverse engineer the Windows-only binary USB driver then clone it into your embedded firmware. If you're really unlucky then you'll need to implement a TCP/IP stack too.

I recommend the AT command route, if you can.

Related Topic