Automatic Activation, Hotplug and UDEV, Configuration
chipsharpdotcom
Posts: 15
Joined: 25 Mar 2017, 03:01

Cannot Get LT4211 to connect

Post by chipsharpdotcom » 19 Apr 2018, 19:17

I'm a long-time Linux user that has run into a usage blocker and my research indicates that this might be the place to find help.

I'm using an HP EliteBook Folio 9480m laptop and it has an HP LT4211 internal mobile WWAN card. Allegedly usb-modeswitch is supposed to change the configuration so the device will be recognized as a mobile broadband device. But that doesn't seem to be happening. Originally I thought it was a problem with the QCSerial kernel module, but in talking to the maintainer of that package, we determined that I needed usb-modeswitch to do something more than what it currently is.

I wrote up a brief synopsis of my previous troubleshooting efforts to get this device working here: https://forums.fedoraforum.org/showthre ... figuration

Now I'm to the point where I'm trying to get usb-modeswitch to get the card online, and I don't know/understand this particular tool enough to get to the next step.

EDIT: Added the output of lsusb -vd "03f0:911d" as an attachment so formatting would be maintained.

My ask is two-fold:
1.) Help me get the card to the point where it will pull an IP address and be usable.
2.) Get Gnome NetworkManager to recognize the device as a mobile broadband device and be manageable through that interface. (I understand and expect that I will probably have to go to a different forum somewhere else for this.)

[edit by Josh to inline the lsusb output]

Code: Select all

lsusb -vd "03f0:911d"

Bus 002 Device 009: ID 03f0:911d Hewlett-Packard 
Couldn't open device, some information will be missing
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass          239 Miscellaneous Device
  bDeviceSubClass         2 ?
  bDeviceProtocol         1 Interface Association
  bMaxPacketSize0        64
  idVendor           0x03f0 Hewlett-Packard
  idProduct          0x911d 
  bcdDevice            2.32
  iManufacturer           1 
  iProduct                2 
  iSerial                 3 
  bNumConfigurations      3
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength          209
    bNumInterfaces          5
    bConfigurationValue     1
    iConfiguration          0 
    bmAttributes         0xe0
      Self Powered
      Remote Wakeup
    MaxPower              500mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass    255 Vendor Specific Subclass
      bInterfaceProtocol    255 Vendor Specific Protocol
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x01  EP 1 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       0
      bNumEndpoints           3
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass    255 Vendor Specific Subclass
      bInterfaceProtocol    255 Vendor Specific Protocol
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x83  EP 3 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0008  1x 8 bytes
        bInterval               9
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x82  EP 2 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x02  EP 2 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        2
      bAlternateSetting       0
      bNumEndpoints           3
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass      0 
      bInterfaceProtocol      0 
      iInterface              0 
      ** UNRECOGNIZED:  05 24 00 10 01
      ** UNRECOGNIZED:  05 24 01 00 00
      ** UNRECOGNIZED:  04 24 02 02
      ** UNRECOGNIZED:  05 24 06 00 00
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x85  EP 5 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x000a  1x 10 bytes
        bInterval               9
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x84  EP 4 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x03  EP 3 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        3
      bAlternateSetting       0
      bNumEndpoints           3
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass      0 
      bInterfaceProtocol      0 
      iInterface              0 
      ** UNRECOGNIZED:  05 24 00 10 01
      ** UNRECOGNIZED:  05 24 01 00 00
      ** UNRECOGNIZED:  04 24 02 02
      ** UNRECOGNIZED:  05 24 06 00 00
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x87  EP 7 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x000a  1x 10 bytes
        bInterval               9
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x86  EP 6 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x04  EP 4 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        4
      bAlternateSetting       0
      bNumEndpoints           3
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass      0 
      bInterfaceProtocol      0 
      iInterface              0 
      ** UNRECOGNIZED:  05 24 00 10 01
      ** UNRECOGNIZED:  05 24 01 00 00
      ** UNRECOGNIZED:  04 24 02 02
      ** UNRECOGNIZED:  05 24 06 00 00
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x89  EP 9 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x000a  1x 10 bytes
        bInterval               9
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x88  EP 8 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x05  EP 5 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           80
    bNumInterfaces          2
    bConfigurationValue     2
    iConfiguration          0 
    bmAttributes         0xe0
      Self Powered
      Remote Wakeup
    MaxPower              500mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         2 Communications
      bInterfaceSubClass      6 Ethernet Networking
      bInterfaceProtocol      0 
      iInterface              6 
      CDC Header:
        bcdCDC               1.10
      CDC Union:
        bMasterInterface        0
        bSlaveInterface         1 
      CDC Ethernet:
        iMacAddress                      8 (??)
        bmEthernetStatistics    0x00000000
        wMaxSegmentSize               1514
        wNumberMCFilters            0x0000
        bNumberPowerFilters              0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x82  EP 2 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0010  1x 16 bytes
        bInterval               9
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       0
      bNumEndpoints           0
      bInterfaceClass        10 CDC Data
      bInterfaceSubClass      0 Unused
      bInterfaceProtocol      0 
      iInterface              0 
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       1
      bNumEndpoints           2
      bInterfaceClass        10 CDC Data
      bInterfaceSubClass      0 Unused
      bInterfaceProtocol      0 
      iInterface              7 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x01  EP 1 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength          111
    bNumInterfaces          3
    bConfigurationValue     3
    iConfiguration          0 
    bmAttributes         0xe0
      Self Powered
      Remote Wakeup
    MaxPower              500mA
    Interface Association:
      bLength                 8
      bDescriptorType        11
      bFirstInterface         0
      bInterfaceCount         2
      bFunctionClass          2 Communications
      bFunctionSubClass      14 
      bFunctionProtocol       0 
      iFunction               0 
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         2 Communications
      bInterfaceSubClass     14 
      bInterfaceProtocol      0 
      iInterface              9 
      CDC Header:
        bcdCDC               1.10
      CDC Union:
        bMasterInterface        0
        bSlaveInterface         1 
      CDC MBIM:
        bcdMBIMVersion       1.00
        wMaxControlMessage   4096
        bNumberFilters       32
        bMaxFilterSize       128
        wMaxSegmentSize      4064
        bmNetworkCapabilities 0x20
          8-byte ntb input size
      UNRECOGNIZED CDC:  08 24 1c 00 01 40 dc 05
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x82  EP 2 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               9
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       0
      bNumEndpoints           0
      bInterfaceClass        10 CDC Data
      bInterfaceSubClass      0 Unused
      bInterfaceProtocol      2 
      iInterface             10 
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       1
      bNumEndpoints           2
      bInterfaceClass        10 CDC Data
      bInterfaceSubClass      0 Unused
      bInterfaceProtocol      2 
      iInterface             10 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x01  EP 1 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        2
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass    255 Vendor Specific Subclass
      bInterfaceProtocol    255 Vendor Specific Protocol
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x83  EP 3 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               9
Attachments
lsusb_vd_03f0_911d.txt
(14.83 KiB) Downloaded 249 times

