1*4882a593SmuzhiyunRelease Notes 2*4882a593Smuzhiyun 3*4882a593Smuzhiyun[V1.6.2.14] 4*4882a593SmuzhiyunDate: 3/18/2020 5*4882a593Smuzhiyunenhancement: 6*4882a593Smuzhiyunfix: 7*4882a593Smuzhiyun 1. fix kasam: use-after-free when do modem reboot stress test 8*4882a593Smuzhiyun 2. wait qmi_sync_thread() finish in DeregisterQMIDevice(), usb will disconnect when driver is still in qmi_sync_thread() 9*4882a593Smuzhiyun 10*4882a593Smuzhiyun[V1.6.2.13] 11*4882a593SmuzhiyunDate: 12/31/2020 12*4882a593Smuzhiyunenhancement: 13*4882a593Smuzhiyunfix: 14*4882a593Smuzhiyun 1. fix quectel-CM open error when driver is still in qmi_sync_thread() but SOC enter sleep. 15*4882a593Smuzhiyun 16*4882a593Smuzhiyun[V1.6.2.12] 17*4882a593SmuzhiyunDate: 12/31/2020 18*4882a593Smuzhiyunenhancement: 19*4882a593Smuzhiyunfix: 20*4882a593Smuzhiyun 1. for multi-pdn-call, can not ping when usb resume for usb suspend state. 21*4882a593Smuzhiyun 22*4882a593Smuzhiyun[V1.6.2.11] 23*4882a593SmuzhiyunDate: 11/7/2020 24*4882a593Smuzhiyunenhancement: 25*4882a593Smuzhiyun 1. support QUECTEL_QMI_MERGE, for some SOC, control endpoint only support read max 64 bytes QMI. 26*4882a593Smuzhiyun for QMI that size > 64, we need read serval times, and merge. 27*4882a593Smuzhiyunfix: 28*4882a593Smuzhiyun 29*4882a593Smuzhiyun[V1.6.2.10] 30*4882a593SmuzhiyunDate: 9/15/2020 31*4882a593Smuzhiyunenhancement: 32*4882a593Smuzhiyunfix: 33*4882a593Smuzhiyun 1. for X55, fix panic on kernel V2.6 ~ V3.2 34*4882a593Smuzhiyun 35*4882a593Smuzhiyun[V1.6.2.9] 36*4882a593SmuzhiyunDate: 7/24/2020 37*4882a593Smuzhiyunenhancement: 38*4882a593Smuzhiyunfix: 39*4882a593Smuzhiyun 1. for X55, fix errors on Big Endian SOC. 40*4882a593Smuzhiyun 41*4882a593Smuzhiyun[V1.6.2.8] 42*4882a593SmuzhiyunDate: 7/2/2020 43*4882a593Smuzhiyunenhancement: 44*4882a593Smuzhiyun 1. support QMAPV5, UL AGG (porting from qmi_wwan_q) 45*4882a593Smuzhiyunfix: 46*4882a593Smuzhiyun 1. fix errors kernel V2.6 . 47*4882a593Smuzhiyun 48*4882a593Smuzhiyun[V1.6.2.7] 49*4882a593SmuzhiyunDate: 6/9/2020 50*4882a593Smuzhiyunenhancement: 51*4882a593Smuzhiyunfix: 52*4882a593Smuzhiyun 1. when send qmi ctl request, clear qmi ctl response which's TID is same 53*4882a593Smuzhiyun 54*4882a593Smuzhiyun[V1.6.2.6] 55*4882a593SmuzhiyunDate: 5/19/2020 56*4882a593Smuzhiyunenhancement: 57*4882a593Smuzhiyun 1. support bridge mode for multi-pdn-call 58*4882a593Smuzhiyunfix: 59*4882a593Smuzhiyun 60*4882a593Smuzhiyun[V1.6.2.5] 61*4882a593SmuzhiyunDate: 4/26/2020 62*4882a593Smuzhiyunenhancement: 63*4882a593Smuzhiyun 1. fix netcard name as usbX (from ethX) 64*4882a593Smuzhiyunfix: 65*4882a593Smuzhiyun 66*4882a593Smuzhiyun...... 67*4882a593Smuzhiyun 68*4882a593Smuzhiyun[Quectel_WCDMA<E_Linux&Android_GobiNet_Driver_V1.5.0] 69*4882a593SmuzhiyunDate: 2018/04/17 70*4882a593Smuzhiyunenhancement:: 71*4882a593Smuzhiyun1. support EG20&RG500 72*4882a593Smuzhiyun2. fix set rx_urb_size as 1520. do not change accroding to MTU 73*4882a593Smuzhiyun 74*4882a593Smuzhiyun[Quectel_WCDMA<E_Linux&Android_GobiNet_Driver_V1.4.3] 75*4882a593SmuzhiyunDate: 2018/04/16 76*4882a593Smuzhiyunenhancement:: 77*4882a593Smuzhiyun1. increase QMAP's rx_urb_size to 32KB 78*4882a593Smuzhiyun 79*4882a593Smuzhiyun[Quectel_WCDMA<E_Linux&Android_GobiNet_Driver_V1.4.2] 80*4882a593SmuzhiyunDate: 2018/04/03 81*4882a593Smuzhiyunbug fix: 82*4882a593Smuzhiyun1. fix qmi client can not be released when quectel-CM killed by ��kill -9�� 83*4882a593Smuzhiyun 84*4882a593Smuzhiyun[Quectel_WCDMA<E_Linux&Android_GobiNet_Driver_V1.4.1] 85*4882a593SmuzhiyunDate: 2018/02/20 86*4882a593Smuzhiyunbug fix: 87*4882a593Smuzhiyun1. fix a compiler error on Kernel lager than 4.11 88*4882a593Smuzhiyun 89*4882a593Smuzhiyun[Quectel_WCDMA<E_Linux&Android_GobiNet_Driver_V1.4.0] 90*4882a593SmuzhiyunDate: 2018/12/17 91*4882a593Smuzhiyunbug fix: 92*4882a593Smuzhiyun1. fix a USB DMA error when built as GobiNet.ko on Kernel lager than 4.15 93*4882a593Smuzhiyun 94*4882a593Smuzhiyun[Quectel_WCDMA<E_Linux&Android_GobiNet_Driver_V1.3.8] 95*4882a593Smuzhiyun[Quectel_WCDMA<E_Linux&Android_GobiNet_Driver_V1.3.7] 96*4882a593SmuzhiyunDate: 2018/09/25 97*4882a593Smuzhiyunenhancement: 98*4882a593Smuzhiyun1. check skb length in tx_fixup functions. 99*4882a593Smuzhiyun2. when QMAP enabled, set FLAG_RX_ASSEMBLE to advoid 'RX errors' of ifconfig 100*4882a593Smuzhiyun 101*4882a593Smuzhiyun[Quectel_WCDMA<E_Linux&Android_GobiNet_Driver_V1.3.6] 102*4882a593SmuzhiyunDate: 2018/09/11 103*4882a593Smuzhiyunenhancement: 104*4882a593Smuzhiyun1. support EG12 EM12 105*4882a593Smuzhiyun2. optimization QMAP source code 106*4882a593Smuzhiyun3. fix compile errors and warnnings on kernel version 4.15 107*4882a593Smuzhiyun 108*4882a593Smuzhiyun[Quectel_WCDMA<E_Linux&Android_GobiNet_Driver_V1.3.5] 109*4882a593SmuzhiyunDate: 2018/05/12 110*4882a593Smuzhiyunenhancement: 111*4882a593Smuzhiyun1. provide two method to enable QMAP function. 112*4882a593Smuzhiyun 1.1 set module parameters 'qmap_mode' to X(1~4) to enable QMAP. 113*4882a593Smuzhiyun 1.2 ifconfig usb0 down, then 'echo X > /sys/class/usbX/qmap_mode' to enable QMAP 114*4882a593Smuzhiyun for above two method, X(1) used to enable 'IP Aggregation' and X(2~4) to enable 'IP Mux' 115*4882a593Smuzhiyun2. support bridge mode, also provide two method to enable bridge mode. 116*4882a593Smuzhiyun 2.1 set module parameters 'bridge_mode' to 1 to enable bridge mode. 117*4882a593Smuzhiyun 2.2 'echo 1 > /sys/class/usbX/bridge_mode' to enable bridge mode. 118*4882a593Smuzhiyun bridge mode setups: 119*4882a593Smuzhiyun brctl addbr br0; brctl addif br0 eth0; brctl addif usb0; ./quectel-CM; ifconfig br0 up; ifconfig eth0 up 120*4882a593Smuzhiyun then connect eth0 to PC by ethernet cable. and PC run DHCP tool to obtain network public IP address. 121*4882a593Smuzhiyun 122*4882a593Smuzhiyun 'WCDMA<E_QConnectManager_Linux&Android_V1.1.40' and later version is required to use QMAP and bridge mode. 123*4882a593Smuzhiyun 124*4882a593Smuzhiyun[Quectel_WCDMA<E_Linux&Android_GobiNet_Driver_V1.3.4] 125*4882a593SmuzhiyunDate: 2018/05/07 126*4882a593Smuzhiyunenhancement: 127*4882a593Smuzhiyun1. support use 'AT$QCRMCALL=1,1' to setup data call. 128*4882a593Smuzhiyun when use 'AT$QCRMCALL=1,1', must set module parameters 'qcrmcall_mode' to 1, 129*4882a593Smuzhiyun and GobiNet Driver will do not tx&rx QMI. 130*4882a593Smuzhiyun 131*4882a593Smuzhiyun[Quectel_WCDMA<E_Linux&Android_GobiNet_Driver_V1.3.3] 132*4882a593SmuzhiyunDate: 2018/04/04 133*4882a593Smuzhiyunoptimization: 134*4882a593Smuzhiyun1. optimization QMAP source code 135*4882a593Smuzhiyun 136*4882a593Smuzhiyun[Quectel_WCDMA<E_Linux&Android_GobiNet_Driver_V1.3.2] 137*4882a593SmuzhiyunDate: 2018/03/23 138*4882a593Smuzhiyunenhancement: 139*4882a593Smuzhiyun1. support Qualcomm Mux and Aggregation Protocol (QMAP) 140*4882a593Smuzhiyun 1.1 IP Mux: GobiNet Driver register multiple netcards, one netcards corresponding to one PDP. 141*4882a593Smuzhiyun and GobiNet Driver will tx/rx multiple IP packets maybe belong to different PDPs in one URB. 142*4882a593Smuzhiyun 1.2 IP Aggregation: GobiNet Driver will rx multiple IP packets in one URB, used to increase throughput theoretically by reducing the number of usb interrupts. 143*4882a593Smuzhiyun the max rx URB size of MDM9x07 is 4KB, the max rx URB size of MDM9x40&SDX20 is 16KB 144*4882a593Smuzhiyun 145*4882a593Smuzhiyun[Quectel_WCDMA<E_Linux&Android_GobiNet_Driver_V1.3.1] 146*4882a593SmuzhiyunDate: 2017/11/20 147*4882a593Smuzhiyunenhancement: 148*4882a593Smuzhiyun1. support BG96 149