Automatic Activation, Hotplug and UDEV, Configuration
Post Reply
onelife
Posts: 3
Joined: 22 Oct 2021, 09:54

E352 | idVendor=12d1, idProduct=14fe

Post by onelife » 22 Oct 2021, 19:02

Hi there forum,

I really hope someone might be able to help here with setting up a Huawei E352s-2 - I think I'm over complicating this as to me it should almost work "out the box" - But I'm clearly wrong or missing something - The challenge is my OS is Tiny Core (The Raspberry Pi flavour piCore)

Code: Select all

snb@snb:~$ version
13.0.3

Code: Select all

snb@snb:~$ uname -a
Linux snb 5.10.16-piCore-v7 #1 SMP Tue Feb 16 19:08:42 UTC 2021 armv7l GNU/Linux
The specific modem on plugin shows as :

Code: Select all

Bus 001 Device 010: ID 12d1:14fe Huawei Technologies Co., Ltd. Modem (Mass Storage Mode)
With the dmesg showing :

Code: Select all

[ 8353.044710] usb 1-1.3: new high-speed USB device number 10 using dwc_otg
[ 8353.175783] usb 1-1.3: New USB device found, idVendor=12d1, idProduct=14fe, bcdDevice= 1.02
[ 8353.175809] usb 1-1.3: New USB device strings: Mfr=2, Product=1, SerialNumber=0
[ 8353.175824] usb 1-1.3: Product: HUAWEI Mobile
[ 8353.175839] usb 1-1.3: Manufacturer: HUAWEI
[ 8353.178447] usb-storage 1-1.3:1.0: USB Mass Storage device detected
[ 8353.179443] scsi host0: usb-storage 1-1.3:1.0
[ 8353.180229] usb-storage 1-1.3:1.1: USB Mass Storage device detected
[ 8353.181396] scsi host1: usb-storage 1-1.3:1.1
[ 8354.235572] scsi 1:0:0:0: Direct-Access     HUAWEI   SD Storage       2.31 PQ: 0 ANSI: 2
[ 8354.237531] scsi 0:0:0:0: CD-ROM            HUAWEI   Mass Storage     2.31 PQ: 0 ANSI: 2
I have tried just about every switch mode I can find related to this modem and using :

Code: Select all

sudo usb_modeswitch -v 12d1 -p 14fe -c /home/snb/update_skynetwork/log/modswitch_gsm
Where config is :

Code: Select all

TargetVendor=  0x12d1
TargetProductList="14db,14dc"
HuaweiNewMode=1
MessageContent="55534243123456780000000000000a11062000000000000100000000000000"
NoDriverLoading=1
I can get :

Code: Select all

Bus 001 Device 011: ID 12d1:1506 Huawei Technologies Co., Ltd. Modem/Networkcard
And dmesg shows :

Code: Select all

[ 8464.414696] usb 1-1.3: new high-speed USB device number 11 using dwc_otg
[ 8464.546122] usb 1-1.3: New USB device found, idVendor=12d1, idProduct=1506, bcdDevice= 1.02
[ 8464.546147] usb 1-1.3: New USB device strings: Mfr=3, Product=2, SerialNumber=0
[ 8464.546162] usb 1-1.3: Product: HUAWEI Mobile
[ 8464.546177] usb 1-1.3: Manufacturer: HUAWEI
[ 8464.548616] option 1-1.3:1.0: GSM modem (1-port) converter detected
[ 8464.549242] usb 1-1.3: GSM modem (1-port) converter now attached to ttyUSB0
[ 8464.550057] option 1-1.3:1.1: GSM modem (1-port) converter detected
[ 8464.550599] option 1-1.3:1.2: GSM modem (1-port) converter detected
[ 8464.551698] usb 1-1.3: GSM modem (1-port) converter now attached to ttyUSB2
[ 8464.552321] option 1-1.3:1.3: GSM modem (1-port) converter detected
[ 8464.553150] usb 1-1.3: GSM modem (1-port) converter now attached to ttyUSB3
[ 8464.554146] usb-storage 1-1.3:1.4: USB Mass Storage device detected
[ 8464.555793] scsi host0: usb-storage 1-1.3:1.4
[ 8464.556660] usb-storage 1-1.3:1.5: USB Mass Storage device detected
[ 8464.557351] scsi host1: usb-storage 1-1.3:1.5
[ 8465.595868] scsi 1:0:0:0: Direct-Access     HUAWEI   SD Storage       2.31 PQ: 0 ANSI: 2
[ 8465.596540] scsi 0:0:0:0: CD-ROM            HUAWEI   Mass Storage     2.31 PQ: 0 ANSI: 2
[ 8465.636326] sd 1:0:0:0: [sda] Attached SCSI removable disk
But I have no idea if this is right or where to next? Previously and ideally now I would like to reach the "hi link" mode where the system creates a eth1 and the modem does the dialup as such.

