[luci] Add-on: NCM protocol support and dongle status view application

Oskari Rauta oskari.rauta at gmail.com
Thu Mar 20 18:20:24 CET 2014


Hi.

NCM is used by some 3G/LTE dongles. In some cases, it is also sometimes called as HiLink, but HiLink is a system by Huawei that is not the same as NCM.
But it does have some similarities. In my opinion, it's a hybrid of branches..
Here's some information about how different dongles work:

standard/legacy dongles:
 - initialized by usb modeswitch
 - commanded with set of AT commands
 - interfaced with PPP through serial port
 - provides amount of serial ports (usually 3, control, statistics and connection)

HiLink:
 - possibly not initialized at all
 - not commanded at all, connection is available after plugging in to USB port
 - controlling: with web interface by setting specific ip address range for computer
 - interfaced like any usb rj45 adapter (physically doesn't have rj45 at all and might need a driver)
 - provides network device

NCM:
 - Initialized by usb modeswitch
 - command with set of AT commands
 - provides one or more serial ports and a network devices
 - after connection is initiated with AT commands through serial port, network device reports a link
 - interfaced through network device and connection details are acquired by DHCP (device possibly emulates PPP for a network device???)

Anyway, openwrt has all the basic requirements for NCM dongles to be used, but it requires some scripting and designed connection methods
are more or less useless with manual scripts. I wrote a protocol support named NCM for OpenWrt which allows OpenWrt to gain support for NCM
connection. Another way is to use r00ter firmware which is a fork of OpenWrt, but I'll rather stick with the stock one and install few packages, so
that motivated me.. Also I think, r00ter was doing a lot of things all the time which I think was pretty unnecessary and scripts used by r00ter were
a mess to me..

I made the system modular, it also detects used dongle, but currently provides only support for this one device, but it is easy to create more
AT-command set scripts to support other dongles as well, AT-command sets are provided in different brand/model specific packages so actual
protocol doesn't need to be touched at all when providing support for another device.

I also wrote a protocol support for Luci, so one can easily set up connection details with web interface.
While at it, why not write a status display that shows connection status details. Done..

I would had liked to put this to trac ticket at luci.subsignal.org - but it seemed to be a bit problematic as captcha seems to be broken there.
I hope this get's included in Luci, these NCM dongles are popular in Finland and it would greatly ease installing them to openwrt if
packages would be available from authorized sites distributing openwrt packages..

At this URL you'll find screenshots and more information about my work:
https://forum.openwrt.org/viewtopic.php?pid=218745#p218745

And patch agains luci's git is included as an attachment:

-------------- next part --------------
A non-text attachment was scrubbed...
Name: luci_ncm.patch
Type: application/octet-stream
Size: 21114 bytes
Desc: not available
URL: <http://lists.subsignal.org/pipermail/luci/attachments/20140320/01484104/attachment.obj>


More information about the luci mailing list