everyone.
I tried to adapt the SLM730 LTE module to openwrt.
I use the latest v21.02.3 version
I added usb-modeswitch, kmod-mii, kmod-usb-net, kmod-usb-wdm, kmod-usb-net-qmi-wwan, uqmi, kmod-usb-serial-option, kmod-usb-serial, kmod-usb-serial-wwan, luci, luci-proto-qmi and modified the following files:
- net/usb/qmi_wwan.c
- usb/serial/option.c
- usb/serial/usb_wwan.c
But it has been unable to dial successfully, only TX has data sent, RX is always 0.
The device should be successfully recognized.
root@OpenWrt:~# lsusb -t
/: Bus 02.Port 1: Dev 1, Class=root_hub, Driver=ohci-platform/1p, 12M
/: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=ehci-platform/1p, 480M
|__ Port 1: Dev 2, If 0, Class=, Driver=hub/4p, 480M
|__ Port 2: Dev 3, If 0, Class=, Driver=option, 480M
|__ Port 2: Dev 3, If 1, Class=, Driver=option, 480M
|__ Port 2: Dev 3, If 2, Class=, Driver=option, 480M
|__ Port 2: Dev 3, If 3, Class=, Driver=option, 480M
|__ Port 2: Dev 3, If 4, Class=, Driver=, 480M
|__ Port 2: Dev 3, If 5, Class=, Driver=qmi_wwan, 480M
Here is the output of dmesg:
root@OpenWrt:~# dmesg
[ 0.000000] Linux version 5.4.188 (xu@xu-virtual-machine) (gcc version 8.4.0 (OpenWrt GCC 8.4.0 r16554-1d4dea6d4f)) #0 Sat Apr 16 12:59:34 2022
[ 0.000000] Board has DDR2
[ 0.000000] Analog PMU set to hw control
[ 0.000000] Digital PMU set to hw control
[ 0.000000] SoC Type: MediaTek MT7620A ver:2 eco:6
[ 0.000000] printk: bootconsole [early0] enabled
[ 0.000000] CPU0 revision is: 00019650 (MIPS 24KEc)
[ 0.000000] MIPS: machine is Asus RT-AC51U
[ 0.000000] Initrd not found or empty - disabling initrd
[ 0.000000] Primary instruction cache 64kB, VIPT, 4-way, linesize 32 bytes.
[ 0.000000] Primary data cache 32kB, 4-way, PIPT, no aliases, linesize 32 bytes
[ 0.000000] Zone ranges:
[ 0.000000] Normal [mem 0x0000000000000000-0x0000000007ffffff]
[ 0.000000] Movable zone start for each node
[ 0.000000] Early memory node ranges
[ 0.000000] node 0: [mem 0x0000000000000000-0x0000000007ffffff]
[ 0.000000] Initmem setup node 0 [mem 0x0000000000000000-0x0000000007ffffff]
[ 0.000000] On node 0 totalpages: 32768
[ 0.000000] Normal zone: 288 pages used for memmap
[ 0.000000] Normal zone: 0 pages reserved
[ 0.000000] Normal zone: 32768 pages, LIFO batch:7
[ 0.000000] pcpu-alloc: s0 r0 d32768 u32768 alloc=1*32768
[ 0.000000] pcpu-alloc: [0] 0
[ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 32480
[ 0.000000] Kernel command line: console=ttyS0,57600 rootfstype=squashfs,jffs2
[ 0.000000] Dentry cache hash table entries: 16384 (order: 4, 65536 bytes, linear)
[ 0.000000] Inode-cache hash table entries: 8192 (order: 3, 32768 bytes, linear)
[ 0.000000] Writing ErrCtl register=00035bf1
[ 0.000000] Readback ErrCtl register=00035bf1
[ 0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
[ 0.000000] Memory: 122288K/131072K available (4745K kernel code, 206K rwdata, 1048K rodata, 1224K init, 205K bss, 8784K reserved, 0K cma-reserved)
[ 0.000000] SLUB: HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[ 0.000000] NR_IRQS: 256
[ 0.000000] random: get_random_bytes called from start_kernel+0x358/0x54c with crng_init=0
[ 0.000000] CPU Clock: 580MHz
[ 0.000000] clocksource: systick: mask: 0xffff max_cycles: 0xffff, max_idle_ns: 583261500 ns
[ 0.000000] systick: enable autosleep mode
[ 0.000000] systick: running - mult: 214748, shift: 32
[ 0.000000] clocksource: MIPS: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 6590553264 ns
[ 0.000010] sched_clock: 32 bits at 290MHz, resolution 3ns, wraps every 7405115902ns
[ 0.007611] Calibrating delay loop... 385.02 BogoMIPS (lpj=770048)
[ 0.045493] pid_max: default: 32768 minimum: 301
[ 0.050185] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
[ 0.057240] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
[ 0.071776] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns
[ 0.081258] futex hash table entries: 256 (order: -1, 3072 bytes, linear)
[ 0.087942] pinctrl core: initialized pinctrl subsystem
[ 0.093612] NET: Registered protocol family 16
[ 0.474655] mt7620-pci 10140000.pcie: PCIE0 no card, disable it(RST&CLK)
[ 0.481162] mt7620-pci: probe of 10140000.pcie failed with error -1
[ 0.510746] rt2880_gpio 10000600.gpio: registering 24 gpios
[ 0.516229] rt2880_gpio 10000600.gpio: registering 24 irq handlers
[ 0.522244] GPIO line 10 (enable-leds) hogged as output/low
[ 0.527990] rt2880_gpio 10000688.gpio: registering 1 gpios
[ 0.533337] rt2880_gpio 10000688.gpio: registering 1 irq handlers
[ 0.544501] clocksource: Switched to clocksource systick
[ 0.551104] NET: Registered protocol family 2
[ 0.555548] IP idents hash table entries: 2048 (order: 2, 16384 bytes, linear)
[ 0.563304] tcp_listen_portaddr_hash hash table entries: 512 (order: 0, 4096 bytes, linear)
[ 0.571455] TCP established hash table entries: 1024 (order: 0, 4096 bytes, linear)
[ 0.578865] TCP bind hash table entries: 1024 (order: 0, 4096 bytes, linear)
[ 0.585705] TCP: Hash tables configured (established 1024 bind 1024)
[ 0.592020] UDP hash table entries: 256 (order: 0, 4096 bytes, linear)
[ 0.598370] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes, linear)
[ 0.605409] NET: Registered protocol family 1
[ 0.609655] PCI: CLS 0 bytes, default 32
[ 0.616407] rt-timer 10000100.timer: maximum frequency is 1220Hz
[ 0.624774] workingset: timestamp_bits=14 max_order=15 bucket_order=1
[ 0.639628] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[ 0.645300] jffs2: version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc.
[ 0.673582] Serial: 8250/16550 driver, 2 ports, IRQ sharing disabled
[ 0.681013] printk: console [ttyS0] disabled
[ 0.685220] 10000c00.uartlite: ttyS0 at MMIO 0x10000c00 (irq = 20, base_baud = 2500000) is a Palmchip BK-3103
[ 0.694838] printk: console [ttyS0] enabled
[ 0.711374] printk: bootconsole [early0] disabled
[ 0.736465] spi spi0.0: force spi mode3
[ 0.755771] spi-nor spi0.0: w25q128 (16384 Kbytes)
[ 0.765400] 4 fixed-partitions partitions found on MTD device spi0.0
[ 0.778065] Creating 4 MTD partitions on "spi0.0":
[ 0.787625] 0x000000000000-0x000000030000 : "u-boot"
[ 0.798620] 0x000000030000-0x000000040000 : "u-boot-env"
[ 0.810317] 0x000000040000-0x000000050000 : "factory"
[ 0.821535] 0x000000050000-0x000001000000 : "firmware"
[ 0.836226] 2 uimage-fw partitions found on MTD device firmware
[ 0.848103] Creating 2 MTD partitions on "firmware":
[ 0.858012] 0x000000000000-0x0000001e828c : "kernel"
[ 0.869101] 0x0000001e828c-0x000000fb0000 : "rootfs"
[ 0.880012] mtd: device 5 (rootfs) set to be root filesystem
[ 0.893263] 1 squashfs-split partitions found on MTD device rootfs
[ 0.905655] 0x00000056d000-0x000000fb0000 : "rootfs_data"
[ 0.928631] gsw: setting port4 to ephy mode
[ 0.937039] mtk_soc_eth 10100000.ethernet eth0 (uninitialized): port 3 link up (100Mbps/Full duplex)
[ 0.955759] mtk_soc_eth 10100000.ethernet: loaded mt7620 driver
[ 0.968361] mtk_soc_eth 10100000.ethernet eth0: mediatek frame engine at 0xb0100000, irq 5
[ 0.985429] rt2880_wdt 10000120.watchdog: Initialized
[ 0.997153] NET: Registered protocol family 10
[ 1.010488] Segment Routing with IPv6
[ 1.018010] NET: Registered protocol family 17
[ 1.026942] 8021q: 802.1Q VLAN Support v1.8
[ 1.044632] VFS: Mounted root (squashfs filesystem) readonly on device 31:5.
[ 1.065693] Freeing unused kernel memory: 1224K
[ 1.074737] This architecture does not have kernel memory protection.
[ 1.087570] Run /sbin/init as init process
[ 1.376461] random: fast init done
[ 1.986622] init: Console is alive
[ 1.993833] init: - watchdog -
[ 3.420622] kmodloader: loading kernel modules from /etc/modules-boot.d/*
[ 3.635304] usbcore: registered new interface driver usbfs
[ 3.646413] usbcore: registered new interface driver hub
[ 3.657139] usbcore: registered new device driver usb
[ 3.674675] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[ 3.689736] ehci-fsl: Freescale EHCI Host controller driver
[ 3.702634] ehci-platform: EHCI generic platform driver
[ 3.723451] phy phy-usbphy.0: remote usb device wakeup disabled
[ 3.735261] phy phy-usbphy.0: UTMI 16bit 30MHz
[ 3.744124] ehci-platform 101c0000.ehci: EHCI Host Controller
[ 3.755613] ehci-platform 101c0000.ehci: new USB bus registered, assigned bus number 1
[ 3.771544] ehci-platform 101c0000.ehci: irq 26, io mem 0x101c0000
[ 3.788422] ehci-platform 101c0000.ehci: USB 2.0 started, EHCI 1.00
[ 3.801994] hub 1-0:1.0: USB hub found
[ 3.809990] hub 1-0:1.0: 1 port detected
[ 3.823568] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[ 3.837841] ohci-platform: OHCI generic platform driver
[ 3.848666] ohci-platform 101c1000.ohci: Generic Platform OHCI controller
[ 3.862262] ohci-platform 101c1000.ohci: new USB bus registered, assigned bus number 2
[ 3.878194] ohci-platform 101c1000.ohci: irq 26, io mem 0x101c1000
[ 3.915374] hub 2-0:1.0: USB hub found
[ 3.923373] hub 2-0:1.0: 1 port detected
[ 3.936495] kmodloader: done loading kernel modules from /etc/modules-boot.d/*
[ 3.955358] init: - preinit -
[ 4.080508] usb 1-1: new high-speed USB device number 2 using ehci-platform
[ 4.668805] hub 1-1:1.0: USB hub found
[ 4.768271] hub 1-1:1.0: 4 ports detected
[ 4.848520] random: procd: uninitialized urandom read (4 bytes read)
[ 5.231629] usb 1-1.2: new high-speed USB device number 3 using ehci-platform
[ 5.251938] random: jshn: uninitialized urandom read (4 bytes read)
[ 5.431566] random: jshn: uninitialized urandom read (4 bytes read)
[ 5.916295] urandom_read: 4 callbacks suppressed
[ 5.916304] random: jshn: uninitialized urandom read (4 bytes read)
[ 6.396876] 8021q: adding VLAN 0 to HW filter on device eth0
[ 8.040037] mount_root: jffs2 not ready yet, using temporary tmpfs overlay
[ 8.058390] urandom-seed: Seed file not found (/etc/urandom.seed)
[ 8.181039] procd: - early -
[ 8.187091] procd: - watchdog -
[ 8.847980] random: jshn: uninitialized urandom read (4 bytes read)
[ 8.948155] procd: - watchdog -
[ 8.955179] procd: - ubus -
[ 9.185351] random: ubusd: uninitialized urandom read (4 bytes read)
[ 9.221234] procd: - init -
[ 11.701987] kmodloader: loading kernel modules from /etc/modules.d/*
[ 11.988760] usbcore: registered new interface driver cdc_wdm
[ 12.017931] Loading modules backported from Linux version v5.10.110-0-g3238bffaf992
[ 12.033279] Backport generated by backports.git v5.10.110-1-0-g1fbde860
[ 12.113347] usbcore: registered new interface driver usbserial_generic
[ 12.126509] usbserial: USB Serial support registered for generic
[ 12.193556] xt_time: kernel timezone is -0000
[ 12.239731] urngd: jent-rng init failed, err: 2
[ 12.401783] PPP generic driver version 2.4.2
[ 12.413893] NET: Registered protocol family 24
[ 12.426633] qmi_wwan 1-1.2:1.5: work on RawIP mode
[ 12.437478] qmi_wwan 1-1.2:1.5: cdc-wdm0: USB WDM device
[ 12.449206] qmi_wwan 1-1.2:1.5 wwan0: register 'qmi_wwan' at usb-101c0000.ehci-1.2, WWAN/QMI device, 7a:a8:ae:e9:6e:86
[ 12.470905] usbcore: registered new interface driver qmi_wwan
[ 12.627036] usbcore: registered new interface driver option
[ 12.638338] usbserial: USB Serial support registered for GSM modem (1-port)
[ 12.652833] option 1-1.2:1.0: GSM modem (1-port) converter detected
[ 12.665686] usb 1-1.2: GSM modem (1-port) converter now attached to ttyUSB0
[ 12.679853] option 1-1.2:1.1: GSM modem (1-port) converter detected
[ 12.692748] usb 1-1.2: GSM modem (1-port) converter now attached to ttyUSB1
[ 12.706902] option 1-1.2:1.2: GSM modem (1-port) converter detected
[ 12.719824] usb 1-1.2: GSM modem (1-port) converter now attached to ttyUSB2
[ 12.733958] option 1-1.2:1.3: GSM modem (1-port) converter detected
[ 12.746833] usb 1-1.2: GSM modem (1-port) converter now attached to ttyUSB3
[ 12.943757] rt2800_wmac 10180000.wmac: loaded eeprom from mtd device "factory"
[ 12.958194] ieee80211 phy0: rt2x00_set_rt: Info - RT chipset 6352, rev 0500 detected
[ 12.973669] ieee80211 phy0: rt2x00_set_rf: Info - RF chipset 7620 detected
[ 12.987503] ieee80211 phy0: Selected rate control algorithm 'minstrel_ht'
[ 13.031948] kmodloader: done loading kernel modules from /etc/modules.d/*
[ 24.722303] crng init done
[ 46.735943] jffs2_scan_eraseblock(): End of filesystem marker found at 0x0
[ 46.779026] jffs2_build_filesystem(): unlocking the mtd device...
[ 46.779981] done.
[ 46.796204] jffs2_build_filesystem(): erasing all blocks after the end marker...
[ 48.934666] 8021q: adding VLAN 0 to HW filter on device eth0
[ 49.060777] br-lan: port 1(eth0.1) entered blocking state
[ 49.071639] br-lan: port 1(eth0.1) entered disabled state
[ 49.082849] device eth0.1 entered promiscuous mode
[ 49.092455] device eth0 entered promiscuous mode
[ 49.237050] br-lan: port 1(eth0.1) entered blocking state
[ 49.247889] br-lan: port 1(eth0.1) entered forwarding state
[ 49.938878] IPv6: ADDRCONF(NETDEV_CHANGE): br-lan: link becomes ready
[ 293.242138] done.
[ 293.246035] jffs2: notice: (2443) jffs2_build_xattr_subsystem: complete building xattr subsystem, 0 of xdatum (0 unchecked, 0 orphan) and 0 of xref (0 dead, 0 orphan) found.
[ 293.495834] overlayfs: upper fs does not support tmpfile.
Attach a screenshot of the network interface
The modified driver code is attached, please refer to
After two weeks of research, I really have no clue. Please forgive my English writing.
Please give me some pointers. Thank you!