It seems with a certain config at some point :

Code: Select all

MessageContent="55534243123456780000000000000011063000000100010000000000000000"
I seemed to get a wwan0 interface but no connection on it.

I'm not familiar with how to set this up at all as been in circles now for a few days - ANY help is greatly appreciated.

Many Thanks
Dean

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

Re: E352 | idVendor=12d1, idProduct=14fe

Post by LOM » 22 Oct 2021, 20:27

What is your linux kernel version number?
Show me the output of lsusb -vd 12d1:1506

onelife
Posts: 3
Joined: 22 Oct 2021, 09:54

Re: E352 | idVendor=12d1, idProduct=14fe

Post by onelife » 22 Oct 2021, 20:58

Hi Lom,

Sure, that command shows :

Code: Select all

snb@snb:~$ lsusb -vd 12d1:1506
Protocol spec without prior Class and Subclass spec at line 23179

Bus 001 Device 006: ID 12d1:1506 Huawei Technologies Co., Ltd. Modem/Networkcard
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0
  bDeviceProtocol         0
  bMaxPacketSize0        64
  idVendor           0x12d1 Huawei Technologies Co., Ltd.
  idProduct          0x1506 Modem/Networkcard
  bcdDevice            1.02
  iManufacturer           3 HUAWEI
  iProduct                2 HUAWEI Mobile
  iSerial                 0
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength          206
    bNumInterfaces          6
    bConfigurationValue     1
    iConfiguration          0
    bmAttributes         0x80
      (Bus Powered)
    MaxPower              500mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           3
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass      2
      bInterfaceProtocol      1
      iInterface              0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x8f  EP 15 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               5
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x8e  EP 14 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval              32
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x0f  EP 15 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval              32
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass      2
      bInterfaceProtocol     22
      iInterface              0
      ** UNRECOGNIZED:  05 24 00 10 01
      ** UNRECOGNIZED:  06 24 1a 00 01 1f
      ** UNRECOGNIZED:  0d 24 0f 01 05 00 00 00 ea 05 03 00 01
      ** UNRECOGNIZED:  05 24 06 01 01
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x8d  EP 13 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               5
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       1
      bNumEndpoints           3
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass      2
      bInterfaceProtocol     22
      iInterface              0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x8d  EP 13 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               5
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x8c  EP 12 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval              32
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x0e  EP 14 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval              32
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        2
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass      2
      bInterfaceProtocol      3
      iInterface              0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x8b  EP 11 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval              32
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x0d  EP 13 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval              32
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        3
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass      2
      bInterfaceProtocol      2
      iInterface              0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x8a  EP 10 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval              32
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x0c  EP 12 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval              32
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        4
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass         8 Mass Storage
      bInterfaceSubClass      6 SCSI
      bInterfaceProtocol     80 Bulk-Only
      iInterface              0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x0b  EP 11 OUT
        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     0x89  EP 9 IN
        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        5
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass         8 Mass Storage
      bInterfaceSubClass      6 SCSI
      bInterfaceProtocol     80 Bulk-Only
      iInterface              0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x0a  EP 10 OUT
        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     0x88  EP 8 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
Device Qualifier (for other device speed):
  bLength                10
  bDescriptorType         6
  bcdUSB               2.00
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0
  bDeviceProtocol         0
  bMaxPacketSize0        64
  bNumConfigurations      1
Device Status:     0x0000
  (Bus Powered)
I also updated the "config" for another MessageContent I have found that looks like this :

Code: Select all

TargetVendor=  0x12d1
TargetProduct= 0x1506

MessageContent="55534243123456780000000000000011062000000100000000000000000000"
And maaaaybe I'm closer as now in dmesg I see this :

Code: Select all

