├── LICENSE ├── README-zh.md ├── README.MD └── src ├── v2.6.12 ├── Makefile └── drivers │ └── usb │ └── serial │ ├── option.c │ └── usb-serial.h ├── v2.6.13 ├── Makefile └── drivers │ └── usb │ └── serial │ ├── option.c │ └── usb-serial.h ├── v2.6.14 ├── Makefile └── drivers │ └── usb │ └── serial │ ├── option.c │ └── usb-serial.h ├── v2.6.15 ├── Makefile └── drivers │ └── usb │ └── serial │ ├── option.c │ └── usb-serial.h ├── v2.6.16 ├── Makefile └── drivers │ └── usb │ └── serial │ ├── option.c │ └── usb-serial.h ├── v2.6.17 ├── Makefile └── drivers │ └── usb │ └── serial │ ├── option.c │ └── usb-serial.h ├── v2.6.18 ├── Makefile └── drivers │ └── usb │ └── serial │ └── option.c ├── v2.6.19 ├── Makefile └── drivers │ └── usb │ └── serial │ └── option.c ├── v2.6.20 ├── Makefile └── drivers │ └── usb │ └── serial │ └── option.c ├── v2.6.21 ├── Makefile └── drivers │ └── usb │ └── serial │ └── option.c ├── v2.6.22 ├── Makefile └── drivers │ └── usb │ └── serial │ └── option.c ├── v2.6.23 ├── Makefile └── drivers │ └── usb │ └── serial │ └── option.c ├── v2.6.24 ├── Makefile └── drivers │ └── usb │ └── serial │ └── option.c ├── v2.6.25 ├── Makefile └── drivers │ └── usb │ └── serial │ └── option.c ├── v2.6.26 ├── Makefile └── drivers │ └── usb │ └── serial │ └── option.c ├── v2.6.27 ├── Makefile └── drivers │ └── usb │ └── serial │ └── option.c ├── v2.6.28 ├── Makefile └── drivers │ └── usb │ └── serial │ └── option.c ├── v2.6.29 ├── Makefile └── drivers │ └── usb │ └── serial │ └── option.c ├── v2.6.30 ├── Makefile └── drivers │ └── usb │ └── serial │ ├── option.c │ └── qcserial.c ├── v2.6.31 ├── Makefile └── drivers │ └── usb │ └── serial │ ├── option.c │ └── qcserial.c ├── v2.6.32 ├── Makefile └── drivers │ └── usb │ └── serial │ ├── option.c │ └── qcserial.c ├── v2.6.33 ├── Makefile └── drivers │ └── usb │ └── serial │ ├── option.c │ └── qcserial.c ├── v2.6.34 ├── Makefile └── drivers │ └── usb │ └── serial │ ├── option.c │ └── qcserial.c ├── v2.6.35 ├── Makefile └── drivers │ └── usb │ └── serial │ ├── option.c │ ├── qcserial.c │ ├── usb-wwan.h │ └── usb_wwan.c ├── v2.6.36 ├── Makefile └── drivers │ └── usb │ └── serial │ ├── option.c │ ├── qcserial.c │ ├── usb-wwan.h │ └── usb_wwan.c ├── v2.6.37 ├── Makefile └── drivers │ └── usb │ └── serial │ ├── option.c │ ├── qcserial.c │ ├── usb-wwan.h │ └── usb_wwan.c ├── v2.6.38 ├── Makefile └── drivers │ └── usb │ └── serial │ ├── option.c │ ├── qcserial.c │ ├── usb-wwan.h │ └── usb_wwan.c ├── v2.6.39 ├── Makefile └── drivers │ └── usb │ └── serial │ ├── option.c │ ├── qcserial.c │ ├── usb-wwan.h │ └── usb_wwan.c ├── v3.0.1 ├── Makefile └── drivers │ └── usb │ └── serial │ ├── option.c │ ├── qcserial.c │ ├── usb-wwan.h │ └── usb_wwan.c ├── v3.0.11 ├── Makefile └── drivers │ └── usb │ └── serial │ ├── option.c │ ├── qcserial.c │ ├── usb-wwan.h │ └── usb_wwan.c ├── v3.0.51 ├── Makefile └── drivers │ └── usb │ └── serial │ ├── option.c │ ├── qcserial.c │ ├── usb-wwan.h │ └── usb_wwan.c ├── v3.1.1 ├── Makefile └── drivers │ └── usb │ └── serial │ ├── option.c │ ├── qcserial.c │ ├── usb-wwan.h │ └── usb_wwan.c ├── v3.10.1 ├── Makefile └── drivers │ └── usb │ └── serial │ ├── option.c │ ├── qcserial.c │ ├── usb-wwan.h │ └── usb_wwan.c ├── v3.10.11 ├── Makefile └── drivers │ └── usb │ └── serial │ ├── option.c │ ├── qcserial.c │ ├── usb-wwan.h │ └── usb_wwan.c ├── v3.10.51 ├── Makefile └── drivers │ └── usb │ └── serial │ ├── option.c │ ├── qcserial.c │ ├── usb-wwan.h │ └── usb_wwan.c ├── v3.11.1 ├── Makefile └── drivers │ └── usb │ └── serial │ ├── option.c │ ├── qcserial.c │ ├── usb-wwan.h │ └── usb_wwan.c ├── v3.12.1 ├── Makefile └── drivers │ └── usb │ └── serial │ ├── option.c │ ├── qcserial.c │ ├── usb-wwan.h │ └── usb_wwan.c ├── v3.12.11 ├── Makefile └── drivers │ └── usb │ └── serial │ ├── option.c │ ├── qcserial.c │ ├── usb-wwan.h │ └── usb_wwan.c ├── v3.12.51 ├── Makefile └── drivers │ └── usb │ └── serial │ ├── option.c │ ├── qcserial.c │ ├── usb-wwan.h │ └── usb_wwan.c ├── v3.13.1 ├── Makefile └── drivers │ └── usb │ └── serial │ ├── option.c │ ├── qcserial.c │ ├── usb-wwan.h │ └── usb_wwan.c ├── v3.13.11 ├── Makefile └── drivers │ └── usb │ └── serial │ ├── option.c │ ├── qcserial.c │ ├── usb-wwan.h │ └── usb_wwan.c ├── v3.14.1 ├── Makefile └── drivers │ └── usb │ └── serial │ ├── option.c │ ├── qcserial.c │ ├── usb-wwan.h │ └── usb_wwan.c ├── v3.14.11 ├── Makefile └── drivers │ └── usb │ └── serial │ ├── option.c │ ├── qcserial.c │ ├── usb-wwan.h │ └── usb_wwan.c ├── v3.14.51 ├── Makefile └── drivers │ └── usb │ └── serial │ ├── option.c │ ├── qcserial.c │ ├── usb-wwan.h │ └── usb_wwan.c ├── v3.15.1 ├── Makefile └── drivers │ └── usb │ └── serial │ ├── option.c │ ├── qcserial.c │ ├── usb-wwan.h │ └── usb_wwan.c ├── v3.16.1 ├── Makefile └── drivers │ └── usb │ └── serial │ ├── option.c │ ├── qcserial.c │ ├── usb-wwan.h │ └── usb_wwan.c ├── v3.17.1 ├── Makefile └── drivers │ └── usb │ └── serial │ ├── option.c │ ├── qcserial.c │ ├── usb-wwan.h │ └── usb_wwan.c ├── v3.18.1 ├── Makefile └── drivers │ └── usb │ └── serial │ ├── option.c │ ├── qcserial.c │ ├── usb-wwan.h │ └── usb_wwan.c ├── v3.18.11 ├── Makefile └── drivers │ └── usb │ └── serial │ ├── option.c │ ├── qcserial.c │ ├── usb-wwan.h │ └── usb_wwan.c ├── v3.18.111 ├── Makefile └── drivers │ └── usb │ └── serial │ ├── option.c │ ├── qcserial.c │ ├── usb-wwan.h │ └── usb_wwan.c ├── v3.18.51 ├── Makefile └── drivers │ └── usb │ └── serial │ ├── option.c │ ├── qcserial.c │ ├── usb-wwan.h │ └── usb_wwan.c ├── v3.19.1 ├── Makefile └── drivers │ └── usb │ └── serial │ ├── option.c │ ├── qcserial.c │ ├── usb-wwan.h │ └── usb_wwan.c ├── v3.2.1 ├── Makefile └── drivers │ └── usb │ └── serial │ ├── option.c │ ├── qcserial.c │ ├── usb-wwan.h │ └── usb_wwan.c ├── v3.2.11 ├── Makefile └── drivers │ └── usb │ └── serial │ ├── option.c │ ├── qcserial.c │ ├── usb-wwan.h │ └── usb_wwan.c ├── v3.2.51 ├── Makefile └── drivers │ └── usb │ └── serial │ ├── option.c │ ├── qcserial.c │ ├── usb-wwan.h │ └── usb_wwan.c ├── v3.3.1 ├── Makefile └── drivers │ └── usb │ └── serial │ ├── option.c │ ├── qcserial.c │ ├── usb-wwan.h │ └── usb_wwan.c ├── v3.4.1 ├── Makefile └── drivers │ └── usb │ └── serial │ ├── option.c │ ├── qcserial.c │ ├── usb-wwan.h │ └── usb_wwan.c ├── v3.4.11 ├── Makefile └── drivers │ └── usb │ └── serial │ ├── option.c │ ├── qcserial.c │ ├── usb-wwan.h │ └── usb_wwan.c ├── v3.4.111 ├── Makefile └── drivers │ └── usb │ └── serial │ ├── option.c │ ├── qcserial.c │ ├── usb-wwan.h │ └── usb_wwan.c ├── v3.4.51 ├── Makefile └── drivers │ └── usb │ └── serial │ ├── option.c │ ├── qcserial.c │ ├── usb-wwan.h │ └── usb_wwan.c ├── v3.5.1 ├── Makefile └── drivers │ └── usb │ └── serial │ ├── option.c │ ├── qcserial.c │ ├── usb-wwan.h │ └── usb_wwan.c ├── v3.6.1 ├── Makefile └── drivers │ └── usb │ └── serial │ ├── option.c │ ├── qcserial.c │ ├── usb-wwan.h │ └── usb_wwan.c ├── v3.6.11 ├── Makefile └── drivers │ └── usb │ └── serial │ ├── option.c │ ├── qcserial.c │ ├── usb-wwan.h │ └── usb_wwan.c ├── v3.7.1 ├── Makefile └── drivers │ └── usb │ └── serial │ ├── option.c │ ├── qcserial.c │ ├── usb-wwan.h │ └── usb_wwan.c ├── v3.8.1 ├── Makefile └── drivers │ └── usb │ └── serial │ ├── option.c │ ├── qcserial.c │ ├── usb-wwan.h │ └── usb_wwan.c ├── v3.8.11 ├── Makefile └── drivers │ └── usb │ └── serial │ ├── option.c │ ├── qcserial.c │ ├── usb-wwan.h │ └── usb_wwan.c ├── v3.9.1 ├── Makefile └── drivers │ └── usb │ └── serial │ ├── option.c │ ├── qcserial.c │ ├── usb-wwan.h │ └── usb_wwan.c ├── v3.9.11 ├── Makefile └── drivers │ └── usb │ └── serial │ ├── option.c │ ├── qcserial.c │ ├── usb-wwan.h │ └── usb_wwan.c ├── v4.0.1 ├── Makefile └── drivers │ └── usb │ └── serial │ ├── option.c │ ├── qcserial.c │ ├── usb-wwan.h │ └── usb_wwan.c ├── v4.1.1 ├── Makefile └── drivers │ └── usb │ └── serial │ ├── option.c │ ├── qcserial.c │ ├── usb-wwan.h │ └── usb_wwan.c ├── v4.1.11 ├── Makefile └── drivers │ └── usb │ └── serial │ ├── option.c │ ├── qcserial.c │ ├── usb-wwan.h │ └── usb_wwan.c ├── v4.1.51 ├── Makefile └── drivers │ └── usb │ └── serial │ ├── option.c │ ├── qcserial.c │ ├── usb-wwan.h │ └── usb_wwan.c ├── v4.10.1 ├── Makefile └── drivers │ └── usb │ ├── class │ └── cdc-wdm.c │ └── serial │ ├── option.c │ ├── qcserial.c │ ├── usb-wwan.h │ └── usb_wwan.c ├── v4.10.11 ├── Makefile └── drivers │ └── usb │ ├── class │ └── cdc-wdm.c │ └── serial │ ├── option.c │ ├── qcserial.c │ ├── usb-wwan.h │ └── usb_wwan.c ├── v4.11.1 ├── Makefile └── drivers │ └── usb │ ├── class │ └── cdc-wdm.c │ └── serial │ ├── option.c │ ├── qcserial.c │ ├── usb-wwan.h │ └── usb_wwan.c ├── v4.11.11 ├── Makefile └── drivers │ └── usb │ └── serial │ ├── option.c │ ├── qcserial.c │ ├── usb-wwan.h │ └── usb_wwan.c ├── v4.12.1 ├── Makefile └── drivers │ └── usb │ └── serial │ ├── option.c │ ├── qcserial.c │ ├── usb-wwan.h │ └── usb_wwan.c ├── v4.12.11 ├── Makefile └── drivers │ └── usb │ └── serial │ ├── option.c │ ├── qcserial.c │ ├── usb-wwan.h │ └── usb_wwan.c ├── v4.13.1 ├── Makefile └── drivers │ └── usb │ └── serial │ ├── option.c │ ├── qcserial.c │ ├── usb-wwan.h │ └── usb_wwan.c ├── v4.13.11 ├── Makefile └── drivers │ └── usb │ └── serial │ ├── option.c │ ├── qcserial.c │ ├── usb-wwan.h │ └── usb_wwan.c ├── v4.14.1 ├── Makefile └── drivers │ └── usb │ └── serial │ ├── option.c │ ├── qcserial.c │ ├── usb-wwan.h │ └── usb_wwan.c ├── v4.14.11 ├── Makefile └── drivers │ └── usb │ └── serial │ ├── option.c │ ├── qcserial.c │ ├── usb-wwan.h │ └── usb_wwan.c ├── v4.14.111 ├── Makefile └── drivers │ └── usb │ └── serial │ ├── option.c │ ├── qcserial.c │ ├── usb-wwan.h │ └── usb_wwan.c ├── v4.14.51 ├── Makefile └── drivers │ └── usb │ └── serial │ ├── option.c │ ├── qcserial.c │ ├── usb-wwan.h │ └── usb_wwan.c ├── v4.15.1 ├── Makefile └── drivers │ └── usb │ └── serial │ ├── option.c │ ├── qcserial.c │ ├── usb-wwan.h │ └── usb_wwan.c ├── v4.15.11 ├── Makefile └── drivers │ └── usb │ └── serial │ ├── option.c │ ├── qcserial.c │ ├── usb-wwan.h │ └── usb_wwan.c ├── v4.16.1 ├── Makefile └── drivers │ └── usb │ └── serial │ ├── option.c │ ├── qcserial.c │ ├── usb-wwan.h │ └── usb_wwan.c ├── v4.16.11 ├── Makefile └── drivers │ └── usb │ └── serial │ ├── option.c │ ├── qcserial.c │ ├── usb-wwan.h │ └── usb_wwan.c ├── v4.17.1 ├── Makefile └── drivers │ └── usb │ └── serial │ ├── option.c │ ├── qcserial.c │ ├── usb-wwan.h │ └── usb_wwan.c ├── v4.17.11 ├── Makefile └── drivers │ └── usb │ └── serial │ ├── option.c │ ├── qcserial.c │ ├── usb-wwan.h │ └── usb_wwan.c ├── v4.18.1 ├── Makefile └── drivers │ └── usb │ └── serial │ ├── option.c │ ├── qcserial.c │ ├── usb-wwan.h │ └── usb_wwan.c ├── v4.18.11 ├── Makefile └── drivers │ └── usb │ └── serial │ ├── option.c │ ├── qcserial.c │ ├── usb-wwan.h │ └── usb_wwan.c ├── v4.19.1 ├── Makefile └── drivers │ └── usb │ └── serial │ ├── option.c │ ├── qcserial.c │ ├── usb-wwan.h │ └── usb_wwan.c ├── v4.19.11 ├── Makefile └── drivers │ └── usb │ └── serial │ ├── option.c │ ├── qcserial.c │ ├── usb-wwan.h │ └── usb_wwan.c ├── v4.19.111 ├── Makefile └── drivers │ └── usb │ └── serial │ ├── option.c │ ├── qcserial.c │ ├── usb-wwan.h │ └── usb_wwan.c ├── v4.19.51 ├── Makefile └── drivers │ └── usb │ └── serial │ ├── option.c │ ├── qcserial.c │ ├── usb-wwan.h │ └── usb_wwan.c ├── v4.2.1 ├── Makefile └── drivers │ └── usb │ └── serial │ ├── option.c │ ├── qcserial.c │ ├── usb-wwan.h │ └── usb_wwan.c ├── v4.20.1 ├── Makefile └── drivers │ └── usb │ └── serial │ ├── option.c │ ├── qcserial.c │ ├── usb-wwan.h │ └── usb_wwan.c ├── v4.20.11 ├── Makefile └── drivers │ └── usb │ └── serial │ ├── option.c │ ├── qcserial.c │ ├── usb-wwan.h │ └── usb_wwan.c ├── v4.3.1 ├── Makefile └── drivers │ └── usb │ └── serial │ ├── option.c │ ├── qcserial.c │ ├── usb-wwan.h │ └── usb_wwan.c ├── v4.4.1 ├── Makefile └── drivers │ └── usb │ └── serial │ ├── option.c │ ├── qcserial.c │ ├── usb-wwan.h │ └── usb_wwan.c ├── v4.4.11 ├── Makefile └── drivers │ └── usb │ └── serial │ ├── option.c │ ├── qcserial.c │ ├── usb-wwan.h │ └── usb_wwan.c ├── v4.4.111 ├── Makefile └── drivers │ └── usb │ └── serial │ ├── option.c │ ├── qcserial.c │ ├── usb-wwan.h │ └── usb_wwan.c ├── v4.4.51 ├── Makefile └── drivers │ └── usb │ └── serial │ ├── option.c │ ├── qcserial.c │ ├── usb-wwan.h │ └── usb_wwan.c ├── v4.5.1 ├── Makefile └── drivers │ └── usb │ └── serial │ ├── option.c │ ├── qcserial.c │ ├── usb-wwan.h │ └── usb_wwan.c ├── v4.6.1 ├── Makefile └── drivers │ └── usb │ └── serial │ ├── option.c │ ├── qcserial.c │ ├── usb-wwan.h │ └── usb_wwan.c ├── v4.7.1 ├── Makefile └── drivers │ └── usb │ └── serial │ ├── option.c │ ├── qcserial.c │ ├── usb-wwan.h │ └── usb_wwan.c ├── v4.8.1 ├── Makefile └── drivers │ └── usb │ └── serial │ ├── option.c │ ├── qcserial.c │ ├── usb-wwan.h │ └── usb_wwan.c ├── v4.8.11 ├── Makefile └── drivers │ └── usb │ └── serial │ ├── option.c │ ├── qcserial.c │ ├── usb-wwan.h │ └── usb_wwan.c ├── v4.9.1 ├── Makefile └── drivers │ └── usb │ ├── class │ └── cdc-wdm.c │ └── serial │ ├── option.c │ ├── qcserial.c │ ├── usb-wwan.h │ └── usb_wwan.c ├── v4.9.11 ├── Makefile └── drivers │ └── usb │ ├── class │ └── cdc-wdm.c │ └── serial │ ├── option.c │ ├── qcserial.c │ ├── usb-wwan.h │ └── usb_wwan.c ├── v4.9.111 ├── Makefile └── drivers │ └── usb │ └── serial │ ├── option.c │ ├── qcserial.c │ ├── usb-wwan.h │ └── usb_wwan.c ├── v4.9.51 ├── Makefile └── drivers │ └── usb │ └── serial │ ├── option.c │ ├── qcserial.c │ ├── usb-wwan.h │ └── usb_wwan.c ├── v5.0.1 ├── Makefile └── drivers │ └── usb │ └── serial │ ├── option.c │ ├── qcserial.c │ ├── usb-wwan.h │ └── usb_wwan.c ├── v5.0.11 ├── Makefile └── drivers │ └── usb │ └── serial │ ├── option.c │ ├── qcserial.c │ ├── usb-wwan.h │ └── usb_wwan.c ├── v5.1.1 ├── Makefile └── drivers │ └── usb │ └── serial │ ├── option.c │ ├── qcserial.c │ ├── usb-wwan.h │ └── usb_wwan.c ├── v5.1.11 ├── Makefile └── drivers │ └── usb │ └── serial │ ├── option.c │ ├── qcserial.c │ ├── usb-wwan.h │ └── usb_wwan.c ├── v5.10.1 ├── Makefile └── drivers │ └── usb │ └── serial │ ├── option.c │ ├── qcserial.c │ ├── usb-wwan.h │ └── usb_wwan.c ├── v5.10.11 ├── Makefile └── drivers │ └── usb │ └── serial │ ├── option.c │ ├── qcserial.c │ ├── usb-wwan.h │ └── usb_wwan.c ├── v5.11.1 ├── Makefile └── drivers │ └── usb │ └── serial │ ├── option.c │ ├── qcserial.c │ ├── usb-wwan.h │ └── usb_wwan.c ├── v5.11.11 ├── Makefile └── drivers │ └── usb │ └── serial │ ├── option.c │ ├── qcserial.c │ ├── usb-wwan.h │ └── usb_wwan.c ├── v5.12.1 ├── Makefile └── drivers │ └── usb │ └── serial │ ├── option.c │ ├── qcserial.c │ ├── usb-wwan.h │ └── usb_wwan.c ├── v5.12.11 ├── Makefile └── drivers │ └── usb │ └── serial │ ├── option.c │ ├── qcserial.c │ ├── usb-wwan.h │ └── usb_wwan.c ├── v5.13.1 ├── Makefile └── drivers │ └── usb │ └── serial │ ├── option.c │ ├── qcserial.c │ ├── usb-wwan.h │ └── usb_wwan.c ├── v5.13.11 ├── Makefile └── drivers │ └── usb │ └── serial │ ├── option.c │ ├── qcserial.c │ ├── usb-wwan.h │ └── usb_wwan.c ├── v5.14.1 ├── Makefile └── drivers │ └── usb │ └── serial │ ├── option.c │ ├── qcserial.c │ ├── usb-wwan.h │ └── usb_wwan.c ├── v5.14.11 ├── Makefile └── drivers │ └── usb │ └── serial │ ├── option.c │ ├── qcserial.c │ ├── usb-wwan.h │ └── usb_wwan.c ├── v5.15.1 ├── Makefile └── drivers │ └── usb │ └── serial │ ├── option.c │ ├── qcserial.c │ ├── usb-wwan.h │ └── usb_wwan.c ├── v5.15.11 ├── Makefile └── drivers │ └── usb │ └── serial │ ├── option.c │ ├── qcserial.c │ ├── usb-wwan.h │ └── usb_wwan.c ├── v5.15.6 ├── Makefile └── drivers │ └── usb │ └── serial │ ├── option.c │ ├── qcserial.c │ ├── usb-wwan.h │ └── usb_wwan.c ├── v5.16.1 ├── Makefile └── drivers │ └── usb │ └── serial │ ├── option.c │ ├── qcserial.c │ ├── usb-wwan.h │ └── usb_wwan.c ├── v5.16.11 ├── Makefile └── drivers │ └── usb │ └── serial │ ├── option.c │ ├── qcserial.c │ ├── usb-wwan.h │ └── usb_wwan.c ├── v5.17.1 ├── Makefile └── drivers │ └── usb │ └── serial │ ├── option.c │ ├── qcserial.c │ ├── usb-wwan.h │ └── usb_wwan.c ├── v5.17.11 ├── Makefile └── drivers │ └── usb │ └── serial │ ├── option.c │ ├── qcserial.c │ ├── usb-wwan.h │ └── usb_wwan.c ├── v5.18.1 ├── Makefile └── drivers │ └── usb │ └── serial │ ├── option.c │ ├── qcserial.c │ ├── usb-wwan.h │ └── usb_wwan.c ├── v5.18.11 ├── Makefile └── drivers │ └── usb │ └── serial │ ├── option.c │ ├── qcserial.c │ ├── usb-wwan.h │ └── usb_wwan.c ├── v5.18.5 ├── Makefile └── drivers │ └── usb │ └── serial │ ├── option.c │ ├── qcserial.c │ ├── usb-wwan.h │ └── usb_wwan.c ├── v5.19.1 ├── Makefile └── drivers │ └── usb │ └── serial │ ├── option.c │ ├── qcserial.c │ ├── usb-wwan.h │ └── usb_wwan.c ├── v5.19.11 ├── Makefile └── drivers │ └── usb │ └── serial │ ├── option.c │ ├── qcserial.c │ ├── usb-wwan.h │ └── usb_wwan.c ├── v5.19.5 ├── Makefile └── drivers │ └── usb │ └── serial │ ├── option.c │ ├── qcserial.c │ ├── usb-wwan.h │ └── usb_wwan.c ├── v5.2.1 ├── Makefile └── drivers │ └── usb │ └── serial │ ├── option.c │ ├── qcserial.c │ ├── usb-wwan.h │ └── usb_wwan.c ├── v5.2.11 ├── Makefile └── drivers │ └── usb │ └── serial │ ├── option.c │ ├── qcserial.c │ ├── usb-wwan.h │ └── usb_wwan.c ├── v5.3.1 ├── Makefile └── drivers │ └── usb │ └── serial │ ├── option.c │ ├── qcserial.c │ ├── usb-wwan.h │ └── usb_wwan.c ├── v5.3.11 ├── Makefile └── drivers │ └── usb │ └── serial │ ├── option.c │ ├── qcserial.c │ ├── usb-wwan.h │ └── usb_wwan.c ├── v5.4.1 ├── Makefile └── drivers │ └── usb │ └── serial │ ├── option.c │ ├── qcserial.c │ ├── usb-wwan.h │ └── usb_wwan.c ├── v5.4.11 ├── Makefile └── drivers │ └── usb │ └── serial │ ├── option.c │ ├── qcserial.c │ ├── usb-wwan.h │ └── usb_wwan.c ├── v5.4.51 ├── Makefile └── drivers │ └── usb │ └── serial │ ├── option.c │ ├── qcserial.c │ ├── usb-wwan.h │ └── usb_wwan.c ├── v5.5.1 ├── Makefile └── drivers │ └── usb │ └── serial │ ├── option.c │ ├── qcserial.c │ ├── usb-wwan.h │ └── usb_wwan.c ├── v5.5.11 ├── Makefile └── drivers │ └── usb │ └── serial │ ├── option.c │ ├── qcserial.c │ ├── usb-wwan.h │ └── usb_wwan.c ├── v5.6.1 ├── Makefile └── drivers │ └── usb │ └── serial │ ├── option.c │ ├── qcserial.c │ ├── usb-wwan.h │ └── usb_wwan.c ├── v5.6.11 ├── Makefile └── drivers │ └── usb │ └── serial │ ├── option.c │ ├── qcserial.c │ ├── usb-wwan.h │ └── usb_wwan.c ├── v5.7.1 ├── Makefile └── drivers │ └── usb │ └── serial │ ├── option.c │ ├── qcserial.c │ ├── usb-wwan.h │ └── usb_wwan.c ├── v5.7.11 ├── Makefile └── drivers │ └── usb │ └── serial │ ├── option.c │ ├── qcserial.c │ ├── usb-wwan.h │ └── usb_wwan.c ├── v5.8.1 ├── Makefile └── drivers │ └── usb │ └── serial │ ├── option.c │ ├── qcserial.c │ ├── usb-wwan.h │ └── usb_wwan.c ├── v5.8.11 ├── Makefile └── drivers │ └── usb │ └── serial │ ├── option.c │ ├── qcserial.c │ ├── usb-wwan.h │ └── usb_wwan.c ├── v5.9.1 ├── Makefile └── drivers │ └── usb │ └── serial │ ├── option.c │ ├── qcserial.c │ ├── usb-wwan.h │ └── usb_wwan.c ├── v5.9.11 ├── Makefile └── drivers │ └── usb │ └── serial │ ├── option.c │ ├── qcserial.c │ ├── usb-wwan.h │ └── usb_wwan.c ├── v6.0.1 ├── Makefile └── drivers │ └── usb │ └── serial │ ├── option.c │ ├── qcserial.c │ ├── usb-wwan.h │ └── usb_wwan.c ├── v6.0.11 ├── Makefile └── drivers │ └── usb │ └── serial │ ├── option.c │ ├── qcserial.c │ ├── usb-wwan.h │ └── usb_wwan.c ├── v6.0.5 ├── Makefile └── drivers │ └── usb │ └── serial │ ├── option.c │ ├── qcserial.c │ ├── usb-wwan.h │ └── usb_wwan.c ├── v6.1.1 ├── Makefile └── drivers │ └── usb │ └── serial │ ├── option.c │ ├── qcserial.c │ ├── usb-wwan.h │ └── usb_wwan.c ├── v6.1.11 ├── Makefile └── drivers │ └── usb │ └── serial │ ├── option.c │ ├── qcserial.c │ ├── usb-wwan.h │ └── usb_wwan.c ├── v6.1.4 ├── Makefile └── drivers │ └── usb │ └── serial │ ├── option.c │ ├── qcserial.c │ ├── usb-wwan.h │ └── usb_wwan.c ├── v6.1.51 ├── Makefile └── drivers │ └── usb │ └── serial │ ├── option.c │ ├── qcserial.c │ ├── usb-wwan.h │ └── usb_wwan.c ├── v6.2.1 ├── Makefile └── drivers │ └── usb │ └── serial │ ├── option.c │ ├── qcserial.c │ ├── usb-wwan.h │ └── usb_wwan.c ├── v6.2.11 ├── Makefile └── drivers │ └── usb │ └── serial │ ├── option.c │ ├── qcserial.c │ ├── usb-wwan.h │ └── usb_wwan.c ├── v6.3.1 ├── Makefile └── drivers │ └── usb │ └── serial │ ├── option.c │ ├── qcserial.c │ ├── usb-wwan.h │ └── usb_wwan.c ├── v6.3.11 ├── Makefile └── drivers │ └── usb │ └── serial │ ├── option.c │ ├── qcserial.c │ ├── usb-wwan.h │ └── usb_wwan.c ├── v6.4.1 ├── Makefile └── drivers │ └── usb │ └── serial │ ├── option.c │ ├── qcserial.c │ ├── usb-wwan.h │ └── usb_wwan.c ├── v6.4.11 ├── Makefile └── drivers │ └── usb │ └── serial │ ├── option.c │ ├── qcserial.c │ ├── usb-wwan.h │ └── usb_wwan.c └── v6.5.1 ├── Makefile └── drivers └── usb └── serial ├── option.c ├── qcserial.c ├── usb-wwan.h └── usb_wwan.c /LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) Quectel Wireless Solution, Co., Ltd.All Rights Reserved. 2 | 3 | Licensed under the Apache License, Version 2.0 (the "License"); 4 | you may not use this file except in compliance with the License. 5 | You may obtain a copy of the License at 6 | 7 | http://www.apache.org/licenses/LICENSE-2.0 8 | 9 | Unless required by applicable law or agreed to in writing, software 10 | distributed under the License is distributed on an "AS IS" BASIS, 11 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | See the License for the specific language governing permissions and 13 | limitations under the License. -------------------------------------------------------------------------------- /README-zh.md: -------------------------------------------------------------------------------- 1 | # QuecPython 模组 Linux 系统 USB 驱动安装说明 2 | 3 | [[English](./README.MD)] 4 | 5 | QuecPython 模组 Linux 系统 USB 驱动以源码形式提供,需要开发者根据所用 Linux 系统内核版本,使用源码自行编译。 6 | 7 | 目前支持的模组型号有:EC600U、EC200U、EC600N、EC800N、EC200A、EC800G、EC600M、EC800M、EC600E、EC800E 8 | 9 | ## 环境依赖 10 | 11 | 该驱动安装流程依赖 git、make 与 gcc,执行以下命令进行安装: 12 | 13 | ```bash 14 | sudo apt update 15 | sudo apt upgrade 16 | sudo apt install git make gcc 17 | ``` 18 | 19 | ## 源码下载 20 | 21 | ```bash 22 | git clone https://github.com/QuecPython/Quectel_Linux_USB_Serial_Option_Driver.git 23 | ``` 24 | 25 | ## 编译安装 26 | 27 | > 若安装过该驱动,则需先执行`rmmod option`移除已安装驱动。 28 | 29 | 1. 驱动代码在 src 文件夹内,以内核版本号进行分类,开发者需要选择与所用系统的内核版本最接近的文件夹进行编译。 30 | 31 | 使用`uanme -r`命令查看系统的内核版本,执行结果如下: 32 | 33 | ```bash 34 | carl@carl-OptiPlex-7050:~$ uname -r 35 | 5.4.0-150-generic 36 | ``` 37 | 38 | 2. 找到与所用系统的内核版本最接近的文件夹,进入该目录:`cd src/v5.4.1` 39 | 3. 执行`sudo make install`编译和安装驱动。 40 | 41 | >编译 EC200A 的驱动时,在执行完`make install`之后,需再执行如下两步: 42 | > 43 | >```bash 44 | >cd drivers/usb/serial 45 | >insmod option.ko 46 | >``` 47 | -------------------------------------------------------------------------------- /README.MD: -------------------------------------------------------------------------------- 1 | # QuecPython Module Linux System USB Driver Installation Guide 2 | 3 | [[中文](./README-zh.md)] 4 | 5 | The QuecPython module's Linux system USB driver is provided in source code form and needs to be compiled by developers according to the Linux kernel version used. 6 | 7 | Currently supported module models include: EC600U, EC200U, EC600N, EC800N, EC200A, EC800G, EC600M, EC800M, EC600E, EC800E 8 | 9 | ## Environment Dependencies 10 | 11 | The driver installation process depends on `git`, `make`, and `gcc`. Install them by running the following commands: 12 | 13 | ```bash 14 | sudo apt update 15 | sudo apt upgrade 16 | sudo apt install git make gcc 17 | ``` 18 | 19 | ## Source Code Download 20 | 21 | ```bash 22 | git clone https://github.com/QuecPython/Quectel_Linux_USB_Serial_Option_Driver.git 23 | ``` 24 | 25 | ## Compilation and Installation 26 | 27 | > If the driver has been installed before, you need to first run `rmmod option` to remove the previously installed driver. 28 | 29 | 1. The driver code is located in the src folder, categorized by the kernel version. Developers should choose the folder that is closest to the kernel version used in their system for compilation. 30 | 31 | Use the `uname -r` command to check the system's kernel version. The result of the command will look like this: 32 | 33 | ```bash 34 | carl@carl-OptiPlex-7050:~$ uname -r 35 | 5.4.0-150-generic 36 | ``` 37 | 38 | 2. Find the folder that is closest to your system's kernel version and navigate to that directory: `cd src/v5.4.1` 39 | 3. Execute `sudo make install` to compile and install the driver. 40 | 41 | >If you are compiling the driver for EC200A, after running make install, you need to perform the following two steps: 42 | > 43 | >```bash 44 | >cd drivers/usb/serial 45 | >insmod option.ko 46 | >``` 47 | -------------------------------------------------------------------------------- /src/v2.6.12/Makefile: -------------------------------------------------------------------------------- 1 | KERNELDIR := /lib/modules/$(shell uname -r)/build 2 | PWD := $(shell pwd) 3 | 4 | obj-m+=./drivers/usb/serial/option.o 5 | 6 | modules: clean 7 | $(MAKE) -C $(KERNELDIR) M=$(PWD) modules 8 | 9 | install: modules 10 | cp $(PWD)/drivers/usb/serial/*.ko /lib/modules/$(shell uname -r)/kernel/drivers/usb/serial/ 11 | depmod 12 | 13 | clean: 14 | $(MAKE) -C $(KERNELDIR) M=$(PWD) clean 15 | -------------------------------------------------------------------------------- /src/v2.6.13/Makefile: -------------------------------------------------------------------------------- 1 | KERNELDIR := /lib/modules/$(shell uname -r)/build 2 | PWD := $(shell pwd) 3 | 4 | obj-m+=./drivers/usb/serial/option.o 5 | 6 | modules: clean 7 | $(MAKE) -C $(KERNELDIR) M=$(PWD) modules 8 | 9 | install: modules 10 | cp $(PWD)/drivers/usb/serial/*.ko /lib/modules/$(shell uname -r)/kernel/drivers/usb/serial/ 11 | depmod 12 | 13 | clean: 14 | $(MAKE) -C $(KERNELDIR) M=$(PWD) clean 15 | -------------------------------------------------------------------------------- /src/v2.6.14/Makefile: -------------------------------------------------------------------------------- 1 | KERNELDIR := /lib/modules/$(shell uname -r)/build 2 | PWD := $(shell pwd) 3 | 4 | obj-m+=./drivers/usb/serial/option.o 5 | 6 | modules: clean 7 | $(MAKE) -C $(KERNELDIR) M=$(PWD) modules 8 | 9 | install: modules 10 | cp $(PWD)/drivers/usb/serial/*.ko /lib/modules/$(shell uname -r)/kernel/drivers/usb/serial/ 11 | depmod 12 | 13 | clean: 14 | $(MAKE) -C $(KERNELDIR) M=$(PWD) clean 15 | -------------------------------------------------------------------------------- /src/v2.6.15/Makefile: -------------------------------------------------------------------------------- 1 | KERNELDIR := /lib/modules/$(shell uname -r)/build 2 | PWD := $(shell pwd) 3 | 4 | obj-m+=./drivers/usb/serial/option.o 5 | 6 | modules: clean 7 | $(MAKE) -C $(KERNELDIR) M=$(PWD) modules 8 | 9 | install: modules 10 | cp $(PWD)/drivers/usb/serial/*.ko /lib/modules/$(shell uname -r)/kernel/drivers/usb/serial/ 11 | depmod 12 | 13 | clean: 14 | $(MAKE) -C $(KERNELDIR) M=$(PWD) clean 15 | -------------------------------------------------------------------------------- /src/v2.6.16/Makefile: -------------------------------------------------------------------------------- 1 | KERNELDIR := /lib/modules/$(shell uname -r)/build 2 | PWD := $(shell pwd) 3 | 4 | obj-m+=./drivers/usb/serial/option.o 5 | 6 | modules: clean 7 | $(MAKE) -C $(KERNELDIR) M=$(PWD) modules 8 | 9 | install: modules 10 | cp $(PWD)/drivers/usb/serial/*.ko /lib/modules/$(shell uname -r)/kernel/drivers/usb/serial/ 11 | depmod 12 | 13 | clean: 14 | $(MAKE) -C $(KERNELDIR) M=$(PWD) clean 15 | -------------------------------------------------------------------------------- /src/v2.6.17/Makefile: -------------------------------------------------------------------------------- 1 | KERNELDIR := /lib/modules/$(shell uname -r)/build 2 | PWD := $(shell pwd) 3 | 4 | obj-m+=./drivers/usb/serial/option.o 5 | 6 | modules: clean 7 | $(MAKE) -C $(KERNELDIR) M=$(PWD) modules 8 | 9 | install: modules 10 | cp $(PWD)/drivers/usb/serial/*.ko /lib/modules/$(shell uname -r)/kernel/drivers/usb/serial/ 11 | depmod 12 | 13 | clean: 14 | $(MAKE) -C $(KERNELDIR) M=$(PWD) clean 15 | -------------------------------------------------------------------------------- /src/v2.6.18/Makefile: -------------------------------------------------------------------------------- 1 | KERNELDIR := /lib/modules/$(shell uname -r)/build 2 | PWD := $(shell pwd) 3 | 4 | obj-m+=./drivers/usb/serial/option.o 5 | 6 | modules: clean 7 | $(MAKE) -C $(KERNELDIR) M=$(PWD) modules 8 | 9 | install: modules 10 | cp $(PWD)/drivers/usb/serial/*.ko /lib/modules/$(shell uname -r)/kernel/drivers/usb/serial/ 11 | depmod 12 | 13 | clean: 14 | $(MAKE) -C $(KERNELDIR) M=$(PWD) clean 15 | -------------------------------------------------------------------------------- /src/v2.6.19/Makefile: -------------------------------------------------------------------------------- 1 | KERNELDIR := /lib/modules/$(shell uname -r)/build 2 | PWD := $(shell pwd) 3 | 4 | obj-m+=./drivers/usb/serial/option.o 5 | 6 | modules: clean 7 | $(MAKE) -C $(KERNELDIR) M=$(PWD) modules 8 | 9 | install: modules 10 | cp $(PWD)/drivers/usb/serial/*.ko /lib/modules/$(shell uname -r)/kernel/drivers/usb/serial/ 11 | depmod 12 | 13 | clean: 14 | $(MAKE) -C $(KERNELDIR) M=$(PWD) clean 15 | -------------------------------------------------------------------------------- /src/v2.6.20/Makefile: -------------------------------------------------------------------------------- 1 | KERNELDIR := /lib/modules/$(shell uname -r)/build 2 | PWD := $(shell pwd) 3 | 4 | obj-m+=./drivers/usb/serial/option.o 5 | 6 | modules: clean 7 | $(MAKE) -C $(KERNELDIR) M=$(PWD) modules 8 | 9 | install: modules 10 | cp $(PWD)/drivers/usb/serial/*.ko /lib/modules/$(shell uname -r)/kernel/drivers/usb/serial/ 11 | depmod 12 | 13 | clean: 14 | $(MAKE) -C $(KERNELDIR) M=$(PWD) clean 15 | -------------------------------------------------------------------------------- /src/v2.6.21/Makefile: -------------------------------------------------------------------------------- 1 | KERNELDIR := /lib/modules/$(shell uname -r)/build 2 | PWD := $(shell pwd) 3 | 4 | obj-m+=./drivers/usb/serial/option.o 5 | 6 | modules: clean 7 | $(MAKE) -C $(KERNELDIR) M=$(PWD) modules 8 | 9 | install: modules 10 | cp $(PWD)/drivers/usb/serial/*.ko /lib/modules/$(shell uname -r)/kernel/drivers/usb/serial/ 11 | depmod 12 | 13 | clean: 14 | $(MAKE) -C $(KERNELDIR) M=$(PWD) clean 15 | -------------------------------------------------------------------------------- /src/v2.6.22/Makefile: -------------------------------------------------------------------------------- 1 | KERNELDIR := /lib/modules/$(shell uname -r)/build 2 | PWD := $(shell pwd) 3 | 4 | obj-m+=./drivers/usb/serial/option.o 5 | 6 | modules: clean 7 | $(MAKE) -C $(KERNELDIR) M=$(PWD) modules 8 | 9 | install: modules 10 | cp $(PWD)/drivers/usb/serial/*.ko /lib/modules/$(shell uname -r)/kernel/drivers/usb/serial/ 11 | depmod 12 | 13 | clean: 14 | $(MAKE) -C $(KERNELDIR) M=$(PWD) clean 15 | -------------------------------------------------------------------------------- /src/v2.6.23/Makefile: -------------------------------------------------------------------------------- 1 | KERNELDIR := /lib/modules/$(shell uname -r)/build 2 | PWD := $(shell pwd) 3 | 4 | obj-m+=./drivers/usb/serial/option.o 5 | 6 | modules: clean 7 | $(MAKE) -C $(KERNELDIR) M=$(PWD) modules 8 | 9 | install: modules 10 | cp $(PWD)/drivers/usb/serial/*.ko /lib/modules/$(shell uname -r)/kernel/drivers/usb/serial/ 11 | depmod 12 | 13 | clean: 14 | $(MAKE) -C $(KERNELDIR) M=$(PWD) clean 15 | -------------------------------------------------------------------------------- /src/v2.6.24/Makefile: -------------------------------------------------------------------------------- 1 | KERNELDIR := /lib/modules/$(shell uname -r)/build 2 | PWD := $(shell pwd) 3 | 4 | obj-m+=./drivers/usb/serial/option.o 5 | 6 | modules: clean 7 | $(MAKE) -C $(KERNELDIR) M=$(PWD) modules 8 | 9 | install: modules 10 | cp $(PWD)/drivers/usb/serial/*.ko /lib/modules/$(shell uname -r)/kernel/drivers/usb/serial/ 11 | depmod 12 | 13 | clean: 14 | $(MAKE) -C $(KERNELDIR) M=$(PWD) clean 15 | -------------------------------------------------------------------------------- /src/v2.6.25/Makefile: -------------------------------------------------------------------------------- 1 | KERNELDIR := /lib/modules/$(shell uname -r)/build 2 | PWD := $(shell pwd) 3 | 4 | obj-m+=./drivers/usb/serial/option.o 5 | 6 | modules: clean 7 | $(MAKE) -C $(KERNELDIR) M=$(PWD) modules 8 | 9 | install: modules 10 | cp $(PWD)/drivers/usb/serial/*.ko /lib/modules/$(shell uname -r)/kernel/drivers/usb/serial/ 11 | depmod 12 | 13 | clean: 14 | $(MAKE) -C $(KERNELDIR) M=$(PWD) clean 15 | -------------------------------------------------------------------------------- /src/v2.6.26/Makefile: -------------------------------------------------------------------------------- 1 | KERNELDIR := /lib/modules/$(shell uname -r)/build 2 | PWD := $(shell pwd) 3 | 4 | obj-m+=./drivers/usb/serial/option.o 5 | 6 | modules: clean 7 | $(MAKE) -C $(KERNELDIR) M=$(PWD) modules 8 | 9 | install: modules 10 | cp $(PWD)/drivers/usb/serial/*.ko /lib/modules/$(shell uname -r)/kernel/drivers/usb/serial/ 11 | depmod 12 | 13 | clean: 14 | $(MAKE) -C $(KERNELDIR) M=$(PWD) clean 15 | -------------------------------------------------------------------------------- /src/v2.6.27/Makefile: -------------------------------------------------------------------------------- 1 | KERNELDIR := /lib/modules/$(shell uname -r)/build 2 | PWD := $(shell pwd) 3 | 4 | obj-m+=./drivers/usb/serial/option.o 5 | 6 | modules: clean 7 | $(MAKE) -C $(KERNELDIR) M=$(PWD) modules 8 | 9 | install: modules 10 | cp $(PWD)/drivers/usb/serial/*.ko /lib/modules/$(shell uname -r)/kernel/drivers/usb/serial/ 11 | depmod 12 | 13 | clean: 14 | $(MAKE) -C $(KERNELDIR) M=$(PWD) clean 15 | -------------------------------------------------------------------------------- /src/v2.6.28/Makefile: -------------------------------------------------------------------------------- 1 | KERNELDIR := /lib/modules/$(shell uname -r)/build 2 | PWD := $(shell pwd) 3 | 4 | obj-m+=./drivers/usb/serial/option.o 5 | 6 | modules: clean 7 | $(MAKE) -C $(KERNELDIR) M=$(PWD) modules 8 | 9 | install: modules 10 | cp $(PWD)/drivers/usb/serial/*.ko /lib/modules/$(shell uname -r)/kernel/drivers/usb/serial/ 11 | depmod 12 | 13 | clean: 14 | $(MAKE) -C $(KERNELDIR) M=$(PWD) clean 15 | -------------------------------------------------------------------------------- /src/v2.6.29/Makefile: -------------------------------------------------------------------------------- 1 | KERNELDIR := /lib/modules/$(shell uname -r)/build 2 | PWD := $(shell pwd) 3 | 4 | obj-m+=./drivers/usb/serial/option.o 5 | 6 | modules: clean 7 | $(MAKE) -C $(KERNELDIR) M=$(PWD) modules 8 | 9 | install: modules 10 | cp $(PWD)/drivers/usb/serial/*.ko /lib/modules/$(shell uname -r)/kernel/drivers/usb/serial/ 11 | depmod 12 | 13 | clean: 14 | $(MAKE) -C $(KERNELDIR) M=$(PWD) clean 15 | -------------------------------------------------------------------------------- /src/v2.6.30/Makefile: -------------------------------------------------------------------------------- 1 | KERNELDIR := /lib/modules/$(shell uname -r)/build 2 | PWD := $(shell pwd) 3 | 4 | obj-m+=./drivers/usb/serial/option.o 5 | obj-m+=./drivers/usb/serial/qcserial.o 6 | 7 | modules: clean 8 | $(MAKE) -C $(KERNELDIR) M=$(PWD) modules 9 | 10 | install: modules 11 | cp $(PWD)/drivers/usb/serial/*.ko /lib/modules/$(shell uname -r)/kernel/drivers/usb/serial/ 12 | depmod 13 | 14 | clean: 15 | $(MAKE) -C $(KERNELDIR) M=$(PWD) clean 16 | -------------------------------------------------------------------------------- /src/v2.6.31/Makefile: -------------------------------------------------------------------------------- 1 | KERNELDIR := /lib/modules/$(shell uname -r)/build 2 | PWD := $(shell pwd) 3 | 4 | obj-m+=./drivers/usb/serial/option.o 5 | obj-m+=./drivers/usb/serial/qcserial.o 6 | 7 | modules: clean 8 | $(MAKE) -C $(KERNELDIR) M=$(PWD) modules 9 | 10 | install: modules 11 | cp $(PWD)/drivers/usb/serial/*.ko /lib/modules/$(shell uname -r)/kernel/drivers/usb/serial/ 12 | depmod 13 | 14 | clean: 15 | $(MAKE) -C $(KERNELDIR) M=$(PWD) clean 16 | -------------------------------------------------------------------------------- /src/v2.6.32/Makefile: -------------------------------------------------------------------------------- 1 | KERNELDIR := /lib/modules/$(shell uname -r)/build 2 | PWD := $(shell pwd) 3 | 4 | obj-m+=./drivers/usb/serial/option.o 5 | obj-m+=./drivers/usb/serial/qcserial.o 6 | 7 | modules: clean 8 | $(MAKE) -C $(KERNELDIR) M=$(PWD) modules 9 | 10 | install: modules 11 | cp $(PWD)/drivers/usb/serial/*.ko /lib/modules/$(shell uname -r)/kernel/drivers/usb/serial/ 12 | depmod 13 | 14 | clean: 15 | $(MAKE) -C $(KERNELDIR) M=$(PWD) clean 16 | -------------------------------------------------------------------------------- /src/v2.6.33/Makefile: -------------------------------------------------------------------------------- 1 | KERNELDIR := /lib/modules/$(shell uname -r)/build 2 | PWD := $(shell pwd) 3 | 4 | obj-m+=./drivers/usb/serial/option.o 5 | obj-m+=./drivers/usb/serial/qcserial.o 6 | 7 | modules: clean 8 | $(MAKE) -C $(KERNELDIR) M=$(PWD) modules 9 | 10 | install: modules 11 | cp $(PWD)/drivers/usb/serial/*.ko /lib/modules/$(shell uname -r)/kernel/drivers/usb/serial/ 12 | depmod 13 | 14 | clean: 15 | $(MAKE) -C $(KERNELDIR) M=$(PWD) clean 16 | -------------------------------------------------------------------------------- /src/v2.6.34/Makefile: -------------------------------------------------------------------------------- 1 | KERNELDIR := /lib/modules/$(shell uname -r)/build 2 | PWD := $(shell pwd) 3 | 4 | obj-m+=./drivers/usb/serial/option.o 5 | obj-m+=./drivers/usb/serial/qcserial.o 6 | 7 | modules: clean 8 | $(MAKE) -C $(KERNELDIR) M=$(PWD) modules 9 | 10 | install: modules 11 | cp $(PWD)/drivers/usb/serial/*.ko /lib/modules/$(shell uname -r)/kernel/drivers/usb/serial/ 12 | depmod 13 | 14 | clean: 15 | $(MAKE) -C $(KERNELDIR) M=$(PWD) clean 16 | -------------------------------------------------------------------------------- /src/v2.6.35/Makefile: -------------------------------------------------------------------------------- 1 | KERNELDIR := /lib/modules/$(shell uname -r)/build 2 | PWD := $(shell pwd) 3 | 4 | obj-m+=./drivers/usb/serial/option.o 5 | obj-m+=./drivers/usb/serial/usb_wwan.o 6 | obj-m+=./drivers/usb/serial/qcserial.o 7 | 8 | modules: clean 9 | $(MAKE) -C $(KERNELDIR) M=$(PWD) modules 10 | 11 | install: modules 12 | cp $(PWD)/drivers/usb/serial/*.ko /lib/modules/$(shell uname -r)/kernel/drivers/usb/serial/ 13 | depmod 14 | 15 | clean: 16 | $(MAKE) -C $(KERNELDIR) M=$(PWD) clean 17 | -------------------------------------------------------------------------------- /src/v2.6.36/Makefile: -------------------------------------------------------------------------------- 1 | KERNELDIR := /lib/modules/$(shell uname -r)/build 2 | PWD := $(shell pwd) 3 | 4 | obj-m+=./drivers/usb/serial/option.o 5 | obj-m+=./drivers/usb/serial/usb_wwan.o 6 | obj-m+=./drivers/usb/serial/qcserial.o 7 | 8 | modules: clean 9 | $(MAKE) -C $(KERNELDIR) M=$(PWD) modules 10 | 11 | install: modules 12 | cp $(PWD)/drivers/usb/serial/*.ko /lib/modules/$(shell uname -r)/kernel/drivers/usb/serial/ 13 | depmod 14 | 15 | clean: 16 | $(MAKE) -C $(KERNELDIR) M=$(PWD) clean 17 | -------------------------------------------------------------------------------- /src/v2.6.37/Makefile: -------------------------------------------------------------------------------- 1 | KERNELDIR := /lib/modules/$(shell uname -r)/build 2 | PWD := $(shell pwd) 3 | 4 | obj-m+=./drivers/usb/serial/option.o 5 | obj-m+=./drivers/usb/serial/usb_wwan.o 6 | obj-m+=./drivers/usb/serial/qcserial.o 7 | 8 | modules: clean 9 | $(MAKE) -C $(KERNELDIR) M=$(PWD) modules 10 | 11 | install: modules 12 | cp $(PWD)/drivers/usb/serial/*.ko /lib/modules/$(shell uname -r)/kernel/drivers/usb/serial/ 13 | depmod 14 | 15 | clean: 16 | $(MAKE) -C $(KERNELDIR) M=$(PWD) clean 17 | -------------------------------------------------------------------------------- /src/v2.6.38/Makefile: -------------------------------------------------------------------------------- 1 | KERNELDIR := /lib/modules/$(shell uname -r)/build 2 | PWD := $(shell pwd) 3 | 4 | obj-m+=./drivers/usb/serial/option.o 5 | obj-m+=./drivers/usb/serial/usb_wwan.o 6 | obj-m+=./drivers/usb/serial/qcserial.o 7 | 8 | modules: clean 9 | $(MAKE) -C $(KERNELDIR) M=$(PWD) modules 10 | 11 | install: modules 12 | cp $(PWD)/drivers/usb/serial/*.ko /lib/modules/$(shell uname -r)/kernel/drivers/usb/serial/ 13 | depmod 14 | 15 | clean: 16 | $(MAKE) -C $(KERNELDIR) M=$(PWD) clean 17 | -------------------------------------------------------------------------------- /src/v2.6.39/Makefile: -------------------------------------------------------------------------------- 1 | KERNELDIR := /lib/modules/$(shell uname -r)/build 2 | PWD := $(shell pwd) 3 | 4 | obj-m+=./drivers/usb/serial/option.o 5 | obj-m+=./drivers/usb/serial/usb_wwan.o 6 | obj-m+=./drivers/usb/serial/qcserial.o 7 | 8 | modules: clean 9 | $(MAKE) -C $(KERNELDIR) M=$(PWD) modules 10 | 11 | install: modules 12 | cp $(PWD)/drivers/usb/serial/*.ko /lib/modules/$(shell uname -r)/kernel/drivers/usb/serial/ 13 | depmod 14 | 15 | clean: 16 | $(MAKE) -C $(KERNELDIR) M=$(PWD) clean 17 | -------------------------------------------------------------------------------- /src/v3.0.1/Makefile: -------------------------------------------------------------------------------- 1 | KERNELDIR := /lib/modules/$(shell uname -r)/build 2 | PWD := $(shell pwd) 3 | 4 | obj-m+=./drivers/usb/serial/option.o 5 | obj-m+=./drivers/usb/serial/usb_wwan.o 6 | obj-m+=./drivers/usb/serial/qcserial.o 7 | 8 | modules: clean 9 | $(MAKE) -C $(KERNELDIR) M=$(PWD) modules 10 | 11 | install: modules 12 | cp $(PWD)/drivers/usb/serial/*.ko /lib/modules/$(shell uname -r)/kernel/drivers/usb/serial/ 13 | depmod 14 | 15 | clean: 16 | $(MAKE) -C $(KERNELDIR) M=$(PWD) clean 17 | -------------------------------------------------------------------------------- /src/v3.0.11/Makefile: -------------------------------------------------------------------------------- 1 | KERNELDIR := /lib/modules/$(shell uname -r)/build 2 | PWD := $(shell pwd) 3 | 4 | obj-m+=./drivers/usb/serial/option.o 5 | obj-m+=./drivers/usb/serial/usb_wwan.o 6 | obj-m+=./drivers/usb/serial/qcserial.o 7 | 8 | modules: clean 9 | $(MAKE) -C $(KERNELDIR) M=$(PWD) modules 10 | 11 | install: modules 12 | cp $(PWD)/drivers/usb/serial/*.ko /lib/modules/$(shell uname -r)/kernel/drivers/usb/serial/ 13 | depmod 14 | 15 | clean: 16 | $(MAKE) -C $(KERNELDIR) M=$(PWD) clean 17 | -------------------------------------------------------------------------------- /src/v3.0.51/Makefile: -------------------------------------------------------------------------------- 1 | KERNELDIR := /lib/modules/$(shell uname -r)/build 2 | PWD := $(shell pwd) 3 | 4 | obj-m+=./drivers/usb/serial/option.o 5 | obj-m+=./drivers/usb/serial/usb_wwan.o 6 | obj-m+=./drivers/usb/serial/qcserial.o 7 | 8 | modules: clean 9 | $(MAKE) -C $(KERNELDIR) M=$(PWD) modules 10 | 11 | install: modules 12 | cp $(PWD)/drivers/usb/serial/*.ko /lib/modules/$(shell uname -r)/kernel/drivers/usb/serial/ 13 | depmod 14 | 15 | clean: 16 | $(MAKE) -C $(KERNELDIR) M=$(PWD) clean 17 | -------------------------------------------------------------------------------- /src/v3.1.1/Makefile: -------------------------------------------------------------------------------- 1 | KERNELDIR := /lib/modules/$(shell uname -r)/build 2 | PWD := $(shell pwd) 3 | 4 | obj-m+=./drivers/usb/serial/option.o 5 | obj-m+=./drivers/usb/serial/usb_wwan.o 6 | obj-m+=./drivers/usb/serial/qcserial.o 7 | 8 | modules: clean 9 | $(MAKE) -C $(KERNELDIR) M=$(PWD) modules 10 | 11 | install: modules 12 | cp $(PWD)/drivers/usb/serial/*.ko /lib/modules/$(shell uname -r)/kernel/drivers/usb/serial/ 13 | depmod 14 | 15 | clean: 16 | $(MAKE) -C $(KERNELDIR) M=$(PWD) clean 17 | -------------------------------------------------------------------------------- /src/v3.10.1/Makefile: -------------------------------------------------------------------------------- 1 | KERNELDIR := /lib/modules/$(shell uname -r)/build 2 | PWD := $(shell pwd) 3 | 4 | obj-m+=./drivers/usb/serial/option.o 5 | obj-m+=./drivers/usb/serial/usb_wwan.o 6 | obj-m+=./drivers/usb/serial/qcserial.o 7 | 8 | modules: clean 9 | $(MAKE) -C $(KERNELDIR) M=$(PWD) modules 10 | 11 | install: modules 12 | cp $(PWD)/drivers/usb/serial/*.ko /lib/modules/$(shell uname -r)/kernel/drivers/usb/serial/ 13 | depmod 14 | 15 | clean: 16 | $(MAKE) -C $(KERNELDIR) M=$(PWD) clean 17 | -------------------------------------------------------------------------------- /src/v3.10.11/Makefile: -------------------------------------------------------------------------------- 1 | KERNELDIR := /lib/modules/$(shell uname -r)/build 2 | PWD := $(shell pwd) 3 | 4 | obj-m+=./drivers/usb/serial/option.o 5 | obj-m+=./drivers/usb/serial/usb_wwan.o 6 | obj-m+=./drivers/usb/serial/qcserial.o 7 | 8 | modules: clean 9 | $(MAKE) -C $(KERNELDIR) M=$(PWD) modules 10 | 11 | install: modules 12 | cp $(PWD)/drivers/usb/serial/*.ko /lib/modules/$(shell uname -r)/kernel/drivers/usb/serial/ 13 | depmod 14 | 15 | clean: 16 | $(MAKE) -C $(KERNELDIR) M=$(PWD) clean 17 | -------------------------------------------------------------------------------- /src/v3.10.51/Makefile: -------------------------------------------------------------------------------- 1 | KERNELDIR := /lib/modules/$(shell uname -r)/build 2 | PWD := $(shell pwd) 3 | 4 | obj-m+=./drivers/usb/serial/option.o 5 | obj-m+=./drivers/usb/serial/usb_wwan.o 6 | obj-m+=./drivers/usb/serial/qcserial.o 7 | 8 | modules: clean 9 | $(MAKE) -C $(KERNELDIR) M=$(PWD) modules 10 | 11 | install: modules 12 | cp $(PWD)/drivers/usb/serial/*.ko /lib/modules/$(shell uname -r)/kernel/drivers/usb/serial/ 13 | depmod 14 | 15 | clean: 16 | $(MAKE) -C $(KERNELDIR) M=$(PWD) clean 17 | -------------------------------------------------------------------------------- /src/v3.11.1/Makefile: -------------------------------------------------------------------------------- 1 | KERNELDIR := /lib/modules/$(shell uname -r)/build 2 | PWD := $(shell pwd) 3 | 4 | obj-m+=./drivers/usb/serial/option.o 5 | obj-m+=./drivers/usb/serial/usb_wwan.o 6 | obj-m+=./drivers/usb/serial/qcserial.o 7 | 8 | modules: clean 9 | $(MAKE) -C $(KERNELDIR) M=$(PWD) modules 10 | 11 | install: modules 12 | cp $(PWD)/drivers/usb/serial/*.ko /lib/modules/$(shell uname -r)/kernel/drivers/usb/serial/ 13 | depmod 14 | 15 | clean: 16 | $(MAKE) -C $(KERNELDIR) M=$(PWD) clean 17 | -------------------------------------------------------------------------------- /src/v3.12.1/Makefile: -------------------------------------------------------------------------------- 1 | KERNELDIR := /lib/modules/$(shell uname -r)/build 2 | PWD := $(shell pwd) 3 | 4 | obj-m+=./drivers/usb/serial/option.o 5 | obj-m+=./drivers/usb/serial/usb_wwan.o 6 | obj-m+=./drivers/usb/serial/qcserial.o 7 | 8 | modules: clean 9 | $(MAKE) -C $(KERNELDIR) M=$(PWD) modules 10 | 11 | install: modules 12 | cp $(PWD)/drivers/usb/serial/*.ko /lib/modules/$(shell uname -r)/kernel/drivers/usb/serial/ 13 | depmod 14 | 15 | clean: 16 | $(MAKE) -C $(KERNELDIR) M=$(PWD) clean 17 | -------------------------------------------------------------------------------- /src/v3.12.11/Makefile: -------------------------------------------------------------------------------- 1 | KERNELDIR := /lib/modules/$(shell uname -r)/build 2 | PWD := $(shell pwd) 3 | 4 | obj-m+=./drivers/usb/serial/option.o 5 | obj-m+=./drivers/usb/serial/usb_wwan.o 6 | obj-m+=./drivers/usb/serial/qcserial.o 7 | 8 | modules: clean 9 | $(MAKE) -C $(KERNELDIR) M=$(PWD) modules 10 | 11 | install: modules 12 | cp $(PWD)/drivers/usb/serial/*.ko /lib/modules/$(shell uname -r)/kernel/drivers/usb/serial/ 13 | depmod 14 | 15 | clean: 16 | $(MAKE) -C $(KERNELDIR) M=$(PWD) clean 17 | -------------------------------------------------------------------------------- /src/v3.12.51/Makefile: -------------------------------------------------------------------------------- 1 | KERNELDIR := /lib/modules/$(shell uname -r)/build 2 | PWD := $(shell pwd) 3 | 4 | obj-m+=./drivers/usb/serial/option.o 5 | obj-m+=./drivers/usb/serial/usb_wwan.o 6 | obj-m+=./drivers/usb/serial/qcserial.o 7 | 8 | modules: clean 9 | $(MAKE) -C $(KERNELDIR) M=$(PWD) modules 10 | 11 | install: modules 12 | cp $(PWD)/drivers/usb/serial/*.ko /lib/modules/$(shell uname -r)/kernel/drivers/usb/serial/ 13 | depmod 14 | 15 | clean: 16 | $(MAKE) -C $(KERNELDIR) M=$(PWD) clean 17 | -------------------------------------------------------------------------------- /src/v3.13.1/Makefile: -------------------------------------------------------------------------------- 1 | KERNELDIR := /lib/modules/$(shell uname -r)/build 2 | PWD := $(shell pwd) 3 | 4 | obj-m+=./drivers/usb/serial/option.o 5 | obj-m+=./drivers/usb/serial/usb_wwan.o 6 | obj-m+=./drivers/usb/serial/qcserial.o 7 | 8 | modules: clean 9 | $(MAKE) -C $(KERNELDIR) M=$(PWD) modules 10 | 11 | install: modules 12 | cp $(PWD)/drivers/usb/serial/*.ko /lib/modules/$(shell uname -r)/kernel/drivers/usb/serial/ 13 | depmod 14 | 15 | clean: 16 | $(MAKE) -C $(KERNELDIR) M=$(PWD) clean 17 | -------------------------------------------------------------------------------- /src/v3.13.11/Makefile: -------------------------------------------------------------------------------- 1 | KERNELDIR := /lib/modules/$(shell uname -r)/build 2 | PWD := $(shell pwd) 3 | 4 | obj-m+=./drivers/usb/serial/option.o 5 | obj-m+=./drivers/usb/serial/usb_wwan.o 6 | obj-m+=./drivers/usb/serial/qcserial.o 7 | 8 | modules: clean 9 | $(MAKE) -C $(KERNELDIR) M=$(PWD) modules 10 | 11 | install: modules 12 | cp $(PWD)/drivers/usb/serial/*.ko /lib/modules/$(shell uname -r)/kernel/drivers/usb/serial/ 13 | depmod 14 | 15 | clean: 16 | $(MAKE) -C $(KERNELDIR) M=$(PWD) clean 17 | -------------------------------------------------------------------------------- /src/v3.14.1/Makefile: -------------------------------------------------------------------------------- 1 | KERNELDIR := /lib/modules/$(shell uname -r)/build 2 | PWD := $(shell pwd) 3 | 4 | obj-m+=./drivers/usb/serial/option.o 5 | obj-m+=./drivers/usb/serial/usb_wwan.o 6 | obj-m+=./drivers/usb/serial/qcserial.o 7 | 8 | modules: clean 9 | $(MAKE) -C $(KERNELDIR) M=$(PWD) modules 10 | 11 | install: modules 12 | cp $(PWD)/drivers/usb/serial/*.ko /lib/modules/$(shell uname -r)/kernel/drivers/usb/serial/ 13 | depmod 14 | 15 | clean: 16 | $(MAKE) -C $(KERNELDIR) M=$(PWD) clean 17 | -------------------------------------------------------------------------------- /src/v3.14.11/Makefile: -------------------------------------------------------------------------------- 1 | KERNELDIR := /lib/modules/$(shell uname -r)/build 2 | PWD := $(shell pwd) 3 | 4 | obj-m+=./drivers/usb/serial/option.o 5 | obj-m+=./drivers/usb/serial/usb_wwan.o 6 | obj-m+=./drivers/usb/serial/qcserial.o 7 | 8 | modules: clean 9 | $(MAKE) -C $(KERNELDIR) M=$(PWD) modules 10 | 11 | install: modules 12 | cp $(PWD)/drivers/usb/serial/*.ko /lib/modules/$(shell uname -r)/kernel/drivers/usb/serial/ 13 | depmod 14 | 15 | clean: 16 | $(MAKE) -C $(KERNELDIR) M=$(PWD) clean 17 | -------------------------------------------------------------------------------- /src/v3.14.51/Makefile: -------------------------------------------------------------------------------- 1 | KERNELDIR := /lib/modules/$(shell uname -r)/build 2 | PWD := $(shell pwd) 3 | 4 | obj-m+=./drivers/usb/serial/option.o 5 | obj-m+=./drivers/usb/serial/usb_wwan.o 6 | obj-m+=./drivers/usb/serial/qcserial.o 7 | 8 | modules: clean 9 | $(MAKE) -C $(KERNELDIR) M=$(PWD) modules 10 | 11 | install: modules 12 | cp $(PWD)/drivers/usb/serial/*.ko /lib/modules/$(shell uname -r)/kernel/drivers/usb/serial/ 13 | depmod 14 | 15 | clean: 16 | $(MAKE) -C $(KERNELDIR) M=$(PWD) clean 17 | -------------------------------------------------------------------------------- /src/v3.15.1/Makefile: -------------------------------------------------------------------------------- 1 | KERNELDIR := /lib/modules/$(shell uname -r)/build 2 | PWD := $(shell pwd) 3 | 4 | obj-m+=./drivers/usb/serial/option.o 5 | obj-m+=./drivers/usb/serial/usb_wwan.o 6 | obj-m+=./drivers/usb/serial/qcserial.o 7 | 8 | modules: clean 9 | $(MAKE) -C $(KERNELDIR) M=$(PWD) modules 10 | 11 | install: modules 12 | cp $(PWD)/drivers/usb/serial/*.ko /lib/modules/$(shell uname -r)/kernel/drivers/usb/serial/ 13 | depmod 14 | 15 | clean: 16 | $(MAKE) -C $(KERNELDIR) M=$(PWD) clean 17 | -------------------------------------------------------------------------------- /src/v3.16.1/Makefile: -------------------------------------------------------------------------------- 1 | KERNELDIR := /lib/modules/$(shell uname -r)/build 2 | PWD := $(shell pwd) 3 | 4 | obj-m+=./drivers/usb/serial/option.o 5 | obj-m+=./drivers/usb/serial/usb_wwan.o 6 | obj-m+=./drivers/usb/serial/qcserial.o 7 | 8 | modules: clean 9 | $(MAKE) -C $(KERNELDIR) M=$(PWD) modules 10 | 11 | install: modules 12 | cp $(PWD)/drivers/usb/serial/*.ko /lib/modules/$(shell uname -r)/kernel/drivers/usb/serial/ 13 | depmod 14 | 15 | clean: 16 | $(MAKE) -C $(KERNELDIR) M=$(PWD) clean 17 | -------------------------------------------------------------------------------- /src/v3.17.1/Makefile: -------------------------------------------------------------------------------- 1 | KERNELDIR := /lib/modules/$(shell uname -r)/build 2 | PWD := $(shell pwd) 3 | 4 | obj-m+=./drivers/usb/serial/option.o 5 | obj-m+=./drivers/usb/serial/usb_wwan.o 6 | obj-m+=./drivers/usb/serial/qcserial.o 7 | 8 | modules: clean 9 | $(MAKE) -C $(KERNELDIR) M=$(PWD) modules 10 | 11 | install: modules 12 | cp $(PWD)/drivers/usb/serial/*.ko /lib/modules/$(shell uname -r)/kernel/drivers/usb/serial/ 13 | depmod 14 | 15 | clean: 16 | $(MAKE) -C $(KERNELDIR) M=$(PWD) clean 17 | -------------------------------------------------------------------------------- /src/v3.18.1/Makefile: -------------------------------------------------------------------------------- 1 | KERNELDIR := /lib/modules/$(shell uname -r)/build 2 | PWD := $(shell pwd) 3 | 4 | obj-m+=./drivers/usb/serial/option.o 5 | obj-m+=./drivers/usb/serial/usb_wwan.o 6 | obj-m+=./drivers/usb/serial/qcserial.o 7 | 8 | modules: clean 9 | $(MAKE) -C $(KERNELDIR) M=$(PWD) modules 10 | 11 | install: modules 12 | cp $(PWD)/drivers/usb/serial/*.ko /lib/modules/$(shell uname -r)/kernel/drivers/usb/serial/ 13 | depmod 14 | 15 | clean: 16 | $(MAKE) -C $(KERNELDIR) M=$(PWD) clean 17 | -------------------------------------------------------------------------------- /src/v3.18.11/Makefile: -------------------------------------------------------------------------------- 1 | KERNELDIR := /lib/modules/$(shell uname -r)/build 2 | PWD := $(shell pwd) 3 | 4 | obj-m+=./drivers/usb/serial/option.o 5 | obj-m+=./drivers/usb/serial/usb_wwan.o 6 | obj-m+=./drivers/usb/serial/qcserial.o 7 | 8 | modules: clean 9 | $(MAKE) -C $(KERNELDIR) M=$(PWD) modules 10 | 11 | install: modules 12 | cp $(PWD)/drivers/usb/serial/*.ko /lib/modules/$(shell uname -r)/kernel/drivers/usb/serial/ 13 | depmod 14 | 15 | clean: 16 | $(MAKE) -C $(KERNELDIR) M=$(PWD) clean 17 | -------------------------------------------------------------------------------- /src/v3.18.111/Makefile: -------------------------------------------------------------------------------- 1 | KERNELDIR := /lib/modules/$(shell uname -r)/build 2 | PWD := $(shell pwd) 3 | 4 | obj-m+=./drivers/usb/serial/option.o 5 | obj-m+=./drivers/usb/serial/usb_wwan.o 6 | obj-m+=./drivers/usb/serial/qcserial.o 7 | 8 | modules: clean 9 | $(MAKE) -C $(KERNELDIR) M=$(PWD) modules 10 | 11 | install: modules 12 | cp $(PWD)/drivers/usb/serial/*.ko /lib/modules/$(shell uname -r)/kernel/drivers/usb/serial/ 13 | depmod 14 | 15 | clean: 16 | $(MAKE) -C $(KERNELDIR) M=$(PWD) clean 17 | -------------------------------------------------------------------------------- /src/v3.18.51/Makefile: -------------------------------------------------------------------------------- 1 | KERNELDIR := /lib/modules/$(shell uname -r)/build 2 | PWD := $(shell pwd) 3 | 4 | obj-m+=./drivers/usb/serial/option.o 5 | obj-m+=./drivers/usb/serial/usb_wwan.o 6 | obj-m+=./drivers/usb/serial/qcserial.o 7 | 8 | modules: clean 9 | $(MAKE) -C $(KERNELDIR) M=$(PWD) modules 10 | 11 | install: modules 12 | cp $(PWD)/drivers/usb/serial/*.ko /lib/modules/$(shell uname -r)/kernel/drivers/usb/serial/ 13 | depmod 14 | 15 | clean: 16 | $(MAKE) -C $(KERNELDIR) M=$(PWD) clean 17 | -------------------------------------------------------------------------------- /src/v3.19.1/Makefile: -------------------------------------------------------------------------------- 1 | KERNELDIR := /lib/modules/$(shell uname -r)/build 2 | PWD := $(shell pwd) 3 | 4 | obj-m+=./drivers/usb/serial/option.o 5 | obj-m+=./drivers/usb/serial/usb_wwan.o 6 | obj-m+=./drivers/usb/serial/qcserial.o 7 | 8 | modules: clean 9 | $(MAKE) -C $(KERNELDIR) M=$(PWD) modules 10 | 11 | install: modules 12 | cp $(PWD)/drivers/usb/serial/*.ko /lib/modules/$(shell uname -r)/kernel/drivers/usb/serial/ 13 | depmod 14 | 15 | clean: 16 | $(MAKE) -C $(KERNELDIR) M=$(PWD) clean 17 | -------------------------------------------------------------------------------- /src/v3.2.1/Makefile: -------------------------------------------------------------------------------- 1 | KERNELDIR := /lib/modules/$(shell uname -r)/build 2 | PWD := $(shell pwd) 3 | 4 | obj-m+=./drivers/usb/serial/option.o 5 | obj-m+=./drivers/usb/serial/usb_wwan.o 6 | obj-m+=./drivers/usb/serial/qcserial.o 7 | 8 | modules: clean 9 | $(MAKE) -C $(KERNELDIR) M=$(PWD) modules 10 | 11 | install: modules 12 | cp $(PWD)/drivers/usb/serial/*.ko /lib/modules/$(shell uname -r)/kernel/drivers/usb/serial/ 13 | depmod 14 | 15 | clean: 16 | $(MAKE) -C $(KERNELDIR) M=$(PWD) clean 17 | -------------------------------------------------------------------------------- /src/v3.2.11/Makefile: -------------------------------------------------------------------------------- 1 | KERNELDIR := /lib/modules/$(shell uname -r)/build 2 | PWD := $(shell pwd) 3 | 4 | obj-m+=./drivers/usb/serial/option.o 5 | obj-m+=./drivers/usb/serial/usb_wwan.o 6 | obj-m+=./drivers/usb/serial/qcserial.o 7 | 8 | modules: clean 9 | $(MAKE) -C $(KERNELDIR) M=$(PWD) modules 10 | 11 | install: modules 12 | cp $(PWD)/drivers/usb/serial/*.ko /lib/modules/$(shell uname -r)/kernel/drivers/usb/serial/ 13 | depmod 14 | 15 | clean: 16 | $(MAKE) -C $(KERNELDIR) M=$(PWD) clean 17 | -------------------------------------------------------------------------------- /src/v3.2.51/Makefile: -------------------------------------------------------------------------------- 1 | KERNELDIR := /lib/modules/$(shell uname -r)/build 2 | PWD := $(shell pwd) 3 | 4 | obj-m+=./drivers/usb/serial/option.o 5 | obj-m+=./drivers/usb/serial/usb_wwan.o 6 | obj-m+=./drivers/usb/serial/qcserial.o 7 | 8 | modules: clean 9 | $(MAKE) -C $(KERNELDIR) M=$(PWD) modules 10 | 11 | install: modules 12 | cp $(PWD)/drivers/usb/serial/*.ko /lib/modules/$(shell uname -r)/kernel/drivers/usb/serial/ 13 | depmod 14 | 15 | clean: 16 | $(MAKE) -C $(KERNELDIR) M=$(PWD) clean 17 | -------------------------------------------------------------------------------- /src/v3.3.1/Makefile: -------------------------------------------------------------------------------- 1 | KERNELDIR := /lib/modules/$(shell uname -r)/build 2 | PWD := $(shell pwd) 3 | 4 | obj-m+=./drivers/usb/serial/option.o 5 | obj-m+=./drivers/usb/serial/usb_wwan.o 6 | obj-m+=./drivers/usb/serial/qcserial.o 7 | 8 | modules: clean 9 | $(MAKE) -C $(KERNELDIR) M=$(PWD) modules 10 | 11 | install: modules 12 | cp $(PWD)/drivers/usb/serial/*.ko /lib/modules/$(shell uname -r)/kernel/drivers/usb/serial/ 13 | depmod 14 | 15 | clean: 16 | $(MAKE) -C $(KERNELDIR) M=$(PWD) clean 17 | -------------------------------------------------------------------------------- /src/v3.4.1/Makefile: -------------------------------------------------------------------------------- 1 | KERNELDIR := /lib/modules/$(shell uname -r)/build 2 | PWD := $(shell pwd) 3 | 4 | obj-m+=./drivers/usb/serial/option.o 5 | obj-m+=./drivers/usb/serial/usb_wwan.o 6 | obj-m+=./drivers/usb/serial/qcserial.o 7 | 8 | modules: clean 9 | $(MAKE) -C $(KERNELDIR) M=$(PWD) modules 10 | 11 | install: modules 12 | cp $(PWD)/drivers/usb/serial/*.ko /lib/modules/$(shell uname -r)/kernel/drivers/usb/serial/ 13 | depmod 14 | 15 | clean: 16 | $(MAKE) -C $(KERNELDIR) M=$(PWD) clean 17 | -------------------------------------------------------------------------------- /src/v3.4.11/Makefile: -------------------------------------------------------------------------------- 1 | KERNELDIR := /lib/modules/$(shell uname -r)/build 2 | PWD := $(shell pwd) 3 | 4 | obj-m+=./drivers/usb/serial/option.o 5 | obj-m+=./drivers/usb/serial/usb_wwan.o 6 | obj-m+=./drivers/usb/serial/qcserial.o 7 | 8 | modules: clean 9 | $(MAKE) -C $(KERNELDIR) M=$(PWD) modules 10 | 11 | install: modules 12 | cp $(PWD)/drivers/usb/serial/*.ko /lib/modules/$(shell uname -r)/kernel/drivers/usb/serial/ 13 | depmod 14 | 15 | clean: 16 | $(MAKE) -C $(KERNELDIR) M=$(PWD) clean 17 | -------------------------------------------------------------------------------- /src/v3.4.111/Makefile: -------------------------------------------------------------------------------- 1 | KERNELDIR := /lib/modules/$(shell uname -r)/build 2 | PWD := $(shell pwd) 3 | 4 | obj-m+=./drivers/usb/serial/option.o 5 | obj-m+=./drivers/usb/serial/usb_wwan.o 6 | obj-m+=./drivers/usb/serial/qcserial.o 7 | 8 | modules: clean 9 | $(MAKE) -C $(KERNELDIR) M=$(PWD) modules 10 | 11 | install: modules 12 | cp $(PWD)/drivers/usb/serial/*.ko /lib/modules/$(shell uname -r)/kernel/drivers/usb/serial/ 13 | depmod 14 | 15 | clean: 16 | $(MAKE) -C $(KERNELDIR) M=$(PWD) clean 17 | -------------------------------------------------------------------------------- /src/v3.4.51/Makefile: -------------------------------------------------------------------------------- 1 | KERNELDIR := /lib/modules/$(shell uname -r)/build 2 | PWD := $(shell pwd) 3 | 4 | obj-m+=./drivers/usb/serial/option.o 5 | obj-m+=./drivers/usb/serial/usb_wwan.o 6 | obj-m+=./drivers/usb/serial/qcserial.o 7 | 8 | modules: clean 9 | $(MAKE) -C $(KERNELDIR) M=$(PWD) modules 10 | 11 | install: modules 12 | cp $(PWD)/drivers/usb/serial/*.ko /lib/modules/$(shell uname -r)/kernel/drivers/usb/serial/ 13 | depmod 14 | 15 | clean: 16 | $(MAKE) -C $(KERNELDIR) M=$(PWD) clean 17 | -------------------------------------------------------------------------------- /src/v3.5.1/Makefile: -------------------------------------------------------------------------------- 1 | KERNELDIR := /lib/modules/$(shell uname -r)/build 2 | PWD := $(shell pwd) 3 | 4 | obj-m+=./drivers/usb/serial/option.o 5 | obj-m+=./drivers/usb/serial/usb_wwan.o 6 | obj-m+=./drivers/usb/serial/qcserial.o 7 | 8 | modules: clean 9 | $(MAKE) -C $(KERNELDIR) M=$(PWD) modules 10 | 11 | install: modules 12 | cp $(PWD)/drivers/usb/serial/*.ko /lib/modules/$(shell uname -r)/kernel/drivers/usb/serial/ 13 | depmod 14 | 15 | clean: 16 | $(MAKE) -C $(KERNELDIR) M=$(PWD) clean 17 | -------------------------------------------------------------------------------- /src/v3.6.1/Makefile: -------------------------------------------------------------------------------- 1 | KERNELDIR := /lib/modules/$(shell uname -r)/build 2 | PWD := $(shell pwd) 3 | 4 | obj-m+=./drivers/usb/serial/option.o 5 | obj-m+=./drivers/usb/serial/usb_wwan.o 6 | obj-m+=./drivers/usb/serial/qcserial.o 7 | 8 | modules: clean 9 | $(MAKE) -C $(KERNELDIR) M=$(PWD) modules 10 | 11 | install: modules 12 | cp $(PWD)/drivers/usb/serial/*.ko /lib/modules/$(shell uname -r)/kernel/drivers/usb/serial/ 13 | depmod 14 | 15 | clean: 16 | $(MAKE) -C $(KERNELDIR) M=$(PWD) clean 17 | -------------------------------------------------------------------------------- /src/v3.6.11/Makefile: -------------------------------------------------------------------------------- 1 | KERNELDIR := /lib/modules/$(shell uname -r)/build 2 | PWD := $(shell pwd) 3 | 4 | obj-m+=./drivers/usb/serial/option.o 5 | obj-m+=./drivers/usb/serial/usb_wwan.o 6 | obj-m+=./drivers/usb/serial/qcserial.o 7 | 8 | modules: clean 9 | $(MAKE) -C $(KERNELDIR) M=$(PWD) modules 10 | 11 | install: modules 12 | cp $(PWD)/drivers/usb/serial/*.ko /lib/modules/$(shell uname -r)/kernel/drivers/usb/serial/ 13 | depmod 14 | 15 | clean: 16 | $(MAKE) -C $(KERNELDIR) M=$(PWD) clean 17 | -------------------------------------------------------------------------------- /src/v3.7.1/Makefile: -------------------------------------------------------------------------------- 1 | KERNELDIR := /lib/modules/$(shell uname -r)/build 2 | PWD := $(shell pwd) 3 | 4 | obj-m+=./drivers/usb/serial/option.o 5 | obj-m+=./drivers/usb/serial/usb_wwan.o 6 | obj-m+=./drivers/usb/serial/qcserial.o 7 | 8 | modules: clean 9 | $(MAKE) -C $(KERNELDIR) M=$(PWD) modules 10 | 11 | install: modules 12 | cp $(PWD)/drivers/usb/serial/*.ko /lib/modules/$(shell uname -r)/kernel/drivers/usb/serial/ 13 | depmod 14 | 15 | clean: 16 | $(MAKE) -C $(KERNELDIR) M=$(PWD) clean 17 | -------------------------------------------------------------------------------- /src/v3.8.1/Makefile: -------------------------------------------------------------------------------- 1 | KERNELDIR := /lib/modules/$(shell uname -r)/build 2 | PWD := $(shell pwd) 3 | 4 | obj-m+=./drivers/usb/serial/option.o 5 | obj-m+=./drivers/usb/serial/usb_wwan.o 6 | obj-m+=./drivers/usb/serial/qcserial.o 7 | 8 | modules: clean 9 | $(MAKE) -C $(KERNELDIR) M=$(PWD) modules 10 | 11 | install: modules 12 | cp $(PWD)/drivers/usb/serial/*.ko /lib/modules/$(shell uname -r)/kernel/drivers/usb/serial/ 13 | depmod 14 | 15 | clean: 16 | $(MAKE) -C $(KERNELDIR) M=$(PWD) clean 17 | -------------------------------------------------------------------------------- /src/v3.8.11/Makefile: -------------------------------------------------------------------------------- 1 | KERNELDIR := /lib/modules/$(shell uname -r)/build 2 | PWD := $(shell pwd) 3 | 4 | obj-m+=./drivers/usb/serial/option.o 5 | obj-m+=./drivers/usb/serial/usb_wwan.o 6 | obj-m+=./drivers/usb/serial/qcserial.o 7 | 8 | modules: clean 9 | $(MAKE) -C $(KERNELDIR) M=$(PWD) modules 10 | 11 | install: modules 12 | cp $(PWD)/drivers/usb/serial/*.ko /lib/modules/$(shell uname -r)/kernel/drivers/usb/serial/ 13 | depmod 14 | 15 | clean: 16 | $(MAKE) -C $(KERNELDIR) M=$(PWD) clean 17 | -------------------------------------------------------------------------------- /src/v3.9.1/Makefile: -------------------------------------------------------------------------------- 1 | KERNELDIR := /lib/modules/$(shell uname -r)/build 2 | PWD := $(shell pwd) 3 | 4 | obj-m+=./drivers/usb/serial/option.o 5 | obj-m+=./drivers/usb/serial/usb_wwan.o 6 | obj-m+=./drivers/usb/serial/qcserial.o 7 | 8 | modules: clean 9 | $(MAKE) -C $(KERNELDIR) M=$(PWD) modules 10 | 11 | install: modules 12 | cp $(PWD)/drivers/usb/serial/*.ko /lib/modules/$(shell uname -r)/kernel/drivers/usb/serial/ 13 | depmod 14 | 15 | clean: 16 | $(MAKE) -C $(KERNELDIR) M=$(PWD) clean 17 | -------------------------------------------------------------------------------- /src/v3.9.11/Makefile: -------------------------------------------------------------------------------- 1 | KERNELDIR := /lib/modules/$(shell uname -r)/build 2 | PWD := $(shell pwd) 3 | 4 | obj-m+=./drivers/usb/serial/option.o 5 | obj-m+=./drivers/usb/serial/usb_wwan.o 6 | obj-m+=./drivers/usb/serial/qcserial.o 7 | 8 | modules: clean 9 | $(MAKE) -C $(KERNELDIR) M=$(PWD) modules 10 | 11 | install: modules 12 | cp $(PWD)/drivers/usb/serial/*.ko /lib/modules/$(shell uname -r)/kernel/drivers/usb/serial/ 13 | depmod 14 | 15 | clean: 16 | $(MAKE) -C $(KERNELDIR) M=$(PWD) clean 17 | -------------------------------------------------------------------------------- /src/v4.0.1/Makefile: -------------------------------------------------------------------------------- 1 | KERNELDIR := /lib/modules/$(shell uname -r)/build 2 | PWD := $(shell pwd) 3 | 4 | obj-m+=./drivers/usb/serial/option.o 5 | obj-m+=./drivers/usb/serial/usb_wwan.o 6 | obj-m+=./drivers/usb/serial/qcserial.o 7 | 8 | modules: clean 9 | $(MAKE) -C $(KERNELDIR) M=$(PWD) modules 10 | 11 | install: modules 12 | cp $(PWD)/drivers/usb/serial/*.ko /lib/modules/$(shell uname -r)/kernel/drivers/usb/serial/ 13 | depmod 14 | 15 | clean: 16 | $(MAKE) -C $(KERNELDIR) M=$(PWD) clean 17 | -------------------------------------------------------------------------------- /src/v4.1.1/Makefile: -------------------------------------------------------------------------------- 1 | KERNELDIR := /lib/modules/$(shell uname -r)/build 2 | PWD := $(shell pwd) 3 | 4 | obj-m+=./drivers/usb/serial/option.o 5 | obj-m+=./drivers/usb/serial/usb_wwan.o 6 | obj-m+=./drivers/usb/serial/qcserial.o 7 | 8 | modules: clean 9 | $(MAKE) -C $(KERNELDIR) M=$(PWD) modules 10 | 11 | install: modules 12 | cp $(PWD)/drivers/usb/serial/*.ko /lib/modules/$(shell uname -r)/kernel/drivers/usb/serial/ 13 | depmod 14 | 15 | clean: 16 | $(MAKE) -C $(KERNELDIR) M=$(PWD) clean 17 | -------------------------------------------------------------------------------- /src/v4.1.11/Makefile: -------------------------------------------------------------------------------- 1 | KERNELDIR := /lib/modules/$(shell uname -r)/build 2 | PWD := $(shell pwd) 3 | 4 | obj-m+=./drivers/usb/serial/option.o 5 | obj-m+=./drivers/usb/serial/usb_wwan.o 6 | obj-m+=./drivers/usb/serial/qcserial.o 7 | 8 | modules: clean 9 | $(MAKE) -C $(KERNELDIR) M=$(PWD) modules 10 | 11 | install: modules 12 | cp $(PWD)/drivers/usb/serial/*.ko /lib/modules/$(shell uname -r)/kernel/drivers/usb/serial/ 13 | depmod 14 | 15 | clean: 16 | $(MAKE) -C $(KERNELDIR) M=$(PWD) clean 17 | -------------------------------------------------------------------------------- /src/v4.1.51/Makefile: -------------------------------------------------------------------------------- 1 | KERNELDIR := /lib/modules/$(shell uname -r)/build 2 | PWD := $(shell pwd) 3 | 4 | obj-m+=./drivers/usb/serial/option.o 5 | obj-m+=./drivers/usb/serial/usb_wwan.o 6 | obj-m+=./drivers/usb/serial/qcserial.o 7 | 8 | modules: clean 9 | $(MAKE) -C $(KERNELDIR) M=$(PWD) modules 10 | 11 | install: modules 12 | cp $(PWD)/drivers/usb/serial/*.ko /lib/modules/$(shell uname -r)/kernel/drivers/usb/serial/ 13 | depmod 14 | 15 | clean: 16 | $(MAKE) -C $(KERNELDIR) M=$(PWD) clean 17 | -------------------------------------------------------------------------------- /src/v4.10.1/Makefile: -------------------------------------------------------------------------------- 1 | KERNELDIR := /lib/modules/$(shell uname -r)/build 2 | PWD := $(shell pwd) 3 | 4 | obj-m+=./drivers/usb/serial/option.o 5 | obj-m+=./drivers/usb/serial/usb_wwan.o 6 | obj-m+=./drivers/usb/serial/qcserial.o 7 | obj-m+=./drivers/usb/class/cdc-wdm.o 8 | 9 | modules: clean 10 | $(MAKE) -C $(KERNELDIR) M=$(PWD) modules 11 | 12 | install: modules 13 | cp $(PWD)/drivers/usb/serial/*.ko /lib/modules/$(shell uname -r)/kernel/drivers/usb/serial/ 14 | cp $(PWD)/drivers/usb/class/cdc-wdm.ko /lib/modules/$(shell uname -r)/kernel/drivers/usb/class/ 15 | depmod 16 | 17 | clean: 18 | $(MAKE) -C $(KERNELDIR) M=$(PWD) clean 19 | -------------------------------------------------------------------------------- /src/v4.10.1/drivers/usb/serial/usb-wwan.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Definitions for USB serial mobile broadband cards 3 | */ 4 | 5 | #ifndef __LINUX_USB_USB_WWAN 6 | #define __LINUX_USB_USB_WWAN 7 | 8 | extern void usb_wwan_dtr_rts(struct usb_serial_port *port, int on); 9 | extern int usb_wwan_open(struct tty_struct *tty, struct usb_serial_port *port); 10 | extern void usb_wwan_close(struct usb_serial_port *port); 11 | extern int usb_wwan_port_probe(struct usb_serial_port *port); 12 | extern int usb_wwan_port_remove(struct usb_serial_port *port); 13 | extern int usb_wwan_write_room(struct tty_struct *tty); 14 | extern int usb_wwan_tiocmget(struct tty_struct *tty); 15 | extern int usb_wwan_tiocmset(struct tty_struct *tty, 16 | unsigned int set, unsigned int clear); 17 | extern int usb_wwan_ioctl(struct tty_struct *tty, 18 | unsigned int cmd, unsigned long arg); 19 | extern int usb_wwan_write(struct tty_struct *tty, struct usb_serial_port *port, 20 | const unsigned char *buf, int count); 21 | extern int usb_wwan_chars_in_buffer(struct tty_struct *tty); 22 | #ifdef CONFIG_PM 23 | extern int usb_wwan_suspend(struct usb_serial *serial, pm_message_t message); 24 | extern int usb_wwan_resume(struct usb_serial *serial); 25 | #endif 26 | 27 | /* per port private data */ 28 | 29 | #define N_IN_URB 4 30 | #define N_OUT_URB 4 31 | #define IN_BUFLEN 4096 32 | #define OUT_BUFLEN 4096 33 | 34 | struct usb_wwan_intf_private { 35 | spinlock_t susp_lock; 36 | unsigned int suspended:1; 37 | unsigned int use_send_setup:1; 38 | int in_flight; 39 | unsigned int open_ports; 40 | void *private; 41 | }; 42 | 43 | struct usb_wwan_port_private { 44 | /* Input endpoints and buffer for this port */ 45 | struct urb *in_urbs[N_IN_URB]; 46 | u8 *in_buffer[N_IN_URB]; 47 | /* Output endpoints and buffer for this port */ 48 | struct urb *out_urbs[N_OUT_URB]; 49 | u8 *out_buffer[N_OUT_URB]; 50 | unsigned long out_busy; /* Bit vector of URBs in use */ 51 | struct usb_anchor delayed; 52 | 53 | /* Settings for the port */ 54 | int rts_state; /* Handshaking pins (outputs) */ 55 | int dtr_state; 56 | int cts_state; /* Handshaking pins (inputs) */ 57 | int dsr_state; 58 | int dcd_state; 59 | int ri_state; 60 | 61 | unsigned long tx_start_time[N_OUT_URB]; 62 | }; 63 | 64 | #endif /* __LINUX_USB_USB_WWAN */ 65 | -------------------------------------------------------------------------------- /src/v4.10.11/Makefile: -------------------------------------------------------------------------------- 1 | KERNELDIR := /lib/modules/$(shell uname -r)/build 2 | PWD := $(shell pwd) 3 | 4 | obj-m+=./drivers/usb/serial/option.o 5 | obj-m+=./drivers/usb/serial/usb_wwan.o 6 | obj-m+=./drivers/usb/serial/qcserial.o 7 | obj-m+=./drivers/usb/class/cdc-wdm.o 8 | 9 | modules: clean 10 | $(MAKE) -C $(KERNELDIR) M=$(PWD) modules 11 | 12 | install: modules 13 | cp $(PWD)/drivers/usb/serial/*.ko /lib/modules/$(shell uname -r)/kernel/drivers/usb/serial/ 14 | cp $(PWD)/drivers/usb/class/cdc-wdm.ko /lib/modules/$(shell uname -r)/kernel/drivers/usb/class/ 15 | depmod 16 | 17 | clean: 18 | $(MAKE) -C $(KERNELDIR) M=$(PWD) clean 19 | -------------------------------------------------------------------------------- /src/v4.10.11/drivers/usb/serial/usb-wwan.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Definitions for USB serial mobile broadband cards 3 | */ 4 | 5 | #ifndef __LINUX_USB_USB_WWAN 6 | #define __LINUX_USB_USB_WWAN 7 | 8 | extern void usb_wwan_dtr_rts(struct usb_serial_port *port, int on); 9 | extern int usb_wwan_open(struct tty_struct *tty, struct usb_serial_port *port); 10 | extern void usb_wwan_close(struct usb_serial_port *port); 11 | extern int usb_wwan_port_probe(struct usb_serial_port *port); 12 | extern int usb_wwan_port_remove(struct usb_serial_port *port); 13 | extern int usb_wwan_write_room(struct tty_struct *tty); 14 | extern int usb_wwan_tiocmget(struct tty_struct *tty); 15 | extern int usb_wwan_tiocmset(struct tty_struct *tty, 16 | unsigned int set, unsigned int clear); 17 | extern int usb_wwan_ioctl(struct tty_struct *tty, 18 | unsigned int cmd, unsigned long arg); 19 | extern int usb_wwan_write(struct tty_struct *tty, struct usb_serial_port *port, 20 | const unsigned char *buf, int count); 21 | extern int usb_wwan_chars_in_buffer(struct tty_struct *tty); 22 | #ifdef CONFIG_PM 23 | extern int usb_wwan_suspend(struct usb_serial *serial, pm_message_t message); 24 | extern int usb_wwan_resume(struct usb_serial *serial); 25 | #endif 26 | 27 | /* per port private data */ 28 | 29 | #define N_IN_URB 4 30 | #define N_OUT_URB 4 31 | #define IN_BUFLEN 4096 32 | #define OUT_BUFLEN 4096 33 | 34 | struct usb_wwan_intf_private { 35 | spinlock_t susp_lock; 36 | unsigned int suspended:1; 37 | unsigned int use_send_setup:1; 38 | int in_flight; 39 | unsigned int open_ports; 40 | void *private; 41 | }; 42 | 43 | struct usb_wwan_port_private { 44 | /* Input endpoints and buffer for this port */ 45 | struct urb *in_urbs[N_IN_URB]; 46 | u8 *in_buffer[N_IN_URB]; 47 | /* Output endpoints and buffer for this port */ 48 | struct urb *out_urbs[N_OUT_URB]; 49 | u8 *out_buffer[N_OUT_URB]; 50 | unsigned long out_busy; /* Bit vector of URBs in use */ 51 | struct usb_anchor delayed; 52 | 53 | /* Settings for the port */ 54 | int rts_state; /* Handshaking pins (outputs) */ 55 | int dtr_state; 56 | int cts_state; /* Handshaking pins (inputs) */ 57 | int dsr_state; 58 | int dcd_state; 59 | int ri_state; 60 | 61 | unsigned long tx_start_time[N_OUT_URB]; 62 | }; 63 | 64 | #endif /* __LINUX_USB_USB_WWAN */ 65 | -------------------------------------------------------------------------------- /src/v4.11.1/Makefile: -------------------------------------------------------------------------------- 1 | KERNELDIR := /lib/modules/$(shell uname -r)/build 2 | PWD := $(shell pwd) 3 | 4 | obj-m+=./drivers/usb/serial/option.o 5 | obj-m+=./drivers/usb/serial/usb_wwan.o 6 | obj-m+=./drivers/usb/serial/qcserial.o 7 | obj-m+=./drivers/usb/class/cdc-wdm.o 8 | 9 | modules: clean 10 | $(MAKE) -C $(KERNELDIR) M=$(PWD) modules 11 | 12 | install: modules 13 | cp $(PWD)/drivers/usb/serial/*.ko /lib/modules/$(shell uname -r)/kernel/drivers/usb/serial/ 14 | cp $(PWD)/drivers/usb/class/cdc-wdm.ko /lib/modules/$(shell uname -r)/kernel/drivers/usb/class/ 15 | depmod 16 | 17 | clean: 18 | $(MAKE) -C $(KERNELDIR) M=$(PWD) clean 19 | -------------------------------------------------------------------------------- /src/v4.11.1/drivers/usb/serial/usb-wwan.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Definitions for USB serial mobile broadband cards 3 | */ 4 | 5 | #ifndef __LINUX_USB_USB_WWAN 6 | #define __LINUX_USB_USB_WWAN 7 | 8 | extern void usb_wwan_dtr_rts(struct usb_serial_port *port, int on); 9 | extern int usb_wwan_open(struct tty_struct *tty, struct usb_serial_port *port); 10 | extern void usb_wwan_close(struct usb_serial_port *port); 11 | extern int usb_wwan_port_probe(struct usb_serial_port *port); 12 | extern int usb_wwan_port_remove(struct usb_serial_port *port); 13 | extern int usb_wwan_write_room(struct tty_struct *tty); 14 | extern int usb_wwan_tiocmget(struct tty_struct *tty); 15 | extern int usb_wwan_tiocmset(struct tty_struct *tty, 16 | unsigned int set, unsigned int clear); 17 | extern int usb_wwan_ioctl(struct tty_struct *tty, 18 | unsigned int cmd, unsigned long arg); 19 | extern int usb_wwan_write(struct tty_struct *tty, struct usb_serial_port *port, 20 | const unsigned char *buf, int count); 21 | extern int usb_wwan_chars_in_buffer(struct tty_struct *tty); 22 | #ifdef CONFIG_PM 23 | extern int usb_wwan_suspend(struct usb_serial *serial, pm_message_t message); 24 | extern int usb_wwan_resume(struct usb_serial *serial); 25 | #endif 26 | 27 | /* per port private data */ 28 | 29 | #define N_IN_URB 4 30 | #define N_OUT_URB 4 31 | #define IN_BUFLEN 4096 32 | #define OUT_BUFLEN 4096 33 | 34 | struct usb_wwan_intf_private { 35 | spinlock_t susp_lock; 36 | unsigned int suspended:1; 37 | unsigned int use_send_setup:1; 38 | int in_flight; 39 | unsigned int open_ports; 40 | void *private; 41 | }; 42 | 43 | struct usb_wwan_port_private { 44 | /* Input endpoints and buffer for this port */ 45 | struct urb *in_urbs[N_IN_URB]; 46 | u8 *in_buffer[N_IN_URB]; 47 | /* Output endpoints and buffer for this port */ 48 | struct urb *out_urbs[N_OUT_URB]; 49 | u8 *out_buffer[N_OUT_URB]; 50 | unsigned long out_busy; /* Bit vector of URBs in use */ 51 | struct usb_anchor delayed; 52 | 53 | /* Settings for the port */ 54 | int rts_state; /* Handshaking pins (outputs) */ 55 | int dtr_state; 56 | int cts_state; /* Handshaking pins (inputs) */ 57 | int dsr_state; 58 | int dcd_state; 59 | int ri_state; 60 | 61 | unsigned long tx_start_time[N_OUT_URB]; 62 | }; 63 | 64 | #endif /* __LINUX_USB_USB_WWAN */ 65 | -------------------------------------------------------------------------------- /src/v4.11.11/Makefile: -------------------------------------------------------------------------------- 1 | KERNELDIR := /lib/modules/$(shell uname -r)/build 2 | PWD := $(shell pwd) 3 | 4 | obj-m+=./drivers/usb/serial/option.o 5 | obj-m+=./drivers/usb/serial/usb_wwan.o 6 | obj-m+=./drivers/usb/serial/qcserial.o 7 | 8 | modules: clean 9 | $(MAKE) -C $(KERNELDIR) M=$(PWD) modules 10 | 11 | install: modules 12 | cp $(PWD)/drivers/usb/serial/*.ko /lib/modules/$(shell uname -r)/kernel/drivers/usb/serial/ 13 | depmod 14 | 15 | clean: 16 | $(MAKE) -C $(KERNELDIR) M=$(PWD) clean 17 | -------------------------------------------------------------------------------- /src/v4.11.11/drivers/usb/serial/usb-wwan.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Definitions for USB serial mobile broadband cards 3 | */ 4 | 5 | #ifndef __LINUX_USB_USB_WWAN 6 | #define __LINUX_USB_USB_WWAN 7 | 8 | extern void usb_wwan_dtr_rts(struct usb_serial_port *port, int on); 9 | extern int usb_wwan_open(struct tty_struct *tty, struct usb_serial_port *port); 10 | extern void usb_wwan_close(struct usb_serial_port *port); 11 | extern int usb_wwan_port_probe(struct usb_serial_port *port); 12 | extern int usb_wwan_port_remove(struct usb_serial_port *port); 13 | extern int usb_wwan_write_room(struct tty_struct *tty); 14 | extern int usb_wwan_tiocmget(struct tty_struct *tty); 15 | extern int usb_wwan_tiocmset(struct tty_struct *tty, 16 | unsigned int set, unsigned int clear); 17 | extern int usb_wwan_ioctl(struct tty_struct *tty, 18 | unsigned int cmd, unsigned long arg); 19 | extern int usb_wwan_write(struct tty_struct *tty, struct usb_serial_port *port, 20 | const unsigned char *buf, int count); 21 | extern int usb_wwan_chars_in_buffer(struct tty_struct *tty); 22 | #ifdef CONFIG_PM 23 | extern int usb_wwan_suspend(struct usb_serial *serial, pm_message_t message); 24 | extern int usb_wwan_resume(struct usb_serial *serial); 25 | #endif 26 | 27 | /* per port private data */ 28 | 29 | #define N_IN_URB 4 30 | #define N_OUT_URB 4 31 | #define IN_BUFLEN 4096 32 | #define OUT_BUFLEN 4096 33 | 34 | struct usb_wwan_intf_private { 35 | spinlock_t susp_lock; 36 | unsigned int suspended:1; 37 | unsigned int use_send_setup:1; 38 | int in_flight; 39 | unsigned int open_ports; 40 | void *private; 41 | }; 42 | 43 | struct usb_wwan_port_private { 44 | /* Input endpoints and buffer for this port */ 45 | struct urb *in_urbs[N_IN_URB]; 46 | u8 *in_buffer[N_IN_URB]; 47 | /* Output endpoints and buffer for this port */ 48 | struct urb *out_urbs[N_OUT_URB]; 49 | u8 *out_buffer[N_OUT_URB]; 50 | unsigned long out_busy; /* Bit vector of URBs in use */ 51 | struct usb_anchor delayed; 52 | 53 | /* Settings for the port */ 54 | int rts_state; /* Handshaking pins (outputs) */ 55 | int dtr_state; 56 | int cts_state; /* Handshaking pins (inputs) */ 57 | int dsr_state; 58 | int dcd_state; 59 | int ri_state; 60 | 61 | unsigned long tx_start_time[N_OUT_URB]; 62 | }; 63 | 64 | #endif /* __LINUX_USB_USB_WWAN */ 65 | -------------------------------------------------------------------------------- /src/v4.12.1/Makefile: -------------------------------------------------------------------------------- 1 | KERNELDIR := /lib/modules/$(shell uname -r)/build 2 | PWD := $(shell pwd) 3 | 4 | obj-m+=./drivers/usb/serial/option.o 5 | obj-m+=./drivers/usb/serial/usb_wwan.o 6 | obj-m+=./drivers/usb/serial/qcserial.o 7 | 8 | modules: clean 9 | $(MAKE) -C $(KERNELDIR) M=$(PWD) modules 10 | 11 | install: modules 12 | cp $(PWD)/drivers/usb/serial/*.ko /lib/modules/$(shell uname -r)/kernel/drivers/usb/serial/ 13 | depmod 14 | 15 | clean: 16 | $(MAKE) -C $(KERNELDIR) M=$(PWD) clean 17 | -------------------------------------------------------------------------------- /src/v4.12.1/drivers/usb/serial/usb-wwan.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Definitions for USB serial mobile broadband cards 3 | */ 4 | 5 | #ifndef __LINUX_USB_USB_WWAN 6 | #define __LINUX_USB_USB_WWAN 7 | 8 | extern void usb_wwan_dtr_rts(struct usb_serial_port *port, int on); 9 | extern int usb_wwan_open(struct tty_struct *tty, struct usb_serial_port *port); 10 | extern void usb_wwan_close(struct usb_serial_port *port); 11 | extern int usb_wwan_port_probe(struct usb_serial_port *port); 12 | extern int usb_wwan_port_remove(struct usb_serial_port *port); 13 | extern int usb_wwan_write_room(struct tty_struct *tty); 14 | extern int usb_wwan_tiocmget(struct tty_struct *tty); 15 | extern int usb_wwan_tiocmset(struct tty_struct *tty, 16 | unsigned int set, unsigned int clear); 17 | extern int usb_wwan_ioctl(struct tty_struct *tty, 18 | unsigned int cmd, unsigned long arg); 19 | extern int usb_wwan_write(struct tty_struct *tty, struct usb_serial_port *port, 20 | const unsigned char *buf, int count); 21 | extern int usb_wwan_chars_in_buffer(struct tty_struct *tty); 22 | #ifdef CONFIG_PM 23 | extern int usb_wwan_suspend(struct usb_serial *serial, pm_message_t message); 24 | extern int usb_wwan_resume(struct usb_serial *serial); 25 | #endif 26 | 27 | /* per port private data */ 28 | 29 | #define N_IN_URB 4 30 | #define N_OUT_URB 4 31 | #define IN_BUFLEN 4096 32 | #define OUT_BUFLEN 4096 33 | 34 | struct usb_wwan_intf_private { 35 | spinlock_t susp_lock; 36 | unsigned int suspended:1; 37 | unsigned int use_send_setup:1; 38 | int in_flight; 39 | unsigned int open_ports; 40 | void *private; 41 | }; 42 | 43 | struct usb_wwan_port_private { 44 | /* Input endpoints and buffer for this port */ 45 | struct urb *in_urbs[N_IN_URB]; 46 | u8 *in_buffer[N_IN_URB]; 47 | /* Output endpoints and buffer for this port */ 48 | struct urb *out_urbs[N_OUT_URB]; 49 | u8 *out_buffer[N_OUT_URB]; 50 | unsigned long out_busy; /* Bit vector of URBs in use */ 51 | struct usb_anchor delayed; 52 | 53 | /* Settings for the port */ 54 | int rts_state; /* Handshaking pins (outputs) */ 55 | int dtr_state; 56 | int cts_state; /* Handshaking pins (inputs) */ 57 | int dsr_state; 58 | int dcd_state; 59 | int ri_state; 60 | 61 | unsigned long tx_start_time[N_OUT_URB]; 62 | }; 63 | 64 | #endif /* __LINUX_USB_USB_WWAN */ 65 | -------------------------------------------------------------------------------- /src/v4.12.11/Makefile: -------------------------------------------------------------------------------- 1 | KERNELDIR := /lib/modules/$(shell uname -r)/build 2 | PWD := $(shell pwd) 3 | 4 | obj-m+=./drivers/usb/serial/option.o 5 | obj-m+=./drivers/usb/serial/usb_wwan.o 6 | obj-m+=./drivers/usb/serial/qcserial.o 7 | 8 | modules: clean 9 | $(MAKE) -C $(KERNELDIR) M=$(PWD) modules 10 | 11 | install: modules 12 | cp $(PWD)/drivers/usb/serial/*.ko /lib/modules/$(shell uname -r)/kernel/drivers/usb/serial/ 13 | depmod 14 | 15 | clean: 16 | $(MAKE) -C $(KERNELDIR) M=$(PWD) clean 17 | -------------------------------------------------------------------------------- /src/v4.12.11/drivers/usb/serial/usb-wwan.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Definitions for USB serial mobile broadband cards 3 | */ 4 | 5 | #ifndef __LINUX_USB_USB_WWAN 6 | #define __LINUX_USB_USB_WWAN 7 | 8 | extern void usb_wwan_dtr_rts(struct usb_serial_port *port, int on); 9 | extern int usb_wwan_open(struct tty_struct *tty, struct usb_serial_port *port); 10 | extern void usb_wwan_close(struct usb_serial_port *port); 11 | extern int usb_wwan_port_probe(struct usb_serial_port *port); 12 | extern int usb_wwan_port_remove(struct usb_serial_port *port); 13 | extern int usb_wwan_write_room(struct tty_struct *tty); 14 | extern int usb_wwan_tiocmget(struct tty_struct *tty); 15 | extern int usb_wwan_tiocmset(struct tty_struct *tty, 16 | unsigned int set, unsigned int clear); 17 | extern int usb_wwan_ioctl(struct tty_struct *tty, 18 | unsigned int cmd, unsigned long arg); 19 | extern int usb_wwan_write(struct tty_struct *tty, struct usb_serial_port *port, 20 | const unsigned char *buf, int count); 21 | extern int usb_wwan_chars_in_buffer(struct tty_struct *tty); 22 | #ifdef CONFIG_PM 23 | extern int usb_wwan_suspend(struct usb_serial *serial, pm_message_t message); 24 | extern int usb_wwan_resume(struct usb_serial *serial); 25 | #endif 26 | 27 | /* per port private data */ 28 | 29 | #define N_IN_URB 4 30 | #define N_OUT_URB 4 31 | #define IN_BUFLEN 4096 32 | #define OUT_BUFLEN 4096 33 | 34 | struct usb_wwan_intf_private { 35 | spinlock_t susp_lock; 36 | unsigned int suspended:1; 37 | unsigned int use_send_setup:1; 38 | int in_flight; 39 | unsigned int open_ports; 40 | void *private; 41 | }; 42 | 43 | struct usb_wwan_port_private { 44 | /* Input endpoints and buffer for this port */ 45 | struct urb *in_urbs[N_IN_URB]; 46 | u8 *in_buffer[N_IN_URB]; 47 | /* Output endpoints and buffer for this port */ 48 | struct urb *out_urbs[N_OUT_URB]; 49 | u8 *out_buffer[N_OUT_URB]; 50 | unsigned long out_busy; /* Bit vector of URBs in use */ 51 | struct usb_anchor delayed; 52 | 53 | /* Settings for the port */ 54 | int rts_state; /* Handshaking pins (outputs) */ 55 | int dtr_state; 56 | int cts_state; /* Handshaking pins (inputs) */ 57 | int dsr_state; 58 | int dcd_state; 59 | int ri_state; 60 | 61 | unsigned long tx_start_time[N_OUT_URB]; 62 | }; 63 | 64 | #endif /* __LINUX_USB_USB_WWAN */ 65 | -------------------------------------------------------------------------------- /src/v4.13.1/Makefile: -------------------------------------------------------------------------------- 1 | KERNELDIR := /lib/modules/$(shell uname -r)/build 2 | PWD := $(shell pwd) 3 | 4 | obj-m+=./drivers/usb/serial/option.o 5 | obj-m+=./drivers/usb/serial/usb_wwan.o 6 | obj-m+=./drivers/usb/serial/qcserial.o 7 | 8 | modules: clean 9 | $(MAKE) -C $(KERNELDIR) M=$(PWD) modules 10 | 11 | install: modules 12 | cp $(PWD)/drivers/usb/serial/*.ko /lib/modules/$(shell uname -r)/kernel/drivers/usb/serial/ 13 | depmod 14 | 15 | clean: 16 | $(MAKE) -C $(KERNELDIR) M=$(PWD) clean 17 | -------------------------------------------------------------------------------- /src/v4.13.1/drivers/usb/serial/usb-wwan.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Definitions for USB serial mobile broadband cards 3 | */ 4 | 5 | #ifndef __LINUX_USB_USB_WWAN 6 | #define __LINUX_USB_USB_WWAN 7 | 8 | extern void usb_wwan_dtr_rts(struct usb_serial_port *port, int on); 9 | extern int usb_wwan_open(struct tty_struct *tty, struct usb_serial_port *port); 10 | extern void usb_wwan_close(struct usb_serial_port *port); 11 | extern int usb_wwan_port_probe(struct usb_serial_port *port); 12 | extern int usb_wwan_port_remove(struct usb_serial_port *port); 13 | extern int usb_wwan_write_room(struct tty_struct *tty); 14 | extern int usb_wwan_tiocmget(struct tty_struct *tty); 15 | extern int usb_wwan_tiocmset(struct tty_struct *tty, 16 | unsigned int set, unsigned int clear); 17 | extern int usb_wwan_ioctl(struct tty_struct *tty, 18 | unsigned int cmd, unsigned long arg); 19 | extern int usb_wwan_write(struct tty_struct *tty, struct usb_serial_port *port, 20 | const unsigned char *buf, int count); 21 | extern int usb_wwan_chars_in_buffer(struct tty_struct *tty); 22 | #ifdef CONFIG_PM 23 | extern int usb_wwan_suspend(struct usb_serial *serial, pm_message_t message); 24 | extern int usb_wwan_resume(struct usb_serial *serial); 25 | #endif 26 | 27 | /* per port private data */ 28 | 29 | #define N_IN_URB 4 30 | #define N_OUT_URB 4 31 | #define IN_BUFLEN 4096 32 | #define OUT_BUFLEN 4096 33 | 34 | struct usb_wwan_intf_private { 35 | spinlock_t susp_lock; 36 | unsigned int suspended:1; 37 | unsigned int use_send_setup:1; 38 | int in_flight; 39 | unsigned int open_ports; 40 | void *private; 41 | }; 42 | 43 | struct usb_wwan_port_private { 44 | /* Input endpoints and buffer for this port */ 45 | struct urb *in_urbs[N_IN_URB]; 46 | u8 *in_buffer[N_IN_URB]; 47 | /* Output endpoints and buffer for this port */ 48 | struct urb *out_urbs[N_OUT_URB]; 49 | u8 *out_buffer[N_OUT_URB]; 50 | unsigned long out_busy; /* Bit vector of URBs in use */ 51 | struct usb_anchor delayed; 52 | 53 | /* Settings for the port */ 54 | int rts_state; /* Handshaking pins (outputs) */ 55 | int dtr_state; 56 | int cts_state; /* Handshaking pins (inputs) */ 57 | int dsr_state; 58 | int dcd_state; 59 | int ri_state; 60 | 61 | unsigned long tx_start_time[N_OUT_URB]; 62 | }; 63 | 64 | #endif /* __LINUX_USB_USB_WWAN */ 65 | -------------------------------------------------------------------------------- /src/v4.13.11/Makefile: -------------------------------------------------------------------------------- 1 | KERNELDIR := /lib/modules/$(shell uname -r)/build 2 | PWD := $(shell pwd) 3 | 4 | obj-m+=./drivers/usb/serial/option.o 5 | obj-m+=./drivers/usb/serial/usb_wwan.o 6 | obj-m+=./drivers/usb/serial/qcserial.o 7 | 8 | modules: clean 9 | $(MAKE) -C $(KERNELDIR) M=$(PWD) modules 10 | 11 | install: modules 12 | cp $(PWD)/drivers/usb/serial/*.ko /lib/modules/$(shell uname -r)/kernel/drivers/usb/serial/ 13 | depmod 14 | 15 | clean: 16 | $(MAKE) -C $(KERNELDIR) M=$(PWD) clean 17 | -------------------------------------------------------------------------------- /src/v4.13.11/drivers/usb/serial/usb-wwan.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Definitions for USB serial mobile broadband cards 3 | */ 4 | 5 | #ifndef __LINUX_USB_USB_WWAN 6 | #define __LINUX_USB_USB_WWAN 7 | 8 | extern void usb_wwan_dtr_rts(struct usb_serial_port *port, int on); 9 | extern int usb_wwan_open(struct tty_struct *tty, struct usb_serial_port *port); 10 | extern void usb_wwan_close(struct usb_serial_port *port); 11 | extern int usb_wwan_port_probe(struct usb_serial_port *port); 12 | extern int usb_wwan_port_remove(struct usb_serial_port *port); 13 | extern int usb_wwan_write_room(struct tty_struct *tty); 14 | extern int usb_wwan_tiocmget(struct tty_struct *tty); 15 | extern int usb_wwan_tiocmset(struct tty_struct *tty, 16 | unsigned int set, unsigned int clear); 17 | extern int usb_wwan_ioctl(struct tty_struct *tty, 18 | unsigned int cmd, unsigned long arg); 19 | extern int usb_wwan_write(struct tty_struct *tty, struct usb_serial_port *port, 20 | const unsigned char *buf, int count); 21 | extern int usb_wwan_chars_in_buffer(struct tty_struct *tty); 22 | #ifdef CONFIG_PM 23 | extern int usb_wwan_suspend(struct usb_serial *serial, pm_message_t message); 24 | extern int usb_wwan_resume(struct usb_serial *serial); 25 | #endif 26 | 27 | /* per port private data */ 28 | 29 | #define N_IN_URB 4 30 | #define N_OUT_URB 4 31 | #define IN_BUFLEN 4096 32 | #define OUT_BUFLEN 4096 33 | 34 | struct usb_wwan_intf_private { 35 | spinlock_t susp_lock; 36 | unsigned int suspended:1; 37 | unsigned int use_send_setup:1; 38 | int in_flight; 39 | unsigned int open_ports; 40 | void *private; 41 | }; 42 | 43 | struct usb_wwan_port_private { 44 | /* Input endpoints and buffer for this port */ 45 | struct urb *in_urbs[N_IN_URB]; 46 | u8 *in_buffer[N_IN_URB]; 47 | /* Output endpoints and buffer for this port */ 48 | struct urb *out_urbs[N_OUT_URB]; 49 | u8 *out_buffer[N_OUT_URB]; 50 | unsigned long out_busy; /* Bit vector of URBs in use */ 51 | struct usb_anchor delayed; 52 | 53 | /* Settings for the port */ 54 | int rts_state; /* Handshaking pins (outputs) */ 55 | int dtr_state; 56 | int cts_state; /* Handshaking pins (inputs) */ 57 | int dsr_state; 58 | int dcd_state; 59 | int ri_state; 60 | 61 | unsigned long tx_start_time[N_OUT_URB]; 62 | }; 63 | 64 | #endif /* __LINUX_USB_USB_WWAN */ 65 | -------------------------------------------------------------------------------- /src/v4.14.1/Makefile: -------------------------------------------------------------------------------- 1 | KERNELDIR := /lib/modules/$(shell uname -r)/build 2 | PWD := $(shell pwd) 3 | 4 | obj-m+=./drivers/usb/serial/option.o 5 | obj-m+=./drivers/usb/serial/usb_wwan.o 6 | obj-m+=./drivers/usb/serial/qcserial.o 7 | 8 | modules: clean 9 | $(MAKE) -C $(KERNELDIR) M=$(PWD) modules 10 | 11 | install: modules 12 | cp $(PWD)/drivers/usb/serial/*.ko /lib/modules/$(shell uname -r)/kernel/drivers/usb/serial/ 13 | depmod 14 | 15 | clean: 16 | $(MAKE) -C $(KERNELDIR) M=$(PWD) clean 17 | -------------------------------------------------------------------------------- /src/v4.14.11/Makefile: -------------------------------------------------------------------------------- 1 | KERNELDIR := /lib/modules/$(shell uname -r)/build 2 | PWD := $(shell pwd) 3 | 4 | obj-m+=./drivers/usb/serial/option.o 5 | obj-m+=./drivers/usb/serial/usb_wwan.o 6 | obj-m+=./drivers/usb/serial/qcserial.o 7 | 8 | modules: clean 9 | $(MAKE) -C $(KERNELDIR) M=$(PWD) modules 10 | 11 | install: modules 12 | cp $(PWD)/drivers/usb/serial/*.ko /lib/modules/$(shell uname -r)/kernel/drivers/usb/serial/ 13 | depmod 14 | 15 | clean: 16 | $(MAKE) -C $(KERNELDIR) M=$(PWD) clean 17 | -------------------------------------------------------------------------------- /src/v4.14.111/Makefile: -------------------------------------------------------------------------------- 1 | KERNELDIR := /lib/modules/$(shell uname -r)/build 2 | PWD := $(shell pwd) 3 | 4 | obj-m+=./drivers/usb/serial/option.o 5 | obj-m+=./drivers/usb/serial/usb_wwan.o 6 | obj-m+=./drivers/usb/serial/qcserial.o 7 | 8 | modules: clean 9 | $(MAKE) -C $(KERNELDIR) M=$(PWD) modules 10 | 11 | install: modules 12 | cp $(PWD)/drivers/usb/serial/*.ko /lib/modules/$(shell uname -r)/kernel/drivers/usb/serial/ 13 | depmod 14 | 15 | clean: 16 | $(MAKE) -C $(KERNELDIR) M=$(PWD) clean 17 | -------------------------------------------------------------------------------- /src/v4.14.51/Makefile: -------------------------------------------------------------------------------- 1 | KERNELDIR := /lib/modules/$(shell uname -r)/build 2 | PWD := $(shell pwd) 3 | 4 | obj-m+=./drivers/usb/serial/option.o 5 | obj-m+=./drivers/usb/serial/usb_wwan.o 6 | obj-m+=./drivers/usb/serial/qcserial.o 7 | 8 | modules: clean 9 | $(MAKE) -C $(KERNELDIR) M=$(PWD) modules 10 | 11 | install: modules 12 | cp $(PWD)/drivers/usb/serial/*.ko /lib/modules/$(shell uname -r)/kernel/drivers/usb/serial/ 13 | depmod 14 | 15 | clean: 16 | $(MAKE) -C $(KERNELDIR) M=$(PWD) clean 17 | -------------------------------------------------------------------------------- /src/v4.15.1/Makefile: -------------------------------------------------------------------------------- 1 | KERNELDIR := /lib/modules/$(shell uname -r)/build 2 | PWD := $(shell pwd) 3 | 4 | obj-m+=./drivers/usb/serial/option.o 5 | obj-m+=./drivers/usb/serial/usb_wwan.o 6 | obj-m+=./drivers/usb/serial/qcserial.o 7 | 8 | modules: clean 9 | $(MAKE) -C $(KERNELDIR) M=$(PWD) modules 10 | 11 | install: modules 12 | cp $(PWD)/drivers/usb/serial/*.ko /lib/modules/$(shell uname -r)/kernel/drivers/usb/serial/ 13 | depmod 14 | 15 | clean: 16 | $(MAKE) -C $(KERNELDIR) M=$(PWD) clean 17 | -------------------------------------------------------------------------------- /src/v4.15.11/Makefile: -------------------------------------------------------------------------------- 1 | KERNELDIR := /lib/modules/$(shell uname -r)/build 2 | PWD := $(shell pwd) 3 | 4 | obj-m+=./drivers/usb/serial/option.o 5 | obj-m+=./drivers/usb/serial/usb_wwan.o 6 | obj-m+=./drivers/usb/serial/qcserial.o 7 | 8 | modules: clean 9 | $(MAKE) -C $(KERNELDIR) M=$(PWD) modules 10 | 11 | install: modules 12 | cp $(PWD)/drivers/usb/serial/*.ko /lib/modules/$(shell uname -r)/kernel/drivers/usb/serial/ 13 | depmod 14 | 15 | clean: 16 | $(MAKE) -C $(KERNELDIR) M=$(PWD) clean 17 | -------------------------------------------------------------------------------- /src/v4.16.1/Makefile: -------------------------------------------------------------------------------- 1 | KERNELDIR := /lib/modules/$(shell uname -r)/build 2 | PWD := $(shell pwd) 3 | 4 | obj-m+=./drivers/usb/serial/option.o 5 | obj-m+=./drivers/usb/serial/usb_wwan.o 6 | obj-m+=./drivers/usb/serial/qcserial.o 7 | 8 | modules: clean 9 | $(MAKE) -C $(KERNELDIR) M=$(PWD) modules 10 | 11 | install: modules 12 | cp $(PWD)/drivers/usb/serial/*.ko /lib/modules/$(shell uname -r)/kernel/drivers/usb/serial/ 13 | depmod 14 | 15 | clean: 16 | $(MAKE) -C $(KERNELDIR) M=$(PWD) clean 17 | -------------------------------------------------------------------------------- /src/v4.16.11/Makefile: -------------------------------------------------------------------------------- 1 | KERNELDIR := /lib/modules/$(shell uname -r)/build 2 | PWD := $(shell pwd) 3 | 4 | obj-m+=./drivers/usb/serial/option.o 5 | obj-m+=./drivers/usb/serial/usb_wwan.o 6 | obj-m+=./drivers/usb/serial/qcserial.o 7 | 8 | modules: clean 9 | $(MAKE) -C $(KERNELDIR) M=$(PWD) modules 10 | 11 | install: modules 12 | cp $(PWD)/drivers/usb/serial/*.ko /lib/modules/$(shell uname -r)/kernel/drivers/usb/serial/ 13 | depmod 14 | 15 | clean: 16 | $(MAKE) -C $(KERNELDIR) M=$(PWD) clean 17 | -------------------------------------------------------------------------------- /src/v4.17.1/Makefile: -------------------------------------------------------------------------------- 1 | KERNELDIR := /lib/modules/$(shell uname -r)/build 2 | PWD := $(shell pwd) 3 | 4 | obj-m+=./drivers/usb/serial/option.o 5 | obj-m+=./drivers/usb/serial/usb_wwan.o 6 | obj-m+=./drivers/usb/serial/qcserial.o 7 | 8 | modules: clean 9 | $(MAKE) -C $(KERNELDIR) M=$(PWD) modules 10 | 11 | install: modules 12 | cp $(PWD)/drivers/usb/serial/*.ko /lib/modules/$(shell uname -r)/kernel/drivers/usb/serial/ 13 | depmod 14 | 15 | clean: 16 | $(MAKE) -C $(KERNELDIR) M=$(PWD) clean 17 | -------------------------------------------------------------------------------- /src/v4.17.11/Makefile: -------------------------------------------------------------------------------- 1 | KERNELDIR := /lib/modules/$(shell uname -r)/build 2 | PWD := $(shell pwd) 3 | 4 | obj-m+=./drivers/usb/serial/option.o 5 | obj-m+=./drivers/usb/serial/usb_wwan.o 6 | obj-m+=./drivers/usb/serial/qcserial.o 7 | 8 | modules: clean 9 | $(MAKE) -C $(KERNELDIR) M=$(PWD) modules 10 | 11 | install: modules 12 | cp $(PWD)/drivers/usb/serial/*.ko /lib/modules/$(shell uname -r)/kernel/drivers/usb/serial/ 13 | depmod 14 | 15 | clean: 16 | $(MAKE) -C $(KERNELDIR) M=$(PWD) clean 17 | -------------------------------------------------------------------------------- /src/v4.18.1/Makefile: -------------------------------------------------------------------------------- 1 | KERNELDIR := /lib/modules/$(shell uname -r)/build 2 | PWD := $(shell pwd) 3 | 4 | obj-m+=./drivers/usb/serial/option.o 5 | obj-m+=./drivers/usb/serial/usb_wwan.o 6 | obj-m+=./drivers/usb/serial/qcserial.o 7 | 8 | modules: clean 9 | $(MAKE) -C $(KERNELDIR) M=$(PWD) modules 10 | 11 | install: modules 12 | cp $(PWD)/drivers/usb/serial/*.ko /lib/modules/$(shell uname -r)/kernel/drivers/usb/serial/ 13 | depmod 14 | 15 | clean: 16 | $(MAKE) -C $(KERNELDIR) M=$(PWD) clean 17 | -------------------------------------------------------------------------------- /src/v4.18.11/Makefile: -------------------------------------------------------------------------------- 1 | KERNELDIR := /lib/modules/$(shell uname -r)/build 2 | PWD := $(shell pwd) 3 | 4 | obj-m+=./drivers/usb/serial/option.o 5 | obj-m+=./drivers/usb/serial/usb_wwan.o 6 | obj-m+=./drivers/usb/serial/qcserial.o 7 | 8 | modules: clean 9 | $(MAKE) -C $(KERNELDIR) M=$(PWD) modules 10 | 11 | install: modules 12 | cp $(PWD)/drivers/usb/serial/*.ko /lib/modules/$(shell uname -r)/kernel/drivers/usb/serial/ 13 | depmod 14 | 15 | clean: 16 | $(MAKE) -C $(KERNELDIR) M=$(PWD) clean 17 | -------------------------------------------------------------------------------- /src/v4.19.1/Makefile: -------------------------------------------------------------------------------- 1 | KERNELDIR := /lib/modules/$(shell uname -r)/build 2 | PWD := $(shell pwd) 3 | 4 | obj-m+=./drivers/usb/serial/option.o 5 | obj-m+=./drivers/usb/serial/usb_wwan.o 6 | obj-m+=./drivers/usb/serial/qcserial.o 7 | 8 | modules: clean 9 | $(MAKE) -C $(KERNELDIR) M=$(PWD) modules 10 | 11 | install: modules 12 | cp $(PWD)/drivers/usb/serial/*.ko /lib/modules/$(shell uname -r)/kernel/drivers/usb/serial/ 13 | depmod 14 | 15 | clean: 16 | $(MAKE) -C $(KERNELDIR) M=$(PWD) clean 17 | -------------------------------------------------------------------------------- /src/v4.19.11/Makefile: -------------------------------------------------------------------------------- 1 | KERNELDIR := /lib/modules/$(shell uname -r)/build 2 | PWD := $(shell pwd) 3 | 4 | obj-m+=./drivers/usb/serial/option.o 5 | obj-m+=./drivers/usb/serial/usb_wwan.o 6 | obj-m+=./drivers/usb/serial/qcserial.o 7 | 8 | modules: clean 9 | $(MAKE) -C $(KERNELDIR) M=$(PWD) modules 10 | 11 | install: modules 12 | cp $(PWD)/drivers/usb/serial/*.ko /lib/modules/$(shell uname -r)/kernel/drivers/usb/serial/ 13 | depmod 14 | 15 | clean: 16 | $(MAKE) -C $(KERNELDIR) M=$(PWD) clean 17 | -------------------------------------------------------------------------------- /src/v4.19.111/Makefile: -------------------------------------------------------------------------------- 1 | KERNELDIR := /lib/modules/$(shell uname -r)/build 2 | PWD := $(shell pwd) 3 | 4 | obj-m+=./drivers/usb/serial/option.o 5 | obj-m+=./drivers/usb/serial/usb_wwan.o 6 | obj-m+=./drivers/usb/serial/qcserial.o 7 | 8 | modules: clean 9 | $(MAKE) -C $(KERNELDIR) M=$(PWD) modules 10 | 11 | install: modules 12 | cp $(PWD)/drivers/usb/serial/*.ko /lib/modules/$(shell uname -r)/kernel/drivers/usb/serial/ 13 | depmod 14 | 15 | clean: 16 | $(MAKE) -C $(KERNELDIR) M=$(PWD) clean 17 | -------------------------------------------------------------------------------- /src/v4.19.51/Makefile: -------------------------------------------------------------------------------- 1 | KERNELDIR := /lib/modules/$(shell uname -r)/build 2 | PWD := $(shell pwd) 3 | 4 | obj-m+=./drivers/usb/serial/option.o 5 | obj-m+=./drivers/usb/serial/usb_wwan.o 6 | obj-m+=./drivers/usb/serial/qcserial.o 7 | 8 | modules: clean 9 | $(MAKE) -C $(KERNELDIR) M=$(PWD) modules 10 | 11 | install: modules 12 | cp $(PWD)/drivers/usb/serial/*.ko /lib/modules/$(shell uname -r)/kernel/drivers/usb/serial/ 13 | depmod 14 | 15 | clean: 16 | $(MAKE) -C $(KERNELDIR) M=$(PWD) clean 17 | -------------------------------------------------------------------------------- /src/v4.2.1/Makefile: -------------------------------------------------------------------------------- 1 | KERNELDIR := /lib/modules/$(shell uname -r)/build 2 | PWD := $(shell pwd) 3 | 4 | obj-m+=./drivers/usb/serial/option.o 5 | obj-m+=./drivers/usb/serial/usb_wwan.o 6 | obj-m+=./drivers/usb/serial/qcserial.o 7 | 8 | modules: clean 9 | $(MAKE) -C $(KERNELDIR) M=$(PWD) modules 10 | 11 | install: modules 12 | cp $(PWD)/drivers/usb/serial/*.ko /lib/modules/$(shell uname -r)/kernel/drivers/usb/serial/ 13 | depmod 14 | 15 | clean: 16 | $(MAKE) -C $(KERNELDIR) M=$(PWD) clean 17 | -------------------------------------------------------------------------------- /src/v4.20.1/Makefile: -------------------------------------------------------------------------------- 1 | KERNELDIR := /lib/modules/$(shell uname -r)/build 2 | PWD := $(shell pwd) 3 | 4 | obj-m+=./drivers/usb/serial/option.o 5 | obj-m+=./drivers/usb/serial/usb_wwan.o 6 | obj-m+=./drivers/usb/serial/qcserial.o 7 | 8 | modules: clean 9 | $(MAKE) -C $(KERNELDIR) M=$(PWD) modules 10 | 11 | install: modules 12 | cp $(PWD)/drivers/usb/serial/*.ko /lib/modules/$(shell uname -r)/kernel/drivers/usb/serial/ 13 | depmod 14 | 15 | clean: 16 | $(MAKE) -C $(KERNELDIR) M=$(PWD) clean 17 | -------------------------------------------------------------------------------- /src/v4.20.11/Makefile: -------------------------------------------------------------------------------- 1 | KERNELDIR := /lib/modules/$(shell uname -r)/build 2 | PWD := $(shell pwd) 3 | 4 | obj-m+=./drivers/usb/serial/option.o 5 | obj-m+=./drivers/usb/serial/usb_wwan.o 6 | obj-m+=./drivers/usb/serial/qcserial.o 7 | 8 | modules: clean 9 | $(MAKE) -C $(KERNELDIR) M=$(PWD) modules 10 | 11 | install: modules 12 | cp $(PWD)/drivers/usb/serial/*.ko /lib/modules/$(shell uname -r)/kernel/drivers/usb/serial/ 13 | depmod 14 | 15 | clean: 16 | $(MAKE) -C $(KERNELDIR) M=$(PWD) clean 17 | -------------------------------------------------------------------------------- /src/v4.3.1/Makefile: -------------------------------------------------------------------------------- 1 | KERNELDIR := /lib/modules/$(shell uname -r)/build 2 | PWD := $(shell pwd) 3 | 4 | obj-m+=./drivers/usb/serial/option.o 5 | obj-m+=./drivers/usb/serial/usb_wwan.o 6 | obj-m+=./drivers/usb/serial/qcserial.o 7 | 8 | modules: clean 9 | $(MAKE) -C $(KERNELDIR) M=$(PWD) modules 10 | 11 | install: modules 12 | cp $(PWD)/drivers/usb/serial/*.ko /lib/modules/$(shell uname -r)/kernel/drivers/usb/serial/ 13 | depmod 14 | 15 | clean: 16 | $(MAKE) -C $(KERNELDIR) M=$(PWD) clean 17 | -------------------------------------------------------------------------------- /src/v4.4.1/Makefile: -------------------------------------------------------------------------------- 1 | KERNELDIR := /lib/modules/$(shell uname -r)/build 2 | PWD := $(shell pwd) 3 | 4 | obj-m+=./drivers/usb/serial/option.o 5 | obj-m+=./drivers/usb/serial/usb_wwan.o 6 | obj-m+=./drivers/usb/serial/qcserial.o 7 | 8 | modules: clean 9 | $(MAKE) -C $(KERNELDIR) M=$(PWD) modules 10 | 11 | install: modules 12 | cp $(PWD)/drivers/usb/serial/*.ko /lib/modules/$(shell uname -r)/kernel/drivers/usb/serial/ 13 | depmod 14 | 15 | clean: 16 | $(MAKE) -C $(KERNELDIR) M=$(PWD) clean 17 | -------------------------------------------------------------------------------- /src/v4.4.1/drivers/usb/serial/usb-wwan.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Definitions for USB serial mobile broadband cards 3 | */ 4 | 5 | #ifndef __LINUX_USB_USB_WWAN 6 | #define __LINUX_USB_USB_WWAN 7 | 8 | extern void usb_wwan_dtr_rts(struct usb_serial_port *port, int on); 9 | extern int usb_wwan_open(struct tty_struct *tty, struct usb_serial_port *port); 10 | extern void usb_wwan_close(struct usb_serial_port *port); 11 | extern int usb_wwan_port_probe(struct usb_serial_port *port); 12 | extern int usb_wwan_port_remove(struct usb_serial_port *port); 13 | extern int usb_wwan_write_room(struct tty_struct *tty); 14 | extern int usb_wwan_tiocmget(struct tty_struct *tty); 15 | extern int usb_wwan_tiocmset(struct tty_struct *tty, 16 | unsigned int set, unsigned int clear); 17 | extern int usb_wwan_ioctl(struct tty_struct *tty, 18 | unsigned int cmd, unsigned long arg); 19 | extern int usb_wwan_write(struct tty_struct *tty, struct usb_serial_port *port, 20 | const unsigned char *buf, int count); 21 | extern int usb_wwan_chars_in_buffer(struct tty_struct *tty); 22 | #ifdef CONFIG_PM 23 | extern int usb_wwan_suspend(struct usb_serial *serial, pm_message_t message); 24 | extern int usb_wwan_resume(struct usb_serial *serial); 25 | #endif 26 | 27 | /* per port private data */ 28 | 29 | #define N_IN_URB 4 30 | #define N_OUT_URB 4 31 | #define IN_BUFLEN 4096 32 | #define OUT_BUFLEN 4096 33 | 34 | struct usb_wwan_intf_private { 35 | spinlock_t susp_lock; 36 | unsigned int suspended:1; 37 | unsigned int use_send_setup:1; 38 | int in_flight; 39 | unsigned int open_ports; 40 | void *private; 41 | }; 42 | 43 | struct usb_wwan_port_private { 44 | /* Input endpoints and buffer for this port */ 45 | struct urb *in_urbs[N_IN_URB]; 46 | u8 *in_buffer[N_IN_URB]; 47 | /* Output endpoints and buffer for this port */ 48 | struct urb *out_urbs[N_OUT_URB]; 49 | u8 *out_buffer[N_OUT_URB]; 50 | unsigned long out_busy; /* Bit vector of URBs in use */ 51 | struct usb_anchor delayed; 52 | 53 | /* Settings for the port */ 54 | int rts_state; /* Handshaking pins (outputs) */ 55 | int dtr_state; 56 | int cts_state; /* Handshaking pins (inputs) */ 57 | int dsr_state; 58 | int dcd_state; 59 | int ri_state; 60 | 61 | unsigned long tx_start_time[N_OUT_URB]; 62 | }; 63 | 64 | #endif /* __LINUX_USB_USB_WWAN */ 65 | -------------------------------------------------------------------------------- /src/v4.4.11/Makefile: -------------------------------------------------------------------------------- 1 | KERNELDIR := /lib/modules/$(shell uname -r)/build 2 | PWD := $(shell pwd) 3 | 4 | obj-m+=./drivers/usb/serial/option.o 5 | obj-m+=./drivers/usb/serial/usb_wwan.o 6 | obj-m+=./drivers/usb/serial/qcserial.o 7 | 8 | modules: clean 9 | $(MAKE) -C $(KERNELDIR) M=$(PWD) modules 10 | 11 | install: modules 12 | cp $(PWD)/drivers/usb/serial/*.ko /lib/modules/$(shell uname -r)/kernel/drivers/usb/serial/ 13 | depmod 14 | 15 | clean: 16 | $(MAKE) -C $(KERNELDIR) M=$(PWD) clean 17 | -------------------------------------------------------------------------------- /src/v4.4.11/drivers/usb/serial/usb-wwan.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Definitions for USB serial mobile broadband cards 3 | */ 4 | 5 | #ifndef __LINUX_USB_USB_WWAN 6 | #define __LINUX_USB_USB_WWAN 7 | 8 | extern void usb_wwan_dtr_rts(struct usb_serial_port *port, int on); 9 | extern int usb_wwan_open(struct tty_struct *tty, struct usb_serial_port *port); 10 | extern void usb_wwan_close(struct usb_serial_port *port); 11 | extern int usb_wwan_port_probe(struct usb_serial_port *port); 12 | extern int usb_wwan_port_remove(struct usb_serial_port *port); 13 | extern int usb_wwan_write_room(struct tty_struct *tty); 14 | extern int usb_wwan_tiocmget(struct tty_struct *tty); 15 | extern int usb_wwan_tiocmset(struct tty_struct *tty, 16 | unsigned int set, unsigned int clear); 17 | extern int usb_wwan_ioctl(struct tty_struct *tty, 18 | unsigned int cmd, unsigned long arg); 19 | extern int usb_wwan_write(struct tty_struct *tty, struct usb_serial_port *port, 20 | const unsigned char *buf, int count); 21 | extern int usb_wwan_chars_in_buffer(struct tty_struct *tty); 22 | #ifdef CONFIG_PM 23 | extern int usb_wwan_suspend(struct usb_serial *serial, pm_message_t message); 24 | extern int usb_wwan_resume(struct usb_serial *serial); 25 | #endif 26 | 27 | /* per port private data */ 28 | 29 | #define N_IN_URB 4 30 | #define N_OUT_URB 4 31 | #define IN_BUFLEN 4096 32 | #define OUT_BUFLEN 4096 33 | 34 | struct usb_wwan_intf_private { 35 | spinlock_t susp_lock; 36 | unsigned int suspended:1; 37 | unsigned int use_send_setup:1; 38 | int in_flight; 39 | unsigned int open_ports; 40 | void *private; 41 | }; 42 | 43 | struct usb_wwan_port_private { 44 | /* Input endpoints and buffer for this port */ 45 | struct urb *in_urbs[N_IN_URB]; 46 | u8 *in_buffer[N_IN_URB]; 47 | /* Output endpoints and buffer for this port */ 48 | struct urb *out_urbs[N_OUT_URB]; 49 | u8 *out_buffer[N_OUT_URB]; 50 | unsigned long out_busy; /* Bit vector of URBs in use */ 51 | struct usb_anchor delayed; 52 | 53 | /* Settings for the port */ 54 | int rts_state; /* Handshaking pins (outputs) */ 55 | int dtr_state; 56 | int cts_state; /* Handshaking pins (inputs) */ 57 | int dsr_state; 58 | int dcd_state; 59 | int ri_state; 60 | 61 | unsigned long tx_start_time[N_OUT_URB]; 62 | }; 63 | 64 | #endif /* __LINUX_USB_USB_WWAN */ 65 | -------------------------------------------------------------------------------- /src/v4.4.111/Makefile: -------------------------------------------------------------------------------- 1 | KERNELDIR := /lib/modules/$(shell uname -r)/build 2 | PWD := $(shell pwd) 3 | 4 | obj-m+=./drivers/usb/serial/option.o 5 | obj-m+=./drivers/usb/serial/usb_wwan.o 6 | obj-m+=./drivers/usb/serial/qcserial.o 7 | 8 | modules: clean 9 | $(MAKE) -C $(KERNELDIR) M=$(PWD) modules 10 | 11 | install: modules 12 | cp $(PWD)/drivers/usb/serial/*.ko /lib/modules/$(shell uname -r)/kernel/drivers/usb/serial/ 13 | depmod 14 | 15 | clean: 16 | $(MAKE) -C $(KERNELDIR) M=$(PWD) clean 17 | -------------------------------------------------------------------------------- /src/v4.4.111/drivers/usb/serial/usb-wwan.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Definitions for USB serial mobile broadband cards 3 | */ 4 | 5 | #ifndef __LINUX_USB_USB_WWAN 6 | #define __LINUX_USB_USB_WWAN 7 | 8 | extern void usb_wwan_dtr_rts(struct usb_serial_port *port, int on); 9 | extern int usb_wwan_open(struct tty_struct *tty, struct usb_serial_port *port); 10 | extern void usb_wwan_close(struct usb_serial_port *port); 11 | extern int usb_wwan_port_probe(struct usb_serial_port *port); 12 | extern int usb_wwan_port_remove(struct usb_serial_port *port); 13 | extern int usb_wwan_write_room(struct tty_struct *tty); 14 | extern int usb_wwan_tiocmget(struct tty_struct *tty); 15 | extern int usb_wwan_tiocmset(struct tty_struct *tty, 16 | unsigned int set, unsigned int clear); 17 | extern int usb_wwan_ioctl(struct tty_struct *tty, 18 | unsigned int cmd, unsigned long arg); 19 | extern int usb_wwan_write(struct tty_struct *tty, struct usb_serial_port *port, 20 | const unsigned char *buf, int count); 21 | extern int usb_wwan_chars_in_buffer(struct tty_struct *tty); 22 | #ifdef CONFIG_PM 23 | extern int usb_wwan_suspend(struct usb_serial *serial, pm_message_t message); 24 | extern int usb_wwan_resume(struct usb_serial *serial); 25 | #endif 26 | 27 | /* per port private data */ 28 | 29 | #define N_IN_URB 4 30 | #define N_OUT_URB 4 31 | #define IN_BUFLEN 4096 32 | #define OUT_BUFLEN 4096 33 | 34 | struct usb_wwan_intf_private { 35 | spinlock_t susp_lock; 36 | unsigned int suspended:1; 37 | unsigned int use_send_setup:1; 38 | int in_flight; 39 | unsigned int open_ports; 40 | void *private; 41 | }; 42 | 43 | struct usb_wwan_port_private { 44 | /* Input endpoints and buffer for this port */ 45 | struct urb *in_urbs[N_IN_URB]; 46 | u8 *in_buffer[N_IN_URB]; 47 | /* Output endpoints and buffer for this port */ 48 | struct urb *out_urbs[N_OUT_URB]; 49 | u8 *out_buffer[N_OUT_URB]; 50 | unsigned long out_busy; /* Bit vector of URBs in use */ 51 | struct usb_anchor delayed; 52 | 53 | /* Settings for the port */ 54 | int rts_state; /* Handshaking pins (outputs) */ 55 | int dtr_state; 56 | int cts_state; /* Handshaking pins (inputs) */ 57 | int dsr_state; 58 | int dcd_state; 59 | int ri_state; 60 | 61 | unsigned long tx_start_time[N_OUT_URB]; 62 | }; 63 | 64 | #endif /* __LINUX_USB_USB_WWAN */ 65 | -------------------------------------------------------------------------------- /src/v4.4.51/Makefile: -------------------------------------------------------------------------------- 1 | KERNELDIR := /lib/modules/$(shell uname -r)/build 2 | PWD := $(shell pwd) 3 | 4 | obj-m+=./drivers/usb/serial/option.o 5 | obj-m+=./drivers/usb/serial/usb_wwan.o 6 | obj-m+=./drivers/usb/serial/qcserial.o 7 | 8 | modules: clean 9 | $(MAKE) -C $(KERNELDIR) M=$(PWD) modules 10 | 11 | install: modules 12 | cp $(PWD)/drivers/usb/serial/*.ko /lib/modules/$(shell uname -r)/kernel/drivers/usb/serial/ 13 | depmod 14 | 15 | clean: 16 | $(MAKE) -C $(KERNELDIR) M=$(PWD) clean 17 | -------------------------------------------------------------------------------- /src/v4.4.51/drivers/usb/serial/usb-wwan.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Definitions for USB serial mobile broadband cards 3 | */ 4 | 5 | #ifndef __LINUX_USB_USB_WWAN 6 | #define __LINUX_USB_USB_WWAN 7 | 8 | extern void usb_wwan_dtr_rts(struct usb_serial_port *port, int on); 9 | extern int usb_wwan_open(struct tty_struct *tty, struct usb_serial_port *port); 10 | extern void usb_wwan_close(struct usb_serial_port *port); 11 | extern int usb_wwan_port_probe(struct usb_serial_port *port); 12 | extern int usb_wwan_port_remove(struct usb_serial_port *port); 13 | extern int usb_wwan_write_room(struct tty_struct *tty); 14 | extern int usb_wwan_tiocmget(struct tty_struct *tty); 15 | extern int usb_wwan_tiocmset(struct tty_struct *tty, 16 | unsigned int set, unsigned int clear); 17 | extern int usb_wwan_ioctl(struct tty_struct *tty, 18 | unsigned int cmd, unsigned long arg); 19 | extern int usb_wwan_write(struct tty_struct *tty, struct usb_serial_port *port, 20 | const unsigned char *buf, int count); 21 | extern int usb_wwan_chars_in_buffer(struct tty_struct *tty); 22 | #ifdef CONFIG_PM 23 | extern int usb_wwan_suspend(struct usb_serial *serial, pm_message_t message); 24 | extern int usb_wwan_resume(struct usb_serial *serial); 25 | #endif 26 | 27 | /* per port private data */ 28 | 29 | #define N_IN_URB 4 30 | #define N_OUT_URB 4 31 | #define IN_BUFLEN 4096 32 | #define OUT_BUFLEN 4096 33 | 34 | struct usb_wwan_intf_private { 35 | spinlock_t susp_lock; 36 | unsigned int suspended:1; 37 | unsigned int use_send_setup:1; 38 | int in_flight; 39 | unsigned int open_ports; 40 | void *private; 41 | }; 42 | 43 | struct usb_wwan_port_private { 44 | /* Input endpoints and buffer for this port */ 45 | struct urb *in_urbs[N_IN_URB]; 46 | u8 *in_buffer[N_IN_URB]; 47 | /* Output endpoints and buffer for this port */ 48 | struct urb *out_urbs[N_OUT_URB]; 49 | u8 *out_buffer[N_OUT_URB]; 50 | unsigned long out_busy; /* Bit vector of URBs in use */ 51 | struct usb_anchor delayed; 52 | 53 | /* Settings for the port */ 54 | int rts_state; /* Handshaking pins (outputs) */ 55 | int dtr_state; 56 | int cts_state; /* Handshaking pins (inputs) */ 57 | int dsr_state; 58 | int dcd_state; 59 | int ri_state; 60 | 61 | unsigned long tx_start_time[N_OUT_URB]; 62 | }; 63 | 64 | #endif /* __LINUX_USB_USB_WWAN */ 65 | -------------------------------------------------------------------------------- /src/v4.5.1/Makefile: -------------------------------------------------------------------------------- 1 | KERNELDIR := /lib/modules/$(shell uname -r)/build 2 | PWD := $(shell pwd) 3 | 4 | obj-m+=./drivers/usb/serial/option.o 5 | obj-m+=./drivers/usb/serial/usb_wwan.o 6 | obj-m+=./drivers/usb/serial/qcserial.o 7 | 8 | modules: clean 9 | $(MAKE) -C $(KERNELDIR) M=$(PWD) modules 10 | 11 | install: modules 12 | cp $(PWD)/drivers/usb/serial/*.ko /lib/modules/$(shell uname -r)/kernel/drivers/usb/serial/ 13 | depmod 14 | 15 | clean: 16 | $(MAKE) -C $(KERNELDIR) M=$(PWD) clean 17 | -------------------------------------------------------------------------------- /src/v4.5.1/drivers/usb/serial/usb-wwan.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Definitions for USB serial mobile broadband cards 3 | */ 4 | 5 | #ifndef __LINUX_USB_USB_WWAN 6 | #define __LINUX_USB_USB_WWAN 7 | 8 | extern void usb_wwan_dtr_rts(struct usb_serial_port *port, int on); 9 | extern int usb_wwan_open(struct tty_struct *tty, struct usb_serial_port *port); 10 | extern void usb_wwan_close(struct usb_serial_port *port); 11 | extern int usb_wwan_port_probe(struct usb_serial_port *port); 12 | extern int usb_wwan_port_remove(struct usb_serial_port *port); 13 | extern int usb_wwan_write_room(struct tty_struct *tty); 14 | extern int usb_wwan_tiocmget(struct tty_struct *tty); 15 | extern int usb_wwan_tiocmset(struct tty_struct *tty, 16 | unsigned int set, unsigned int clear); 17 | extern int usb_wwan_ioctl(struct tty_struct *tty, 18 | unsigned int cmd, unsigned long arg); 19 | extern int usb_wwan_write(struct tty_struct *tty, struct usb_serial_port *port, 20 | const unsigned char *buf, int count); 21 | extern int usb_wwan_chars_in_buffer(struct tty_struct *tty); 22 | #ifdef CONFIG_PM 23 | extern int usb_wwan_suspend(struct usb_serial *serial, pm_message_t message); 24 | extern int usb_wwan_resume(struct usb_serial *serial); 25 | #endif 26 | 27 | /* per port private data */ 28 | 29 | #define N_IN_URB 4 30 | #define N_OUT_URB 4 31 | #define IN_BUFLEN 4096 32 | #define OUT_BUFLEN 4096 33 | 34 | struct usb_wwan_intf_private { 35 | spinlock_t susp_lock; 36 | unsigned int suspended:1; 37 | unsigned int use_send_setup:1; 38 | int in_flight; 39 | unsigned int open_ports; 40 | void *private; 41 | }; 42 | 43 | struct usb_wwan_port_private { 44 | /* Input endpoints and buffer for this port */ 45 | struct urb *in_urbs[N_IN_URB]; 46 | u8 *in_buffer[N_IN_URB]; 47 | /* Output endpoints and buffer for this port */ 48 | struct urb *out_urbs[N_OUT_URB]; 49 | u8 *out_buffer[N_OUT_URB]; 50 | unsigned long out_busy; /* Bit vector of URBs in use */ 51 | struct usb_anchor delayed; 52 | 53 | /* Settings for the port */ 54 | int rts_state; /* Handshaking pins (outputs) */ 55 | int dtr_state; 56 | int cts_state; /* Handshaking pins (inputs) */ 57 | int dsr_state; 58 | int dcd_state; 59 | int ri_state; 60 | 61 | unsigned long tx_start_time[N_OUT_URB]; 62 | }; 63 | 64 | #endif /* __LINUX_USB_USB_WWAN */ 65 | -------------------------------------------------------------------------------- /src/v4.6.1/Makefile: -------------------------------------------------------------------------------- 1 | KERNELDIR := /lib/modules/$(shell uname -r)/build 2 | PWD := $(shell pwd) 3 | 4 | obj-m+=./drivers/usb/serial/option.o 5 | obj-m+=./drivers/usb/serial/usb_wwan.o 6 | obj-m+=./drivers/usb/serial/qcserial.o 7 | 8 | modules: clean 9 | $(MAKE) -C $(KERNELDIR) M=$(PWD) modules 10 | 11 | install: modules 12 | cp $(PWD)/drivers/usb/serial/*.ko /lib/modules/$(shell uname -r)/kernel/drivers/usb/serial/ 13 | depmod 14 | 15 | clean: 16 | $(MAKE) -C $(KERNELDIR) M=$(PWD) clean 17 | -------------------------------------------------------------------------------- /src/v4.6.1/drivers/usb/serial/usb-wwan.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Definitions for USB serial mobile broadband cards 3 | */ 4 | 5 | #ifndef __LINUX_USB_USB_WWAN 6 | #define __LINUX_USB_USB_WWAN 7 | 8 | extern void usb_wwan_dtr_rts(struct usb_serial_port *port, int on); 9 | extern int usb_wwan_open(struct tty_struct *tty, struct usb_serial_port *port); 10 | extern void usb_wwan_close(struct usb_serial_port *port); 11 | extern int usb_wwan_port_probe(struct usb_serial_port *port); 12 | extern int usb_wwan_port_remove(struct usb_serial_port *port); 13 | extern int usb_wwan_write_room(struct tty_struct *tty); 14 | extern int usb_wwan_tiocmget(struct tty_struct *tty); 15 | extern int usb_wwan_tiocmset(struct tty_struct *tty, 16 | unsigned int set, unsigned int clear); 17 | extern int usb_wwan_ioctl(struct tty_struct *tty, 18 | unsigned int cmd, unsigned long arg); 19 | extern int usb_wwan_write(struct tty_struct *tty, struct usb_serial_port *port, 20 | const unsigned char *buf, int count); 21 | extern int usb_wwan_chars_in_buffer(struct tty_struct *tty); 22 | #ifdef CONFIG_PM 23 | extern int usb_wwan_suspend(struct usb_serial *serial, pm_message_t message); 24 | extern int usb_wwan_resume(struct usb_serial *serial); 25 | #endif 26 | 27 | /* per port private data */ 28 | 29 | #define N_IN_URB 4 30 | #define N_OUT_URB 4 31 | #define IN_BUFLEN 4096 32 | #define OUT_BUFLEN 4096 33 | 34 | struct usb_wwan_intf_private { 35 | spinlock_t susp_lock; 36 | unsigned int suspended:1; 37 | unsigned int use_send_setup:1; 38 | int in_flight; 39 | unsigned int open_ports; 40 | void *private; 41 | }; 42 | 43 | struct usb_wwan_port_private { 44 | /* Input endpoints and buffer for this port */ 45 | struct urb *in_urbs[N_IN_URB]; 46 | u8 *in_buffer[N_IN_URB]; 47 | /* Output endpoints and buffer for this port */ 48 | struct urb *out_urbs[N_OUT_URB]; 49 | u8 *out_buffer[N_OUT_URB]; 50 | unsigned long out_busy; /* Bit vector of URBs in use */ 51 | struct usb_anchor delayed; 52 | 53 | /* Settings for the port */ 54 | int rts_state; /* Handshaking pins (outputs) */ 55 | int dtr_state; 56 | int cts_state; /* Handshaking pins (inputs) */ 57 | int dsr_state; 58 | int dcd_state; 59 | int ri_state; 60 | 61 | unsigned long tx_start_time[N_OUT_URB]; 62 | }; 63 | 64 | #endif /* __LINUX_USB_USB_WWAN */ 65 | -------------------------------------------------------------------------------- /src/v4.7.1/Makefile: -------------------------------------------------------------------------------- 1 | KERNELDIR := /lib/modules/$(shell uname -r)/build 2 | PWD := $(shell pwd) 3 | 4 | obj-m+=./drivers/usb/serial/option.o 5 | obj-m+=./drivers/usb/serial/usb_wwan.o 6 | obj-m+=./drivers/usb/serial/qcserial.o 7 | 8 | modules: clean 9 | $(MAKE) -C $(KERNELDIR) M=$(PWD) modules 10 | 11 | install: modules 12 | cp $(PWD)/drivers/usb/serial/*.ko /lib/modules/$(shell uname -r)/kernel/drivers/usb/serial/ 13 | depmod 14 | 15 | clean: 16 | $(MAKE) -C $(KERNELDIR) M=$(PWD) clean 17 | -------------------------------------------------------------------------------- /src/v4.7.1/drivers/usb/serial/usb-wwan.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Definitions for USB serial mobile broadband cards 3 | */ 4 | 5 | #ifndef __LINUX_USB_USB_WWAN 6 | #define __LINUX_USB_USB_WWAN 7 | 8 | extern void usb_wwan_dtr_rts(struct usb_serial_port *port, int on); 9 | extern int usb_wwan_open(struct tty_struct *tty, struct usb_serial_port *port); 10 | extern void usb_wwan_close(struct usb_serial_port *port); 11 | extern int usb_wwan_port_probe(struct usb_serial_port *port); 12 | extern int usb_wwan_port_remove(struct usb_serial_port *port); 13 | extern int usb_wwan_write_room(struct tty_struct *tty); 14 | extern int usb_wwan_tiocmget(struct tty_struct *tty); 15 | extern int usb_wwan_tiocmset(struct tty_struct *tty, 16 | unsigned int set, unsigned int clear); 17 | extern int usb_wwan_ioctl(struct tty_struct *tty, 18 | unsigned int cmd, unsigned long arg); 19 | extern int usb_wwan_write(struct tty_struct *tty, struct usb_serial_port *port, 20 | const unsigned char *buf, int count); 21 | extern int usb_wwan_chars_in_buffer(struct tty_struct *tty); 22 | #ifdef CONFIG_PM 23 | extern int usb_wwan_suspend(struct usb_serial *serial, pm_message_t message); 24 | extern int usb_wwan_resume(struct usb_serial *serial); 25 | #endif 26 | 27 | /* per port private data */ 28 | 29 | #define N_IN_URB 4 30 | #define N_OUT_URB 4 31 | #define IN_BUFLEN 4096 32 | #define OUT_BUFLEN 4096 33 | 34 | struct usb_wwan_intf_private { 35 | spinlock_t susp_lock; 36 | unsigned int suspended:1; 37 | unsigned int use_send_setup:1; 38 | int in_flight; 39 | unsigned int open_ports; 40 | void *private; 41 | }; 42 | 43 | struct usb_wwan_port_private { 44 | /* Input endpoints and buffer for this port */ 45 | struct urb *in_urbs[N_IN_URB]; 46 | u8 *in_buffer[N_IN_URB]; 47 | /* Output endpoints and buffer for this port */ 48 | struct urb *out_urbs[N_OUT_URB]; 49 | u8 *out_buffer[N_OUT_URB]; 50 | unsigned long out_busy; /* Bit vector of URBs in use */ 51 | struct usb_anchor delayed; 52 | 53 | /* Settings for the port */ 54 | int rts_state; /* Handshaking pins (outputs) */ 55 | int dtr_state; 56 | int cts_state; /* Handshaking pins (inputs) */ 57 | int dsr_state; 58 | int dcd_state; 59 | int ri_state; 60 | 61 | unsigned long tx_start_time[N_OUT_URB]; 62 | }; 63 | 64 | #endif /* __LINUX_USB_USB_WWAN */ 65 | -------------------------------------------------------------------------------- /src/v4.8.1/Makefile: -------------------------------------------------------------------------------- 1 | KERNELDIR := /lib/modules/$(shell uname -r)/build 2 | PWD := $(shell pwd) 3 | 4 | obj-m+=./drivers/usb/serial/option.o 5 | obj-m+=./drivers/usb/serial/usb_wwan.o 6 | obj-m+=./drivers/usb/serial/qcserial.o 7 | 8 | modules: clean 9 | $(MAKE) -C $(KERNELDIR) M=$(PWD) modules 10 | 11 | install: modules 12 | cp $(PWD)/drivers/usb/serial/*.ko /lib/modules/$(shell uname -r)/kernel/drivers/usb/serial/ 13 | depmod 14 | 15 | clean: 16 | $(MAKE) -C $(KERNELDIR) M=$(PWD) clean 17 | -------------------------------------------------------------------------------- /src/v4.8.1/drivers/usb/serial/usb-wwan.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Definitions for USB serial mobile broadband cards 3 | */ 4 | 5 | #ifndef __LINUX_USB_USB_WWAN 6 | #define __LINUX_USB_USB_WWAN 7 | 8 | extern void usb_wwan_dtr_rts(struct usb_serial_port *port, int on); 9 | extern int usb_wwan_open(struct tty_struct *tty, struct usb_serial_port *port); 10 | extern void usb_wwan_close(struct usb_serial_port *port); 11 | extern int usb_wwan_port_probe(struct usb_serial_port *port); 12 | extern int usb_wwan_port_remove(struct usb_serial_port *port); 13 | extern int usb_wwan_write_room(struct tty_struct *tty); 14 | extern int usb_wwan_tiocmget(struct tty_struct *tty); 15 | extern int usb_wwan_tiocmset(struct tty_struct *tty, 16 | unsigned int set, unsigned int clear); 17 | extern int usb_wwan_ioctl(struct tty_struct *tty, 18 | unsigned int cmd, unsigned long arg); 19 | extern int usb_wwan_write(struct tty_struct *tty, struct usb_serial_port *port, 20 | const unsigned char *buf, int count); 21 | extern int usb_wwan_chars_in_buffer(struct tty_struct *tty); 22 | #ifdef CONFIG_PM 23 | extern int usb_wwan_suspend(struct usb_serial *serial, pm_message_t message); 24 | extern int usb_wwan_resume(struct usb_serial *serial); 25 | #endif 26 | 27 | /* per port private data */ 28 | 29 | #define N_IN_URB 4 30 | #define N_OUT_URB 4 31 | #define IN_BUFLEN 4096 32 | #define OUT_BUFLEN 4096 33 | 34 | struct usb_wwan_intf_private { 35 | spinlock_t susp_lock; 36 | unsigned int suspended:1; 37 | unsigned int use_send_setup:1; 38 | int in_flight; 39 | unsigned int open_ports; 40 | void *private; 41 | }; 42 | 43 | struct usb_wwan_port_private { 44 | /* Input endpoints and buffer for this port */ 45 | struct urb *in_urbs[N_IN_URB]; 46 | u8 *in_buffer[N_IN_URB]; 47 | /* Output endpoints and buffer for this port */ 48 | struct urb *out_urbs[N_OUT_URB]; 49 | u8 *out_buffer[N_OUT_URB]; 50 | unsigned long out_busy; /* Bit vector of URBs in use */ 51 | struct usb_anchor delayed; 52 | 53 | /* Settings for the port */ 54 | int rts_state; /* Handshaking pins (outputs) */ 55 | int dtr_state; 56 | int cts_state; /* Handshaking pins (inputs) */ 57 | int dsr_state; 58 | int dcd_state; 59 | int ri_state; 60 | 61 | unsigned long tx_start_time[N_OUT_URB]; 62 | }; 63 | 64 | #endif /* __LINUX_USB_USB_WWAN */ 65 | -------------------------------------------------------------------------------- /src/v4.8.11/Makefile: -------------------------------------------------------------------------------- 1 | KERNELDIR := /lib/modules/$(shell uname -r)/build 2 | PWD := $(shell pwd) 3 | 4 | obj-m+=./drivers/usb/serial/option.o 5 | obj-m+=./drivers/usb/serial/usb_wwan.o 6 | obj-m+=./drivers/usb/serial/qcserial.o 7 | 8 | modules: clean 9 | $(MAKE) -C $(KERNELDIR) M=$(PWD) modules 10 | 11 | install: modules 12 | cp $(PWD)/drivers/usb/serial/*.ko /lib/modules/$(shell uname -r)/kernel/drivers/usb/serial/ 13 | depmod 14 | 15 | clean: 16 | $(MAKE) -C $(KERNELDIR) M=$(PWD) clean 17 | -------------------------------------------------------------------------------- /src/v4.8.11/drivers/usb/serial/usb-wwan.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Definitions for USB serial mobile broadband cards 3 | */ 4 | 5 | #ifndef __LINUX_USB_USB_WWAN 6 | #define __LINUX_USB_USB_WWAN 7 | 8 | extern void usb_wwan_dtr_rts(struct usb_serial_port *port, int on); 9 | extern int usb_wwan_open(struct tty_struct *tty, struct usb_serial_port *port); 10 | extern void usb_wwan_close(struct usb_serial_port *port); 11 | extern int usb_wwan_port_probe(struct usb_serial_port *port); 12 | extern int usb_wwan_port_remove(struct usb_serial_port *port); 13 | extern int usb_wwan_write_room(struct tty_struct *tty); 14 | extern int usb_wwan_tiocmget(struct tty_struct *tty); 15 | extern int usb_wwan_tiocmset(struct tty_struct *tty, 16 | unsigned int set, unsigned int clear); 17 | extern int usb_wwan_ioctl(struct tty_struct *tty, 18 | unsigned int cmd, unsigned long arg); 19 | extern int usb_wwan_write(struct tty_struct *tty, struct usb_serial_port *port, 20 | const unsigned char *buf, int count); 21 | extern int usb_wwan_chars_in_buffer(struct tty_struct *tty); 22 | #ifdef CONFIG_PM 23 | extern int usb_wwan_suspend(struct usb_serial *serial, pm_message_t message); 24 | extern int usb_wwan_resume(struct usb_serial *serial); 25 | #endif 26 | 27 | /* per port private data */ 28 | 29 | #define N_IN_URB 4 30 | #define N_OUT_URB 4 31 | #define IN_BUFLEN 4096 32 | #define OUT_BUFLEN 4096 33 | 34 | struct usb_wwan_intf_private { 35 | spinlock_t susp_lock; 36 | unsigned int suspended:1; 37 | unsigned int use_send_setup:1; 38 | int in_flight; 39 | unsigned int open_ports; 40 | void *private; 41 | }; 42 | 43 | struct usb_wwan_port_private { 44 | /* Input endpoints and buffer for this port */ 45 | struct urb *in_urbs[N_IN_URB]; 46 | u8 *in_buffer[N_IN_URB]; 47 | /* Output endpoints and buffer for this port */ 48 | struct urb *out_urbs[N_OUT_URB]; 49 | u8 *out_buffer[N_OUT_URB]; 50 | unsigned long out_busy; /* Bit vector of URBs in use */ 51 | struct usb_anchor delayed; 52 | 53 | /* Settings for the port */ 54 | int rts_state; /* Handshaking pins (outputs) */ 55 | int dtr_state; 56 | int cts_state; /* Handshaking pins (inputs) */ 57 | int dsr_state; 58 | int dcd_state; 59 | int ri_state; 60 | 61 | unsigned long tx_start_time[N_OUT_URB]; 62 | }; 63 | 64 | #endif /* __LINUX_USB_USB_WWAN */ 65 | -------------------------------------------------------------------------------- /src/v4.9.1/Makefile: -------------------------------------------------------------------------------- 1 | KERNELDIR := /lib/modules/$(shell uname -r)/build 2 | PWD := $(shell pwd) 3 | 4 | obj-m+=./drivers/usb/serial/option.o 5 | obj-m+=./drivers/usb/serial/usb_wwan.o 6 | obj-m+=./drivers/usb/serial/qcserial.o 7 | obj-m+=./drivers/usb/class/cdc-wdm.o 8 | 9 | modules: clean 10 | $(MAKE) -C $(KERNELDIR) M=$(PWD) modules 11 | 12 | install: modules 13 | cp $(PWD)/drivers/usb/serial/*.ko /lib/modules/$(shell uname -r)/kernel/drivers/usb/serial/ 14 | cp $(PWD)/drivers/usb/class/cdc-wdm.ko /lib/modules/$(shell uname -r)/kernel/drivers/usb/class/ 15 | depmod 16 | 17 | clean: 18 | $(MAKE) -C $(KERNELDIR) M=$(PWD) clean 19 | -------------------------------------------------------------------------------- /src/v4.9.1/drivers/usb/serial/usb-wwan.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Definitions for USB serial mobile broadband cards 3 | */ 4 | 5 | #ifndef __LINUX_USB_USB_WWAN 6 | #define __LINUX_USB_USB_WWAN 7 | 8 | extern void usb_wwan_dtr_rts(struct usb_serial_port *port, int on); 9 | extern int usb_wwan_open(struct tty_struct *tty, struct usb_serial_port *port); 10 | extern void usb_wwan_close(struct usb_serial_port *port); 11 | extern int usb_wwan_port_probe(struct usb_serial_port *port); 12 | extern int usb_wwan_port_remove(struct usb_serial_port *port); 13 | extern int usb_wwan_write_room(struct tty_struct *tty); 14 | extern int usb_wwan_tiocmget(struct tty_struct *tty); 15 | extern int usb_wwan_tiocmset(struct tty_struct *tty, 16 | unsigned int set, unsigned int clear); 17 | extern int usb_wwan_ioctl(struct tty_struct *tty, 18 | unsigned int cmd, unsigned long arg); 19 | extern int usb_wwan_write(struct tty_struct *tty, struct usb_serial_port *port, 20 | const unsigned char *buf, int count); 21 | extern int usb_wwan_chars_in_buffer(struct tty_struct *tty); 22 | #ifdef CONFIG_PM 23 | extern int usb_wwan_suspend(struct usb_serial *serial, pm_message_t message); 24 | extern int usb_wwan_resume(struct usb_serial *serial); 25 | #endif 26 | 27 | /* per port private data */ 28 | 29 | #define N_IN_URB 4 30 | #define N_OUT_URB 4 31 | #define IN_BUFLEN 4096 32 | #define OUT_BUFLEN 4096 33 | 34 | struct usb_wwan_intf_private { 35 | spinlock_t susp_lock; 36 | unsigned int suspended:1; 37 | unsigned int use_send_setup:1; 38 | int in_flight; 39 | unsigned int open_ports; 40 | void *private; 41 | }; 42 | 43 | struct usb_wwan_port_private { 44 | /* Input endpoints and buffer for this port */ 45 | struct urb *in_urbs[N_IN_URB]; 46 | u8 *in_buffer[N_IN_URB]; 47 | /* Output endpoints and buffer for this port */ 48 | struct urb *out_urbs[N_OUT_URB]; 49 | u8 *out_buffer[N_OUT_URB]; 50 | unsigned long out_busy; /* Bit vector of URBs in use */ 51 | struct usb_anchor delayed; 52 | 53 | /* Settings for the port */ 54 | int rts_state; /* Handshaking pins (outputs) */ 55 | int dtr_state; 56 | int cts_state; /* Handshaking pins (inputs) */ 57 | int dsr_state; 58 | int dcd_state; 59 | int ri_state; 60 | 61 | unsigned long tx_start_time[N_OUT_URB]; 62 | }; 63 | 64 | #endif /* __LINUX_USB_USB_WWAN */ 65 | -------------------------------------------------------------------------------- /src/v4.9.11/Makefile: -------------------------------------------------------------------------------- 1 | KERNELDIR := /lib/modules/$(shell uname -r)/build 2 | PWD := $(shell pwd) 3 | 4 | obj-m+=./drivers/usb/serial/option.o 5 | obj-m+=./drivers/usb/serial/usb_wwan.o 6 | obj-m+=./drivers/usb/serial/qcserial.o 7 | obj-m+=./drivers/usb/class/cdc-wdm.o 8 | 9 | modules: clean 10 | $(MAKE) -C $(KERNELDIR) M=$(PWD) modules 11 | 12 | install: modules 13 | cp $(PWD)/drivers/usb/serial/*.ko /lib/modules/$(shell uname -r)/kernel/drivers/usb/serial/ 14 | cp $(PWD)/drivers/usb/class/cdc-wdm.ko /lib/modules/$(shell uname -r)/kernel/drivers/usb/class/ 15 | depmod 16 | 17 | clean: 18 | $(MAKE) -C $(KERNELDIR) M=$(PWD) clean 19 | -------------------------------------------------------------------------------- /src/v4.9.11/drivers/usb/serial/usb-wwan.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Definitions for USB serial mobile broadband cards 3 | */ 4 | 5 | #ifndef __LINUX_USB_USB_WWAN 6 | #define __LINUX_USB_USB_WWAN 7 | 8 | extern void usb_wwan_dtr_rts(struct usb_serial_port *port, int on); 9 | extern int usb_wwan_open(struct tty_struct *tty, struct usb_serial_port *port); 10 | extern void usb_wwan_close(struct usb_serial_port *port); 11 | extern int usb_wwan_port_probe(struct usb_serial_port *port); 12 | extern int usb_wwan_port_remove(struct usb_serial_port *port); 13 | extern int usb_wwan_write_room(struct tty_struct *tty); 14 | extern int usb_wwan_tiocmget(struct tty_struct *tty); 15 | extern int usb_wwan_tiocmset(struct tty_struct *tty, 16 | unsigned int set, unsigned int clear); 17 | extern int usb_wwan_ioctl(struct tty_struct *tty, 18 | unsigned int cmd, unsigned long arg); 19 | extern int usb_wwan_write(struct tty_struct *tty, struct usb_serial_port *port, 20 | const unsigned char *buf, int count); 21 | extern int usb_wwan_chars_in_buffer(struct tty_struct *tty); 22 | #ifdef CONFIG_PM 23 | extern int usb_wwan_suspend(struct usb_serial *serial, pm_message_t message); 24 | extern int usb_wwan_resume(struct usb_serial *serial); 25 | #endif 26 | 27 | /* per port private data */ 28 | 29 | #define N_IN_URB 4 30 | #define N_OUT_URB 4 31 | #define IN_BUFLEN 4096 32 | #define OUT_BUFLEN 4096 33 | 34 | struct usb_wwan_intf_private { 35 | spinlock_t susp_lock; 36 | unsigned int suspended:1; 37 | unsigned int use_send_setup:1; 38 | int in_flight; 39 | unsigned int open_ports; 40 | void *private; 41 | }; 42 | 43 | struct usb_wwan_port_private { 44 | /* Input endpoints and buffer for this port */ 45 | struct urb *in_urbs[N_IN_URB]; 46 | u8 *in_buffer[N_IN_URB]; 47 | /* Output endpoints and buffer for this port */ 48 | struct urb *out_urbs[N_OUT_URB]; 49 | u8 *out_buffer[N_OUT_URB]; 50 | unsigned long out_busy; /* Bit vector of URBs in use */ 51 | struct usb_anchor delayed; 52 | 53 | /* Settings for the port */ 54 | int rts_state; /* Handshaking pins (outputs) */ 55 | int dtr_state; 56 | int cts_state; /* Handshaking pins (inputs) */ 57 | int dsr_state; 58 | int dcd_state; 59 | int ri_state; 60 | 61 | unsigned long tx_start_time[N_OUT_URB]; 62 | }; 63 | 64 | #endif /* __LINUX_USB_USB_WWAN */ 65 | -------------------------------------------------------------------------------- /src/v4.9.111/Makefile: -------------------------------------------------------------------------------- 1 | KERNELDIR := /lib/modules/$(shell uname -r)/build 2 | PWD := $(shell pwd) 3 | 4 | obj-m+=./drivers/usb/serial/option.o 5 | obj-m+=./drivers/usb/serial/usb_wwan.o 6 | obj-m+=./drivers/usb/serial/qcserial.o 7 | 8 | modules: clean 9 | $(MAKE) -C $(KERNELDIR) M=$(PWD) modules 10 | 11 | install: modules 12 | cp $(PWD)/drivers/usb/serial/*.ko /lib/modules/$(shell uname -r)/kernel/drivers/usb/serial/ 13 | depmod 14 | 15 | clean: 16 | $(MAKE) -C $(KERNELDIR) M=$(PWD) clean 17 | -------------------------------------------------------------------------------- /src/v4.9.111/drivers/usb/serial/usb-wwan.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Definitions for USB serial mobile broadband cards 3 | */ 4 | 5 | #ifndef __LINUX_USB_USB_WWAN 6 | #define __LINUX_USB_USB_WWAN 7 | 8 | extern void usb_wwan_dtr_rts(struct usb_serial_port *port, int on); 9 | extern int usb_wwan_open(struct tty_struct *tty, struct usb_serial_port *port); 10 | extern void usb_wwan_close(struct usb_serial_port *port); 11 | extern int usb_wwan_port_probe(struct usb_serial_port *port); 12 | extern int usb_wwan_port_remove(struct usb_serial_port *port); 13 | extern int usb_wwan_write_room(struct tty_struct *tty); 14 | extern int usb_wwan_tiocmget(struct tty_struct *tty); 15 | extern int usb_wwan_tiocmset(struct tty_struct *tty, 16 | unsigned int set, unsigned int clear); 17 | extern int usb_wwan_ioctl(struct tty_struct *tty, 18 | unsigned int cmd, unsigned long arg); 19 | extern int usb_wwan_write(struct tty_struct *tty, struct usb_serial_port *port, 20 | const unsigned char *buf, int count); 21 | extern int usb_wwan_chars_in_buffer(struct tty_struct *tty); 22 | #ifdef CONFIG_PM 23 | extern int usb_wwan_suspend(struct usb_serial *serial, pm_message_t message); 24 | extern int usb_wwan_resume(struct usb_serial *serial); 25 | #endif 26 | 27 | /* per port private data */ 28 | 29 | #define N_IN_URB 4 30 | #define N_OUT_URB 4 31 | #define IN_BUFLEN 4096 32 | #define OUT_BUFLEN 4096 33 | 34 | struct usb_wwan_intf_private { 35 | spinlock_t susp_lock; 36 | unsigned int suspended:1; 37 | unsigned int use_send_setup:1; 38 | int in_flight; 39 | unsigned int open_ports; 40 | void *private; 41 | }; 42 | 43 | struct usb_wwan_port_private { 44 | /* Input endpoints and buffer for this port */ 45 | struct urb *in_urbs[N_IN_URB]; 46 | u8 *in_buffer[N_IN_URB]; 47 | /* Output endpoints and buffer for this port */ 48 | struct urb *out_urbs[N_OUT_URB]; 49 | u8 *out_buffer[N_OUT_URB]; 50 | unsigned long out_busy; /* Bit vector of URBs in use */ 51 | struct usb_anchor delayed; 52 | 53 | /* Settings for the port */ 54 | int rts_state; /* Handshaking pins (outputs) */ 55 | int dtr_state; 56 | int cts_state; /* Handshaking pins (inputs) */ 57 | int dsr_state; 58 | int dcd_state; 59 | int ri_state; 60 | 61 | unsigned long tx_start_time[N_OUT_URB]; 62 | }; 63 | 64 | #endif /* __LINUX_USB_USB_WWAN */ 65 | -------------------------------------------------------------------------------- /src/v4.9.51/Makefile: -------------------------------------------------------------------------------- 1 | KERNELDIR := /lib/modules/$(shell uname -r)/build 2 | PWD := $(shell pwd) 3 | 4 | obj-m+=./drivers/usb/serial/option.o 5 | obj-m+=./drivers/usb/serial/usb_wwan.o 6 | obj-m+=./drivers/usb/serial/qcserial.o 7 | 8 | modules: clean 9 | $(MAKE) -C $(KERNELDIR) M=$(PWD) modules 10 | 11 | install: modules 12 | cp $(PWD)/drivers/usb/serial/*.ko /lib/modules/$(shell uname -r)/kernel/drivers/usb/serial/ 13 | depmod 14 | 15 | clean: 16 | $(MAKE) -C $(KERNELDIR) M=$(PWD) clean 17 | -------------------------------------------------------------------------------- /src/v5.0.1/Makefile: -------------------------------------------------------------------------------- 1 | KERNELDIR := /lib/modules/$(shell uname -r)/build 2 | PWD := $(shell pwd) 3 | 4 | obj-m+=./drivers/usb/serial/option.o 5 | obj-m+=./drivers/usb/serial/usb_wwan.o 6 | obj-m+=./drivers/usb/serial/qcserial.o 7 | 8 | modules: clean 9 | $(MAKE) -C $(KERNELDIR) M=$(PWD) modules 10 | 11 | install: modules 12 | cp $(PWD)/drivers/usb/serial/*.ko /lib/modules/$(shell uname -r)/kernel/drivers/usb/serial/ 13 | depmod 14 | 15 | clean: 16 | $(MAKE) -C $(KERNELDIR) M=$(PWD) clean 17 | -------------------------------------------------------------------------------- /src/v5.0.11/Makefile: -------------------------------------------------------------------------------- 1 | KERNELDIR := /lib/modules/$(shell uname -r)/build 2 | PWD := $(shell pwd) 3 | 4 | obj-m+=./drivers/usb/serial/option.o 5 | obj-m+=./drivers/usb/serial/usb_wwan.o 6 | obj-m+=./drivers/usb/serial/qcserial.o 7 | 8 | modules: clean 9 | $(MAKE) -C $(KERNELDIR) M=$(PWD) modules 10 | 11 | install: modules 12 | cp $(PWD)/drivers/usb/serial/*.ko /lib/modules/$(shell uname -r)/kernel/drivers/usb/serial/ 13 | depmod 14 | 15 | clean: 16 | $(MAKE) -C $(KERNELDIR) M=$(PWD) clean 17 | -------------------------------------------------------------------------------- /src/v5.1.1/Makefile: -------------------------------------------------------------------------------- 1 | KERNELDIR := /lib/modules/$(shell uname -r)/build 2 | PWD := $(shell pwd) 3 | 4 | obj-m+=./drivers/usb/serial/option.o 5 | obj-m+=./drivers/usb/serial/usb_wwan.o 6 | obj-m+=./drivers/usb/serial/qcserial.o 7 | 8 | modules: clean 9 | $(MAKE) -C $(KERNELDIR) M=$(PWD) modules 10 | 11 | install: modules 12 | cp $(PWD)/drivers/usb/serial/*.ko /lib/modules/$(shell uname -r)/kernel/drivers/usb/serial/ 13 | depmod 14 | 15 | clean: 16 | $(MAKE) -C $(KERNELDIR) M=$(PWD) clean 17 | -------------------------------------------------------------------------------- /src/v5.1.11/Makefile: -------------------------------------------------------------------------------- 1 | KERNELDIR := /lib/modules/$(shell uname -r)/build 2 | PWD := $(shell pwd) 3 | 4 | obj-m+=./drivers/usb/serial/option.o 5 | obj-m+=./drivers/usb/serial/usb_wwan.o 6 | obj-m+=./drivers/usb/serial/qcserial.o 7 | 8 | modules: clean 9 | $(MAKE) -C $(KERNELDIR) M=$(PWD) modules 10 | 11 | install: modules 12 | cp $(PWD)/drivers/usb/serial/*.ko /lib/modules/$(shell uname -r)/kernel/drivers/usb/serial/ 13 | depmod 14 | 15 | clean: 16 | $(MAKE) -C $(KERNELDIR) M=$(PWD) clean 17 | -------------------------------------------------------------------------------- /src/v5.10.1/Makefile: -------------------------------------------------------------------------------- 1 | KERNELDIR := /lib/modules/$(shell uname -r)/build 2 | PWD := $(shell pwd) 3 | 4 | obj-m+=./drivers/usb/serial/option.o 5 | obj-m+=./drivers/usb/serial/usb_wwan.o 6 | obj-m+=./drivers/usb/serial/qcserial.o 7 | 8 | modules: clean 9 | $(MAKE) -C $(KERNELDIR) M=$(PWD) modules 10 | 11 | install: modules 12 | cp $(PWD)/drivers/usb/serial/*.ko /lib/modules/$(shell uname -r)/kernel/drivers/usb/serial/ 13 | depmod 14 | 15 | clean: 16 | $(MAKE) -C $(KERNELDIR) M=$(PWD) clean 17 | -------------------------------------------------------------------------------- /src/v5.10.11/Makefile: -------------------------------------------------------------------------------- 1 | KERNELDIR := /lib/modules/$(shell uname -r)/build 2 | PWD := $(shell pwd) 3 | 4 | obj-m+=./drivers/usb/serial/option.o 5 | obj-m+=./drivers/usb/serial/usb_wwan.o 6 | obj-m+=./drivers/usb/serial/qcserial.o 7 | 8 | modules: clean 9 | $(MAKE) -C $(KERNELDIR) M=$(PWD) modules 10 | 11 | install: modules 12 | cp $(PWD)/drivers/usb/serial/*.ko /lib/modules/$(shell uname -r)/kernel/drivers/usb/serial/ 13 | depmod 14 | 15 | clean: 16 | $(MAKE) -C $(KERNELDIR) M=$(PWD) clean 17 | -------------------------------------------------------------------------------- /src/v5.11.1/Makefile: -------------------------------------------------------------------------------- 1 | KERNELDIR := /lib/modules/$(shell uname -r)/build 2 | PWD := $(shell pwd) 3 | 4 | obj-m+=./drivers/usb/serial/option.o 5 | obj-m+=./drivers/usb/serial/usb_wwan.o 6 | obj-m+=./drivers/usb/serial/qcserial.o 7 | 8 | modules: clean 9 | $(MAKE) -C $(KERNELDIR) M=$(PWD) modules 10 | 11 | install: modules 12 | cp $(PWD)/drivers/usb/serial/*.ko /lib/modules/$(shell uname -r)/kernel/drivers/usb/serial/ 13 | depmod 14 | 15 | clean: 16 | $(MAKE) -C $(KERNELDIR) M=$(PWD) clean 17 | -------------------------------------------------------------------------------- /src/v5.11.11/Makefile: -------------------------------------------------------------------------------- 1 | KERNELDIR := /lib/modules/$(shell uname -r)/build 2 | PWD := $(shell pwd) 3 | 4 | obj-m+=./drivers/usb/serial/option.o 5 | obj-m+=./drivers/usb/serial/usb_wwan.o 6 | obj-m+=./drivers/usb/serial/qcserial.o 7 | 8 | modules: clean 9 | $(MAKE) -C $(KERNELDIR) M=$(PWD) modules 10 | 11 | install: modules 12 | cp $(PWD)/drivers/usb/serial/*.ko /lib/modules/$(shell uname -r)/kernel/drivers/usb/serial/ 13 | depmod 14 | 15 | clean: 16 | $(MAKE) -C $(KERNELDIR) M=$(PWD) clean 17 | -------------------------------------------------------------------------------- /src/v5.12.1/Makefile: -------------------------------------------------------------------------------- 1 | KERNELDIR := /lib/modules/$(shell uname -r)/build 2 | PWD := $(shell pwd) 3 | 4 | obj-m+=./drivers/usb/serial/option.o 5 | obj-m+=./drivers/usb/serial/usb_wwan.o 6 | obj-m+=./drivers/usb/serial/qcserial.o 7 | 8 | modules: clean 9 | $(MAKE) -C $(KERNELDIR) M=$(PWD) modules 10 | 11 | install: modules 12 | cp $(PWD)/drivers/usb/serial/*.ko /lib/modules/$(shell uname -r)/kernel/drivers/usb/serial/ 13 | depmod 14 | 15 | clean: 16 | $(MAKE) -C $(KERNELDIR) M=$(PWD) clean 17 | -------------------------------------------------------------------------------- /src/v5.12.11/Makefile: -------------------------------------------------------------------------------- 1 | KERNELDIR := /lib/modules/$(shell uname -r)/build 2 | PWD := $(shell pwd) 3 | 4 | obj-m+=./drivers/usb/serial/option.o 5 | obj-m+=./drivers/usb/serial/usb_wwan.o 6 | obj-m+=./drivers/usb/serial/qcserial.o 7 | 8 | modules: clean 9 | $(MAKE) -C $(KERNELDIR) M=$(PWD) modules 10 | 11 | install: modules 12 | cp $(PWD)/drivers/usb/serial/*.ko /lib/modules/$(shell uname -r)/kernel/drivers/usb/serial/ 13 | depmod 14 | 15 | clean: 16 | $(MAKE) -C $(KERNELDIR) M=$(PWD) clean 17 | -------------------------------------------------------------------------------- /src/v5.13.1/Makefile: -------------------------------------------------------------------------------- 1 | KERNELDIR := /lib/modules/$(shell uname -r)/build 2 | PWD := $(shell pwd) 3 | 4 | obj-m+=./drivers/usb/serial/option.o 5 | obj-m+=./drivers/usb/serial/usb_wwan.o 6 | obj-m+=./drivers/usb/serial/qcserial.o 7 | 8 | modules: clean 9 | $(MAKE) -C $(KERNELDIR) M=$(PWD) modules 10 | 11 | install: modules 12 | cp $(PWD)/drivers/usb/serial/*.ko /lib/modules/$(shell uname -r)/kernel/drivers/usb/serial/ 13 | depmod 14 | 15 | clean: 16 | $(MAKE) -C $(KERNELDIR) M=$(PWD) clean 17 | -------------------------------------------------------------------------------- /src/v5.13.1/drivers/usb/serial/usb-wwan.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 */ 2 | /* 3 | * Definitions for USB serial mobile broadband cards 4 | */ 5 | 6 | #ifndef __LINUX_USB_USB_WWAN 7 | #define __LINUX_USB_USB_WWAN 8 | 9 | extern void usb_wwan_dtr_rts(struct usb_serial_port *port, int on); 10 | extern int usb_wwan_open(struct tty_struct *tty, struct usb_serial_port *port); 11 | extern void usb_wwan_close(struct usb_serial_port *port); 12 | extern int usb_wwan_port_probe(struct usb_serial_port *port); 13 | extern void usb_wwan_port_remove(struct usb_serial_port *port); 14 | extern int usb_wwan_write_room(struct tty_struct *tty); 15 | extern int usb_wwan_tiocmget(struct tty_struct *tty); 16 | extern int usb_wwan_tiocmset(struct tty_struct *tty, 17 | unsigned int set, unsigned int clear); 18 | extern int usb_wwan_write(struct tty_struct *tty, struct usb_serial_port *port, 19 | const unsigned char *buf, int count); 20 | extern int usb_wwan_chars_in_buffer(struct tty_struct *tty); 21 | #ifdef CONFIG_PM 22 | extern int usb_wwan_suspend(struct usb_serial *serial, pm_message_t message); 23 | extern int usb_wwan_resume(struct usb_serial *serial); 24 | #endif 25 | 26 | /* per port private data */ 27 | 28 | #define N_IN_URB 4 29 | #define N_OUT_URB 4 30 | #define IN_BUFLEN 4096 31 | #define OUT_BUFLEN 4096 32 | 33 | struct usb_wwan_intf_private { 34 | spinlock_t susp_lock; 35 | unsigned int suspended:1; 36 | unsigned int use_send_setup:1; 37 | unsigned int use_zlp:1; 38 | int in_flight; 39 | unsigned int open_ports; 40 | void *private; 41 | }; 42 | 43 | struct usb_wwan_port_private { 44 | /* Input endpoints and buffer for this port */ 45 | struct urb *in_urbs[N_IN_URB]; 46 | u8 *in_buffer[N_IN_URB]; 47 | /* Output endpoints and buffer for this port */ 48 | struct urb *out_urbs[N_OUT_URB]; 49 | u8 *out_buffer[N_OUT_URB]; 50 | unsigned long out_busy; /* Bit vector of URBs in use */ 51 | struct usb_anchor delayed; 52 | 53 | /* Settings for the port */ 54 | int rts_state; /* Handshaking pins (outputs) */ 55 | int dtr_state; 56 | int cts_state; /* Handshaking pins (inputs) */ 57 | int dsr_state; 58 | int dcd_state; 59 | int ri_state; 60 | 61 | unsigned long tx_start_time[N_OUT_URB]; 62 | }; 63 | 64 | #endif /* __LINUX_USB_USB_WWAN */ 65 | -------------------------------------------------------------------------------- /src/v5.13.11/Makefile: -------------------------------------------------------------------------------- 1 | KERNELDIR := /lib/modules/$(shell uname -r)/build 2 | PWD := $(shell pwd) 3 | 4 | obj-m+=./drivers/usb/serial/option.o 5 | obj-m+=./drivers/usb/serial/usb_wwan.o 6 | obj-m+=./drivers/usb/serial/qcserial.o 7 | 8 | modules: clean 9 | $(MAKE) -C $(KERNELDIR) M=$(PWD) modules 10 | 11 | install: modules 12 | cp $(PWD)/drivers/usb/serial/*.ko /lib/modules/$(shell uname -r)/kernel/drivers/usb/serial/ 13 | depmod 14 | 15 | clean: 16 | $(MAKE) -C $(KERNELDIR) M=$(PWD) clean 17 | -------------------------------------------------------------------------------- /src/v5.13.11/drivers/usb/serial/usb-wwan.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 */ 2 | /* 3 | * Definitions for USB serial mobile broadband cards 4 | */ 5 | 6 | #ifndef __LINUX_USB_USB_WWAN 7 | #define __LINUX_USB_USB_WWAN 8 | 9 | extern void usb_wwan_dtr_rts(struct usb_serial_port *port, int on); 10 | extern int usb_wwan_open(struct tty_struct *tty, struct usb_serial_port *port); 11 | extern void usb_wwan_close(struct usb_serial_port *port); 12 | extern int usb_wwan_port_probe(struct usb_serial_port *port); 13 | extern void usb_wwan_port_remove(struct usb_serial_port *port); 14 | extern int usb_wwan_write_room(struct tty_struct *tty); 15 | extern int usb_wwan_tiocmget(struct tty_struct *tty); 16 | extern int usb_wwan_tiocmset(struct tty_struct *tty, 17 | unsigned int set, unsigned int clear); 18 | extern int usb_wwan_write(struct tty_struct *tty, struct usb_serial_port *port, 19 | const unsigned char *buf, int count); 20 | extern int usb_wwan_chars_in_buffer(struct tty_struct *tty); 21 | #ifdef CONFIG_PM 22 | extern int usb_wwan_suspend(struct usb_serial *serial, pm_message_t message); 23 | extern int usb_wwan_resume(struct usb_serial *serial); 24 | #endif 25 | 26 | /* per port private data */ 27 | 28 | #define N_IN_URB 4 29 | #define N_OUT_URB 4 30 | #define IN_BUFLEN 4096 31 | #define OUT_BUFLEN 4096 32 | 33 | struct usb_wwan_intf_private { 34 | spinlock_t susp_lock; 35 | unsigned int suspended:1; 36 | unsigned int use_send_setup:1; 37 | unsigned int use_zlp:1; 38 | int in_flight; 39 | unsigned int open_ports; 40 | void *private; 41 | }; 42 | 43 | struct usb_wwan_port_private { 44 | /* Input endpoints and buffer for this port */ 45 | struct urb *in_urbs[N_IN_URB]; 46 | u8 *in_buffer[N_IN_URB]; 47 | /* Output endpoints and buffer for this port */ 48 | struct urb *out_urbs[N_OUT_URB]; 49 | u8 *out_buffer[N_OUT_URB]; 50 | unsigned long out_busy; /* Bit vector of URBs in use */ 51 | struct usb_anchor delayed; 52 | 53 | /* Settings for the port */ 54 | int rts_state; /* Handshaking pins (outputs) */ 55 | int dtr_state; 56 | int cts_state; /* Handshaking pins (inputs) */ 57 | int dsr_state; 58 | int dcd_state; 59 | int ri_state; 60 | 61 | unsigned long tx_start_time[N_OUT_URB]; 62 | }; 63 | 64 | #endif /* __LINUX_USB_USB_WWAN */ 65 | -------------------------------------------------------------------------------- /src/v5.14.1/Makefile: -------------------------------------------------------------------------------- 1 | KERNELDIR := /lib/modules/$(shell uname -r)/build 2 | PWD := $(shell pwd) 3 | 4 | obj-m+=./drivers/usb/serial/option.o 5 | obj-m+=./drivers/usb/serial/usb_wwan.o 6 | obj-m+=./drivers/usb/serial/qcserial.o 7 | 8 | modules: clean 9 | $(MAKE) -C $(KERNELDIR) M=$(PWD) modules 10 | 11 | install: modules 12 | cp $(PWD)/drivers/usb/serial/*.ko /lib/modules/$(shell uname -r)/kernel/drivers/usb/serial/ 13 | depmod 14 | 15 | clean: 16 | $(MAKE) -C $(KERNELDIR) M=$(PWD) clean 17 | -------------------------------------------------------------------------------- /src/v5.14.1/drivers/usb/serial/usb-wwan.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 */ 2 | /* 3 | * Definitions for USB serial mobile broadband cards 4 | */ 5 | 6 | #ifndef __LINUX_USB_USB_WWAN 7 | #define __LINUX_USB_USB_WWAN 8 | 9 | extern void usb_wwan_dtr_rts(struct usb_serial_port *port, int on); 10 | extern int usb_wwan_open(struct tty_struct *tty, struct usb_serial_port *port); 11 | extern void usb_wwan_close(struct usb_serial_port *port); 12 | extern int usb_wwan_port_probe(struct usb_serial_port *port); 13 | extern void usb_wwan_port_remove(struct usb_serial_port *port); 14 | extern unsigned int usb_wwan_write_room(struct tty_struct *tty); 15 | extern int usb_wwan_tiocmget(struct tty_struct *tty); 16 | extern int usb_wwan_tiocmset(struct tty_struct *tty, 17 | unsigned int set, unsigned int clear); 18 | extern int usb_wwan_write(struct tty_struct *tty, struct usb_serial_port *port, 19 | const unsigned char *buf, int count); 20 | extern unsigned int usb_wwan_chars_in_buffer(struct tty_struct *tty); 21 | #ifdef CONFIG_PM 22 | extern int usb_wwan_suspend(struct usb_serial *serial, pm_message_t message); 23 | extern int usb_wwan_resume(struct usb_serial *serial); 24 | #endif 25 | 26 | /* per port private data */ 27 | 28 | #define N_IN_URB 4 29 | #define N_OUT_URB 4 30 | #define IN_BUFLEN 4096 31 | #define OUT_BUFLEN 4096 32 | 33 | struct usb_wwan_intf_private { 34 | spinlock_t susp_lock; 35 | unsigned int suspended:1; 36 | unsigned int use_send_setup:1; 37 | unsigned int use_zlp:1; 38 | int in_flight; 39 | unsigned int open_ports; 40 | void *private; 41 | }; 42 | 43 | struct usb_wwan_port_private { 44 | /* Input endpoints and buffer for this port */ 45 | struct urb *in_urbs[N_IN_URB]; 46 | u8 *in_buffer[N_IN_URB]; 47 | /* Output endpoints and buffer for this port */ 48 | struct urb *out_urbs[N_OUT_URB]; 49 | u8 *out_buffer[N_OUT_URB]; 50 | unsigned long out_busy; /* Bit vector of URBs in use */ 51 | struct usb_anchor delayed; 52 | 53 | /* Settings for the port */ 54 | int rts_state; /* Handshaking pins (outputs) */ 55 | int dtr_state; 56 | int cts_state; /* Handshaking pins (inputs) */ 57 | int dsr_state; 58 | int dcd_state; 59 | int ri_state; 60 | 61 | unsigned long tx_start_time[N_OUT_URB]; 62 | }; 63 | 64 | #endif /* __LINUX_USB_USB_WWAN */ 65 | -------------------------------------------------------------------------------- /src/v5.14.11/Makefile: -------------------------------------------------------------------------------- 1 | KERNELDIR := /lib/modules/$(shell uname -r)/build 2 | PWD := $(shell pwd) 3 | 4 | obj-m+=./drivers/usb/serial/option.o 5 | obj-m+=./drivers/usb/serial/usb_wwan.o 6 | obj-m+=./drivers/usb/serial/qcserial.o 7 | 8 | modules: clean 9 | $(MAKE) -C $(KERNELDIR) M=$(PWD) modules 10 | 11 | install: modules 12 | cp $(PWD)/drivers/usb/serial/*.ko /lib/modules/$(shell uname -r)/kernel/drivers/usb/serial/ 13 | depmod 14 | 15 | clean: 16 | $(MAKE) -C $(KERNELDIR) M=$(PWD) clean 17 | -------------------------------------------------------------------------------- /src/v5.14.11/drivers/usb/serial/usb-wwan.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 */ 2 | /* 3 | * Definitions for USB serial mobile broadband cards 4 | */ 5 | 6 | #ifndef __LINUX_USB_USB_WWAN 7 | #define __LINUX_USB_USB_WWAN 8 | 9 | extern void usb_wwan_dtr_rts(struct usb_serial_port *port, int on); 10 | extern int usb_wwan_open(struct tty_struct *tty, struct usb_serial_port *port); 11 | extern void usb_wwan_close(struct usb_serial_port *port); 12 | extern int usb_wwan_port_probe(struct usb_serial_port *port); 13 | extern void usb_wwan_port_remove(struct usb_serial_port *port); 14 | extern unsigned int usb_wwan_write_room(struct tty_struct *tty); 15 | extern int usb_wwan_tiocmget(struct tty_struct *tty); 16 | extern int usb_wwan_tiocmset(struct tty_struct *tty, 17 | unsigned int set, unsigned int clear); 18 | extern int usb_wwan_write(struct tty_struct *tty, struct usb_serial_port *port, 19 | const unsigned char *buf, int count); 20 | extern unsigned int usb_wwan_chars_in_buffer(struct tty_struct *tty); 21 | #ifdef CONFIG_PM 22 | extern int usb_wwan_suspend(struct usb_serial *serial, pm_message_t message); 23 | extern int usb_wwan_resume(struct usb_serial *serial); 24 | #endif 25 | 26 | /* per port private data */ 27 | 28 | #define N_IN_URB 4 29 | #define N_OUT_URB 4 30 | #define IN_BUFLEN 4096 31 | #define OUT_BUFLEN 4096 32 | 33 | struct usb_wwan_intf_private { 34 | spinlock_t susp_lock; 35 | unsigned int suspended:1; 36 | unsigned int use_send_setup:1; 37 | unsigned int use_zlp:1; 38 | int in_flight; 39 | unsigned int open_ports; 40 | void *private; 41 | }; 42 | 43 | struct usb_wwan_port_private { 44 | /* Input endpoints and buffer for this port */ 45 | struct urb *in_urbs[N_IN_URB]; 46 | u8 *in_buffer[N_IN_URB]; 47 | /* Output endpoints and buffer for this port */ 48 | struct urb *out_urbs[N_OUT_URB]; 49 | u8 *out_buffer[N_OUT_URB]; 50 | unsigned long out_busy; /* Bit vector of URBs in use */ 51 | struct usb_anchor delayed; 52 | 53 | /* Settings for the port */ 54 | int rts_state; /* Handshaking pins (outputs) */ 55 | int dtr_state; 56 | int cts_state; /* Handshaking pins (inputs) */ 57 | int dsr_state; 58 | int dcd_state; 59 | int ri_state; 60 | 61 | unsigned long tx_start_time[N_OUT_URB]; 62 | }; 63 | 64 | #endif /* __LINUX_USB_USB_WWAN */ 65 | -------------------------------------------------------------------------------- /src/v5.15.1/Makefile: -------------------------------------------------------------------------------- 1 | KERNELDIR := /lib/modules/$(shell uname -r)/build 2 | PWD := $(shell pwd) 3 | 4 | obj-m+=./drivers/usb/serial/option.o 5 | obj-m+=./drivers/usb/serial/usb_wwan.o 6 | obj-m+=./drivers/usb/serial/qcserial.o 7 | 8 | modules: clean 9 | $(MAKE) -C $(KERNELDIR) M=$(PWD) modules 10 | 11 | install: modules 12 | cp $(PWD)/drivers/usb/serial/*.ko /lib/modules/$(shell uname -r)/kernel/drivers/usb/serial/ 13 | depmod 14 | 15 | clean: 16 | $(MAKE) -C $(KERNELDIR) M=$(PWD) clean 17 | -------------------------------------------------------------------------------- /src/v5.15.1/drivers/usb/serial/usb-wwan.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 */ 2 | /* 3 | * Definitions for USB serial mobile broadband cards 4 | */ 5 | 6 | #ifndef __LINUX_USB_USB_WWAN 7 | #define __LINUX_USB_USB_WWAN 8 | 9 | extern void usb_wwan_dtr_rts(struct usb_serial_port *port, int on); 10 | extern int usb_wwan_open(struct tty_struct *tty, struct usb_serial_port *port); 11 | extern void usb_wwan_close(struct usb_serial_port *port); 12 | extern int usb_wwan_port_probe(struct usb_serial_port *port); 13 | extern void usb_wwan_port_remove(struct usb_serial_port *port); 14 | extern unsigned int usb_wwan_write_room(struct tty_struct *tty); 15 | extern int usb_wwan_tiocmget(struct tty_struct *tty); 16 | extern int usb_wwan_tiocmset(struct tty_struct *tty, 17 | unsigned int set, unsigned int clear); 18 | extern int usb_wwan_write(struct tty_struct *tty, struct usb_serial_port *port, 19 | const unsigned char *buf, int count); 20 | extern unsigned int usb_wwan_chars_in_buffer(struct tty_struct *tty); 21 | #ifdef CONFIG_PM 22 | extern int usb_wwan_suspend(struct usb_serial *serial, pm_message_t message); 23 | extern int usb_wwan_resume(struct usb_serial *serial); 24 | #endif 25 | 26 | /* per port private data */ 27 | 28 | #define N_IN_URB 4 29 | #define N_OUT_URB 4 30 | #define IN_BUFLEN 4096 31 | #define OUT_BUFLEN 4096 32 | 33 | struct usb_wwan_intf_private { 34 | spinlock_t susp_lock; 35 | unsigned int suspended:1; 36 | unsigned int use_send_setup:1; 37 | unsigned int use_zlp:1; 38 | int in_flight; 39 | unsigned int open_ports; 40 | void *private; 41 | }; 42 | 43 | struct usb_wwan_port_private { 44 | /* Input endpoints and buffer for this port */ 45 | struct urb *in_urbs[N_IN_URB]; 46 | u8 *in_buffer[N_IN_URB]; 47 | /* Output endpoints and buffer for this port */ 48 | struct urb *out_urbs[N_OUT_URB]; 49 | u8 *out_buffer[N_OUT_URB]; 50 | unsigned long out_busy; /* Bit vector of URBs in use */ 51 | struct usb_anchor delayed; 52 | 53 | /* Settings for the port */ 54 | int rts_state; /* Handshaking pins (outputs) */ 55 | int dtr_state; 56 | int cts_state; /* Handshaking pins (inputs) */ 57 | int dsr_state; 58 | int dcd_state; 59 | int ri_state; 60 | 61 | unsigned long tx_start_time[N_OUT_URB]; 62 | }; 63 | 64 | #endif /* __LINUX_USB_USB_WWAN */ 65 | -------------------------------------------------------------------------------- /src/v5.15.11/Makefile: -------------------------------------------------------------------------------- 1 | KERNELDIR := /lib/modules/$(shell uname -r)/build 2 | PWD := $(shell pwd) 3 | 4 | obj-m+=./drivers/usb/serial/option.o 5 | obj-m+=./drivers/usb/serial/usb_wwan.o 6 | obj-m+=./drivers/usb/serial/qcserial.o 7 | 8 | modules: clean 9 | $(MAKE) -C $(KERNELDIR) M=$(PWD) modules 10 | 11 | install: modules 12 | cp $(PWD)/drivers/usb/serial/*.ko /lib/modules/$(shell uname -r)/kernel/drivers/usb/serial/ 13 | depmod 14 | 15 | clean: 16 | $(MAKE) -C $(KERNELDIR) M=$(PWD) clean -------------------------------------------------------------------------------- /src/v5.15.11/drivers/usb/serial/usb-wwan.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 */ 2 | /* 3 | * Definitions for USB serial mobile broadband cards 4 | */ 5 | 6 | #ifndef __LINUX_USB_USB_WWAN 7 | #define __LINUX_USB_USB_WWAN 8 | 9 | extern void usb_wwan_dtr_rts(struct usb_serial_port *port, int on); 10 | extern int usb_wwan_open(struct tty_struct *tty, struct usb_serial_port *port); 11 | extern void usb_wwan_close(struct usb_serial_port *port); 12 | extern int usb_wwan_port_probe(struct usb_serial_port *port); 13 | extern void usb_wwan_port_remove(struct usb_serial_port *port); 14 | extern unsigned int usb_wwan_write_room(struct tty_struct *tty); 15 | extern int usb_wwan_tiocmget(struct tty_struct *tty); 16 | extern int usb_wwan_tiocmset(struct tty_struct *tty, 17 | unsigned int set, unsigned int clear); 18 | extern int usb_wwan_write(struct tty_struct *tty, struct usb_serial_port *port, 19 | const unsigned char *buf, int count); 20 | extern unsigned int usb_wwan_chars_in_buffer(struct tty_struct *tty); 21 | #ifdef CONFIG_PM 22 | extern int usb_wwan_suspend(struct usb_serial *serial, pm_message_t message); 23 | extern int usb_wwan_resume(struct usb_serial *serial); 24 | #endif 25 | 26 | /* per port private data */ 27 | 28 | #define N_IN_URB 4 29 | #define N_OUT_URB 4 30 | #define IN_BUFLEN 4096 31 | #define OUT_BUFLEN 4096 32 | 33 | struct usb_wwan_intf_private { 34 | spinlock_t susp_lock; 35 | unsigned int suspended:1; 36 | unsigned int use_send_setup:1; 37 | unsigned int use_zlp:1; 38 | int in_flight; 39 | unsigned int open_ports; 40 | void *private; 41 | }; 42 | 43 | struct usb_wwan_port_private { 44 | /* Input endpoints and buffer for this port */ 45 | struct urb *in_urbs[N_IN_URB]; 46 | u8 *in_buffer[N_IN_URB]; 47 | /* Output endpoints and buffer for this port */ 48 | struct urb *out_urbs[N_OUT_URB]; 49 | u8 *out_buffer[N_OUT_URB]; 50 | unsigned long out_busy; /* Bit vector of URBs in use */ 51 | struct usb_anchor delayed; 52 | 53 | /* Settings for the port */ 54 | int rts_state; /* Handshaking pins (outputs) */ 55 | int dtr_state; 56 | int cts_state; /* Handshaking pins (inputs) */ 57 | int dsr_state; 58 | int dcd_state; 59 | int ri_state; 60 | 61 | unsigned long tx_start_time[N_OUT_URB]; 62 | }; 63 | 64 | #endif /* __LINUX_USB_USB_WWAN */ 65 | -------------------------------------------------------------------------------- /src/v5.15.6/Makefile: -------------------------------------------------------------------------------- 1 | KERNELDIR := /lib/modules/$(shell uname -r)/build 2 | PWD := $(shell pwd) 3 | 4 | obj-m+=./drivers/usb/serial/option.o 5 | obj-m+=./drivers/usb/serial/usb_wwan.o 6 | obj-m+=./drivers/usb/serial/qcserial.o 7 | 8 | modules: clean 9 | $(MAKE) -C $(KERNELDIR) M=$(PWD) modules 10 | 11 | install: modules 12 | cp $(PWD)/drivers/usb/serial/*.ko /lib/modules/$(shell uname -r)/kernel/drivers/usb/serial/ 13 | depmod 14 | 15 | clean: 16 | $(MAKE) -C $(KERNELDIR) M=$(PWD) clean 17 | -------------------------------------------------------------------------------- /src/v5.15.6/drivers/usb/serial/usb-wwan.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 */ 2 | /* 3 | * Definitions for USB serial mobile broadband cards 4 | */ 5 | 6 | #ifndef __LINUX_USB_USB_WWAN 7 | #define __LINUX_USB_USB_WWAN 8 | 9 | extern void usb_wwan_dtr_rts(struct usb_serial_port *port, int on); 10 | extern int usb_wwan_open(struct tty_struct *tty, struct usb_serial_port *port); 11 | extern void usb_wwan_close(struct usb_serial_port *port); 12 | extern int usb_wwan_port_probe(struct usb_serial_port *port); 13 | extern void usb_wwan_port_remove(struct usb_serial_port *port); 14 | extern unsigned int usb_wwan_write_room(struct tty_struct *tty); 15 | extern int usb_wwan_tiocmget(struct tty_struct *tty); 16 | extern int usb_wwan_tiocmset(struct tty_struct *tty, 17 | unsigned int set, unsigned int clear); 18 | extern int usb_wwan_write(struct tty_struct *tty, struct usb_serial_port *port, 19 | const unsigned char *buf, int count); 20 | extern unsigned int usb_wwan_chars_in_buffer(struct tty_struct *tty); 21 | #ifdef CONFIG_PM 22 | extern int usb_wwan_suspend(struct usb_serial *serial, pm_message_t message); 23 | extern int usb_wwan_resume(struct usb_serial *serial); 24 | #endif 25 | 26 | /* per port private data */ 27 | 28 | #define N_IN_URB 4 29 | #define N_OUT_URB 4 30 | #define IN_BUFLEN 4096 31 | #define OUT_BUFLEN 4096 32 | 33 | struct usb_wwan_intf_private { 34 | spinlock_t susp_lock; 35 | unsigned int suspended:1; 36 | unsigned int use_send_setup:1; 37 | unsigned int use_zlp:1; 38 | int in_flight; 39 | unsigned int open_ports; 40 | void *private; 41 | }; 42 | 43 | struct usb_wwan_port_private { 44 | /* Input endpoints and buffer for this port */ 45 | struct urb *in_urbs[N_IN_URB]; 46 | u8 *in_buffer[N_IN_URB]; 47 | /* Output endpoints and buffer for this port */ 48 | struct urb *out_urbs[N_OUT_URB]; 49 | u8 *out_buffer[N_OUT_URB]; 50 | unsigned long out_busy; /* Bit vector of URBs in use */ 51 | struct usb_anchor delayed; 52 | 53 | /* Settings for the port */ 54 | int rts_state; /* Handshaking pins (outputs) */ 55 | int dtr_state; 56 | int cts_state; /* Handshaking pins (inputs) */ 57 | int dsr_state; 58 | int dcd_state; 59 | int ri_state; 60 | 61 | unsigned long tx_start_time[N_OUT_URB]; 62 | }; 63 | 64 | #endif /* __LINUX_USB_USB_WWAN */ 65 | -------------------------------------------------------------------------------- /src/v5.16.1/Makefile: -------------------------------------------------------------------------------- 1 | KERNELDIR := /lib/modules/$(shell uname -r)/build 2 | PWD := $(shell pwd) 3 | 4 | obj-m+=./drivers/usb/serial/option.o 5 | obj-m+=./drivers/usb/serial/usb_wwan.o 6 | obj-m+=./drivers/usb/serial/qcserial.o 7 | 8 | modules: clean 9 | $(MAKE) -C $(KERNELDIR) M=$(PWD) modules 10 | 11 | install: modules 12 | cp $(PWD)/drivers/usb/serial/*.ko /lib/modules/$(shell uname -r)/kernel/drivers/usb/serial/ 13 | depmod 14 | 15 | clean: 16 | $(MAKE) -C $(KERNELDIR) M=$(PWD) clean -------------------------------------------------------------------------------- /src/v5.16.1/drivers/usb/serial/usb-wwan.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 */ 2 | /* 3 | * Definitions for USB serial mobile broadband cards 4 | */ 5 | 6 | #ifndef __LINUX_USB_USB_WWAN 7 | #define __LINUX_USB_USB_WWAN 8 | 9 | extern void usb_wwan_dtr_rts(struct usb_serial_port *port, int on); 10 | extern int usb_wwan_open(struct tty_struct *tty, struct usb_serial_port *port); 11 | extern void usb_wwan_close(struct usb_serial_port *port); 12 | extern int usb_wwan_port_probe(struct usb_serial_port *port); 13 | extern void usb_wwan_port_remove(struct usb_serial_port *port); 14 | extern unsigned int usb_wwan_write_room(struct tty_struct *tty); 15 | extern int usb_wwan_tiocmget(struct tty_struct *tty); 16 | extern int usb_wwan_tiocmset(struct tty_struct *tty, 17 | unsigned int set, unsigned int clear); 18 | extern int usb_wwan_write(struct tty_struct *tty, struct usb_serial_port *port, 19 | const unsigned char *buf, int count); 20 | extern unsigned int usb_wwan_chars_in_buffer(struct tty_struct *tty); 21 | #ifdef CONFIG_PM 22 | extern int usb_wwan_suspend(struct usb_serial *serial, pm_message_t message); 23 | extern int usb_wwan_resume(struct usb_serial *serial); 24 | #endif 25 | 26 | /* per port private data */ 27 | 28 | #define N_IN_URB 4 29 | #define N_OUT_URB 4 30 | #define IN_BUFLEN 4096 31 | #define OUT_BUFLEN 4096 32 | 33 | struct usb_wwan_intf_private { 34 | spinlock_t susp_lock; 35 | unsigned int suspended:1; 36 | unsigned int use_send_setup:1; 37 | unsigned int use_zlp:1; 38 | int in_flight; 39 | unsigned int open_ports; 40 | void *private; 41 | }; 42 | 43 | struct usb_wwan_port_private { 44 | /* Input endpoints and buffer for this port */ 45 | struct urb *in_urbs[N_IN_URB]; 46 | u8 *in_buffer[N_IN_URB]; 47 | /* Output endpoints and buffer for this port */ 48 | struct urb *out_urbs[N_OUT_URB]; 49 | u8 *out_buffer[N_OUT_URB]; 50 | unsigned long out_busy; /* Bit vector of URBs in use */ 51 | struct usb_anchor delayed; 52 | 53 | /* Settings for the port */ 54 | int rts_state; /* Handshaking pins (outputs) */ 55 | int dtr_state; 56 | int cts_state; /* Handshaking pins (inputs) */ 57 | int dsr_state; 58 | int dcd_state; 59 | int ri_state; 60 | 61 | unsigned long tx_start_time[N_OUT_URB]; 62 | }; 63 | 64 | #endif /* __LINUX_USB_USB_WWAN */ 65 | -------------------------------------------------------------------------------- /src/v5.16.11/Makefile: -------------------------------------------------------------------------------- 1 | KERNELDIR := /lib/modules/$(shell uname -r)/build 2 | PWD := $(shell pwd) 3 | 4 | obj-m+=./drivers/usb/serial/option.o 5 | obj-m+=./drivers/usb/serial/usb_wwan.o 6 | obj-m+=./drivers/usb/serial/qcserial.o 7 | 8 | modules: clean 9 | $(MAKE) -C $(KERNELDIR) M=$(PWD) modules 10 | 11 | install: modules 12 | cp $(PWD)/drivers/usb/serial/*.ko /lib/modules/$(shell uname -r)/kernel/drivers/usb/serial/ 13 | depmod 14 | 15 | clean: 16 | $(MAKE) -C $(KERNELDIR) M=$(PWD) clean -------------------------------------------------------------------------------- /src/v5.16.11/drivers/usb/serial/usb-wwan.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 */ 2 | /* 3 | * Definitions for USB serial mobile broadband cards 4 | */ 5 | 6 | #ifndef __LINUX_USB_USB_WWAN 7 | #define __LINUX_USB_USB_WWAN 8 | 9 | extern void usb_wwan_dtr_rts(struct usb_serial_port *port, int on); 10 | extern int usb_wwan_open(struct tty_struct *tty, struct usb_serial_port *port); 11 | extern void usb_wwan_close(struct usb_serial_port *port); 12 | extern int usb_wwan_port_probe(struct usb_serial_port *port); 13 | extern void usb_wwan_port_remove(struct usb_serial_port *port); 14 | extern unsigned int usb_wwan_write_room(struct tty_struct *tty); 15 | extern int usb_wwan_tiocmget(struct tty_struct *tty); 16 | extern int usb_wwan_tiocmset(struct tty_struct *tty, 17 | unsigned int set, unsigned int clear); 18 | extern int usb_wwan_write(struct tty_struct *tty, struct usb_serial_port *port, 19 | const unsigned char *buf, int count); 20 | extern unsigned int usb_wwan_chars_in_buffer(struct tty_struct *tty); 21 | #ifdef CONFIG_PM 22 | extern int usb_wwan_suspend(struct usb_serial *serial, pm_message_t message); 23 | extern int usb_wwan_resume(struct usb_serial *serial); 24 | #endif 25 | 26 | /* per port private data */ 27 | 28 | #define N_IN_URB 4 29 | #define N_OUT_URB 4 30 | #define IN_BUFLEN 4096 31 | #define OUT_BUFLEN 4096 32 | 33 | struct usb_wwan_intf_private { 34 | spinlock_t susp_lock; 35 | unsigned int suspended:1; 36 | unsigned int use_send_setup:1; 37 | unsigned int use_zlp:1; 38 | int in_flight; 39 | unsigned int open_ports; 40 | void *private; 41 | }; 42 | 43 | struct usb_wwan_port_private { 44 | /* Input endpoints and buffer for this port */ 45 | struct urb *in_urbs[N_IN_URB]; 46 | u8 *in_buffer[N_IN_URB]; 47 | /* Output endpoints and buffer for this port */ 48 | struct urb *out_urbs[N_OUT_URB]; 49 | u8 *out_buffer[N_OUT_URB]; 50 | unsigned long out_busy; /* Bit vector of URBs in use */ 51 | struct usb_anchor delayed; 52 | 53 | /* Settings for the port */ 54 | int rts_state; /* Handshaking pins (outputs) */ 55 | int dtr_state; 56 | int cts_state; /* Handshaking pins (inputs) */ 57 | int dsr_state; 58 | int dcd_state; 59 | int ri_state; 60 | 61 | unsigned long tx_start_time[N_OUT_URB]; 62 | }; 63 | 64 | #endif /* __LINUX_USB_USB_WWAN */ 65 | -------------------------------------------------------------------------------- /src/v5.17.1/Makefile: -------------------------------------------------------------------------------- 1 | KERNELDIR := /lib/modules/$(shell uname -r)/build 2 | PWD := $(shell pwd) 3 | 4 | obj-m+=./drivers/usb/serial/option.o 5 | obj-m+=./drivers/usb/serial/usb_wwan.o 6 | obj-m+=./drivers/usb/serial/qcserial.o 7 | 8 | modules: clean 9 | $(MAKE) -C $(KERNELDIR) M=$(PWD) modules 10 | 11 | install: modules 12 | cp $(PWD)/drivers/usb/serial/*.ko /lib/modules/$(shell uname -r)/kernel/drivers/usb/serial/ 13 | depmod 14 | 15 | clean: 16 | $(MAKE) -C $(KERNELDIR) M=$(PWD) clean -------------------------------------------------------------------------------- /src/v5.17.1/drivers/usb/serial/usb-wwan.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 */ 2 | /* 3 | * Definitions for USB serial mobile broadband cards 4 | */ 5 | 6 | #ifndef __LINUX_USB_USB_WWAN 7 | #define __LINUX_USB_USB_WWAN 8 | 9 | extern void usb_wwan_dtr_rts(struct usb_serial_port *port, int on); 10 | extern int usb_wwan_open(struct tty_struct *tty, struct usb_serial_port *port); 11 | extern void usb_wwan_close(struct usb_serial_port *port); 12 | extern int usb_wwan_port_probe(struct usb_serial_port *port); 13 | extern void usb_wwan_port_remove(struct usb_serial_port *port); 14 | extern unsigned int usb_wwan_write_room(struct tty_struct *tty); 15 | extern int usb_wwan_tiocmget(struct tty_struct *tty); 16 | extern int usb_wwan_tiocmset(struct tty_struct *tty, 17 | unsigned int set, unsigned int clear); 18 | extern int usb_wwan_write(struct tty_struct *tty, struct usb_serial_port *port, 19 | const unsigned char *buf, int count); 20 | extern unsigned int usb_wwan_chars_in_buffer(struct tty_struct *tty); 21 | #ifdef CONFIG_PM 22 | extern int usb_wwan_suspend(struct usb_serial *serial, pm_message_t message); 23 | extern int usb_wwan_resume(struct usb_serial *serial); 24 | #endif 25 | 26 | /* per port private data */ 27 | 28 | #define N_IN_URB 4 29 | #define N_OUT_URB 4 30 | #define IN_BUFLEN 4096 31 | #define OUT_BUFLEN 4096 32 | 33 | struct usb_wwan_intf_private { 34 | spinlock_t susp_lock; 35 | unsigned int suspended:1; 36 | unsigned int use_send_setup:1; 37 | unsigned int use_zlp:1; 38 | int in_flight; 39 | unsigned int open_ports; 40 | void *private; 41 | }; 42 | 43 | struct usb_wwan_port_private { 44 | /* Input endpoints and buffer for this port */ 45 | struct urb *in_urbs[N_IN_URB]; 46 | u8 *in_buffer[N_IN_URB]; 47 | /* Output endpoints and buffer for this port */ 48 | struct urb *out_urbs[N_OUT_URB]; 49 | u8 *out_buffer[N_OUT_URB]; 50 | unsigned long out_busy; /* Bit vector of URBs in use */ 51 | struct usb_anchor delayed; 52 | 53 | /* Settings for the port */ 54 | int rts_state; /* Handshaking pins (outputs) */ 55 | int dtr_state; 56 | int cts_state; /* Handshaking pins (inputs) */ 57 | int dsr_state; 58 | int dcd_state; 59 | int ri_state; 60 | 61 | unsigned long tx_start_time[N_OUT_URB]; 62 | }; 63 | 64 | #endif /* __LINUX_USB_USB_WWAN */ 65 | -------------------------------------------------------------------------------- /src/v5.17.11/Makefile: -------------------------------------------------------------------------------- 1 | KERNELDIR := /lib/modules/$(shell uname -r)/build 2 | PWD := $(shell pwd) 3 | 4 | obj-m+=./drivers/usb/serial/option.o 5 | obj-m+=./drivers/usb/serial/usb_wwan.o 6 | obj-m+=./drivers/usb/serial/qcserial.o 7 | 8 | modules: clean 9 | $(MAKE) -C $(KERNELDIR) M=$(PWD) modules 10 | 11 | install: modules 12 | cp $(PWD)/drivers/usb/serial/*.ko /lib/modules/$(shell uname -r)/kernel/drivers/usb/serial/ 13 | depmod 14 | 15 | clean: 16 | $(MAKE) -C $(KERNELDIR) M=$(PWD) clean -------------------------------------------------------------------------------- /src/v5.17.11/drivers/usb/serial/usb-wwan.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 */ 2 | /* 3 | * Definitions for USB serial mobile broadband cards 4 | */ 5 | 6 | #ifndef __LINUX_USB_USB_WWAN 7 | #define __LINUX_USB_USB_WWAN 8 | 9 | extern void usb_wwan_dtr_rts(struct usb_serial_port *port, int on); 10 | extern int usb_wwan_open(struct tty_struct *tty, struct usb_serial_port *port); 11 | extern void usb_wwan_close(struct usb_serial_port *port); 12 | extern int usb_wwan_port_probe(struct usb_serial_port *port); 13 | extern void usb_wwan_port_remove(struct usb_serial_port *port); 14 | extern unsigned int usb_wwan_write_room(struct tty_struct *tty); 15 | extern int usb_wwan_tiocmget(struct tty_struct *tty); 16 | extern int usb_wwan_tiocmset(struct tty_struct *tty, 17 | unsigned int set, unsigned int clear); 18 | extern int usb_wwan_write(struct tty_struct *tty, struct usb_serial_port *port, 19 | const unsigned char *buf, int count); 20 | extern unsigned int usb_wwan_chars_in_buffer(struct tty_struct *tty); 21 | #ifdef CONFIG_PM 22 | extern int usb_wwan_suspend(struct usb_serial *serial, pm_message_t message); 23 | extern int usb_wwan_resume(struct usb_serial *serial); 24 | #endif 25 | 26 | /* per port private data */ 27 | 28 | #define N_IN_URB 4 29 | #define N_OUT_URB 4 30 | #define IN_BUFLEN 4096 31 | #define OUT_BUFLEN 4096 32 | 33 | struct usb_wwan_intf_private { 34 | spinlock_t susp_lock; 35 | unsigned int suspended:1; 36 | unsigned int use_send_setup:1; 37 | unsigned int use_zlp:1; 38 | int in_flight; 39 | unsigned int open_ports; 40 | void *private; 41 | }; 42 | 43 | struct usb_wwan_port_private { 44 | /* Input endpoints and buffer for this port */ 45 | struct urb *in_urbs[N_IN_URB]; 46 | u8 *in_buffer[N_IN_URB]; 47 | /* Output endpoints and buffer for this port */ 48 | struct urb *out_urbs[N_OUT_URB]; 49 | u8 *out_buffer[N_OUT_URB]; 50 | unsigned long out_busy; /* Bit vector of URBs in use */ 51 | struct usb_anchor delayed; 52 | 53 | /* Settings for the port */ 54 | int rts_state; /* Handshaking pins (outputs) */ 55 | int dtr_state; 56 | int cts_state; /* Handshaking pins (inputs) */ 57 | int dsr_state; 58 | int dcd_state; 59 | int ri_state; 60 | 61 | unsigned long tx_start_time[N_OUT_URB]; 62 | }; 63 | 64 | #endif /* __LINUX_USB_USB_WWAN */ 65 | -------------------------------------------------------------------------------- /src/v5.18.1/Makefile: -------------------------------------------------------------------------------- 1 | KERNELDIR := /lib/modules/$(shell uname -r)/build 2 | PWD := $(shell pwd) 3 | 4 | obj-m+=./drivers/usb/serial/option.o 5 | obj-m+=./drivers/usb/serial/usb_wwan.o 6 | obj-m+=./drivers/usb/serial/qcserial.o 7 | 8 | modules: clean 9 | $(MAKE) -C $(KERNELDIR) M=$(PWD) modules 10 | 11 | install: modules 12 | cp $(PWD)/drivers/usb/serial/*.ko /lib/modules/$(shell uname -r)/kernel/drivers/usb/serial/ 13 | depmod 14 | 15 | clean: 16 | $(MAKE) -C $(KERNELDIR) M=$(PWD) clean -------------------------------------------------------------------------------- /src/v5.18.1/drivers/usb/serial/usb-wwan.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 */ 2 | /* 3 | * Definitions for USB serial mobile broadband cards 4 | */ 5 | 6 | #ifndef __LINUX_USB_USB_WWAN 7 | #define __LINUX_USB_USB_WWAN 8 | 9 | extern void usb_wwan_dtr_rts(struct usb_serial_port *port, int on); 10 | extern int usb_wwan_open(struct tty_struct *tty, struct usb_serial_port *port); 11 | extern void usb_wwan_close(struct usb_serial_port *port); 12 | extern int usb_wwan_port_probe(struct usb_serial_port *port); 13 | extern void usb_wwan_port_remove(struct usb_serial_port *port); 14 | extern unsigned int usb_wwan_write_room(struct tty_struct *tty); 15 | extern int usb_wwan_tiocmget(struct tty_struct *tty); 16 | extern int usb_wwan_tiocmset(struct tty_struct *tty, 17 | unsigned int set, unsigned int clear); 18 | extern int usb_wwan_write(struct tty_struct *tty, struct usb_serial_port *port, 19 | const unsigned char *buf, int count); 20 | extern unsigned int usb_wwan_chars_in_buffer(struct tty_struct *tty); 21 | #ifdef CONFIG_PM 22 | extern int usb_wwan_suspend(struct usb_serial *serial, pm_message_t message); 23 | extern int usb_wwan_resume(struct usb_serial *serial); 24 | #endif 25 | 26 | /* per port private data */ 27 | 28 | #define N_IN_URB 4 29 | #define N_OUT_URB 4 30 | #define IN_BUFLEN 4096 31 | #define OUT_BUFLEN 4096 32 | 33 | struct usb_wwan_intf_private { 34 | spinlock_t susp_lock; 35 | unsigned int suspended:1; 36 | unsigned int use_send_setup:1; 37 | unsigned int use_zlp:1; 38 | int in_flight; 39 | unsigned int open_ports; 40 | void *private; 41 | }; 42 | 43 | struct usb_wwan_port_private { 44 | /* Input endpoints and buffer for this port */ 45 | struct urb *in_urbs[N_IN_URB]; 46 | u8 *in_buffer[N_IN_URB]; 47 | /* Output endpoints and buffer for this port */ 48 | struct urb *out_urbs[N_OUT_URB]; 49 | u8 *out_buffer[N_OUT_URB]; 50 | unsigned long out_busy; /* Bit vector of URBs in use */ 51 | struct usb_anchor delayed; 52 | 53 | /* Settings for the port */ 54 | int rts_state; /* Handshaking pins (outputs) */ 55 | int dtr_state; 56 | int cts_state; /* Handshaking pins (inputs) */ 57 | int dsr_state; 58 | int dcd_state; 59 | int ri_state; 60 | 61 | unsigned long tx_start_time[N_OUT_URB]; 62 | }; 63 | 64 | #endif /* __LINUX_USB_USB_WWAN */ 65 | -------------------------------------------------------------------------------- /src/v5.18.11/Makefile: -------------------------------------------------------------------------------- 1 | KERNELDIR := /lib/modules/$(shell uname -r)/build 2 | PWD := $(shell pwd) 3 | 4 | obj-m+=./drivers/usb/serial/option.o 5 | obj-m+=./drivers/usb/serial/usb_wwan.o 6 | obj-m+=./drivers/usb/serial/qcserial.o 7 | 8 | modules: clean 9 | $(MAKE) -C $(KERNELDIR) M=$(PWD) modules 10 | 11 | install: modules 12 | cp $(PWD)/drivers/usb/serial/*.ko /lib/modules/$(shell uname -r)/kernel/drivers/usb/serial/ 13 | depmod 14 | 15 | clean: 16 | $(MAKE) -C $(KERNELDIR) M=$(PWD) clean -------------------------------------------------------------------------------- /src/v5.18.11/drivers/usb/serial/usb-wwan.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 */ 2 | /* 3 | * Definitions for USB serial mobile broadband cards 4 | */ 5 | 6 | #ifndef __LINUX_USB_USB_WWAN 7 | #define __LINUX_USB_USB_WWAN 8 | 9 | extern void usb_wwan_dtr_rts(struct usb_serial_port *port, int on); 10 | extern int usb_wwan_open(struct tty_struct *tty, struct usb_serial_port *port); 11 | extern void usb_wwan_close(struct usb_serial_port *port); 12 | extern int usb_wwan_port_probe(struct usb_serial_port *port); 13 | extern void usb_wwan_port_remove(struct usb_serial_port *port); 14 | extern unsigned int usb_wwan_write_room(struct tty_struct *tty); 15 | extern int usb_wwan_tiocmget(struct tty_struct *tty); 16 | extern int usb_wwan_tiocmset(struct tty_struct *tty, 17 | unsigned int set, unsigned int clear); 18 | extern int usb_wwan_write(struct tty_struct *tty, struct usb_serial_port *port, 19 | const unsigned char *buf, int count); 20 | extern unsigned int usb_wwan_chars_in_buffer(struct tty_struct *tty); 21 | #ifdef CONFIG_PM 22 | extern int usb_wwan_suspend(struct usb_serial *serial, pm_message_t message); 23 | extern int usb_wwan_resume(struct usb_serial *serial); 24 | #endif 25 | 26 | /* per port private data */ 27 | 28 | #define N_IN_URB 4 29 | #define N_OUT_URB 4 30 | #define IN_BUFLEN 4096 31 | #define OUT_BUFLEN 4096 32 | 33 | struct usb_wwan_intf_private { 34 | spinlock_t susp_lock; 35 | unsigned int suspended:1; 36 | unsigned int use_send_setup:1; 37 | unsigned int use_zlp:1; 38 | int in_flight; 39 | unsigned int open_ports; 40 | void *private; 41 | }; 42 | 43 | struct usb_wwan_port_private { 44 | /* Input endpoints and buffer for this port */ 45 | struct urb *in_urbs[N_IN_URB]; 46 | u8 *in_buffer[N_IN_URB]; 47 | /* Output endpoints and buffer for this port */ 48 | struct urb *out_urbs[N_OUT_URB]; 49 | u8 *out_buffer[N_OUT_URB]; 50 | unsigned long out_busy; /* Bit vector of URBs in use */ 51 | struct usb_anchor delayed; 52 | 53 | /* Settings for the port */ 54 | int rts_state; /* Handshaking pins (outputs) */ 55 | int dtr_state; 56 | int cts_state; /* Handshaking pins (inputs) */ 57 | int dsr_state; 58 | int dcd_state; 59 | int ri_state; 60 | 61 | unsigned long tx_start_time[N_OUT_URB]; 62 | }; 63 | 64 | #endif /* __LINUX_USB_USB_WWAN */ 65 | -------------------------------------------------------------------------------- /src/v5.18.5/Makefile: -------------------------------------------------------------------------------- 1 | KERNELDIR := /lib/modules/$(shell uname -r)/build 2 | PWD := $(shell pwd) 3 | 4 | obj-m+=./drivers/usb/serial/option.o 5 | obj-m+=./drivers/usb/serial/usb_wwan.o 6 | obj-m+=./drivers/usb/serial/qcserial.o 7 | 8 | modules: clean 9 | $(MAKE) -C $(KERNELDIR) M=$(PWD) modules 10 | 11 | install: modules 12 | cp $(PWD)/drivers/usb/serial/*.ko /lib/modules/$(shell uname -r)/kernel/drivers/usb/serial/ 13 | depmod 14 | 15 | clean: 16 | $(MAKE) -C $(KERNELDIR) M=$(PWD) clean -------------------------------------------------------------------------------- /src/v5.18.5/drivers/usb/serial/usb-wwan.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 */ 2 | /* 3 | * Definitions for USB serial mobile broadband cards 4 | */ 5 | 6 | #ifndef __LINUX_USB_USB_WWAN 7 | #define __LINUX_USB_USB_WWAN 8 | 9 | extern void usb_wwan_dtr_rts(struct usb_serial_port *port, int on); 10 | extern int usb_wwan_open(struct tty_struct *tty, struct usb_serial_port *port); 11 | extern void usb_wwan_close(struct usb_serial_port *port); 12 | extern int usb_wwan_port_probe(struct usb_serial_port *port); 13 | extern void usb_wwan_port_remove(struct usb_serial_port *port); 14 | extern unsigned int usb_wwan_write_room(struct tty_struct *tty); 15 | extern int usb_wwan_tiocmget(struct tty_struct *tty); 16 | extern int usb_wwan_tiocmset(struct tty_struct *tty, 17 | unsigned int set, unsigned int clear); 18 | extern int usb_wwan_write(struct tty_struct *tty, struct usb_serial_port *port, 19 | const unsigned char *buf, int count); 20 | extern unsigned int usb_wwan_chars_in_buffer(struct tty_struct *tty); 21 | #ifdef CONFIG_PM 22 | extern int usb_wwan_suspend(struct usb_serial *serial, pm_message_t message); 23 | extern int usb_wwan_resume(struct usb_serial *serial); 24 | #endif 25 | 26 | /* per port private data */ 27 | 28 | #define N_IN_URB 4 29 | #define N_OUT_URB 4 30 | #define IN_BUFLEN 4096 31 | #define OUT_BUFLEN 4096 32 | 33 | struct usb_wwan_intf_private { 34 | spinlock_t susp_lock; 35 | unsigned int suspended:1; 36 | unsigned int use_send_setup:1; 37 | unsigned int use_zlp:1; 38 | int in_flight; 39 | unsigned int open_ports; 40 | void *private; 41 | }; 42 | 43 | struct usb_wwan_port_private { 44 | /* Input endpoints and buffer for this port */ 45 | struct urb *in_urbs[N_IN_URB]; 46 | u8 *in_buffer[N_IN_URB]; 47 | /* Output endpoints and buffer for this port */ 48 | struct urb *out_urbs[N_OUT_URB]; 49 | u8 *out_buffer[N_OUT_URB]; 50 | unsigned long out_busy; /* Bit vector of URBs in use */ 51 | struct usb_anchor delayed; 52 | 53 | /* Settings for the port */ 54 | int rts_state; /* Handshaking pins (outputs) */ 55 | int dtr_state; 56 | int cts_state; /* Handshaking pins (inputs) */ 57 | int dsr_state; 58 | int dcd_state; 59 | int ri_state; 60 | 61 | unsigned long tx_start_time[N_OUT_URB]; 62 | }; 63 | 64 | #endif /* __LINUX_USB_USB_WWAN */ 65 | -------------------------------------------------------------------------------- /src/v5.19.1/Makefile: -------------------------------------------------------------------------------- 1 | KERNELDIR := /lib/modules/$(shell uname -r)/build 2 | PWD := $(shell pwd) 3 | 4 | obj-m+=./drivers/usb/serial/option.o 5 | obj-m+=./drivers/usb/serial/usb_wwan.o 6 | obj-m+=./drivers/usb/serial/qcserial.o 7 | 8 | modules: clean 9 | $(MAKE) -C $(KERNELDIR) M=$(PWD) modules 10 | 11 | install: modules 12 | cp $(PWD)/drivers/usb/serial/*.ko /lib/modules/$(shell uname -r)/kernel/drivers/usb/serial/ 13 | depmod 14 | 15 | clean: 16 | $(MAKE) -C $(KERNELDIR) M=$(PWD) clean -------------------------------------------------------------------------------- /src/v5.19.1/drivers/usb/serial/usb-wwan.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 */ 2 | /* 3 | * Definitions for USB serial mobile broadband cards 4 | */ 5 | 6 | #ifndef __LINUX_USB_USB_WWAN 7 | #define __LINUX_USB_USB_WWAN 8 | 9 | extern void usb_wwan_dtr_rts(struct usb_serial_port *port, int on); 10 | extern int usb_wwan_open(struct tty_struct *tty, struct usb_serial_port *port); 11 | extern void usb_wwan_close(struct usb_serial_port *port); 12 | extern int usb_wwan_port_probe(struct usb_serial_port *port); 13 | extern void usb_wwan_port_remove(struct usb_serial_port *port); 14 | extern unsigned int usb_wwan_write_room(struct tty_struct *tty); 15 | extern int usb_wwan_tiocmget(struct tty_struct *tty); 16 | extern int usb_wwan_tiocmset(struct tty_struct *tty, 17 | unsigned int set, unsigned int clear); 18 | extern int usb_wwan_write(struct tty_struct *tty, struct usb_serial_port *port, 19 | const unsigned char *buf, int count); 20 | extern unsigned int usb_wwan_chars_in_buffer(struct tty_struct *tty); 21 | #ifdef CONFIG_PM 22 | extern int usb_wwan_suspend(struct usb_serial *serial, pm_message_t message); 23 | extern int usb_wwan_resume(struct usb_serial *serial); 24 | #endif 25 | 26 | /* per port private data */ 27 | 28 | #define N_IN_URB 4 29 | #define N_OUT_URB 4 30 | #define IN_BUFLEN 4096 31 | #define OUT_BUFLEN 4096 32 | 33 | struct usb_wwan_intf_private { 34 | spinlock_t susp_lock; 35 | unsigned int suspended:1; 36 | unsigned int use_send_setup:1; 37 | unsigned int use_zlp:1; 38 | int in_flight; 39 | unsigned int open_ports; 40 | void *private; 41 | }; 42 | 43 | struct usb_wwan_port_private { 44 | /* Input endpoints and buffer for this port */ 45 | struct urb *in_urbs[N_IN_URB]; 46 | u8 *in_buffer[N_IN_URB]; 47 | /* Output endpoints and buffer for this port */ 48 | struct urb *out_urbs[N_OUT_URB]; 49 | u8 *out_buffer[N_OUT_URB]; 50 | unsigned long out_busy; /* Bit vector of URBs in use */ 51 | struct usb_anchor delayed; 52 | 53 | /* Settings for the port */ 54 | int rts_state; /* Handshaking pins (outputs) */ 55 | int dtr_state; 56 | int cts_state; /* Handshaking pins (inputs) */ 57 | int dsr_state; 58 | int dcd_state; 59 | int ri_state; 60 | 61 | unsigned long tx_start_time[N_OUT_URB]; 62 | }; 63 | 64 | #endif /* __LINUX_USB_USB_WWAN */ 65 | -------------------------------------------------------------------------------- /src/v5.19.11/Makefile: -------------------------------------------------------------------------------- 1 | KERNELDIR := /lib/modules/$(shell uname -r)/build 2 | PWD := $(shell pwd) 3 | 4 | obj-m+=./drivers/usb/serial/option.o 5 | obj-m+=./drivers/usb/serial/usb_wwan.o 6 | obj-m+=./drivers/usb/serial/qcserial.o 7 | 8 | modules: clean 9 | $(MAKE) -C $(KERNELDIR) M=$(PWD) modules 10 | 11 | install: modules 12 | cp $(PWD)/drivers/usb/serial/*.ko /lib/modules/$(shell uname -r)/kernel/drivers/usb/serial/ 13 | depmod 14 | 15 | clean: 16 | $(MAKE) -C $(KERNELDIR) M=$(PWD) clean -------------------------------------------------------------------------------- /src/v5.19.11/drivers/usb/serial/usb-wwan.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 */ 2 | /* 3 | * Definitions for USB serial mobile broadband cards 4 | */ 5 | 6 | #ifndef __LINUX_USB_USB_WWAN 7 | #define __LINUX_USB_USB_WWAN 8 | 9 | extern void usb_wwan_dtr_rts(struct usb_serial_port *port, int on); 10 | extern int usb_wwan_open(struct tty_struct *tty, struct usb_serial_port *port); 11 | extern void usb_wwan_close(struct usb_serial_port *port); 12 | extern int usb_wwan_port_probe(struct usb_serial_port *port); 13 | extern void usb_wwan_port_remove(struct usb_serial_port *port); 14 | extern unsigned int usb_wwan_write_room(struct tty_struct *tty); 15 | extern int usb_wwan_tiocmget(struct tty_struct *tty); 16 | extern int usb_wwan_tiocmset(struct tty_struct *tty, 17 | unsigned int set, unsigned int clear); 18 | extern int usb_wwan_write(struct tty_struct *tty, struct usb_serial_port *port, 19 | const unsigned char *buf, int count); 20 | extern unsigned int usb_wwan_chars_in_buffer(struct tty_struct *tty); 21 | #ifdef CONFIG_PM 22 | extern int usb_wwan_suspend(struct usb_serial *serial, pm_message_t message); 23 | extern int usb_wwan_resume(struct usb_serial *serial); 24 | #endif 25 | 26 | /* per port private data */ 27 | 28 | #define N_IN_URB 4 29 | #define N_OUT_URB 4 30 | #define IN_BUFLEN 4096 31 | #define OUT_BUFLEN 4096 32 | 33 | struct usb_wwan_intf_private { 34 | spinlock_t susp_lock; 35 | unsigned int suspended:1; 36 | unsigned int use_send_setup:1; 37 | unsigned int use_zlp:1; 38 | int in_flight; 39 | unsigned int open_ports; 40 | void *private; 41 | }; 42 | 43 | struct usb_wwan_port_private { 44 | /* Input endpoints and buffer for this port */ 45 | struct urb *in_urbs[N_IN_URB]; 46 | u8 *in_buffer[N_IN_URB]; 47 | /* Output endpoints and buffer for this port */ 48 | struct urb *out_urbs[N_OUT_URB]; 49 | u8 *out_buffer[N_OUT_URB]; 50 | unsigned long out_busy; /* Bit vector of URBs in use */ 51 | struct usb_anchor delayed; 52 | 53 | /* Settings for the port */ 54 | int rts_state; /* Handshaking pins (outputs) */ 55 | int dtr_state; 56 | int cts_state; /* Handshaking pins (inputs) */ 57 | int dsr_state; 58 | int dcd_state; 59 | int ri_state; 60 | 61 | unsigned long tx_start_time[N_OUT_URB]; 62 | }; 63 | 64 | #endif /* __LINUX_USB_USB_WWAN */ 65 | -------------------------------------------------------------------------------- /src/v5.19.5/Makefile: -------------------------------------------------------------------------------- 1 | KERNELDIR := /lib/modules/$(shell uname -r)/build 2 | PWD := $(shell pwd) 3 | 4 | obj-m+=./drivers/usb/serial/option.o 5 | obj-m+=./drivers/usb/serial/usb_wwan.o 6 | obj-m+=./drivers/usb/serial/qcserial.o 7 | 8 | modules: clean 9 | $(MAKE) -C $(KERNELDIR) M=$(PWD) modules 10 | 11 | install: modules 12 | cp $(PWD)/drivers/usb/serial/*.ko /lib/modules/$(shell uname -r)/kernel/drivers/usb/serial/ 13 | depmod 14 | 15 | clean: 16 | $(MAKE) -C $(KERNELDIR) M=$(PWD) clean -------------------------------------------------------------------------------- /src/v5.19.5/drivers/usb/serial/usb-wwan.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 */ 2 | /* 3 | * Definitions for USB serial mobile broadband cards 4 | */ 5 | 6 | #ifndef __LINUX_USB_USB_WWAN 7 | #define __LINUX_USB_USB_WWAN 8 | 9 | extern void usb_wwan_dtr_rts(struct usb_serial_port *port, int on); 10 | extern int usb_wwan_open(struct tty_struct *tty, struct usb_serial_port *port); 11 | extern void usb_wwan_close(struct usb_serial_port *port); 12 | extern int usb_wwan_port_probe(struct usb_serial_port *port); 13 | extern void usb_wwan_port_remove(struct usb_serial_port *port); 14 | extern unsigned int usb_wwan_write_room(struct tty_struct *tty); 15 | extern int usb_wwan_tiocmget(struct tty_struct *tty); 16 | extern int usb_wwan_tiocmset(struct tty_struct *tty, 17 | unsigned int set, unsigned int clear); 18 | extern int usb_wwan_write(struct tty_struct *tty, struct usb_serial_port *port, 19 | const unsigned char *buf, int count); 20 | extern unsigned int usb_wwan_chars_in_buffer(struct tty_struct *tty); 21 | #ifdef CONFIG_PM 22 | extern int usb_wwan_suspend(struct usb_serial *serial, pm_message_t message); 23 | extern int usb_wwan_resume(struct usb_serial *serial); 24 | #endif 25 | 26 | /* per port private data */ 27 | 28 | #define N_IN_URB 4 29 | #define N_OUT_URB 4 30 | #define IN_BUFLEN 4096 31 | #define OUT_BUFLEN 4096 32 | 33 | struct usb_wwan_intf_private { 34 | spinlock_t susp_lock; 35 | unsigned int suspended:1; 36 | unsigned int use_send_setup:1; 37 | unsigned int use_zlp:1; 38 | int in_flight; 39 | unsigned int open_ports; 40 | void *private; 41 | }; 42 | 43 | struct usb_wwan_port_private { 44 | /* Input endpoints and buffer for this port */ 45 | struct urb *in_urbs[N_IN_URB]; 46 | u8 *in_buffer[N_IN_URB]; 47 | /* Output endpoints and buffer for this port */ 48 | struct urb *out_urbs[N_OUT_URB]; 49 | u8 *out_buffer[N_OUT_URB]; 50 | unsigned long out_busy; /* Bit vector of URBs in use */ 51 | struct usb_anchor delayed; 52 | 53 | /* Settings for the port */ 54 | int rts_state; /* Handshaking pins (outputs) */ 55 | int dtr_state; 56 | int cts_state; /* Handshaking pins (inputs) */ 57 | int dsr_state; 58 | int dcd_state; 59 | int ri_state; 60 | 61 | unsigned long tx_start_time[N_OUT_URB]; 62 | }; 63 | 64 | #endif /* __LINUX_USB_USB_WWAN */ 65 | -------------------------------------------------------------------------------- /src/v5.2.1/Makefile: -------------------------------------------------------------------------------- 1 | KERNELDIR := /lib/modules/$(shell uname -r)/build 2 | PWD := $(shell pwd) 3 | 4 | obj-m+=./drivers/usb/serial/option.o 5 | obj-m+=./drivers/usb/serial/usb_wwan.o 6 | obj-m+=./drivers/usb/serial/qcserial.o 7 | 8 | modules: clean 9 | $(MAKE) -C $(KERNELDIR) M=$(PWD) modules 10 | 11 | install: modules 12 | cp $(PWD)/drivers/usb/serial/*.ko /lib/modules/$(shell uname -r)/kernel/drivers/usb/serial/ 13 | depmod 14 | 15 | clean: 16 | $(MAKE) -C $(KERNELDIR) M=$(PWD) clean 17 | -------------------------------------------------------------------------------- /src/v5.2.11/Makefile: -------------------------------------------------------------------------------- 1 | KERNELDIR := /lib/modules/$(shell uname -r)/build 2 | PWD := $(shell pwd) 3 | 4 | obj-m+=./drivers/usb/serial/option.o 5 | obj-m+=./drivers/usb/serial/usb_wwan.o 6 | obj-m+=./drivers/usb/serial/qcserial.o 7 | 8 | modules: clean 9 | $(MAKE) -C $(KERNELDIR) M=$(PWD) modules 10 | 11 | install: modules 12 | cp $(PWD)/drivers/usb/serial/*.ko /lib/modules/$(shell uname -r)/kernel/drivers/usb/serial/ 13 | depmod 14 | 15 | clean: 16 | $(MAKE) -C $(KERNELDIR) M=$(PWD) clean 17 | -------------------------------------------------------------------------------- /src/v5.3.1/Makefile: -------------------------------------------------------------------------------- 1 | KERNELDIR := /lib/modules/$(shell uname -r)/build 2 | PWD := $(shell pwd) 3 | 4 | obj-m+=./drivers/usb/serial/option.o 5 | obj-m+=./drivers/usb/serial/usb_wwan.o 6 | obj-m+=./drivers/usb/serial/qcserial.o 7 | 8 | modules: clean 9 | $(MAKE) -C $(KERNELDIR) M=$(PWD) modules 10 | 11 | install: modules 12 | cp $(PWD)/drivers/usb/serial/*.ko /lib/modules/$(shell uname -r)/kernel/drivers/usb/serial/ 13 | depmod 14 | 15 | clean: 16 | $(MAKE) -C $(KERNELDIR) M=$(PWD) clean 17 | -------------------------------------------------------------------------------- /src/v5.3.11/Makefile: -------------------------------------------------------------------------------- 1 | KERNELDIR := /lib/modules/$(shell uname -r)/build 2 | PWD := $(shell pwd) 3 | 4 | obj-m+=./drivers/usb/serial/option.o 5 | obj-m+=./drivers/usb/serial/usb_wwan.o 6 | obj-m+=./drivers/usb/serial/qcserial.o 7 | 8 | modules: clean 9 | $(MAKE) -C $(KERNELDIR) M=$(PWD) modules 10 | 11 | install: modules 12 | cp $(PWD)/drivers/usb/serial/*.ko /lib/modules/$(shell uname -r)/kernel/drivers/usb/serial/ 13 | depmod 14 | 15 | clean: 16 | $(MAKE) -C $(KERNELDIR) M=$(PWD) clean 17 | -------------------------------------------------------------------------------- /src/v5.4.1/Makefile: -------------------------------------------------------------------------------- 1 | KERNELDIR := /lib/modules/$(shell uname -r)/build 2 | PWD := $(shell pwd) 3 | 4 | obj-m+=./drivers/usb/serial/option.o 5 | obj-m+=./drivers/usb/serial/usb_wwan.o 6 | obj-m+=./drivers/usb/serial/qcserial.o 7 | 8 | modules: clean 9 | $(MAKE) -C $(KERNELDIR) M=$(PWD) modules 10 | 11 | install: modules 12 | cp $(PWD)/drivers/usb/serial/*.ko /lib/modules/$(shell uname -r)/kernel/drivers/usb/serial/ 13 | depmod 14 | 15 | clean: 16 | $(MAKE) -C $(KERNELDIR) M=$(PWD) clean 17 | -------------------------------------------------------------------------------- /src/v5.4.11/Makefile: -------------------------------------------------------------------------------- 1 | KERNELDIR := /lib/modules/$(shell uname -r)/build 2 | PWD := $(shell pwd) 3 | 4 | obj-m+=./drivers/usb/serial/option.o 5 | obj-m+=./drivers/usb/serial/usb_wwan.o 6 | obj-m+=./drivers/usb/serial/qcserial.o 7 | 8 | modules: clean 9 | $(MAKE) -C $(KERNELDIR) M=$(PWD) modules 10 | 11 | install: modules 12 | cp $(PWD)/drivers/usb/serial/*.ko /lib/modules/$(shell uname -r)/kernel/drivers/usb/serial/ 13 | depmod 14 | 15 | clean: 16 | $(MAKE) -C $(KERNELDIR) M=$(PWD) clean 17 | -------------------------------------------------------------------------------- /src/v5.4.51/Makefile: -------------------------------------------------------------------------------- 1 | KERNELDIR := /lib/modules/$(shell uname -r)/build 2 | PWD := $(shell pwd) 3 | 4 | obj-m+=./drivers/usb/serial/option.o 5 | obj-m+=./drivers/usb/serial/usb_wwan.o 6 | obj-m+=./drivers/usb/serial/qcserial.o 7 | 8 | modules: clean 9 | $(MAKE) -C $(KERNELDIR) M=$(PWD) modules 10 | 11 | install: modules 12 | cp $(PWD)/drivers/usb/serial/*.ko /lib/modules/$(shell uname -r)/kernel/drivers/usb/serial/ 13 | depmod 14 | 15 | clean: 16 | $(MAKE) -C $(KERNELDIR) M=$(PWD) clean 17 | -------------------------------------------------------------------------------- /src/v5.5.1/Makefile: -------------------------------------------------------------------------------- 1 | KERNELDIR := /lib/modules/$(shell uname -r)/build 2 | PWD := $(shell pwd) 3 | 4 | obj-m+=./drivers/usb/serial/option.o 5 | obj-m+=./drivers/usb/serial/usb_wwan.o 6 | obj-m+=./drivers/usb/serial/qcserial.o 7 | 8 | modules: clean 9 | $(MAKE) -C $(KERNELDIR) M=$(PWD) modules 10 | 11 | install: modules 12 | cp $(PWD)/drivers/usb/serial/*.ko /lib/modules/$(shell uname -r)/kernel/drivers/usb/serial/ 13 | depmod 14 | 15 | clean: 16 | $(MAKE) -C $(KERNELDIR) M=$(PWD) clean 17 | -------------------------------------------------------------------------------- /src/v5.5.11/Makefile: -------------------------------------------------------------------------------- 1 | KERNELDIR := /lib/modules/$(shell uname -r)/build 2 | PWD := $(shell pwd) 3 | 4 | obj-m+=./drivers/usb/serial/option.o 5 | obj-m+=./drivers/usb/serial/usb_wwan.o 6 | obj-m+=./drivers/usb/serial/qcserial.o 7 | 8 | modules: clean 9 | $(MAKE) -C $(KERNELDIR) M=$(PWD) modules 10 | 11 | install: modules 12 | cp $(PWD)/drivers/usb/serial/*.ko /lib/modules/$(shell uname -r)/kernel/drivers/usb/serial/ 13 | depmod 14 | 15 | clean: 16 | $(MAKE) -C $(KERNELDIR) M=$(PWD) clean 17 | -------------------------------------------------------------------------------- /src/v5.6.1/Makefile: -------------------------------------------------------------------------------- 1 | KERNELDIR := /lib/modules/$(shell uname -r)/build 2 | PWD := $(shell pwd) 3 | 4 | obj-m+=./drivers/usb/serial/option.o 5 | obj-m+=./drivers/usb/serial/usb_wwan.o 6 | obj-m+=./drivers/usb/serial/qcserial.o 7 | 8 | modules: clean 9 | $(MAKE) -C $(KERNELDIR) M=$(PWD) modules 10 | 11 | install: modules 12 | cp $(PWD)/drivers/usb/serial/*.ko /lib/modules/$(shell uname -r)/kernel/drivers/usb/serial/ 13 | depmod 14 | 15 | clean: 16 | $(MAKE) -C $(KERNELDIR) M=$(PWD) clean 17 | -------------------------------------------------------------------------------- /src/v5.6.11/Makefile: -------------------------------------------------------------------------------- 1 | KERNELDIR := /lib/modules/$(shell uname -r)/build 2 | PWD := $(shell pwd) 3 | 4 | obj-m+=./drivers/usb/serial/option.o 5 | obj-m+=./drivers/usb/serial/usb_wwan.o 6 | obj-m+=./drivers/usb/serial/qcserial.o 7 | 8 | modules: clean 9 | $(MAKE) -C $(KERNELDIR) M=$(PWD) modules 10 | 11 | install: modules 12 | cp $(PWD)/drivers/usb/serial/*.ko /lib/modules/$(shell uname -r)/kernel/drivers/usb/serial/ 13 | depmod 14 | 15 | clean: 16 | $(MAKE) -C $(KERNELDIR) M=$(PWD) clean 17 | -------------------------------------------------------------------------------- /src/v5.7.1/Makefile: -------------------------------------------------------------------------------- 1 | KERNELDIR := /lib/modules/$(shell uname -r)/build 2 | PWD := $(shell pwd) 3 | 4 | obj-m+=./drivers/usb/serial/option.o 5 | obj-m+=./drivers/usb/serial/usb_wwan.o 6 | obj-m+=./drivers/usb/serial/qcserial.o 7 | 8 | modules: clean 9 | $(MAKE) -C $(KERNELDIR) M=$(PWD) modules 10 | 11 | install: modules 12 | cp $(PWD)/drivers/usb/serial/*.ko /lib/modules/$(shell uname -r)/kernel/drivers/usb/serial/ 13 | depmod 14 | 15 | clean: 16 | $(MAKE) -C $(KERNELDIR) M=$(PWD) clean 17 | -------------------------------------------------------------------------------- /src/v5.7.11/Makefile: -------------------------------------------------------------------------------- 1 | KERNELDIR := /lib/modules/$(shell uname -r)/build 2 | PWD := $(shell pwd) 3 | 4 | obj-m+=./drivers/usb/serial/option.o 5 | obj-m+=./drivers/usb/serial/usb_wwan.o 6 | obj-m+=./drivers/usb/serial/qcserial.o 7 | 8 | modules: clean 9 | $(MAKE) -C $(KERNELDIR) M=$(PWD) modules 10 | 11 | install: modules 12 | cp $(PWD)/drivers/usb/serial/*.ko /lib/modules/$(shell uname -r)/kernel/drivers/usb/serial/ 13 | depmod 14 | 15 | clean: 16 | $(MAKE) -C $(KERNELDIR) M=$(PWD) clean 17 | -------------------------------------------------------------------------------- /src/v5.8.1/Makefile: -------------------------------------------------------------------------------- 1 | KERNELDIR := /lib/modules/$(shell uname -r)/build 2 | PWD := $(shell pwd) 3 | 4 | obj-m+=./drivers/usb/serial/option.o 5 | obj-m+=./drivers/usb/serial/usb_wwan.o 6 | obj-m+=./drivers/usb/serial/qcserial.o 7 | 8 | modules: clean 9 | $(MAKE) -C $(KERNELDIR) M=$(PWD) modules 10 | 11 | install: modules 12 | cp $(PWD)/drivers/usb/serial/*.ko /lib/modules/$(shell uname -r)/kernel/drivers/usb/serial/ 13 | depmod 14 | 15 | clean: 16 | $(MAKE) -C $(KERNELDIR) M=$(PWD) clean 17 | -------------------------------------------------------------------------------- /src/v5.8.11/Makefile: -------------------------------------------------------------------------------- 1 | KERNELDIR := /lib/modules/$(shell uname -r)/build 2 | PWD := $(shell pwd) 3 | 4 | obj-m+=./drivers/usb/serial/option.o 5 | obj-m+=./drivers/usb/serial/usb_wwan.o 6 | obj-m+=./drivers/usb/serial/qcserial.o 7 | 8 | modules: clean 9 | $(MAKE) -C $(KERNELDIR) M=$(PWD) modules 10 | 11 | install: modules 12 | cp $(PWD)/drivers/usb/serial/*.ko /lib/modules/$(shell uname -r)/kernel/drivers/usb/serial/ 13 | depmod 14 | 15 | clean: 16 | $(MAKE) -C $(KERNELDIR) M=$(PWD) clean 17 | -------------------------------------------------------------------------------- /src/v5.9.1/Makefile: -------------------------------------------------------------------------------- 1 | KERNELDIR := /lib/modules/$(shell uname -r)/build 2 | PWD := $(shell pwd) 3 | 4 | obj-m+=./drivers/usb/serial/option.o 5 | obj-m+=./drivers/usb/serial/usb_wwan.o 6 | obj-m+=./drivers/usb/serial/qcserial.o 7 | 8 | modules: clean 9 | $(MAKE) -C $(KERNELDIR) M=$(PWD) modules 10 | 11 | install: modules 12 | cp $(PWD)/drivers/usb/serial/*.ko /lib/modules/$(shell uname -r)/kernel/drivers/usb/serial/ 13 | depmod 14 | 15 | clean: 16 | $(MAKE) -C $(KERNELDIR) M=$(PWD) clean 17 | -------------------------------------------------------------------------------- /src/v5.9.11/Makefile: -------------------------------------------------------------------------------- 1 | KERNELDIR := /lib/modules/$(shell uname -r)/build 2 | PWD := $(shell pwd) 3 | 4 | obj-m+=./drivers/usb/serial/option.o 5 | obj-m+=./drivers/usb/serial/usb_wwan.o 6 | obj-m+=./drivers/usb/serial/qcserial.o 7 | 8 | modules: clean 9 | $(MAKE) -C $(KERNELDIR) M=$(PWD) modules 10 | 11 | install: modules 12 | cp $(PWD)/drivers/usb/serial/*.ko /lib/modules/$(shell uname -r)/kernel/drivers/usb/serial/ 13 | depmod 14 | 15 | clean: 16 | $(MAKE) -C $(KERNELDIR) M=$(PWD) clean 17 | -------------------------------------------------------------------------------- /src/v6.0.1/Makefile: -------------------------------------------------------------------------------- 1 | KERNELDIR := /lib/modules/$(shell uname -r)/build 2 | PWD := $(shell pwd) 3 | 4 | obj-m+=./drivers/usb/serial/option.o 5 | obj-m+=./drivers/usb/serial/usb_wwan.o 6 | obj-m+=./drivers/usb/serial/qcserial.o 7 | 8 | modules: clean 9 | $(MAKE) -C $(KERNELDIR) M=$(PWD) modules 10 | 11 | install: modules 12 | cp $(PWD)/drivers/usb/serial/*.ko /lib/modules/$(shell uname -r)/kernel/drivers/usb/serial/ 13 | depmod 14 | 15 | clean: 16 | $(MAKE) -C $(KERNELDIR) M=$(PWD) clean -------------------------------------------------------------------------------- /src/v6.0.1/drivers/usb/serial/usb-wwan.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 */ 2 | /* 3 | * Definitions for USB serial mobile broadband cards 4 | */ 5 | 6 | #ifndef __LINUX_USB_USB_WWAN 7 | #define __LINUX_USB_USB_WWAN 8 | 9 | extern void usb_wwan_dtr_rts(struct usb_serial_port *port, int on); 10 | extern int usb_wwan_open(struct tty_struct *tty, struct usb_serial_port *port); 11 | extern void usb_wwan_close(struct usb_serial_port *port); 12 | extern int usb_wwan_port_probe(struct usb_serial_port *port); 13 | extern void usb_wwan_port_remove(struct usb_serial_port *port); 14 | extern unsigned int usb_wwan_write_room(struct tty_struct *tty); 15 | extern int usb_wwan_tiocmget(struct tty_struct *tty); 16 | extern int usb_wwan_tiocmset(struct tty_struct *tty, 17 | unsigned int set, unsigned int clear); 18 | extern int usb_wwan_write(struct tty_struct *tty, struct usb_serial_port *port, 19 | const unsigned char *buf, int count); 20 | extern unsigned int usb_wwan_chars_in_buffer(struct tty_struct *tty); 21 | #ifdef CONFIG_PM 22 | extern int usb_wwan_suspend(struct usb_serial *serial, pm_message_t message); 23 | extern int usb_wwan_resume(struct usb_serial *serial); 24 | #endif 25 | 26 | /* per port private data */ 27 | 28 | #define N_IN_URB 4 29 | #define N_OUT_URB 4 30 | #define IN_BUFLEN 4096 31 | #define OUT_BUFLEN 4096 32 | 33 | struct usb_wwan_intf_private { 34 | spinlock_t susp_lock; 35 | unsigned int suspended:1; 36 | unsigned int use_send_setup:1; 37 | unsigned int use_zlp:1; 38 | int in_flight; 39 | unsigned int open_ports; 40 | void *private; 41 | }; 42 | 43 | struct usb_wwan_port_private { 44 | /* Input endpoints and buffer for this port */ 45 | struct urb *in_urbs[N_IN_URB]; 46 | u8 *in_buffer[N_IN_URB]; 47 | /* Output endpoints and buffer for this port */ 48 | struct urb *out_urbs[N_OUT_URB]; 49 | u8 *out_buffer[N_OUT_URB]; 50 | unsigned long out_busy; /* Bit vector of URBs in use */ 51 | struct usb_anchor delayed; 52 | 53 | /* Settings for the port */ 54 | int rts_state; /* Handshaking pins (outputs) */ 55 | int dtr_state; 56 | int cts_state; /* Handshaking pins (inputs) */ 57 | int dsr_state; 58 | int dcd_state; 59 | int ri_state; 60 | 61 | unsigned long tx_start_time[N_OUT_URB]; 62 | }; 63 | 64 | #endif /* __LINUX_USB_USB_WWAN */ 65 | -------------------------------------------------------------------------------- /src/v6.0.11/Makefile: -------------------------------------------------------------------------------- 1 | KERNELDIR := /lib/modules/$(shell uname -r)/build 2 | PWD := $(shell pwd) 3 | 4 | obj-m+=./drivers/usb/serial/option.o 5 | obj-m+=./drivers/usb/serial/usb_wwan.o 6 | obj-m+=./drivers/usb/serial/qcserial.o 7 | 8 | modules: clean 9 | $(MAKE) -C $(KERNELDIR) M=$(PWD) modules 10 | 11 | install: modules 12 | cp $(PWD)/drivers/usb/serial/*.ko /lib/modules/$(shell uname -r)/kernel/drivers/usb/serial/ 13 | depmod 14 | 15 | clean: 16 | $(MAKE) -C $(KERNELDIR) M=$(PWD) clean -------------------------------------------------------------------------------- /src/v6.0.11/drivers/usb/serial/usb-wwan.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 */ 2 | /* 3 | * Definitions for USB serial mobile broadband cards 4 | */ 5 | 6 | #ifndef __LINUX_USB_USB_WWAN 7 | #define __LINUX_USB_USB_WWAN 8 | 9 | extern void usb_wwan_dtr_rts(struct usb_serial_port *port, int on); 10 | extern int usb_wwan_open(struct tty_struct *tty, struct usb_serial_port *port); 11 | extern void usb_wwan_close(struct usb_serial_port *port); 12 | extern int usb_wwan_port_probe(struct usb_serial_port *port); 13 | extern void usb_wwan_port_remove(struct usb_serial_port *port); 14 | extern unsigned int usb_wwan_write_room(struct tty_struct *tty); 15 | extern int usb_wwan_tiocmget(struct tty_struct *tty); 16 | extern int usb_wwan_tiocmset(struct tty_struct *tty, 17 | unsigned int set, unsigned int clear); 18 | extern int usb_wwan_write(struct tty_struct *tty, struct usb_serial_port *port, 19 | const unsigned char *buf, int count); 20 | extern unsigned int usb_wwan_chars_in_buffer(struct tty_struct *tty); 21 | #ifdef CONFIG_PM 22 | extern int usb_wwan_suspend(struct usb_serial *serial, pm_message_t message); 23 | extern int usb_wwan_resume(struct usb_serial *serial); 24 | #endif 25 | 26 | /* per port private data */ 27 | 28 | #define N_IN_URB 4 29 | #define N_OUT_URB 4 30 | #define IN_BUFLEN 4096 31 | #define OUT_BUFLEN 4096 32 | 33 | struct usb_wwan_intf_private { 34 | spinlock_t susp_lock; 35 | unsigned int suspended:1; 36 | unsigned int use_send_setup:1; 37 | unsigned int use_zlp:1; 38 | int in_flight; 39 | unsigned int open_ports; 40 | void *private; 41 | }; 42 | 43 | struct usb_wwan_port_private { 44 | /* Input endpoints and buffer for this port */ 45 | struct urb *in_urbs[N_IN_URB]; 46 | u8 *in_buffer[N_IN_URB]; 47 | /* Output endpoints and buffer for this port */ 48 | struct urb *out_urbs[N_OUT_URB]; 49 | u8 *out_buffer[N_OUT_URB]; 50 | unsigned long out_busy; /* Bit vector of URBs in use */ 51 | struct usb_anchor delayed; 52 | 53 | /* Settings for the port */ 54 | int rts_state; /* Handshaking pins (outputs) */ 55 | int dtr_state; 56 | int cts_state; /* Handshaking pins (inputs) */ 57 | int dsr_state; 58 | int dcd_state; 59 | int ri_state; 60 | 61 | unsigned long tx_start_time[N_OUT_URB]; 62 | }; 63 | 64 | #endif /* __LINUX_USB_USB_WWAN */ 65 | -------------------------------------------------------------------------------- /src/v6.0.5/Makefile: -------------------------------------------------------------------------------- 1 | KERNELDIR := /lib/modules/$(shell uname -r)/build 2 | PWD := $(shell pwd) 3 | 4 | obj-m+=./drivers/usb/serial/option.o 5 | obj-m+=./drivers/usb/serial/usb_wwan.o 6 | obj-m+=./drivers/usb/serial/qcserial.o 7 | 8 | modules: clean 9 | $(MAKE) -C $(KERNELDIR) M=$(PWD) modules 10 | 11 | install: modules 12 | cp $(PWD)/drivers/usb/serial/*.ko /lib/modules/$(shell uname -r)/kernel/drivers/usb/serial/ 13 | depmod 14 | 15 | clean: 16 | $(MAKE) -C $(KERNELDIR) M=$(PWD) clean -------------------------------------------------------------------------------- /src/v6.0.5/drivers/usb/serial/usb-wwan.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 */ 2 | /* 3 | * Definitions for USB serial mobile broadband cards 4 | */ 5 | 6 | #ifndef __LINUX_USB_USB_WWAN 7 | #define __LINUX_USB_USB_WWAN 8 | 9 | extern void usb_wwan_dtr_rts(struct usb_serial_port *port, int on); 10 | extern int usb_wwan_open(struct tty_struct *tty, struct usb_serial_port *port); 11 | extern void usb_wwan_close(struct usb_serial_port *port); 12 | extern int usb_wwan_port_probe(struct usb_serial_port *port); 13 | extern void usb_wwan_port_remove(struct usb_serial_port *port); 14 | extern unsigned int usb_wwan_write_room(struct tty_struct *tty); 15 | extern int usb_wwan_tiocmget(struct tty_struct *tty); 16 | extern int usb_wwan_tiocmset(struct tty_struct *tty, 17 | unsigned int set, unsigned int clear); 18 | extern int usb_wwan_write(struct tty_struct *tty, struct usb_serial_port *port, 19 | const unsigned char *buf, int count); 20 | extern unsigned int usb_wwan_chars_in_buffer(struct tty_struct *tty); 21 | #ifdef CONFIG_PM 22 | extern int usb_wwan_suspend(struct usb_serial *serial, pm_message_t message); 23 | extern int usb_wwan_resume(struct usb_serial *serial); 24 | #endif 25 | 26 | /* per port private data */ 27 | 28 | #define N_IN_URB 4 29 | #define N_OUT_URB 4 30 | #define IN_BUFLEN 4096 31 | #define OUT_BUFLEN 4096 32 | 33 | struct usb_wwan_intf_private { 34 | spinlock_t susp_lock; 35 | unsigned int suspended:1; 36 | unsigned int use_send_setup:1; 37 | unsigned int use_zlp:1; 38 | int in_flight; 39 | unsigned int open_ports; 40 | void *private; 41 | }; 42 | 43 | struct usb_wwan_port_private { 44 | /* Input endpoints and buffer for this port */ 45 | struct urb *in_urbs[N_IN_URB]; 46 | u8 *in_buffer[N_IN_URB]; 47 | /* Output endpoints and buffer for this port */ 48 | struct urb *out_urbs[N_OUT_URB]; 49 | u8 *out_buffer[N_OUT_URB]; 50 | unsigned long out_busy; /* Bit vector of URBs in use */ 51 | struct usb_anchor delayed; 52 | 53 | /* Settings for the port */ 54 | int rts_state; /* Handshaking pins (outputs) */ 55 | int dtr_state; 56 | int cts_state; /* Handshaking pins (inputs) */ 57 | int dsr_state; 58 | int dcd_state; 59 | int ri_state; 60 | 61 | unsigned long tx_start_time[N_OUT_URB]; 62 | }; 63 | 64 | #endif /* __LINUX_USB_USB_WWAN */ 65 | -------------------------------------------------------------------------------- /src/v6.1.1/Makefile: -------------------------------------------------------------------------------- 1 | KERNELDIR := /lib/modules/$(shell uname -r)/build 2 | PWD := $(shell pwd) 3 | 4 | obj-m+=./drivers/usb/serial/option.o 5 | obj-m+=./drivers/usb/serial/usb_wwan.o 6 | obj-m+=./drivers/usb/serial/qcserial.o 7 | 8 | modules: clean 9 | $(MAKE) -C $(KERNELDIR) M=$(PWD) modules 10 | 11 | install: modules 12 | cp $(PWD)/drivers/usb/serial/*.ko /lib/modules/$(shell uname -r)/kernel/drivers/usb/serial/ 13 | depmod 14 | 15 | clean: 16 | $(MAKE) -C $(KERNELDIR) M=$(PWD) clean -------------------------------------------------------------------------------- /src/v6.1.1/drivers/usb/serial/usb-wwan.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 */ 2 | /* 3 | * Definitions for USB serial mobile broadband cards 4 | */ 5 | 6 | #ifndef __LINUX_USB_USB_WWAN 7 | #define __LINUX_USB_USB_WWAN 8 | 9 | extern void usb_wwan_dtr_rts(struct usb_serial_port *port, int on); 10 | extern int usb_wwan_open(struct tty_struct *tty, struct usb_serial_port *port); 11 | extern void usb_wwan_close(struct usb_serial_port *port); 12 | extern int usb_wwan_port_probe(struct usb_serial_port *port); 13 | extern void usb_wwan_port_remove(struct usb_serial_port *port); 14 | extern unsigned int usb_wwan_write_room(struct tty_struct *tty); 15 | extern int usb_wwan_tiocmget(struct tty_struct *tty); 16 | extern int usb_wwan_tiocmset(struct tty_struct *tty, 17 | unsigned int set, unsigned int clear); 18 | extern int usb_wwan_write(struct tty_struct *tty, struct usb_serial_port *port, 19 | const unsigned char *buf, int count); 20 | extern unsigned int usb_wwan_chars_in_buffer(struct tty_struct *tty); 21 | #ifdef CONFIG_PM 22 | extern int usb_wwan_suspend(struct usb_serial *serial, pm_message_t message); 23 | extern int usb_wwan_resume(struct usb_serial *serial); 24 | #endif 25 | 26 | /* per port private data */ 27 | 28 | #define N_IN_URB 4 29 | #define N_OUT_URB 4 30 | #define IN_BUFLEN 4096 31 | #define OUT_BUFLEN 4096 32 | 33 | struct usb_wwan_intf_private { 34 | spinlock_t susp_lock; 35 | unsigned int suspended:1; 36 | unsigned int use_send_setup:1; 37 | unsigned int use_zlp:1; 38 | int in_flight; 39 | unsigned int open_ports; 40 | void *private; 41 | }; 42 | 43 | struct usb_wwan_port_private { 44 | /* Input endpoints and buffer for this port */ 45 | struct urb *in_urbs[N_IN_URB]; 46 | u8 *in_buffer[N_IN_URB]; 47 | /* Output endpoints and buffer for this port */ 48 | struct urb *out_urbs[N_OUT_URB]; 49 | u8 *out_buffer[N_OUT_URB]; 50 | unsigned long out_busy; /* Bit vector of URBs in use */ 51 | struct usb_anchor delayed; 52 | 53 | /* Settings for the port */ 54 | int rts_state; /* Handshaking pins (outputs) */ 55 | int dtr_state; 56 | int cts_state; /* Handshaking pins (inputs) */ 57 | int dsr_state; 58 | int dcd_state; 59 | int ri_state; 60 | 61 | unsigned long tx_start_time[N_OUT_URB]; 62 | }; 63 | 64 | #endif /* __LINUX_USB_USB_WWAN */ 65 | -------------------------------------------------------------------------------- /src/v6.1.11/Makefile: -------------------------------------------------------------------------------- 1 | KERNELDIR := /lib/modules/$(shell uname -r)/build 2 | PWD := $(shell pwd) 3 | 4 | obj-m+=./drivers/usb/serial/option.o 5 | obj-m+=./drivers/usb/serial/usb_wwan.o 6 | obj-m+=./drivers/usb/serial/qcserial.o 7 | 8 | modules: clean 9 | $(MAKE) -C $(KERNELDIR) M=$(PWD) modules 10 | 11 | install: modules 12 | cp $(PWD)/drivers/usb/serial/*.ko /lib/modules/$(shell uname -r)/kernel/drivers/usb/serial/ 13 | depmod 14 | 15 | clean: 16 | $(MAKE) -C $(KERNELDIR) M=$(PWD) clean -------------------------------------------------------------------------------- /src/v6.1.11/drivers/usb/serial/usb-wwan.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 */ 2 | /* 3 | * Definitions for USB serial mobile broadband cards 4 | */ 5 | 6 | #ifndef __LINUX_USB_USB_WWAN 7 | #define __LINUX_USB_USB_WWAN 8 | 9 | extern void usb_wwan_dtr_rts(struct usb_serial_port *port, int on); 10 | extern int usb_wwan_open(struct tty_struct *tty, struct usb_serial_port *port); 11 | extern void usb_wwan_close(struct usb_serial_port *port); 12 | extern int usb_wwan_port_probe(struct usb_serial_port *port); 13 | extern void usb_wwan_port_remove(struct usb_serial_port *port); 14 | extern unsigned int usb_wwan_write_room(struct tty_struct *tty); 15 | extern int usb_wwan_tiocmget(struct tty_struct *tty); 16 | extern int usb_wwan_tiocmset(struct tty_struct *tty, 17 | unsigned int set, unsigned int clear); 18 | extern int usb_wwan_write(struct tty_struct *tty, struct usb_serial_port *port, 19 | const unsigned char *buf, int count); 20 | extern unsigned int usb_wwan_chars_in_buffer(struct tty_struct *tty); 21 | #ifdef CONFIG_PM 22 | extern int usb_wwan_suspend(struct usb_serial *serial, pm_message_t message); 23 | extern int usb_wwan_resume(struct usb_serial *serial); 24 | #endif 25 | 26 | /* per port private data */ 27 | 28 | #define N_IN_URB 4 29 | #define N_OUT_URB 4 30 | #define IN_BUFLEN 4096 31 | #define OUT_BUFLEN 4096 32 | 33 | struct usb_wwan_intf_private { 34 | spinlock_t susp_lock; 35 | unsigned int suspended:1; 36 | unsigned int use_send_setup:1; 37 | unsigned int use_zlp:1; 38 | int in_flight; 39 | unsigned int open_ports; 40 | void *private; 41 | }; 42 | 43 | struct usb_wwan_port_private { 44 | /* Input endpoints and buffer for this port */ 45 | struct urb *in_urbs[N_IN_URB]; 46 | u8 *in_buffer[N_IN_URB]; 47 | /* Output endpoints and buffer for this port */ 48 | struct urb *out_urbs[N_OUT_URB]; 49 | u8 *out_buffer[N_OUT_URB]; 50 | unsigned long out_busy; /* Bit vector of URBs in use */ 51 | struct usb_anchor delayed; 52 | 53 | /* Settings for the port */ 54 | int rts_state; /* Handshaking pins (outputs) */ 55 | int dtr_state; 56 | int cts_state; /* Handshaking pins (inputs) */ 57 | int dsr_state; 58 | int dcd_state; 59 | int ri_state; 60 | 61 | unsigned long tx_start_time[N_OUT_URB]; 62 | }; 63 | 64 | #endif /* __LINUX_USB_USB_WWAN */ 65 | -------------------------------------------------------------------------------- /src/v6.1.4/Makefile: -------------------------------------------------------------------------------- 1 | KERNELDIR := /lib/modules/$(shell uname -r)/build 2 | PWD := $(shell pwd) 3 | 4 | obj-m+=./drivers/usb/serial/option.o 5 | obj-m+=./drivers/usb/serial/usb_wwan.o 6 | obj-m+=./drivers/usb/serial/qcserial.o 7 | 8 | modules: clean 9 | $(MAKE) -C $(KERNELDIR) M=$(PWD) modules 10 | 11 | install: modules 12 | cp $(PWD)/drivers/usb/serial/*.ko /lib/modules/$(shell uname -r)/kernel/drivers/usb/serial/ 13 | depmod 14 | 15 | clean: 16 | $(MAKE) -C $(KERNELDIR) M=$(PWD) clean -------------------------------------------------------------------------------- /src/v6.1.4/drivers/usb/serial/usb-wwan.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 */ 2 | /* 3 | * Definitions for USB serial mobile broadband cards 4 | */ 5 | 6 | #ifndef __LINUX_USB_USB_WWAN 7 | #define __LINUX_USB_USB_WWAN 8 | 9 | extern void usb_wwan_dtr_rts(struct usb_serial_port *port, int on); 10 | extern int usb_wwan_open(struct tty_struct *tty, struct usb_serial_port *port); 11 | extern void usb_wwan_close(struct usb_serial_port *port); 12 | extern int usb_wwan_port_probe(struct usb_serial_port *port); 13 | extern void usb_wwan_port_remove(struct usb_serial_port *port); 14 | extern unsigned int usb_wwan_write_room(struct tty_struct *tty); 15 | extern int usb_wwan_tiocmget(struct tty_struct *tty); 16 | extern int usb_wwan_tiocmset(struct tty_struct *tty, 17 | unsigned int set, unsigned int clear); 18 | extern int usb_wwan_write(struct tty_struct *tty, struct usb_serial_port *port, 19 | const unsigned char *buf, int count); 20 | extern unsigned int usb_wwan_chars_in_buffer(struct tty_struct *tty); 21 | #ifdef CONFIG_PM 22 | extern int usb_wwan_suspend(struct usb_serial *serial, pm_message_t message); 23 | extern int usb_wwan_resume(struct usb_serial *serial); 24 | #endif 25 | 26 | /* per port private data */ 27 | 28 | #define N_IN_URB 4 29 | #define N_OUT_URB 4 30 | #define IN_BUFLEN 4096 31 | #define OUT_BUFLEN 4096 32 | 33 | struct usb_wwan_intf_private { 34 | spinlock_t susp_lock; 35 | unsigned int suspended:1; 36 | unsigned int use_send_setup:1; 37 | unsigned int use_zlp:1; 38 | int in_flight; 39 | unsigned int open_ports; 40 | void *private; 41 | }; 42 | 43 | struct usb_wwan_port_private { 44 | /* Input endpoints and buffer for this port */ 45 | struct urb *in_urbs[N_IN_URB]; 46 | u8 *in_buffer[N_IN_URB]; 47 | /* Output endpoints and buffer for this port */ 48 | struct urb *out_urbs[N_OUT_URB]; 49 | u8 *out_buffer[N_OUT_URB]; 50 | unsigned long out_busy; /* Bit vector of URBs in use */ 51 | struct usb_anchor delayed; 52 | 53 | /* Settings for the port */ 54 | int rts_state; /* Handshaking pins (outputs) */ 55 | int dtr_state; 56 | int cts_state; /* Handshaking pins (inputs) */ 57 | int dsr_state; 58 | int dcd_state; 59 | int ri_state; 60 | 61 | unsigned long tx_start_time[N_OUT_URB]; 62 | }; 63 | 64 | #endif /* __LINUX_USB_USB_WWAN */ 65 | -------------------------------------------------------------------------------- /src/v6.1.51/Makefile: -------------------------------------------------------------------------------- 1 | KERNELDIR := /lib/modules/$(shell uname -r)/build 2 | PWD := $(shell pwd) 3 | 4 | obj-m+=./drivers/usb/serial/option.o 5 | obj-m+=./drivers/usb/serial/usb_wwan.o 6 | obj-m+=./drivers/usb/serial/qcserial.o 7 | 8 | modules: clean 9 | $(MAKE) -C $(KERNELDIR) M=$(PWD) modules 10 | 11 | install: modules 12 | cp $(PWD)/drivers/usb/serial/*.ko /lib/modules/$(shell uname -r)/kernel/drivers/usb/serial/ 13 | depmod 14 | 15 | clean: 16 | $(MAKE) -C $(KERNELDIR) M=$(PWD) clean -------------------------------------------------------------------------------- /src/v6.1.51/drivers/usb/serial/usb-wwan.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 */ 2 | /* 3 | * Definitions for USB serial mobile broadband cards 4 | */ 5 | 6 | #ifndef __LINUX_USB_USB_WWAN 7 | #define __LINUX_USB_USB_WWAN 8 | 9 | extern void usb_wwan_dtr_rts(struct usb_serial_port *port, int on); 10 | extern int usb_wwan_open(struct tty_struct *tty, struct usb_serial_port *port); 11 | extern void usb_wwan_close(struct usb_serial_port *port); 12 | extern int usb_wwan_port_probe(struct usb_serial_port *port); 13 | extern void usb_wwan_port_remove(struct usb_serial_port *port); 14 | extern unsigned int usb_wwan_write_room(struct tty_struct *tty); 15 | extern int usb_wwan_tiocmget(struct tty_struct *tty); 16 | extern int usb_wwan_tiocmset(struct tty_struct *tty, 17 | unsigned int set, unsigned int clear); 18 | extern int usb_wwan_write(struct tty_struct *tty, struct usb_serial_port *port, 19 | const unsigned char *buf, int count); 20 | extern unsigned int usb_wwan_chars_in_buffer(struct tty_struct *tty); 21 | #ifdef CONFIG_PM 22 | extern int usb_wwan_suspend(struct usb_serial *serial, pm_message_t message); 23 | extern int usb_wwan_resume(struct usb_serial *serial); 24 | #endif 25 | 26 | /* per port private data */ 27 | 28 | #define N_IN_URB 4 29 | #define N_OUT_URB 4 30 | #define IN_BUFLEN 4096 31 | #define OUT_BUFLEN 4096 32 | 33 | struct usb_wwan_intf_private { 34 | spinlock_t susp_lock; 35 | unsigned int suspended:1; 36 | unsigned int use_send_setup:1; 37 | unsigned int use_zlp:1; 38 | int in_flight; 39 | unsigned int open_ports; 40 | void *private; 41 | }; 42 | 43 | struct usb_wwan_port_private { 44 | /* Input endpoints and buffer for this port */ 45 | struct urb *in_urbs[N_IN_URB]; 46 | u8 *in_buffer[N_IN_URB]; 47 | /* Output endpoints and buffer for this port */ 48 | struct urb *out_urbs[N_OUT_URB]; 49 | u8 *out_buffer[N_OUT_URB]; 50 | unsigned long out_busy; /* Bit vector of URBs in use */ 51 | struct usb_anchor delayed; 52 | 53 | /* Settings for the port */ 54 | int rts_state; /* Handshaking pins (outputs) */ 55 | int dtr_state; 56 | int cts_state; /* Handshaking pins (inputs) */ 57 | int dsr_state; 58 | int dcd_state; 59 | int ri_state; 60 | 61 | unsigned long tx_start_time[N_OUT_URB]; 62 | }; 63 | 64 | #endif /* __LINUX_USB_USB_WWAN */ 65 | -------------------------------------------------------------------------------- /src/v6.2.1/Makefile: -------------------------------------------------------------------------------- 1 | KERNELDIR := /lib/modules/$(shell uname -r)/build 2 | PWD := $(shell pwd) 3 | 4 | obj-m+=./drivers/usb/serial/option.o 5 | obj-m+=./drivers/usb/serial/usb_wwan.o 6 | obj-m+=./drivers/usb/serial/qcserial.o 7 | 8 | modules: clean 9 | $(MAKE) -C $(KERNELDIR) M=$(PWD) modules 10 | 11 | install: modules 12 | cp $(PWD)/drivers/usb/serial/*.ko /lib/modules/$(shell uname -r)/kernel/drivers/usb/serial/ 13 | depmod 14 | 15 | clean: 16 | $(MAKE) -C $(KERNELDIR) M=$(PWD) clean -------------------------------------------------------------------------------- /src/v6.2.1/drivers/usb/serial/usb-wwan.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 */ 2 | /* 3 | * Definitions for USB serial mobile broadband cards 4 | */ 5 | 6 | #ifndef __LINUX_USB_USB_WWAN 7 | #define __LINUX_USB_USB_WWAN 8 | 9 | extern void usb_wwan_dtr_rts(struct usb_serial_port *port, int on); 10 | extern int usb_wwan_open(struct tty_struct *tty, struct usb_serial_port *port); 11 | extern void usb_wwan_close(struct usb_serial_port *port); 12 | extern int usb_wwan_port_probe(struct usb_serial_port *port); 13 | extern void usb_wwan_port_remove(struct usb_serial_port *port); 14 | extern unsigned int usb_wwan_write_room(struct tty_struct *tty); 15 | extern int usb_wwan_tiocmget(struct tty_struct *tty); 16 | extern int usb_wwan_tiocmset(struct tty_struct *tty, 17 | unsigned int set, unsigned int clear); 18 | extern int usb_wwan_write(struct tty_struct *tty, struct usb_serial_port *port, 19 | const unsigned char *buf, int count); 20 | extern unsigned int usb_wwan_chars_in_buffer(struct tty_struct *tty); 21 | #ifdef CONFIG_PM 22 | extern int usb_wwan_suspend(struct usb_serial *serial, pm_message_t message); 23 | extern int usb_wwan_resume(struct usb_serial *serial); 24 | #endif 25 | 26 | /* per port private data */ 27 | 28 | #define N_IN_URB 4 29 | #define N_OUT_URB 4 30 | #define IN_BUFLEN 4096 31 | #define OUT_BUFLEN 4096 32 | 33 | struct usb_wwan_intf_private { 34 | spinlock_t susp_lock; 35 | unsigned int suspended:1; 36 | unsigned int use_send_setup:1; 37 | unsigned int use_zlp:1; 38 | int in_flight; 39 | unsigned int open_ports; 40 | void *private; 41 | }; 42 | 43 | struct usb_wwan_port_private { 44 | /* Input endpoints and buffer for this port */ 45 | struct urb *in_urbs[N_IN_URB]; 46 | u8 *in_buffer[N_IN_URB]; 47 | /* Output endpoints and buffer for this port */ 48 | struct urb *out_urbs[N_OUT_URB]; 49 | u8 *out_buffer[N_OUT_URB]; 50 | unsigned long out_busy; /* Bit vector of URBs in use */ 51 | struct usb_anchor delayed; 52 | 53 | /* Settings for the port */ 54 | int rts_state; /* Handshaking pins (outputs) */ 55 | int dtr_state; 56 | int cts_state; /* Handshaking pins (inputs) */ 57 | int dsr_state; 58 | int dcd_state; 59 | int ri_state; 60 | 61 | unsigned long tx_start_time[N_OUT_URB]; 62 | }; 63 | 64 | #endif /* __LINUX_USB_USB_WWAN */ 65 | -------------------------------------------------------------------------------- /src/v6.2.11/Makefile: -------------------------------------------------------------------------------- 1 | KERNELDIR := /lib/modules/$(shell uname -r)/build 2 | PWD := $(shell pwd) 3 | 4 | obj-m+=./drivers/usb/serial/option.o 5 | obj-m+=./drivers/usb/serial/usb_wwan.o 6 | obj-m+=./drivers/usb/serial/qcserial.o 7 | 8 | modules: clean 9 | $(MAKE) -C $(KERNELDIR) M=$(PWD) modules 10 | 11 | install: modules 12 | cp $(PWD)/drivers/usb/serial/*.ko /lib/modules/$(shell uname -r)/kernel/drivers/usb/serial/ 13 | depmod 14 | 15 | clean: 16 | $(MAKE) -C $(KERNELDIR) M=$(PWD) clean -------------------------------------------------------------------------------- /src/v6.2.11/drivers/usb/serial/usb-wwan.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 */ 2 | /* 3 | * Definitions for USB serial mobile broadband cards 4 | */ 5 | 6 | #ifndef __LINUX_USB_USB_WWAN 7 | #define __LINUX_USB_USB_WWAN 8 | 9 | extern void usb_wwan_dtr_rts(struct usb_serial_port *port, int on); 10 | extern int usb_wwan_open(struct tty_struct *tty, struct usb_serial_port *port); 11 | extern void usb_wwan_close(struct usb_serial_port *port); 12 | extern int usb_wwan_port_probe(struct usb_serial_port *port); 13 | extern void usb_wwan_port_remove(struct usb_serial_port *port); 14 | extern unsigned int usb_wwan_write_room(struct tty_struct *tty); 15 | extern int usb_wwan_tiocmget(struct tty_struct *tty); 16 | extern int usb_wwan_tiocmset(struct tty_struct *tty, 17 | unsigned int set, unsigned int clear); 18 | extern int usb_wwan_write(struct tty_struct *tty, struct usb_serial_port *port, 19 | const unsigned char *buf, int count); 20 | extern unsigned int usb_wwan_chars_in_buffer(struct tty_struct *tty); 21 | #ifdef CONFIG_PM 22 | extern int usb_wwan_suspend(struct usb_serial *serial, pm_message_t message); 23 | extern int usb_wwan_resume(struct usb_serial *serial); 24 | #endif 25 | 26 | /* per port private data */ 27 | 28 | #define N_IN_URB 4 29 | #define N_OUT_URB 4 30 | #define IN_BUFLEN 4096 31 | #define OUT_BUFLEN 4096 32 | 33 | struct usb_wwan_intf_private { 34 | spinlock_t susp_lock; 35 | unsigned int suspended:1; 36 | unsigned int use_send_setup:1; 37 | unsigned int use_zlp:1; 38 | int in_flight; 39 | unsigned int open_ports; 40 | void *private; 41 | }; 42 | 43 | struct usb_wwan_port_private { 44 | /* Input endpoints and buffer for this port */ 45 | struct urb *in_urbs[N_IN_URB]; 46 | u8 *in_buffer[N_IN_URB]; 47 | /* Output endpoints and buffer for this port */ 48 | struct urb *out_urbs[N_OUT_URB]; 49 | u8 *out_buffer[N_OUT_URB]; 50 | unsigned long out_busy; /* Bit vector of URBs in use */ 51 | struct usb_anchor delayed; 52 | 53 | /* Settings for the port */ 54 | int rts_state; /* Handshaking pins (outputs) */ 55 | int dtr_state; 56 | int cts_state; /* Handshaking pins (inputs) */ 57 | int dsr_state; 58 | int dcd_state; 59 | int ri_state; 60 | 61 | unsigned long tx_start_time[N_OUT_URB]; 62 | }; 63 | 64 | #endif /* __LINUX_USB_USB_WWAN */ 65 | -------------------------------------------------------------------------------- /src/v6.3.1/Makefile: -------------------------------------------------------------------------------- 1 | KERNELDIR := /lib/modules/$(shell uname -r)/build 2 | PWD := $(shell pwd) 3 | 4 | obj-m+=./drivers/usb/serial/option.o 5 | obj-m+=./drivers/usb/serial/usb_wwan.o 6 | obj-m+=./drivers/usb/serial/qcserial.o 7 | 8 | modules: clean 9 | $(MAKE) -C $(KERNELDIR) M=$(PWD) modules 10 | 11 | install: modules 12 | cp $(PWD)/drivers/usb/serial/*.ko /lib/modules/$(shell uname -r)/kernel/drivers/usb/serial/ 13 | depmod 14 | 15 | clean: 16 | $(MAKE) -C $(KERNELDIR) M=$(PWD) clean -------------------------------------------------------------------------------- /src/v6.3.1/drivers/usb/serial/usb-wwan.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 */ 2 | /* 3 | * Definitions for USB serial mobile broadband cards 4 | */ 5 | 6 | #ifndef __LINUX_USB_USB_WWAN 7 | #define __LINUX_USB_USB_WWAN 8 | 9 | extern void usb_wwan_dtr_rts(struct usb_serial_port *port, int on); 10 | extern int usb_wwan_open(struct tty_struct *tty, struct usb_serial_port *port); 11 | extern void usb_wwan_close(struct usb_serial_port *port); 12 | extern int usb_wwan_port_probe(struct usb_serial_port *port); 13 | extern void usb_wwan_port_remove(struct usb_serial_port *port); 14 | extern unsigned int usb_wwan_write_room(struct tty_struct *tty); 15 | extern int usb_wwan_tiocmget(struct tty_struct *tty); 16 | extern int usb_wwan_tiocmset(struct tty_struct *tty, 17 | unsigned int set, unsigned int clear); 18 | extern int usb_wwan_write(struct tty_struct *tty, struct usb_serial_port *port, 19 | const unsigned char *buf, int count); 20 | extern unsigned int usb_wwan_chars_in_buffer(struct tty_struct *tty); 21 | #ifdef CONFIG_PM 22 | extern int usb_wwan_suspend(struct usb_serial *serial, pm_message_t message); 23 | extern int usb_wwan_resume(struct usb_serial *serial); 24 | #endif 25 | 26 | /* per port private data */ 27 | 28 | #define N_IN_URB 4 29 | #define N_OUT_URB 4 30 | #define IN_BUFLEN 4096 31 | #define OUT_BUFLEN 4096 32 | 33 | struct usb_wwan_intf_private { 34 | spinlock_t susp_lock; 35 | unsigned int suspended:1; 36 | unsigned int use_send_setup:1; 37 | unsigned int use_zlp:1; 38 | int in_flight; 39 | unsigned int open_ports; 40 | void *private; 41 | }; 42 | 43 | struct usb_wwan_port_private { 44 | /* Input endpoints and buffer for this port */ 45 | struct urb *in_urbs[N_IN_URB]; 46 | u8 *in_buffer[N_IN_URB]; 47 | /* Output endpoints and buffer for this port */ 48 | struct urb *out_urbs[N_OUT_URB]; 49 | u8 *out_buffer[N_OUT_URB]; 50 | unsigned long out_busy; /* Bit vector of URBs in use */ 51 | struct usb_anchor delayed; 52 | 53 | /* Settings for the port */ 54 | int rts_state; /* Handshaking pins (outputs) */ 55 | int dtr_state; 56 | int cts_state; /* Handshaking pins (inputs) */ 57 | int dsr_state; 58 | int dcd_state; 59 | int ri_state; 60 | 61 | unsigned long tx_start_time[N_OUT_URB]; 62 | }; 63 | 64 | #endif /* __LINUX_USB_USB_WWAN */ 65 | -------------------------------------------------------------------------------- /src/v6.3.11/Makefile: -------------------------------------------------------------------------------- 1 | KERNELDIR := /lib/modules/$(shell uname -r)/build 2 | PWD := $(shell pwd) 3 | 4 | obj-m+=./drivers/usb/serial/option.o 5 | obj-m+=./drivers/usb/serial/usb_wwan.o 6 | obj-m+=./drivers/usb/serial/qcserial.o 7 | 8 | modules: clean 9 | $(MAKE) -C $(KERNELDIR) M=$(PWD) modules 10 | 11 | install: modules 12 | cp $(PWD)/drivers/usb/serial/*.ko /lib/modules/$(shell uname -r)/kernel/drivers/usb/serial/ 13 | depmod 14 | 15 | clean: 16 | $(MAKE) -C $(KERNELDIR) M=$(PWD) clean -------------------------------------------------------------------------------- /src/v6.3.11/drivers/usb/serial/usb-wwan.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 */ 2 | /* 3 | * Definitions for USB serial mobile broadband cards 4 | */ 5 | 6 | #ifndef __LINUX_USB_USB_WWAN 7 | #define __LINUX_USB_USB_WWAN 8 | 9 | extern void usb_wwan_dtr_rts(struct usb_serial_port *port, int on); 10 | extern int usb_wwan_open(struct tty_struct *tty, struct usb_serial_port *port); 11 | extern void usb_wwan_close(struct usb_serial_port *port); 12 | extern int usb_wwan_port_probe(struct usb_serial_port *port); 13 | extern void usb_wwan_port_remove(struct usb_serial_port *port); 14 | extern unsigned int usb_wwan_write_room(struct tty_struct *tty); 15 | extern int usb_wwan_tiocmget(struct tty_struct *tty); 16 | extern int usb_wwan_tiocmset(struct tty_struct *tty, 17 | unsigned int set, unsigned int clear); 18 | extern int usb_wwan_write(struct tty_struct *tty, struct usb_serial_port *port, 19 | const unsigned char *buf, int count); 20 | extern unsigned int usb_wwan_chars_in_buffer(struct tty_struct *tty); 21 | #ifdef CONFIG_PM 22 | extern int usb_wwan_suspend(struct usb_serial *serial, pm_message_t message); 23 | extern int usb_wwan_resume(struct usb_serial *serial); 24 | #endif 25 | 26 | /* per port private data */ 27 | 28 | #define N_IN_URB 4 29 | #define N_OUT_URB 4 30 | #define IN_BUFLEN 4096 31 | #define OUT_BUFLEN 4096 32 | 33 | struct usb_wwan_intf_private { 34 | spinlock_t susp_lock; 35 | unsigned int suspended:1; 36 | unsigned int use_send_setup:1; 37 | unsigned int use_zlp:1; 38 | int in_flight; 39 | unsigned int open_ports; 40 | void *private; 41 | }; 42 | 43 | struct usb_wwan_port_private { 44 | /* Input endpoints and buffer for this port */ 45 | struct urb *in_urbs[N_IN_URB]; 46 | u8 *in_buffer[N_IN_URB]; 47 | /* Output endpoints and buffer for this port */ 48 | struct urb *out_urbs[N_OUT_URB]; 49 | u8 *out_buffer[N_OUT_URB]; 50 | unsigned long out_busy; /* Bit vector of URBs in use */ 51 | struct usb_anchor delayed; 52 | 53 | /* Settings for the port */ 54 | int rts_state; /* Handshaking pins (outputs) */ 55 | int dtr_state; 56 | int cts_state; /* Handshaking pins (inputs) */ 57 | int dsr_state; 58 | int dcd_state; 59 | int ri_state; 60 | 61 | unsigned long tx_start_time[N_OUT_URB]; 62 | }; 63 | 64 | #endif /* __LINUX_USB_USB_WWAN */ 65 | -------------------------------------------------------------------------------- /src/v6.4.1/Makefile: -------------------------------------------------------------------------------- 1 | KERNELDIR := /lib/modules/$(shell uname -r)/build 2 | PWD := $(shell pwd) 3 | 4 | obj-m+=./drivers/usb/serial/option.o 5 | obj-m+=./drivers/usb/serial/usb_wwan.o 6 | obj-m+=./drivers/usb/serial/qcserial.o 7 | 8 | modules: clean 9 | $(MAKE) -C $(KERNELDIR) M=$(PWD) modules 10 | 11 | install: modules 12 | cp $(PWD)/drivers/usb/serial/*.ko /lib/modules/$(shell uname -r)/kernel/drivers/usb/serial/ 13 | depmod 14 | 15 | clean: 16 | $(MAKE) -C $(KERNELDIR) M=$(PWD) clean -------------------------------------------------------------------------------- /src/v6.4.1/drivers/usb/serial/usb-wwan.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 */ 2 | /* 3 | * Definitions for USB serial mobile broadband cards 4 | */ 5 | 6 | #ifndef __LINUX_USB_USB_WWAN 7 | #define __LINUX_USB_USB_WWAN 8 | 9 | extern void usb_wwan_dtr_rts(struct usb_serial_port *port, int on); 10 | extern int usb_wwan_open(struct tty_struct *tty, struct usb_serial_port *port); 11 | extern void usb_wwan_close(struct usb_serial_port *port); 12 | extern int usb_wwan_port_probe(struct usb_serial_port *port); 13 | extern void usb_wwan_port_remove(struct usb_serial_port *port); 14 | extern unsigned int usb_wwan_write_room(struct tty_struct *tty); 15 | extern int usb_wwan_tiocmget(struct tty_struct *tty); 16 | extern int usb_wwan_tiocmset(struct tty_struct *tty, 17 | unsigned int set, unsigned int clear); 18 | extern int usb_wwan_write(struct tty_struct *tty, struct usb_serial_port *port, 19 | const unsigned char *buf, int count); 20 | extern unsigned int usb_wwan_chars_in_buffer(struct tty_struct *tty); 21 | #ifdef CONFIG_PM 22 | extern int usb_wwan_suspend(struct usb_serial *serial, pm_message_t message); 23 | extern int usb_wwan_resume(struct usb_serial *serial); 24 | #endif 25 | 26 | /* per port private data */ 27 | 28 | #define N_IN_URB 4 29 | #define N_OUT_URB 4 30 | #define IN_BUFLEN 4096 31 | #define OUT_BUFLEN 4096 32 | 33 | struct usb_wwan_intf_private { 34 | spinlock_t susp_lock; 35 | unsigned int suspended:1; 36 | unsigned int use_send_setup:1; 37 | unsigned int use_zlp:1; 38 | int in_flight; 39 | unsigned int open_ports; 40 | void *private; 41 | }; 42 | 43 | struct usb_wwan_port_private { 44 | /* Input endpoints and buffer for this port */ 45 | struct urb *in_urbs[N_IN_URB]; 46 | u8 *in_buffer[N_IN_URB]; 47 | /* Output endpoints and buffer for this port */ 48 | struct urb *out_urbs[N_OUT_URB]; 49 | u8 *out_buffer[N_OUT_URB]; 50 | unsigned long out_busy; /* Bit vector of URBs in use */ 51 | struct usb_anchor delayed; 52 | 53 | /* Settings for the port */ 54 | int rts_state; /* Handshaking pins (outputs) */ 55 | int dtr_state; 56 | int cts_state; /* Handshaking pins (inputs) */ 57 | int dsr_state; 58 | int dcd_state; 59 | int ri_state; 60 | 61 | unsigned long tx_start_time[N_OUT_URB]; 62 | }; 63 | 64 | #endif /* __LINUX_USB_USB_WWAN */ 65 | -------------------------------------------------------------------------------- /src/v6.4.11/Makefile: -------------------------------------------------------------------------------- 1 | KERNELDIR := /lib/modules/$(shell uname -r)/build 2 | PWD := $(shell pwd) 3 | 4 | obj-m+=./drivers/usb/serial/option.o 5 | obj-m+=./drivers/usb/serial/usb_wwan.o 6 | obj-m+=./drivers/usb/serial/qcserial.o 7 | 8 | modules: clean 9 | $(MAKE) -C $(KERNELDIR) M=$(PWD) modules 10 | 11 | install: modules 12 | cp $(PWD)/drivers/usb/serial/*.ko /lib/modules/$(shell uname -r)/kernel/drivers/usb/serial/ 13 | depmod 14 | 15 | clean: 16 | $(MAKE) -C $(KERNELDIR) M=$(PWD) clean -------------------------------------------------------------------------------- /src/v6.4.11/drivers/usb/serial/usb-wwan.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 */ 2 | /* 3 | * Definitions for USB serial mobile broadband cards 4 | */ 5 | 6 | #ifndef __LINUX_USB_USB_WWAN 7 | #define __LINUX_USB_USB_WWAN 8 | 9 | extern void usb_wwan_dtr_rts(struct usb_serial_port *port, int on); 10 | extern int usb_wwan_open(struct tty_struct *tty, struct usb_serial_port *port); 11 | extern void usb_wwan_close(struct usb_serial_port *port); 12 | extern int usb_wwan_port_probe(struct usb_serial_port *port); 13 | extern void usb_wwan_port_remove(struct usb_serial_port *port); 14 | extern unsigned int usb_wwan_write_room(struct tty_struct *tty); 15 | extern int usb_wwan_tiocmget(struct tty_struct *tty); 16 | extern int usb_wwan_tiocmset(struct tty_struct *tty, 17 | unsigned int set, unsigned int clear); 18 | extern int usb_wwan_write(struct tty_struct *tty, struct usb_serial_port *port, 19 | const unsigned char *buf, int count); 20 | extern unsigned int usb_wwan_chars_in_buffer(struct tty_struct *tty); 21 | #ifdef CONFIG_PM 22 | extern int usb_wwan_suspend(struct usb_serial *serial, pm_message_t message); 23 | extern int usb_wwan_resume(struct usb_serial *serial); 24 | #endif 25 | 26 | /* per port private data */ 27 | 28 | #define N_IN_URB 4 29 | #define N_OUT_URB 4 30 | #define IN_BUFLEN 4096 31 | #define OUT_BUFLEN 4096 32 | 33 | struct usb_wwan_intf_private { 34 | spinlock_t susp_lock; 35 | unsigned int suspended:1; 36 | unsigned int use_send_setup:1; 37 | unsigned int use_zlp:1; 38 | int in_flight; 39 | unsigned int open_ports; 40 | void *private; 41 | }; 42 | 43 | struct usb_wwan_port_private { 44 | /* Input endpoints and buffer for this port */ 45 | struct urb *in_urbs[N_IN_URB]; 46 | u8 *in_buffer[N_IN_URB]; 47 | /* Output endpoints and buffer for this port */ 48 | struct urb *out_urbs[N_OUT_URB]; 49 | u8 *out_buffer[N_OUT_URB]; 50 | unsigned long out_busy; /* Bit vector of URBs in use */ 51 | struct usb_anchor delayed; 52 | 53 | /* Settings for the port */ 54 | int rts_state; /* Handshaking pins (outputs) */ 55 | int dtr_state; 56 | int cts_state; /* Handshaking pins (inputs) */ 57 | int dsr_state; 58 | int dcd_state; 59 | int ri_state; 60 | 61 | unsigned long tx_start_time[N_OUT_URB]; 62 | }; 63 | 64 | #endif /* __LINUX_USB_USB_WWAN */ 65 | -------------------------------------------------------------------------------- /src/v6.5.1/Makefile: -------------------------------------------------------------------------------- 1 | KERNELDIR := /lib/modules/$(shell uname -r)/build 2 | PWD := $(shell pwd) 3 | 4 | obj-m+=./drivers/usb/serial/option.o 5 | obj-m+=./drivers/usb/serial/usb_wwan.o 6 | obj-m+=./drivers/usb/serial/qcserial.o 7 | 8 | modules: clean 9 | $(MAKE) -C $(KERNELDIR) M=$(PWD) modules 10 | 11 | install: modules 12 | cp $(PWD)/drivers/usb/serial/*.ko /lib/modules/$(shell uname -r)/kernel/drivers/usb/serial/ 13 | depmod 14 | 15 | clean: 16 | $(MAKE) -C $(KERNELDIR) M=$(PWD) clean -------------------------------------------------------------------------------- /src/v6.5.1/drivers/usb/serial/usb-wwan.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 */ 2 | /* 3 | * Definitions for USB serial mobile broadband cards 4 | */ 5 | 6 | #ifndef __LINUX_USB_USB_WWAN 7 | #define __LINUX_USB_USB_WWAN 8 | 9 | extern void usb_wwan_dtr_rts(struct usb_serial_port *port, int on); 10 | extern int usb_wwan_open(struct tty_struct *tty, struct usb_serial_port *port); 11 | extern void usb_wwan_close(struct usb_serial_port *port); 12 | extern int usb_wwan_port_probe(struct usb_serial_port *port); 13 | extern void usb_wwan_port_remove(struct usb_serial_port *port); 14 | extern unsigned int usb_wwan_write_room(struct tty_struct *tty); 15 | extern int usb_wwan_tiocmget(struct tty_struct *tty); 16 | extern int usb_wwan_tiocmset(struct tty_struct *tty, 17 | unsigned int set, unsigned int clear); 18 | extern int usb_wwan_write(struct tty_struct *tty, struct usb_serial_port *port, 19 | const unsigned char *buf, int count); 20 | extern unsigned int usb_wwan_chars_in_buffer(struct tty_struct *tty); 21 | #ifdef CONFIG_PM 22 | extern int usb_wwan_suspend(struct usb_serial *serial, pm_message_t message); 23 | extern int usb_wwan_resume(struct usb_serial *serial); 24 | #endif 25 | 26 | /* per port private data */ 27 | 28 | #define N_IN_URB 4 29 | #define N_OUT_URB 4 30 | #define IN_BUFLEN 4096 31 | #define OUT_BUFLEN 4096 32 | 33 | struct usb_wwan_intf_private { 34 | spinlock_t susp_lock; 35 | unsigned int suspended:1; 36 | unsigned int use_send_setup:1; 37 | unsigned int use_zlp:1; 38 | int in_flight; 39 | unsigned int open_ports; 40 | void *private; 41 | }; 42 | 43 | struct usb_wwan_port_private { 44 | /* Input endpoints and buffer for this port */ 45 | struct urb *in_urbs[N_IN_URB]; 46 | u8 *in_buffer[N_IN_URB]; 47 | /* Output endpoints and buffer for this port */ 48 | struct urb *out_urbs[N_OUT_URB]; 49 | u8 *out_buffer[N_OUT_URB]; 50 | unsigned long out_busy; /* Bit vector of URBs in use */ 51 | struct usb_anchor delayed; 52 | 53 | /* Settings for the port */ 54 | int rts_state; /* Handshaking pins (outputs) */ 55 | int dtr_state; 56 | int cts_state; /* Handshaking pins (inputs) */ 57 | int dsr_state; 58 | int dcd_state; 59 | int ri_state; 60 | 61 | unsigned long tx_start_time[N_OUT_URB]; 62 | }; 63 | 64 | #endif /* __LINUX_USB_USB_WWAN */ 65 | --------------------------------------------------------------------------------