Drivers Option Modems



Compile USB Serial Modem Using option.c (Ubuntu on Beagleboard xM)

In ARM Linux, General Linux, Ubuntu on 9 January 2012 with 2 comments 3959 views

Xfinity Modem Options

Modify the original Makefile to contain only rule for option.o. Obj-m += option.o. And then build the driver. $ make -C / lib / modules / 3.0.6-x3 / build / M = / usr / src / linux-headers-3.0.6-x3 / drivers / usb / serial / make: Entering directory `/ usr / src / linux-headers-3.0.6-x3 ' LD /usr/src/linux-headers-3.0.6-x3/drivers/usb/serial/built-in.o CC M /usr/src/linux-headers-3.0.6-x3/drivers/usb/serial/option.o. Theoretical max speeds based on 5G mmwave technology and eight channel carrier aggregation (8cc). Actual speeds vary based on many factors including network configuration, signal strength, network congestion, physical obstructions, and weather. 5G network coverage (available in certain areas in 2020, expanding after that).

Despite possibility to use (1)

or (2) usb-modeswitch, (3) Matthias Urlichs initially wrote option.c driver as a way to insert USB modem as kernel module.

This driver exists because the “normal” serial driver doesn’t work too well
with GSM modems. Issues:
- data loss — one single Receive URB is not nearly enough
- nonstandard flow (Option devices) control
- controlling the baud rate doesn’t make sense

Most modems will be successfully attached with this driver, appearing in one of the typical /dev/ttyUSB0 to /dev/ttyUSB2. The product ID 0x0015 for GSM modem compiled here is a Qualcomm (vendor ID 0x05c6) OEM modem I received from Embest DevKit8500D order. There are more than one form factor when searching for its images on Google. Closest one we have in Indonesia is ADVAN DT8-HT bundled in Telkomsel Flash.

Best usb devices. Qualcomm 05c6:0015 from Indonesian operator

I’m compiling it for the Beagleboard xM Rev C running Ubuntu Oneiric (installed in this post). A quick look gives:

Options

The above 0x0015 product ID doesn’t exist inside option.c of linux kernel 3.0.0-12 source. Adding this to series of existing Qualcomm modems gives:

The include also needs usb-wwan.h from that kernel source. Copy them both under /usr/src/linux-headers-3.0.6-x3/drivers/usb/serial/. For other include files, install:

and create this link as root

After removing the old one (pointed to build -> /build/buildd/linux-3.0), create a link inside /lib/modules/3.0.6-x3 named build pointing to:

Modify the original Makefile to contain only rule for option.o

Option

and then build the driver

Copy the build and deploy

Phone And Modem Options

Now syslog will show the following lines if the modem is inserted:

Modem Driver Windows 10