Josh
Site Admin
Posts: 6569
Joined: 03 Nov 2007, 00:30

Re: Cannot Get LT4211 to connect

Post by Josh » 19 Apr 2018, 20:56

"Configuration=0" means that usb_modeswitch relies on autodetecting the presence of an MBIM kernel driver - or the lack of it. If you have a fairly new kernel but the autodetection somehow fails, you can also set a fixed target configuration to reach the MBIM setup. This would be "Configuration=3" in your case.

To see what exactly usb_modeswitch is doing you can enable logging in /etc/usb_modeswitch.conf to get a quite verbose log describing every step. I suggest trying that first, without changing any parameters.

chipsharpdotcom
Posts: 15
Joined: 25 Mar 2017, 03:01

Re: Cannot Get LT4211 to connect

Post by chipsharpdotcom » 19 Apr 2018, 22:18

Here's my log output.

Code: Select all

[csharp@chipsharplnx ~]$ cat /var/log/usb_modeswitch_2-6 

USB_ModeSwitch log from Thu Apr 19 16:15:29 EDT 2018

Use global config file: /etc/usb_modeswitch.conf
Raw parameters: --switch-mode 2-6
Use top device dir /sys/bus/usb/devices/2-6
Check class of first interface ...
 Interface 0 class is 02.

----------------
USB values from sysfs:
  manufacturer	HP
  product	HP lt4211 Gobi 4G Module
  serial	
----------------
ConfigList: /usr/share/usb_modeswitch/03f0:911d
SCSI attributes not needed, move on
Check config: /usr/share/usb_modeswitch/03f0:911d
! matched. Read config data
Device may have an MBIM configuration, check driver ...
 driver for MBIM devices is available
