On 23/11/17, Bjørn Mork wrote:
> This is also consistent with the Windows drivers.  And being a proper
> CDC ECM class function, it should Just Work with the cdc_ether driver.
> Except for the "RmNet" part, which I guess is the reason you want to
> add this device to qmi_wwan.  Which is fine, *if* we can be reasonably
> certain that it does support QMI.  The description string is a strong
> indication, but it would be even better to know this was tested.
> 
> But adding this to qmi_wwan is not enough.  You also need to add a
> blacklist entry to cdc_ether.  Both should use a device+class match,
> similar to the Novatel entries.  This will make the interface numbering
> irrelevant, and will allow a single entry to match both QMI/rmnet
> functions.


I tried the following changes but I still can't get the PLS8 to work
with kernel 4.14. Here some more information what I have and what I did.

The Module is in this Revsion:

Cinterion
PLS8-E  REVISION 02.011
A-REVISION 01.010.19

--- a/drivers/net/usb/qmi_wwan.c
+++ b/drivers/net/usb/qmi_wwan.c
@@ -779,6 +779,7 @@ static const struct usb_device_id products[] = {
        {QMI_FIXED_INTF(0x0b3c, 0xc00a, 6)},    /* Olivetti Olicard 160 */
        {QMI_FIXED_INTF(0x0b3c, 0xc00b, 4)},    /* Olivetti Olicard 500 */
        {QMI_FIXED_INTF(0x1e2d, 0x0060, 4)},    /* Cinterion PLxx */
+       {QMI_FIXED_INTF(0x1e2d, 0x0061, 3)},    /* Cinterion PLS8 */
        {QMI_FIXED_INTF(0x1e2d, 0x0053, 4)},    /* Cinterion PHxx,PXxx */
        {QMI_FIXED_INTF(0x413c, 0x81a2, 8)},    /* Dell Wireless 5806 Gobi(TM) 
4G LTE Mobile Broadband Card */
        {QMI_FIXED_INTF(0x413c, 0x81a3, 8)},    /* Dell Wireless 5570 HSPA+ 
(42Mbps) Mobile Broadband Card */

I tried the value 4 instead of 3. here but both won't work. In my
working old setup with Kernel 3.9.11 the value is 3. and this was the only
change back then.

+++ b/drivers/net/usb/cdc_ether.c
@@ -562,6 +562,7 @@ static void usbnet_cdc_zte_status(struct usbnet *dev, 
struct urb *urb)
 #define MICROSOFT_VENDOR_ID    0x045e
 #define UBLOX_VENDOR_ID                0x1546
 #define TPLINK_VENDOR_ID       0x2357
+#define CINTERION_VENDOR_ID    0x1e2d
 
 static const struct usb_device_id      products[] = {
 /* BLACKLIST !!
@@ -821,6 +822,13 @@ static void usbnet_cdc_zte_status(struct usbnet *dev, 
struct urb *urb)
        .driver_info = 0,
 },
 
+/* Cinterion PLS8 - handled by qmi_wwan */
+{
+       USB_DEVICE_AND_INTERFACE_INFO(CINTERION_VENDOR_ID, 0x0061, 
USB_CLASS_COMM,
+                       USB_CDC_SUBCLASS_ETHERNET, USB_CDC_PROTO_NONE),
+       .driver_info = 0,
+},

This change wasn't necessary in my old setup with the PLS8. Can you
explain me why its needed now?


This is the output I get with dmesg.

[  747.989455] usb 2-1: USB disconnect, device number 11
[  748.694818] usb 2-1: new high-speed USB device number 12 using ci_hdrc
[  748.856821] usb 2-1: New USB device found, idVendor=1e2d, idProduct=0061
[  748.863712] usb 2-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[  748.871112] usb 2-1: Product: LTE Modem
[  748.875109] usb 2-1: Manufacturer: Cinterion
[  748.895201] cdc_acm 2-1:1.0: ttyACM0: USB ACM device
[  748.915099] cdc_acm 2-1:1.2: ttyACM1: USB ACM device
[  748.933204] cdc_acm 2-1:1.4: ttyACM2: USB ACM device
[  748.952976] cdc_acm 2-1:1.6: ttyACM3: USB ACM device

Then I try to connect to /dev/ttyACM1 to execute a "ati1" but without
success.

Best Regards,

Oliver

Reply via email to