Porting WP7702 driver to kernel 3.18 in OPENWRT

Hi,

I following MBPL to modify Kernel 3.18 qmi_wwan.c usb_wwan.c and qcserial.c in openwert but I got error.

qmi_wwan: probe of 1-1:1.8 failed with error -1

Please help me to solve it.

Thanks.

According to the “Software_Integration_and_Development_Guide_for_Linux_USB_Platforms_R24.pdf”

You might need to use the old Gobi driver:

https://source.sierrawireless.com/resources/airprime/software/usb-drivers-linux-qmi-software-s2,-d-,42n2,-d-,64/#sthash.qZj0m0xB.dpbs

Hi @jyijyi ,

Do you have porting guide ?

You can see this document:
https://source.sierrawireless.com/resources/airprime/software/linux-qmi-sdk-application-developer-guide-2,-d-,0/

Hi @jyijyi ,

I have a question about what kernel config should I enable or disable ?
image

Should I disable qmi-wwan ?

I usb support what should enable or disable?

CONFIG_PACKAGE_kmod-usb-net
CONFIG_PACKAGE_kmod-usb-net-qmi-wwan
CONFIG_PACKAGE_kmod-usb-serial
CONFIG_PACKAGE_kmod-usb-serial-qualcomm
CONFIG_PACKAGE_kmod-usb-wdm
CONFIG_PACKAGE_kmod-usb-core
CONFIG_PACKAGE_kmod-usb-net-sierrawireless
CONFIG_PACKAGE_kmod-usb-serial-wwan

according to the document, you need to remove the qmi_wwan and qcserial:

Hi @jyijyi ,

Thanks for your reply, but I have another question about gobinet

Should I compile all usbnet_x_x_xx.c ?
image

you can just change the toolchain location according to your environment and then build it.
Here is an example I compiled the gobiNet driver with WP76 toolchain by “sudo make WP”

Makefile (2.8 KB)

Hi @jyijyi ,


Does it mean that I no need usbnet_x_x_xx ?

i remember the makefile and the #ifdef inside the source code will handle those things.
probably you just enter “sudo make” and it will be OK

Hi @jyijyi ,

Thanks for your reply but I use openwrt and my makefile

include $(TOPDIR)/rules.mk
include $(INCLUDE_DIR)/kernel.mk

PKG_NAME:=gobinet
PKG_RELEASE:=1

include $(INCLUDE_DIR)/package.mk

define KernelPackage/gobinet
  SUBMENU:=Other modules
  TITLE:=Gobinet for WP7702
  DEPENDS:=+kmod-usb-core kmod-usb-net
  FILES:=$(PKG_BUILD_DIR)/gobinet.ko
  AUTOLOAD:=$(call AutoLoad,50,gobinet)
  KCONFIG:=
endef

define KernelPackage/gobinet/description
  Kernel module driver for Sierra Wireless WP7702
endef

EXTRA_KCONFIG:= \
	CONFIG_GOBINET=m

EXTRA_CFLAGS:= \
	$(patsubst CONFIG_%, -DCONFIG_%=1, $(patsubst %=m,%,$(filter %=m,$(EXTRA_KCONFIG)))) \
	$(patsubst CONFIG_%, -DCONFIG_%=1, $(patsubst %=y,%,$(filter %=y,$(EXTRA_KCONFIG)))) \

MAKE_OPTS:= \
	$(KERNEL_MAKE_FLAGS) \
	SUBDIRS="$(PKG_BUILD_DIR)" \
	EXTRA_CFLAGS="$(EXTRA_CFLAGS)" \
	$(EXTRA_KCONFIG)

define Build/Compile
	$(MAKE) -C "$(LINUX_DIR)" \
		$(MAKE_OPTS) \
		modules
endef

$(eval $(call KernelPackage,gobinet))

And I got error.


I have no idea to fix it, do you have some suggestions ?

I fixed it sorry

i tried in ubuntu 12 with kernel 3.11, no problem is found

owner@ubuntu:~/QMI/S2.32N2.51/GobiNet$ uname -r
3.11.0-15-generic
owner@ubuntu:~/QMI/S2.32N2.51/GobiNet$ sudo make clean
rm -rf *.o *~ core .depend .*.cmd *.ko *.mod.c .tmp_versions Module.* modules.order
owner@ubuntu:~/QMI/S2.32N2.51/GobiNet$ sudo make 
make -C /lib/modules/3.11.0-15-generic/build M=/home/owner/QMI/S2.32N2.51/GobiNet modules
make[1]: Entering directory `/usr/src/linux-headers-3.11.0-15-generic'
  CC [M]  /home/owner/QMI/S2.32N2.51/GobiNet/GobiUSBNet.o
  CC [M]  /home/owner/QMI/S2.32N2.51/GobiNet/QMIDevice.o
  CC [M]  /home/owner/QMI/S2.32N2.51/GobiNet/QMI.o
  CC [M]  /home/owner/QMI/S2.32N2.51/GobiNet/usbnet_2_6_32.o
  CC [M]  /home/owner/QMI/S2.32N2.51/GobiNet/usbnet_3_0_6.o
  CC [M]  /home/owner/QMI/S2.32N2.51/GobiNet/usbnet_2_6_35.o
  CC [M]  /home/owner/QMI/S2.32N2.51/GobiNet/usbnet_3_10_21.o
  CC [M]  /home/owner/QMI/S2.32N2.51/GobiNet/usbnet_3_12_xx.o
  CC [M]  /home/owner/QMI/S2.32N2.51/GobiNet/usbnet_4_4_xx.o
  LD [M]  /home/owner/QMI/S2.32N2.51/GobiNet/GobiNet.o
  Building modules, stage 2.
  MODPOST 1 modules
  CC      /home/owner/QMI/S2.32N2.51/GobiNet/GobiNet.mod.o
  LD [M]  /home/owner/QMI/S2.32N2.51/GobiNet/GobiNet.ko
make[1]: Leaving directory `/usr/src/linux-headers-3.11.0-15-generic'
owner@ubuntu:~/QMI/S2.32N2.51/GobiNet$

Hi @jyijyi ,

I can compiled gobiserial.ko and gobinet.ko, but I got another question in GobiSerial

GobiSerial 1-1:1.0: no of_node; not parsing pinctrl DT

no idea, i have never seen this message before
can you communicate via /dev/ttyUSB2 which should be the AT command port?

Hi @jyijyi ,

Yes I can access /dev/ttyUSB2 and send at command.

I have no idea about this problem, but never see this log after reboot device.