Find MBIM configuration number ...
Command line:
usb_modeswitch -W -D  -b 2 -g 10 -v 03f0 -p 911d -f $flags(config)

Verbose debug output of usb_modeswitch and libusb follows
(Note that some USB errors are to be expected in the process)
--------------------------------
libusb: error [op_set_configuration] failed, error -1 errno 32

Read long config from command line

 * usb_modeswitch: handle USB devices with multiple modes
 * Version 2.5.1 (C) Josua Dietze 2017
 * Based on libusb1/libusbx

 ! PLEASE REPORT NEW CONFIGURATIONS !

DefaultVendor=  0x03f0
DefaultProduct= 0x911d
Configuration=0x03
System integration mode enabled

Use given bus/device number: 002/010 ...
Look for default devices ...
 bus/device number matched
  found USB ID 03f0:911d
   vendor ID matched
   product ID matched
 Found devices in default mode (1)
Get the current device configuration ...
Current configuration number is 2
Use interface number 0
 with class 2

USB description data (for identification)
-------------------------
Manufacturer: HP
     Product: HP lt4211 Gobi 4G Module
  Serial No.: 
-------------------------
Change configuration to 3 ...
Looking for active drivers ...
 OK, driver detached
 Resetting the configuration failed (error -99). Try to continue
 Changing the configuration failed (error -4). Try to continue
ok:busdev
--------------------------------
(end of usb_modeswitch output)

Check success of mode switch for max. 20 seconds ...
 Read attributes ...
 Read attributes ...
 Read attributes ...
 Read attributes ...
 Read attributes ...
 Read attributes ...
 Read attributes ...
 Read attributes ...
 Read attributes ...
 Read attributes ...
 Read attributes ...
 Read attributes ...
 Read attributes ...
 Read attributes ...
 Read attributes ...
 Read attributes ...
 Read attributes ...
 Read attributes ...
 Read attributes ...
 Read attributes ...

Target config not matching - current values are
    2-6:2.0/bInterfaceClass:   02
    bConfigurationValue:       2
    bNumConfigurations:        3
    busnum:                    2
    devnum:                    15
    idProduct:                 911d
    idVendor:                  03f0
    manufacturer:              HP
    product:                   HP lt4211 Gobi 4G Module
    serial:                    

Mode switching may have failed. Exit

[csharp@chipsharplnx ~]$ 

Josh
Site Admin
Posts: 6569
Joined: 03 Nov 2007, 00:30

Re: Cannot Get LT4211 to connect

Post by Josh » 19 Apr 2018, 22:57

Hmm, the problem is obvious there - the configuration setting is failing ...

I will investigate this by trying to provoke the error here. In the meantime, you can try to change the configuration in the Linux way: by directly writing the device flags via the sysfs tree (as root or with sudo).

Code: Select all

# echo "3" > /sys/bus/usb/devices/1-1/bConfigurationValue
The "1-1" part is just an example; you have to find the top folder of your modem (hint: check the "idVendor" attribute file and look for "12d1" which refers to Huawei). I very much recommend a terminal file manager like "mc".

chipsharpdotcom
Posts: 15
Joined: 25 Mar 2017, 03:01

Re: Cannot Get LT4211 to connect

Post by chipsharpdotcom » 19 Apr 2018, 23:49

Based on these log messages...

Code: Select all

 
 5:21:34 PM kernel: cdc_ether 2-6:2.0 enp0s20u6c2: renamed from usb0
 5:21:34 PM kernel: usb 2-6: Manufacturer: HP
 5:21:34 PM kernel: cdc_ether 2-6:2.0 enp0s20u6c2: unregister 'cdc_ether' usb-0000:00:14.0-6, CDC Ethernet Device
 5:21:33 PM kernel: usb 2-6: Manufacturer: HP
 5:21:32 PM kernel: cdc_ether 2-6:2.0 enp0s20u6c2: unregister 'cdc_ether' usb-0000:00:14.0-6, CDC Ethernet Device
...I'm guessing that 2-6 is where I need to be? It has a bConfigurationValue file, with a current value of 2.

I ran the following command...

Code: Select all

echo "3" > /sys/bus/usb/devices/2-6/bConfigurationValue


