 |
13樓
巨大八爪鱼
2025-12-23 17:58
root@rk3308b-buildroot:/root# microcom /dev/ttyUSB1 AT+QIOPEN=1,0,"TCP","154.222.17.158",80,0,2 CONNECT HTTP/1.1 400 Bad Request Server: nginx/1.27.4 Date: Tue, 23 Dec 2025 09:58:37 GMT Content-Type: text/html Content-Length: 157 Connection: close
<html> <head><title>400 Bad Request</title></head> <body> <center><h1>400 Bad Request</h1></center> <hr><center>nginx/1.27.4</center> </body> </html>
NO CARRIER root@rk3308b-buildroot:/root#
|
 |
14樓
巨大八爪鱼
2025-12-23 20:43
目前,板子开机后,不需要insmod GobiNet.ko,就有usb0网络接口。 GobiNet.ko并没有起到作用,insmod GobiNet.ko也没有匹配到任何设备。
EC200A这个USB设备上面有0-4这五个接口(interface),五个接口的名字分别为: root@rk3308b-buildroot:/# cat /sys/bus/usb/devices/2-1/2-1:1.0/interface Mobile RNDIS Network Adapter root@rk3308b-buildroot:/# cat /sys/bus/usb/devices/2-1/2-1:1.1/interface Mobile RNDIS Network Adapter root@rk3308b-buildroot:/# cat /sys/bus/usb/devices/2-1/2-1:1.2/interface Mobile Diag Interface root@rk3308b-buildroot:/# cat /sys/bus/usb/devices/2-1/2-1:1.3/interface Mobile AT Interface root@rk3308b-buildroot:/# cat /sys/bus/usb/devices/2-1/2-1:1.4/interface Mobile MODEM Interface root@rk3308b-buildroot:/#
板子开机后,在没有插入任何模块的情况下,接口0和1匹配的是linux内核自带的Luckfox_Nova_SDK_250430/kernel/drivers/net/usb/rndis_host.c驱动,接口2-4没有匹配驱动。usb0网络接口就是由内核自带的rndis_host.c驱动产生的。 root@rk3308b-buildroot:/# lsmod Module Size Used by Tainted: G aic8800_bsp 73728 0 root@rk3308b-buildroot:/# ls -l /sys/bus/usb/devices/2-1/2-1:1.0/driver lrwxrwxrwx 1 root root 0 Jan 1 00:00 /sys/bus/usb/devices/2-1/2-1:1.0/driver -> ../../../../../../bus/usb/drivers/rndis_host root@rk3308b-buildroot:/# ls -l /sys/bus/usb/devices/2-1/2-1:1.1/driver lrwxrwxrwx 1 root root 0 Jan 1 00:01 /sys/bus/usb/devices/2-1/2-1:1.1/driver -> ../../../../../../bus/usb/drivers/rndis_host root@rk3308b-buildroot:/# ls -l /sys/bus/usb/devices/2-1/2-1:1.2/driver ls: cannot access '/sys/bus/usb/devices/2-1/2-1:1.2/driver': No such file or directory root@rk3308b-buildroot:/# ls -l /sys/bus/usb/devices/2-1/2-1:1.3/driver ls: cannot access '/sys/bus/usb/devices/2-1/2-1:1.3/driver': No such file or directory root@rk3308b-buildroot:/# ls -l /sys/bus/usb/devices/2-1/2-1:1.4/driver ls: cannot access '/sys/bus/usb/devices/2-1/2-1:1.4/driver': No such file or directory root@rk3308b-buildroot:/#
如果想要让GobiNet.ko起作用,就需要修改Quectel_LTE5G_Linux_USB_Driver_V1.0-5/Quectel_LinuxAndroid_GobiNet_Driver_V1.6/GobiUSBNet.c文件,找到static const struct usb_device_id QuecGobiVIDPIDTable,在里面加上GOBI_FIXED_INTF( 0x2c7c, 0x6005 )。 因为static struct driver_info GobiNetInfo里面第1996行data=(1 << 4),而在第755-761行有下面的代码 // Verify correct interface (4 for UC20) if ( !test_bit(pIntf->cur_altsetting->desc.bInterfaceNumber, &pDev->driver_info->data)) { DBG( "invalid interface %d\n", pIntf->cur_altsetting->desc.bInterfaceNumber ); return -ENODEV; } 所以最后GobiUSBNet.ko会匹配上接口4。 在内核外编译GobiNet驱动代码,并将GobiNet.ko上传到板子上。 adb push "\\OCT1158-UBUNTU\oct1158\Documents\Code\C\Quectel_LTE5G_Linux_USB_Driver_V1.0-5\Quectel_LinuxAndroid_GobiNet_Driver_V1.6\GobiNet.ko" /root 在板子上插入GobiNet.ko模块,可以看到又出现了新的usb1接口,这才是GobiUSBNet.ko产生的网络接口。 root@rk3308b-buildroot:/# cd /root root@rk3308b-buildroot:/root# insmod GobiNet.ko [ 392.129124] GobiNet: Quectel_Linux&Android_GobiNet_Driver_V1.6 [ 392.132848] GobiNet 2-1:1.4 usb1: register 'GobiNet' at usb-ff440000.usb-1, GobiNet Ethernet Device, 2e:88:bc:88:ef:75 [ 392.134713] creating qcqmi1 [ 392.136384] usbcore: registered new interface driver GobiNet root@rk3308b-buildroot:/root# [ 393.192237] IPv6: ADDRCONF(NETDEV_CHANGE): usb1: link becomes ready
root@rk3308b-buildroot:/root# ifconfig eth0 Link encap:Ethernet HWaddr F2:2E:FE:02:6E:60 UP BROADCAST MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:0 (0.0 B) TX bytes:0 (0.0 B) Interrupt:39
lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:65536 Metric:1 RX packets:40 errors:0 dropped:0 overruns:0 frame:0 TX packets:40 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:2848 (2.7 KiB) TX bytes:2848 (2.7 KiB)
usb0 Link encap:Ethernet HWaddr AE:53:03:FF:64:0C inet addr:192.168.43.100 Bcast:192.168.43.255 Mask:255.25e:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:61 errors:0 dropped:0 overruns:0 frame:0 TX packets:213 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:2880 (2.8 KiB) TX bytes:24818 (24.2 KiB)
usb1 Link e:863:33f6/64 Scope:Link UP BROADCAST RUNNING NOARP MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:4 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:0 (0.0 B) TX bytes:768 (768.0 B)
root@rk3308b-buildroot:/root#
可以看到,GobiNet.ko确实匹配的是4号接口(Mobile MODEM Interface),产生了usb1网络接口。 linux内核自带的Luckfox_Nova_SDK_250430/kernel/drivers/net/usb/rndis_host.c驱动依然还是匹配接口0-1(Mobile RNDIS Network Adapter),产生的是usb0网络接口。 root@rk3308b-buildroot:/root# lsmod Module Size Used by Tainted: G GobiNet 53248 0 aic8800_bsp 73728 0 root@rk3308b-buildroot:/root# ls -l /sys/bus/usb/devices/2-1/2-1:1.0/driver lrwxrwxrwx 1 root root 0 Jan 1 00:00 /sys/bus/usb/devices/2-1/2-1:1.0/driver -> ../../../../../../bus/usb/drivers/rndis_host root@rk3308b-buildroot:/root# ls -l /sys/bus/usb/devices/2-1/2-1:1.1/driver lrwxrwxrwx 1 root root 0 Jan 1 00:01 /sys/bus/usb/devices/2-1/2-1:1.1/driver -> ../../../../../../bus/usb/drivers/rndis_host root@rk3308b-buildroot:/root# ls -l /sys/bus/usb/devices/2-1/2-1:1.2/driver ls: cannot access '/sys/bus/usb/devices/2-1/2-1:1.2/driver': No such file or directory root@rk3308b-buildroot:/root# ls -l /sys/bus/usb/devices/2-1/2-1:1.3/driver ls: cannot access '/sys/bus/usb/devices/2-1/2-1:1.3/driver': No such file or directory root@rk3308b-buildroot:/root# ls -l /sys/bus/usb/devices/2-1/2-1:1.4/driver lrwxrwxrwx 1 root root 0 Jan 1 00:06 /sys/bus/usb/devices/2-1/2-1:1.4/driver -> ../../../../../../bus/usb/drivers/GobiNet root@rk3308b-buildroot:/root#
|
最后一定要记得AT+QICLOSE=0关闭连接,不然建立不了新连接。
root@rk3308b-buildroot:/root# microcom /dev/ttyUSB1
AT+QIOPEN=1,0,"TCP","154.222.17.158",80,0,2ERROR
AT+QICLOSE=0
OK
AT+QIOPEN=1,0,"TCP","154.222.17.158",80,0,2
CONNECT
HTTP/1.1 400 Bad Request
Server: nginx/1.27.4
Date: Tue, 23 Dec 2025 10:04:32 GMT
Content-Type: text/html
Content-Length: 157
Connection: close
<html>
<head><title>400 Bad Request</title></head>
<body>
<center><h1>400 Bad Request</h1></center>
<hr><center>nginx/1.27.4</center>
</body>
</html>
NO CARRIER
AT+QICLOSE=0
OK
root@rk3308b-buildroot:/root#