[  226.074634] usb 1-1.3: new high-speed USB device number 6 using dwc_otg
[  226.205909] usb 1-1.3: New USB device found, idVendor=12d1, idProduct=1506, bcdDevice= 1.02
[  226.205931] usb 1-1.3: New USB device strings: Mfr=3, Product=2, SerialNumber=0
[  226.205945] usb 1-1.3: Product: HUAWEI Mobile
[  226.205957] usb 1-1.3: Manufacturer: HUAWEI
[  226.209291] usb-storage 1-1.3:1.4: USB Mass Storage device detected
[  226.211507] scsi host0: usb-storage 1-1.3:1.4
[  226.212266] usb-storage 1-1.3:1.5: USB Mass Storage device detected
[  226.214369] scsi host1: usb-storage 1-1.3:1.5
[  226.258738] usbcore: registered new interface driver usbserial_generic
[  226.258775] usbserial: USB Serial support registered for generic
[  226.263130] usbcore: registered new interface driver option
[  226.263195] usbserial: USB Serial support registered for GSM modem (1-port)
[  226.263457] option 1-1.3:1.0: GSM modem (1-port) converter detected
[  226.263794] usb 1-1.3: GSM modem (1-port) converter now attached to ttyUSB0
[  226.264002] option 1-1.3:1.2: GSM modem (1-port) converter detected
[  226.264249] usb 1-1.3: GSM modem (1-port) converter now attached to ttyUSB1
[  226.264396] option 1-1.3:1.3: GSM modem (1-port) converter detected
[  226.264667] usb 1-1.3: GSM modem (1-port) converter now attached to ttyUSB2
[  226.269389] usbcore: registered new interface driver cdc_wdm
[  226.271099] usbcore: registered new interface driver cdc_ether
[  226.274248] usbcore: registered new interface driver cdc_ncm
[  226.295333] huawei_cdc_ncm 1-1.3:1.1: MAC-Address: 58:2c:80:13:92:63
[  226.295349] huawei_cdc_ncm 1-1.3:1.1: setting rx_max = 16384
[  226.295600] huawei_cdc_ncm 1-1.3:1.1: setting tx_max = 16384
[  226.295786] huawei_cdc_ncm 1-1.3:1.1: NDP will be placed at end of frame for this device.
[  226.296022] huawei_cdc_ncm 1-1.3:1.1: cdc-wdm0: USB WDM device
[  226.296620] huawei_cdc_ncm 1-1.3:1.1 wwan0: register 'huawei_cdc_ncm' at usb-3f980000.usb-1.3, Huawei CDC NCM device, 58:2c:80:13:92:63
[  226.296753] usbcore: registered new interface driver huawei_cdc_ncm
[  227.275620] scsi 0:0:0:0: CD-ROM            HUAWEI   Mass Storage     2.31 PQ: 0 ANSI: 2
[  227.276176] scsi 1:0:0:0: Direct-Access     HUAWEI   SD Storage       2.31 PQ: 0 ANSI: 2
[  227.326089] sd 1:0:0:0: [sda] Attached SCSI removable disk
Still no connection - But it seems this is now similar to the Message Content I used before along the way and got a wwan0 interface.

So where to next to make this actually go live. hummmm

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

Re: E352 | idVendor=12d1, idProduct=14fe

Post by LOM » 23 Oct 2021, 03:59

I don't know how stripped your TinyCore linux is but normally you would not need to do anything manually, udev would find your dongle and invoke usb_modeswitch which would use a switch msg based on the usb id of the dongle, a switch msg it finds in the usb_modeswitch data package.
linux NetworkManager would manage the wwan0 net device you got created, bringing the connection up or down.

onelife
Posts: 3
Joined: 22 Oct 2021, 09:54

Re: E352 | idVendor=12d1, idProduct=14fe

Post by onelife » 23 Oct 2021, 19:46

Yip, it seems there is an issue in the modem manager package on Tiny Core - The guys on that forum have just confirmed :(

So rather than using udev and mmcli etc, would you know what specific switch mode I must specify to go to "hi link" mode.

I actually managed to get this mode once while trying endless configs - But now for the life of me I can't get it again :(

Do you know where I can reference the possible modes and their switches for this modem? I see on some forums they talk about a Vendor lookup site - But this only seems to show me the brand and not the possible modes. Anyway I can find that as possible I skip the udev route and go direct cdc_ether and hilink mode on eth1.

Maaaaybe? Hope so and chat soon - Thank you!

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

Re: E352 | idVendor=12d1, idProduct=14fe

Post by LOM » 28 Oct 2021, 05:07

Switch messages according to Huawei:

Code: Select all

Windows:  55534243000000000000000000000011060000000101000100000000000000
MAC:      55534243000000000000000000000011061000000101000100000000000000
Linux:    55534243000000000000000000000011062000000101000100000000000000
Android   55534243000000000000000000000011063000000000000100000000000000
no guarantee that they give you your desired result, I guess MAC and Android messages are more likely to produce a pure eth net device.

Post Reply