...but it doesn't do anything remarkable it completes without error but if I do a 'cat' of that file, it still reads 2. What type of tracing/logging can I provide you that can help us figure this out?

--C#

LOM
Posts: 1341
Joined: 11 Jul 2012, 15:14
Location: Koh Samui, TH

Re: Cannot Get LT4211 to connect

Post by LOM » 20 Apr 2018, 03:29

Josh wrote:Hmm, the problem is obvious there - the configuration setting is failing ...

I will investigate this by trying to provoke the error here.
I suggest you make a test version for him where you reset the configuration to 0x00, not 0xff, before selecting the new configuration.
From all we know, the user who initially reported the problem selecting configuration did solve his problem by echoing 0 to sysfs before echoing the wanted selection value.
We have had same select configuration error reported for the USB730L so I think usb_modeswitch does it wrong.

The HP LT4211 is btw actually a Huawei ME906E which is what the initial reporter had and which initiated this "reset config before selecting new".

chipsharpdotcom
Posts: 15
Joined: 25 Mar 2017, 03:01

Re: Cannot Get LT4211 to connect

Post by chipsharpdotcom » 20 Apr 2018, 15:31

LOM wrote: The HP LT4211 is btw actually a Huawei ME906E which is what the initial reporter had and which initiated this "reset config before selecting new".
I'm not sure about that. The LT4112 seems to be a Huawei ME906E, but I think the LT4211 is a Foxconn device. (It's labeled Foxconn on the card anyway, but admittedly I know little of hardware specifics anymore, so you may be right.)

Josh
Site Admin
Posts: 6569
Joined: 03 Nov 2007, 00:30

Re: Cannot Get LT4211 to connect

Post by Josh » 20 Apr 2018, 21:25

LOM wrote:We have had same select configuration error reported for the USB730L so I think usb_modeswitch does it wrong.
The "-1" value comes from the libusb documentation:

"A configuration value of -1 will put the device in unconfigured state. The USB specifications state that a configuration value of 0 does this, however buggy devices exist which actually have a configuration 0."
http://libusb.sourceforge.net/api-1.0/g ... 4ca4867bed


chipsharpdotcom,
can you try this sequence?

Code: Select all

# echo "0" > /sys/bus/usb/devices/1-1/bConfigurationValue
# echo "3" > /sys/bus/usb/devices/1-1/bConfigurationValue

chipsharpdotcom
Posts: 15
Joined: 25 Mar 2017, 03:01

Re: Cannot Get LT4211 to connect

Post by chipsharpdotcom » 20 Apr 2018, 23:03

Josh wrote: chipsharpdotcom,
can you try this sequence?

Code: Select all

# echo "0" > /sys/bus/usb/devices/1-1/bConfigurationValue
# echo "3" > /sys/bus/usb/devices/1-1/bConfigurationValue

Tried that. It seemed to take 0 without error, but it wouldn't take 3.

Code: Select all

[root@chipsharplnx ~]# echo "0" > /sys/bus/usb/devices/1-1/bConfigurationValue
[root@chipsharplnx ~]# echo "3" > /sys/bus/usb/devices/1-1/bConfigurationValue
-bash: echo: write error: Invalid argument
[root@chipsharplnx ~]# 
This is all I have in my log:

Code: Select all

[root@chipsharplnx ~]# tail -f /var/log/usb_modeswitch_2-6 
    busnum:                    2
    devnum:                    7
    idProduct:                 911d
    idVendor:                  03f0
    manufacturer:              HP
    product:                   HP lt4211 Gobi 4G Module
    serial:                    

Mode switching may have failed. Exit
Are we having fun yet? :)

Thank you all again for all your assistance.

Josh
Site Admin
Posts: 6569
Joined: 03 Nov 2007, 00:30

Re: Cannot Get LT4211 to connect

Post by Josh » 21 Apr 2018, 00:00

Remember that you have to replace "1-1" with your value, according to where your modem is in the "sys" tree.

chipsharpdotcom
Posts: 15
Joined: 25 Mar 2017, 03:01

Re: Cannot Get LT4211 to connect

Post by chipsharpdotcom » 22 Apr 2018, 01:36

Agh...$&#@! I did, I just copy/pasted the wrong line.

I'll clean that up and re-post!

chipsharpdotcom
Posts: 15
Joined: 25 Mar 2017, 03:01

Re: Cannot Get LT4211 to connect

