how to support EM7565 modem
Sebastian Sjoholm
sebastian.sjoholm at gmail.com
Fri Dec 8 03:42:00 UTC 2017
>
> On Dec 7, 2017, at 22:33 , Reinhard Speyerer <rspmn at arcor.de> wrote:
>
> the EM7565 I received yesterday has firmware version
> SWI9X50C_01.00.02.00 6ff48a jenkins 2017/09/29 05:54:26 and also shows
> the AT!USBCOMP?/QMI interface mismatches described by Sebastian. Don't
> know if 01.00.02.00 (ATI reports IMEI SV: 2) still should be
> considered an early firmware version.
This is same version as my EM7565 arrived with.
I associate the “jenkins” to the CI framework, which makes me thinking that this might still be work in progress on the firmware.
>
> When trying to use the GPS port of the EM7565 I noticed that it would
> not send NMEA data after activating them with echo '$GPS_START' >
> /dev/ttyUSB1 when only using {DEVICE_SWI(0x1199, 0x9091)} in the
> qcserial driver. At least for firmware version 01.00.02.00 send_setup
> on USB interface 2 has to be added too like this
>
> --- drivers/usb/serial/qcserial.c.orig 2017-07-27 18:10:39.000000000 -0400
> +++ drivers/usb/serial/qcserial.c 2017-12-07 15:22:05.106625551 -0500
> @@ -30,6 +30,7 @@ enum qcserial_layouts {
> QCSERIAL_G1K = 1, /* Gobi 1000 */
> QCSERIAL_SWI = 2, /* Sierra Wireless */
> QCSERIAL_HWI = 3, /* Huawei */
> + QCSERIAL_SW2 = 4, /* SWI with send_setup for GPS port too */
> };
>
> #define DEVICE_G1K(v, p) \
> @@ -38,6 +39,8 @@ enum qcserial_layouts {
> USB_DEVICE(v, p), .driver_info = QCSERIAL_SWI
> #define DEVICE_HWI(v, p) \
> USB_DEVICE(v, p), .driver_info = QCSERIAL_HWI
> +#define DEVICE_SW2(v, p) \
> + USB_DEVICE(v, p), .driver_info = QCSERIAL_SW2
>
> static const struct usb_device_id id_table[] = {
> /* Gobi 1000 devices */
> @@ -165,6 +168,8 @@ static const struct usb_device_id id_tab
> {DEVICE_SWI(0x1199, 0x9079)}, /* Sierra Wireless EM74xx */
> {DEVICE_SWI(0x1199, 0x907a)}, /* Sierra Wireless EM74xx QDL */
> {DEVICE_SWI(0x1199, 0x907b)}, /* Sierra Wireless EM74xx */
> + {DEVICE_SWI(0x1199, 0x9090)}, /* Sierra Wireless EM7565 QDL */
> + {DEVICE_SW2(0x1199, 0x9091)}, /* Sierra Wireless EM7565 */
> {DEVICE_SWI(0x413c, 0x81a2)}, /* Dell Wireless 5806 Gobi(TM) 4G LTE Mobile Broadband Card */
> {DEVICE_SWI(0x413c, 0x81a3)}, /* Dell Wireless 5570 HSPA+ (42Mbps) Mobile Broadband Card */
> {DEVICE_SWI(0x413c, 0x81a4)}, /* Dell Wireless 5570e HSPA+ (42Mbps) Mobile Broadband Card */
> @@ -328,6 +333,7 @@ static int qcprobe(struct usb_serial *se
> }
> break;
> case QCSERIAL_SWI:
> + case QCSERIAL_SW2:
> /*
> * Sierra Wireless layout:
> * 0: DM/DIAG (use libqcdm from ModemManager for communication)
> @@ -341,6 +347,8 @@ static int qcprobe(struct usb_serial *se
> break;
> case 2:
> dev_dbg(dev, "NMEA GPS interface found\n");
> + if (id->driver_info == QCSERIAL_SW2)
> + sendsetup = true;
> break;
> case 3:
> dev_dbg(dev, "Modem port found\n");
>
> to make the GPS port work.
>
> Regards,
> Reinhard
I have not forwarded the patch yet, and I guess that was good, since it seems that we need to add more, right?
-Sebastian
More information about the libqmi-devel
mailing list