Getting started with MC7430 on Android

Dear, I am newbie to this kind of modules, and I need some help to use it.

I am trying to use a Sierra AirPrime 7430 wireless module on an Inforce 6640SBC board with Snapdragon820E processor.

On Debian the modem is plug-and-play and I could use it normally.
Unfortunately, the Android is not recognizing the board. Probably because of missing drivers or something like that. I am using Android OREO now, but I have tried on Nougat and have same result.

I’ve tried to configure the board according to Sierra but the RIL documentation, in my opinion, is confused and has lack of details (informally, there is too much “do it” and too less “how to do somehting”). For instance, there is no command for compiling the driver for Android.

Could somebody please help me with this?
Is there any step-by-step documentation somewhere? I believe it does not need to be specific for INFORCE6640sbc. I think the procedure for any aarch64 boards will be similar.

Thanks in advance.

Did you see the /dev/qcqmi and /dev/ttyUSB port?

No. None of them exists.
I believe I need to compile the driver before.
I was following the Android RIL integration documentation available in Sierra Website, but they do not explain with details how to compile and install this driver.

I think it depends on different platform.

Maybe it is.

I just want Android recognize my Sierra MC7430 and connect to the internet.
As I said, on Linux is plug-and-play. I was thinking on Android it should be too, but I guess I was wrong.

On linux pc, you still need to install gobiserial and gobinet driver.

Well, I downloaded the gobiserial and gobinet, but they were not necessary.
There is no problem in Linux. I did not need to install anything. I just plug the MC7430 on the board’s USB and the internet works normally. I navegated in some websites and everything worked.

The problem is to do the same thing on Android. The RIL documentation says things like “Copy to the appropriated path” or “compile this” but do not explain how to do it. :frowning:

Did you used this module on Android? How did you do? Which commands did you use?

Example to have the serial driver:

  1. under /kernel/hikey-linaro/drivers/usb/serial/Makefile, add

obj-$(CONFIG_USB_SERIAL_SIERRAWIRELESS) += sierra.o


  1. under /kernel/hikey-linaro/drivers/usb/serial/Kconfig, add

obj-$(CONFIG_USB_SERIAL_SIERRAWIRELESS) += sierra.o
config USB_SERIAL_SIERRAWIRELESS
tristate “USB Sierra Wireless Driver”
help
Say M here if you want to use Sierra Wireless devices.

  Many devices have a feature known as TRU-Install. For those devices
  to work properly, the USB Storage Sierra feature must be enabled.

  To compile this driver as a module, choose M here: the
  module will be called sierra.

  1. set config_USB_SERIAL_SIERRAWIRELESS=m to make sierra.ko driver when building the Android image and then install the driver (insmod) during system start up.

Is the path correct?
Because the “Makefile” only exists in /kernel/hikey-linaro/drivers/net/usb/Makefile, and not in the path you decribed.

Or do I need to create the Makefile with the information you mentioned?

And complementing: what are the command for compiling it? If I type only “make” the output is:
make: *** No targets. Stop.

My example is just for serial driver, not net driver .

Ok. I guess I have made a confusion.
Let’s start from the beginning.

I have a board INFORCE 6640SBC with Android OREO 8.1 and I need to use the Sierra AirPrime MC7430 to connect it to the Internet.

I have never used this module and I guess it is not working (missing driver or something like that).

When I type the command “dmseg | grep Sierra”, I got the following output:

[ 1194.826991] usb 1-1.3: Product: Sierra Wireless MC7430 Qualcomm® Snapdragon™ X7 LTE-A
[ 1194.826996] usb 1-1.3: Manufacturer: Sierra Wireless, Incorporated

which means the board recognized the Sierra module (I think).
The problem is from here to the internet connection. I really do not know how to connect to the internet.
There is no /dev/ttyUSB0 and /dev/qcqmi as you’ve asked.

I am completely newbie on this. The questions I would like to answer are:

1 - How to compile the driver for android OREO (all the commands; step-by-step. Consider that I am using Ubuntu 18.04 on my host machine)
2 - How to install it in the Android BSP (again, all the commands, step-by-step)
3 - How to connect the BSP on the Internet via command line (adb).

Could you please help me?

For how to install driver on your platform, probably you need to consult your board vendor as i have never used this board before.
For having internet connection, do you need ril driver? If no, you can use at! scact to have internet connection.

Yes, I suppose I need the RIL driver.
How can I create it? I suppose it is possible to build the .ko file after build the android.

Did your platform build the ril daemon?

No, I did not. Actually, this is exactly what I need help to do. :frowning:

Could you please share with me the step-by-step for creating the “.ko” file for your platform?
I suppose I can modify that for working in mine.

Note: i am using the last version of the RIL package ok? I suppose some directories are different of the version you have used (e.g., the file /kernel/hikey-linaro/drivers/usb/serial/Makefile you have mentioned before do not exist.)

Thanks.

Didn’t i share to you before for gobiserial?
Is it working?

Yes you did.
But the paths/directories you mentioned do not exist.

The path /kernel/hikey-linaro/drivers/usb/serial/ has no Makefile, there is only a “sierra.c” file
the Makefile and Kconfig are in “/kernel/hikey-linaro/drivers/net/usb/”

I tried to do what you suggest for them but nothing happens when I run the command “make”.

And other problem: I guess the integration guide is wrong. Some files he asks to copy/rename do not exist either.

Didn’t you should use mm to compile?

As i said, I am newbie. I do not know anything about compiling driver! :stuck_out_tongue:

I will try.

Nothing happens. Maybe (I am sure) I am doing something wrong.

After modify the files, what is the shell command for compile?
Or should I compile it directly on Android instead to do it on my host machine?