Post by chipsharpdotcom » 22 Apr 2018, 01:55

Code: Select all

[root@chipsharplnx ~]# echo "0" > /sys/bus/usb/devices/2-6/bConfigurationValue
[root@chipsharplnx ~]# echo "3" > /sys/bus/usb/devices/2-6/bConfigurationValue
[root@chipsharplnx ~]# service NetworkManager restart
Redirecting to /bin/systemctl restart NetworkManager.service
[root@chipsharplnx ~]# journalctl -k -a 
Snipped to relevant content:

Code: Select all

Apr 21 19:50:34 chipsharplnx kernel: cdc_ether 2-6:2.0 enp0s20u6c2: unregister 'cdc_ether' usb-0000:00:14.0-6, CDC Ethernet Device
Apr 21 19:50:34 chipsharplnx kernel: usb 2-6: USB disconnect, device number 14
Apr 21 19:50:35 chipsharplnx kernel: usb 2-6: new high-speed USB device number 15 using xhci_hcd
Apr 21 19:50:35 chipsharplnx kernel: usb 2-6: New USB device found, idVendor=03f0, idProduct=911d
Apr 21 19:50:35 chipsharplnx kernel: usb 2-6: New USB device strings: Mfr=1, Product=2, SerialNumber=3
Apr 21 19:50:35 chipsharplnx kernel: usb 2-6: Product: HP lt4211 Gobi 4G Module
Apr 21 19:50:35 chipsharplnx kernel: usb 2-6: Manufacturer: HP
Apr 21 19:50:35 chipsharplnx kernel: cdc_ether 2-6:2.0 usb0: register 'cdc_ether' at usb-0000:00:14.0-6, CDC Ethernet Device, 72:85:8a:3d:41:f4
Apr 21 19:50:35 chipsharplnx kernel: cdc_ether 2-6:2.0 enp0s20u6c2: renamed from usb0
Apr 21 19:50:35 chipsharplnx kernel: IPv6: ADDRCONF(NETDEV_UP): enp0s20u6c2: link is not ready
Apr 21 19:50:35 chipsharplnx kernel: cdc_ether 2-6:2.0 enp0s20u6c2: unregister 'cdc_ether' usb-0000:00:14.0-6, CDC Ethernet Device
Apr 21 19:50:35 chipsharplnx kernel: usb 2-6: USB disconnect, device number 15
Apr 21 19:50:36 chipsharplnx kernel: usb 2-6: new high-speed USB device number 16 using xhci_hcd
Apr 21 19:50:36 chipsharplnx kernel: usb 2-6: New USB device found, idVendor=03f0, idProduct=911d
Apr 21 19:50:36 chipsharplnx kernel: usb 2-6: New USB device strings: Mfr=1, Product=2, SerialNumber=3
Apr 21 19:50:36 chipsharplnx kernel: usb 2-6: Product: HP lt4211 Gobi 4G Module
Apr 21 19:50:36 chipsharplnx kernel: usb 2-6: Manufacturer: HP
Apr 21 19:50:36 chipsharplnx kernel: cdc_ether 2-6:2.0 usb0: register 'cdc_ether' at usb-0000:00:14.0-6, CDC Ethernet Device, 1a:8a:85:ac:d2:ee
Apr 21 19:50:36 chipsharplnx kernel: cdc_ether 2-6:2.0 enp0s20u6c2: renamed from usb0
Apr 21 19:50:36 chipsharplnx kernel: IPv6: ADDRCONF(NETDEV_UP): enp0s20u6c2: link is not ready
Apr 21 19:50:43 chipsharplnx kernel: cdc_ether 2-6:2.0 enp0s20u6c2: unregister 'cdc_ether' usb-0000:00:14.0-6, CDC Ethernet Device
Apr 21 19:50:43 chipsharplnx kernel: usb 2-6: USB disconnect, device number 16
Apr 21 19:50:44 chipsharplnx kernel: usb 2-6: new high-speed USB device number 17 using xhci_hcd
Apr 21 19:50:44 chipsharplnx kernel: usb 2-6: New USB device found, idVendor=03f0, idProduct=911d
Apr 21 19:50:44 chipsharplnx kernel: usb 2-6: New USB device strings: Mfr=1, Product=2, SerialNumber=3
Apr 21 19:50:44 chipsharplnx kernel: usb 2-6: Product: HP lt4211 Gobi 4G Module
Apr 21 19:50:44 chipsharplnx kernel: usb 2-6: Manufacturer: HP
Apr 21 19:50:44 chipsharplnx kernel: cdc_ether 2-6:2.0 usb0: register 'cdc_ether' at usb-0000:00:14.0-6, CDC Ethernet Device, e2:5a:0e:63:7f:eb
Apr 21 19:50:44 chipsharplnx kernel: cdc_ether 2-6:2.0 enp0s20u6c2: renamed from usb0
Apr 21 19:50:44 chipsharplnx kernel: IPv6: ADDRCONF(NETDEV_UP): enp0s20u6c2: link is not ready
Apr 21 19:51:13 chipsharplnx kernel: wlo1: deauthenticating from 1a:5b:0e:28:4d:9e by local choice (Reason: 3=DEAUTH_LEAVING)
Apr 21 19:51:13 chipsharplnx kernel: wlo1: failed to remove key (1, ff:ff:ff:ff:ff:ff) from hardware (-22)
Apr 21 19:51:13 chipsharplnx kernel: IPv6: ADDRCONF(NETDEV_UP): wlo1: link is not ready
Apr 21 19:51:13 chipsharplnx kernel: IPv6: ADDRCONF(NETDEV_UP): wlo1: link is not ready
Apr 21 19:51:14 chipsharplnx kernel: IPv6: ADDRCONF(NETDEV_UP): wlo1: link is not ready
Apr 21 19:51:14 chipsharplnx kernel: IPv6: ADDRCONF(NETDEV_UP): wlo1: link is not ready
Apr 21 19:51:17 chipsharplnx kernel: IPv6: ADDRCONF(NETDEV_UP): wlo1: link is not ready
Apr 21 19:51:17 chipsharplnx kernel: wlo1: authenticate with 1a:5b:0e:28:4d:9e
Apr 21 19:51:17 chipsharplnx kernel: wlo1: send auth to 1a:5b:0e:28:4d:9e (try 1/3)
Apr 21 19:51:17 chipsharplnx kernel: wlo1: authenticated
Apr 21 19:51:17 chipsharplnx kernel: wlo1: associate with 1a:5b:0e:28:4d:9e (try 1/3)
Apr 21 19:51:17 chipsharplnx kernel: wlo1: RX AssocResp from 1a:5b:0e:28:4d:9e (capab=0x411 status=0 aid=1)
Apr 21 19:51:17 chipsharplnx kernel: wlo1: associated
Apr 21 19:51:17 chipsharplnx kernel: IPv6: ADDRCONF(NETDEV_CHANGE): wlo1: link becomes ready
lines 998-1033/1033 (END)

Josh
Site Admin
Posts: 6569
Joined: 03 Nov 2007, 00:30

Re: Cannot Get LT4211 to connect

Post by Josh » 22 Apr 2018, 07:56

You have still disabled usb_modeswitch globally, right?

If so, there is no indication yet that the MBIM configuration was activated. What's the content of bConfigurationValue after the procedure?

LOM
Posts: 1341
Joined: 11 Jul 2012, 15:14
Location: Koh Samui, TH

Re: Cannot Get LT4211 to connect

Post by LOM » 22 Apr 2018, 18:13

Your log shows a lot of disconnects from the usb bus by the device and then it reappears again.
A configuration select should not make the device leave the usb bus, if it disappears then the linux usb core will choose a default config for the device when it appears again.
The linux usb core will choose the first configuration containing "real" interface attributes which for your device is config #2 with cdc_ether attributes.

So, we have no chance to select a config from userland if it causes the device to drop off the usb bus. Linux usb core will always win that race.

chipsharpdotcom
Posts: 15
Joined: 25 Mar 2017, 03:01

Re: Cannot Get LT4211 to connect

Post by chipsharpdotcom » 24 Apr 2018, 01:00

Ok, so I failed previously on disabling usb_modeswitch globally, so now I did that, rebooted and then repeated the previous request of echo 0, echo 3 and now bConfigurationValue has this:

Code: Select all

[root@chipsharplnx ~]# cat /sys/bus/usb/devices/2-6/bConfigurationValue 
2
[root@chipsharplnx ~]# 
For what it's worth, that setting is retained through a NetworkManager restart, although NM still thinks it's 'USB Ethernet'. Now what?

Post Reply