Netgate Discussion Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Search
    • Register
    • Login

    4G Modem miniPCIE - Sierra Wireless, Incorporated EM7305

    Scheduled Pinned Locked Moved Wireless
    14 Posts 3 Posters 1.4k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • viktor_gV
      viktor_g Netgate @Phelton
      last edited by

      @Phelton Please show usbconfig -d 0.3 dump_device_desc output

      also check this topic: https://forum.netgate.com/topic/86514/sierra-mc73xx-working

      1 Reply Last reply Reply Quote 0
      • P
        Phelton
        last edited by

        thanks viktor_g for your reply and your support.
        Below the output that you have asked me:

        [2.4.5-RELEASE][admin@pfSense.phelton.it]/root: usbconfig -d 0.3 dump_device_desc
        ugen0.3: <Sierra Wireless, Incorporated EM7305> at usbus0, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON (500mA)
        
          bLength = 0x0012 
          bDescriptorType = 0x0001 
          bcdUSB = 0x0200 
          bDeviceClass = 0x0000  <Probed by interface class>
          bDeviceSubClass = 0x0000 
          bDeviceProtocol = 0x0000 
          bMaxPacketSize0 = 0x0040 
          idVendor = 0x1199 
          idProduct = 0x9063 
          bcdDevice = 0x0006 
          iManufacturer = 0x0001  <Sierra Wireless, Incorporated>
          iProduct = 0x0002  <EM7305>
          iSerialNumber = 0x0003  <>
          bNumConfigurations = 0x0002 
        

        i have already read the post that you have cited, but i don't have understood how he have resolved the problem and if the problem is the same that i have... because i can't send "AT" command to the modem beacose i don't see a correct device "cuau0.x" or "cuau1.x".

        1 Reply Last reply Reply Quote 0
        • stephenw10S
          stephenw10 Netgate Administrator
          last edited by stephenw10

          Yeah, it's probably stuck using the mbim only profile which doesn't present any com ports / AT interfaces.

          You will need to change the USB composition it's using in Linux or Windows.

          https://www.0xf8.org/2016/04/changing-dell-wireless-5809e-sierra-wireless-em7305-usb-composition-mbim-qmi-at-interface-nmea/

          As discussed in that linked thread: https://forum.netgate.com/post/638966

          Steve

          P 1 Reply Last reply Reply Quote 0
          • P
            Phelton @stephenw10
            last edited by

            @stephenw10 thanks for your time ...
            i have already followed all steps explained in the url that you have posted, but not resolve for me.
            In my case, if i run the script without parameter i already see "Current USB composition: 14"...
            The problem is that i can't find a ttyUSB1 in device of ubuntu for test the AT command... in the same case in pfsense i can't see in device a correct interfce but only ugen0.3.

            Is important to tell that in windows 10 and ubuntu 18 and ubuntu 20 the LTE interface work directly, in don't need modify nothing (i must insert only the APN) and the connection of modem LTE work properly.

            some ideas?
            thanks
            bye

            1 Reply Last reply Reply Quote 0
            • stephenw10S
              stephenw10 Netgate Administrator
              last edited by

              If it's really set to usb-comp 14 but you're still only seeing the mbim interface then it must be running config 2 (usb-comp 9).

              You can force it to run a different config if more then one are selected. Try running in pfSense usbconfig -d ugen0.3 dump_all_desc

              Or alternatively set the device to usb-comp 6 directly in Linux.

              Linux and Windows can use the mbim port directly which why they can still use the modem.

              Steve

              1 Reply Last reply Reply Quote 0
              • P
                Phelton
                last edited by

                @stephenw10 said in 4G Modem miniPCIE - Sierra Wireless, Incorporated EM7305:

                usbconfig -d ugen0.3 dump_all_desc

                ok... i have tried to set directly confi 6 in linux ...
                now this is output of dump_all_desc:

                [2.4.5-RELEASE][root@pfSense.phelton.it]/root: usbconfig -d ugen0.3 dump_all_desc
                ugen0.3: <Sierra Wireless, Incorporated EM7305> at usbus0, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON (500mA)
                
                  bLength = 0x0012 
                  bDescriptorType = 0x0001 
                  bcdUSB = 0x0200 
                  bDeviceClass = 0x0000  <Probed by interface class>
                  bDeviceSubClass = 0x0000 
                  bDeviceProtocol = 0x0000 
                  bMaxPacketSize0 = 0x0040 
                  idVendor = 0x1199 
                  idProduct = 0x9063 
                  bcdDevice = 0x0006 
                  iManufacturer = 0x0001  <Sierra Wireless, Incorporated>
                  iProduct = 0x0002  <EM7305>
                  iSerialNumber = 0x0003  <>
                  bNumConfigurations = 0x0001 
                
                 Configuration index 0
                
                    bLength = 0x0009 
                    bDescriptorType = 0x0002 
                    wTotalLength = 0x00a0 
                    bNumInterfaces = 0x0004 
                    bConfigurationValue = 0x0001 
                    iConfiguration = 0x0000  <no string>
                    bmAttributes = 0x00e0 
                    bMaxPower = 0x00fa 
                
                    Interface 0
                      bLength = 0x0009 
                      bDescriptorType = 0x0004 
                      bInterfaceNumber = 0x0000 
                      bAlternateSetting = 0x0000 
                      bNumEndpoints = 0x0002 
                      bInterfaceClass = 0x00ff  <Vendor specific>
                      bInterfaceSubClass = 0x00ff 
                      bInterfaceProtocol = 0x00ff 
                      iInterface = 0x0000  <no string>
                
                     Endpoint 0
                        bLength = 0x0007 
                        bDescriptorType = 0x0005 
                        bEndpointAddress = 0x0081  <IN>
                        bmAttributes = 0x0002  <BULK>
                        wMaxPacketSize = 0x0200 
                        bInterval = 0x0000 
                        bRefresh = 0x0000 
                        bSynchAddress = 0x0000 
                
                     Endpoint 1
                        bLength = 0x0007 
                        bDescriptorType = 0x0005 
                        bEndpointAddress = 0x0001  <OUT>
                        bmAttributes = 0x0002  <BULK>
                        wMaxPacketSize = 0x0200 
                        bInterval = 0x0000 
                        bRefresh = 0x0000 
                        bSynchAddress = 0x0000 
                
                
                    Interface 1
                      bLength = 0x0009 
                      bDescriptorType = 0x0004 
                      bInterfaceNumber = 0x0001 
                      bAlternateSetting = 0x0000 
                      bNumEndpoints = 0x0003 
                      bInterfaceClass = 0x00ff  <Vendor specific>
                      bInterfaceSubClass = 0x0000 
                      bInterfaceProtocol = 0x0000 
                      iInterface = 0x0000  <no string>
                
                      Additional Descriptor
                
                      bLength = 0x05
                      bDescriptorType = 0x24
                      bDescriptorSubType = 0x00
                       RAW dump: 
                       0x00 | 0x05, 0x24, 0x00, 0x10, 0x01
                
                
                      Additional Descriptor
                
                      bLength = 0x05
                      bDescriptorType = 0x24
                      bDescriptorSubType = 0x01
                       RAW dump: 
                       0x00 | 0x05, 0x24, 0x01, 0x00, 0x00
                
                
                      Additional Descriptor
                
                      bLength = 0x04
                      bDescriptorType = 0x24
                      bDescriptorSubType = 0x02
                       RAW dump: 
                       0x00 | 0x04, 0x24, 0x02, 0x02
                
                
                      Additional Descriptor
                
                      bLength = 0x05
                      bDescriptorType = 0x24
                      bDescriptorSubType = 0x06
                       RAW dump: 
                       0x00 | 0x05, 0x24, 0x06, 0x00, 0x00
                
                
                     Endpoint 0
                        bLength = 0x0007 
                        bDescriptorType = 0x0005 
                        bEndpointAddress = 0x0083  <IN>
                        bmAttributes = 0x0003  <INTERRUPT>
                        wMaxPacketSize = 0x000c 
                        bInterval = 0x0009 
                        bRefresh = 0x0000 
                        bSynchAddress = 0x0000 
                
                     Endpoint 1
                        bLength = 0x0007 
                        bDescriptorType = 0x0005 
                        bEndpointAddress = 0x0082  <IN>
                        bmAttributes = 0x0002  <BULK>
                        wMaxPacketSize = 0x0200 
                        bInterval = 0x0000 
                        bRefresh = 0x0000 
                        bSynchAddress = 0x0000 
                
                     Endpoint 2
                        bLength = 0x0007 
                        bDescriptorType = 0x0005 
                        bEndpointAddress = 0x0002  <OUT>
                        bmAttributes = 0x0002  <BULK>
                        wMaxPacketSize = 0x0200 
                        bInterval = 0x0000 
                        bRefresh = 0x0000 
                        bSynchAddress = 0x0000 
                
                
                    Interface 2
                      bLength = 0x0009 
                      bDescriptorType = 0x0004 
                      bInterfaceNumber = 0x0002 
                      bAlternateSetting = 0x0000 
                      bNumEndpoints = 0x0003 
                      bInterfaceClass = 0x00ff  <Vendor specific>
                      bInterfaceSubClass = 0x0000 
                      bInterfaceProtocol = 0x0000 
                      iInterface = 0x0000  <no string>
                
                      Additional Descriptor
                
                      bLength = 0x05
                      bDescriptorType = 0x24
                      bDescriptorSubType = 0x00
                       RAW dump: 
                       0x00 | 0x05, 0x24, 0x00, 0x10, 0x01
                
                
                      Additional Descriptor
                
                      bLength = 0x05
                      bDescriptorType = 0x24
                      bDescriptorSubType = 0x01
                       RAW dump: 
                       0x00 | 0x05, 0x24, 0x01, 0x00, 0x00
                
                
                      Additional Descriptor
                
                      bLength = 0x04
                      bDescriptorType = 0x24
                      bDescriptorSubType = 0x02
                       RAW dump: 
                       0x00 | 0x04, 0x24, 0x02, 0x02
                
                
                      Additional Descriptor
                
                      bLength = 0x05
                      bDescriptorType = 0x24
                      bDescriptorSubType = 0x06
                       RAW dump: 
                       0x00 | 0x05, 0x24, 0x06, 0x00, 0x00
                
                
                     Endpoint 0
                        bLength = 0x0007 
                        bDescriptorType = 0x0005 
                        bEndpointAddress = 0x0085  <IN>
                        bmAttributes = 0x0003  <INTERRUPT>
                        wMaxPacketSize = 0x000c 
                        bInterval = 0x0009 
                        bRefresh = 0x0000 
                        bSynchAddress = 0x0000 
                
                     Endpoint 1
                        bLength = 0x0007 
                        bDescriptorType = 0x0005 
                        bEndpointAddress = 0x0084  <IN>
                        bmAttributes = 0x0002  <BULK>
                        wMaxPacketSize = 0x0200 
                        bInterval = 0x0000 
                        bRefresh = 0x0000 
                        bSynchAddress = 0x0000 
                
                     Endpoint 2
                        bLength = 0x0007 
                        bDescriptorType = 0x0005 
                        bEndpointAddress = 0x0003  <OUT>
                        bmAttributes = 0x0002  <BULK>
                        wMaxPacketSize = 0x0200 
                        bInterval = 0x0000 
                        bRefresh = 0x0000 
                        bSynchAddress = 0x0000 
                
                
                    Interface 3
                      bLength = 0x0009 
                      bDescriptorType = 0x0004 
                      bInterfaceNumber = 0x0003 
                      bAlternateSetting = 0x0000 
                      bNumEndpoints = 0x0003 
                      bInterfaceClass = 0x00ff  <Vendor specific>
                      bInterfaceSubClass = 0x00ff 
                      bInterfaceProtocol = 0x00ff 
                      iInterface = 0x0000  <no string>
                
                     Endpoint 0
                        bLength = 0x0007 
                        bDescriptorType = 0x0005 
                        bEndpointAddress = 0x0087  <IN>
                        bmAttributes = 0x0003  <INTERRUPT>
                        wMaxPacketSize = 0x000a 
                        bInterval = 0x0009 
                        bRefresh = 0x0000 
                        bSynchAddress = 0x0000 
                
                     Endpoint 1
                        bLength = 0x0007 
                        bDescriptorType = 0x0005 
                        bEndpointAddress = 0x0086  <IN>
                        bmAttributes = 0x0002  <BULK>
                        wMaxPacketSize = 0x0200 
                        bInterval = 0x0000 
                        bRefresh = 0x0000 
                        bSynchAddress = 0x0000 
                
                     Endpoint 2
                        bLength = 0x0007 
                        bDescriptorType = 0x0005 
                        bEndpointAddress = 0x0004  <OUT>
                        bmAttributes = 0x0002  <BULK>
                        wMaxPacketSize = 0x0200 
                        bInterval = 0x0000 
                        bRefresh = 0x0000 
                        bSynchAddress = 0x0000 
                
                

                I might be wrong, but from previous output i can see "ugen0.3: <Sierra Wireless, Incorporated EM7305> at usbus0, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON (500mA)" where cfg is set at 0...
                i don't understand way it's that ... beacose the perl script that i have executed in linux tell me that config was changed in conf 6 .

                I have interpreted wrong the previous output?
                If not, is possible that when i power off the computer for extract the module and move it in pfsense, the config wasn't saved ?
                Or my second idea is ... when i boot pfsense something change configuration of module in boot fase...is possible?

                thanks alot for your support, is precious for me.

                1 Reply Last reply Reply Quote 0
                • stephenw10S
                  stephenw10 Netgate Administrator
                  last edited by

                  The USB composition is not the config index.

                  In USB comp 14 you can see it can present as either usb-comp 6 or 9. That is selected by choosing the config index.

                  So you would have seen two config indexes listed in dump_all_desc. But you changed it to usb-comp 6 directly which only presents a single config index. You can see Config Index 0 has 4 interfaces which is what is expected for usb composition 6.

                  Here it's not recognising it because the USB product ID it's using it not listed:
                  https://github.com/pfsense/FreeBSD-src/blob/RELENG_2_4_5/sys/dev/usb/usbdevs#L4060

                  Here's how my em7305 presents:

                  ugen0.2: <Sierra Wireless, Incorporated EM7305> at usbus0, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON (500mA)
                  
                    bLength = 0x0012
                    bDescriptorType = 0x0001
                    bcdUSB = 0x0200
                    bDeviceClass = 0x0000  <Probed by interface class>
                    bDeviceSubClass = 0x0000
                    bDeviceProtocol = 0x0000
                    bMaxPacketSize0 = 0x0040
                    idVendor = 0x1199
                    idProduct = 0x9041
                    bcdDevice = 0x0006
                    iManufacturer = 0x0001  <Sierra Wireless, Incorporated>
                    iProduct = 0x0002  <EM7305>
                    iSerialNumber = 0x0003  <>
                    bNumConfigurations = 0x0002
                  
                   Configuration index 0
                  
                      bLength = 0x0009
                      bDescriptorType = 0x0002
                      wTotalLength = 0x00a0
                      bNumInterfaces = 0x0004
                      bConfigurationValue = 0x0001
                      iConfiguration = 0x0000  <no string>
                      bmAttributes = 0x00e0
                      bMaxPower = 0x00fa
                  
                      Interface 0
                        bLength = 0x0009
                        bDescriptorType = 0x0004
                        bInterfaceNumber = 0x0000
                        bAlternateSetting = 0x0000
                        bNumEndpoints = 0x0002
                        bInterfaceClass = 0x00ff  <Vendor specific>
                        bInterfaceSubClass = 0x00ff
                        bInterfaceProtocol = 0x00ff
                        iInterface = 0x0000  <no string>
                  
                       Endpoint 0
                          bLength = 0x0007
                          bDescriptorType = 0x0005
                          bEndpointAddress = 0x0081  <IN>
                          bmAttributes = 0x0002  <BULK>
                          wMaxPacketSize = 0x0200
                          bInterval = 0x0000
                          bRefresh = 0x0000
                          bSynchAddress = 0x0000
                  
                       Endpoint 1
                          bLength = 0x0007
                          bDescriptorType = 0x0005
                          bEndpointAddress = 0x0001  <OUT>
                          bmAttributes = 0x0002  <BULK>
                          wMaxPacketSize = 0x0200
                          bInterval = 0x0000
                          bRefresh = 0x0000
                          bSynchAddress = 0x0000
                  
                  
                      Interface 1
                        bLength = 0x0009
                        bDescriptorType = 0x0004
                        bInterfaceNumber = 0x0001
                        bAlternateSetting = 0x0000
                        bNumEndpoints = 0x0003
                        bInterfaceClass = 0x00ff  <Vendor specific>
                        bInterfaceSubClass = 0x0000
                        bInterfaceProtocol = 0x0000
                        iInterface = 0x0000  <no string>
                  
                        Additional Descriptor
                  
                        bLength = 0x05
                        bDescriptorType = 0x24
                        bDescriptorSubType = 0x00
                         RAW dump:
                         0x00 | 0x05, 0x24, 0x00, 0x10, 0x01
                  
                  
                        Additional Descriptor
                  
                        bLength = 0x05
                        bDescriptorType = 0x24
                        bDescriptorSubType = 0x01
                         RAW dump:
                         0x00 | 0x05, 0x24, 0x01, 0x00, 0x00
                  
                  
                        Additional Descriptor
                  
                        bLength = 0x04
                        bDescriptorType = 0x24
                        bDescriptorSubType = 0x02
                         RAW dump:
                         0x00 | 0x04, 0x24, 0x02, 0x02
                  
                  
                        Additional Descriptor
                  
                        bLength = 0x05
                        bDescriptorType = 0x24
                        bDescriptorSubType = 0x06
                         RAW dump:
                         0x00 | 0x05, 0x24, 0x06, 0x00, 0x00
                  
                  
                       Endpoint 0
                          bLength = 0x0007
                          bDescriptorType = 0x0005
                          bEndpointAddress = 0x0083  <IN>
                          bmAttributes = 0x0003  <INTERRUPT>
                          wMaxPacketSize = 0x000c
                          bInterval = 0x0009
                          bRefresh = 0x0000
                          bSynchAddress = 0x0000
                  
                       Endpoint 1
                          bLength = 0x0007
                          bDescriptorType = 0x0005
                          bEndpointAddress = 0x0082  <IN>
                          bmAttributes = 0x0002  <BULK>
                          wMaxPacketSize = 0x0200
                          bInterval = 0x0000
                          bRefresh = 0x0000
                          bSynchAddress = 0x0000
                  
                       Endpoint 2
                          bLength = 0x0007
                          bDescriptorType = 0x0005
                          bEndpointAddress = 0x0002  <OUT>
                          bmAttributes = 0x0002  <BULK>
                          wMaxPacketSize = 0x0200
                          bInterval = 0x0000
                          bRefresh = 0x0000
                          bSynchAddress = 0x0000
                  
                  
                      Interface 2
                        bLength = 0x0009
                        bDescriptorType = 0x0004
                        bInterfaceNumber = 0x0002
                        bAlternateSetting = 0x0000
                        bNumEndpoints = 0x0003
                        bInterfaceClass = 0x00ff  <Vendor specific>
                        bInterfaceSubClass = 0x0000
                        bInterfaceProtocol = 0x0000
                        iInterface = 0x0000  <no string>
                  
                        Additional Descriptor
                  
                        bLength = 0x05
                        bDescriptorType = 0x24
                        bDescriptorSubType = 0x00
                         RAW dump:
                         0x00 | 0x05, 0x24, 0x00, 0x10, 0x01
                  
                  
                        Additional Descriptor
                  
                        bLength = 0x05
                        bDescriptorType = 0x24
                        bDescriptorSubType = 0x01
                         RAW dump:
                         0x00 | 0x05, 0x24, 0x01, 0x00, 0x00
                  
                  
                        Additional Descriptor
                  
                        bLength = 0x04
                        bDescriptorType = 0x24
                        bDescriptorSubType = 0x02
                         RAW dump:
                         0x00 | 0x04, 0x24, 0x02, 0x02
                  
                  
                        Additional Descriptor
                  
                        bLength = 0x05
                        bDescriptorType = 0x24
                        bDescriptorSubType = 0x06
                         RAW dump:
                         0x00 | 0x05, 0x24, 0x06, 0x00, 0x00
                  
                  
                       Endpoint 0
                          bLength = 0x0007
                          bDescriptorType = 0x0005
                          bEndpointAddress = 0x0085  <IN>
                          bmAttributes = 0x0003  <INTERRUPT>
                          wMaxPacketSize = 0x000c
                          bInterval = 0x0009
                          bRefresh = 0x0000
                          bSynchAddress = 0x0000
                  
                       Endpoint 1
                          bLength = 0x0007
                          bDescriptorType = 0x0005
                          bEndpointAddress = 0x0084  <IN>
                          bmAttributes = 0x0002  <BULK>
                          wMaxPacketSize = 0x0200
                          bInterval = 0x0000
                          bRefresh = 0x0000
                          bSynchAddress = 0x0000
                  
                       Endpoint 2
                          bLength = 0x0007
                          bDescriptorType = 0x0005
                          bEndpointAddress = 0x0003  <OUT>
                          bmAttributes = 0x0002  <BULK>
                          wMaxPacketSize = 0x0200
                          bInterval = 0x0000
                          bRefresh = 0x0000
                          bSynchAddress = 0x0000
                  
                  
                      Interface 3
                        bLength = 0x0009
                        bDescriptorType = 0x0004
                        bInterfaceNumber = 0x0003
                        bAlternateSetting = 0x0000
                        bNumEndpoints = 0x0003
                        bInterfaceClass = 0x00ff  <Vendor specific>
                        bInterfaceSubClass = 0x00ff
                        bInterfaceProtocol = 0x00ff
                        iInterface = 0x0000  <no string>
                  
                       Endpoint 0
                          bLength = 0x0007
                          bDescriptorType = 0x0005
                          bEndpointAddress = 0x0087  <IN>
                          bmAttributes = 0x0003  <INTERRUPT>
                          wMaxPacketSize = 0x000a
                          bInterval = 0x0009
                          bRefresh = 0x0000
                          bSynchAddress = 0x0000
                  
                       Endpoint 1
                          bLength = 0x0007
                          bDescriptorType = 0x0005
                          bEndpointAddress = 0x0086  <IN>
                          bmAttributes = 0x0002  <BULK>
                          wMaxPacketSize = 0x0200
                          bInterval = 0x0000
                          bRefresh = 0x0000
                          bSynchAddress = 0x0000
                  
                       Endpoint 2
                          bLength = 0x0007
                          bDescriptorType = 0x0005
                          bEndpointAddress = 0x0004  <OUT>
                          bmAttributes = 0x0002  <BULK>
                          wMaxPacketSize = 0x0200
                          bInterval = 0x0000
                          bRefresh = 0x0000
                          bSynchAddress = 0x0000
                  
                  
                  
                   Configuration index 1
                  
                      bLength = 0x0009
                      bDescriptorType = 0x0002
                      wTotalLength = 0x005f
                      bNumInterfaces = 0x0002
                      bConfigurationValue = 0x0002
                      iConfiguration = 0x0000  <no string>
                      bmAttributes = 0x00e0
                      bMaxPower = 0x00fa
                  
                      Additional Descriptor
                  
                      bLength = 0x08
                      bDescriptorType = 0x0b
                      bDescriptorSubType = 0x0c
                       RAW dump:
                       0x00 | 0x08, 0x0b, 0x0c, 0x02, 0x02, 0x0e, 0x00, 0x00
                  
                  
                      Interface 0
                        bLength = 0x0009
                        bDescriptorType = 0x0004
                        bInterfaceNumber = 0x0000
                        bAlternateSetting = 0x0000
                        bNumEndpoints = 0x0001
                        bInterfaceClass = 0x0002  <Communication device>
                        bInterfaceSubClass = 0x000e
                        bInterfaceProtocol = 0x0000
                        iInterface = 0x0000  <no string>
                  
                        Additional Descriptor
                  
                        bLength = 0x05
                        bDescriptorType = 0x24
                        bDescriptorSubType = 0x00
                         RAW dump:
                         0x00 | 0x05, 0x24, 0x00, 0x10, 0x01
                  
                  
                        Additional Descriptor
                  
                        bLength = 0x05
                        bDescriptorType = 0x24
                        bDescriptorSubType = 0x06
                         RAW dump:
                         0x00 | 0x05, 0x24, 0x06, 0x0c, 0x0d
                  
                  
                        Additional Descriptor
                  
                        bLength = 0x0c
                        bDescriptorType = 0x24
                        bDescriptorSubType = 0x1b
                         RAW dump:
                         0x00 | 0x0c, 0x24, 0x1b, 0x00, 0x01, 0x00, 0x10, 0x20,
                         0x08 | 0x80, 0xdc, 0x05, 0x20
                  
                  
                        Additional Descriptor
                  
                        bLength = 0x08
                        bDescriptorType = 0x24
                        bDescriptorSubType = 0x1c
                         RAW dump:
                         0x00 | 0x08, 0x24, 0x1c, 0x00, 0x01, 0x40, 0xdc, 0x05
                  
                  
                       Endpoint 0
                          bLength = 0x0007
                          bDescriptorType = 0x0005
                          bEndpointAddress = 0x0082  <IN>
                          bmAttributes = 0x0003  <INTERRUPT>
                          wMaxPacketSize = 0x0040
                          bInterval = 0x0009
                          bRefresh = 0x0000
                          bSynchAddress = 0x0000
                  
                  
                      Interface 1
                        bLength = 0x0009
                        bDescriptorType = 0x0004
                        bInterfaceNumber = 0x0001
                        bAlternateSetting = 0x0000
                        bNumEndpoints = 0x0000
                        bInterfaceClass = 0x000a  <CDC-data>
                        bInterfaceSubClass = 0x0000
                        bInterfaceProtocol = 0x0002
                        iInterface = 0x0000  <no string>
                  
                  
                      Interface 1 Alt 1
                        bLength = 0x0009
                        bDescriptorType = 0x0004
                        bInterfaceNumber = 0x0001
                        bAlternateSetting = 0x0001
                        bNumEndpoints = 0x0002
                        bInterfaceClass = 0x000a  <CDC-data>
                        bInterfaceSubClass = 0x0000
                        bInterfaceProtocol = 0x0002
                        iInterface = 0x0000  <no string>
                  
                       Endpoint 0
                          bLength = 0x0007
                          bDescriptorType = 0x0005
                          bEndpointAddress = 0x0081  <IN>
                          bmAttributes = 0x0002  <BULK>
                          wMaxPacketSize = 0x0200
                          bInterval = 0x0000
                          bRefresh = 0x0000
                          bSynchAddress = 0x0000
                  
                       Endpoint 1
                          bLength = 0x0007
                          bDescriptorType = 0x0005
                          bEndpointAddress = 0x0001  <OUT>
                          bmAttributes = 0x0002  <BULK>
                          wMaxPacketSize = 0x0200
                          bInterval = 0x0000
                          bRefresh = 0x0000
                          bSynchAddress = 0x0000
                  

                  You may be able to change the USB PID it's presenting using the AT console in Linux:
                  https://forum.netgate.com/post/556751
                  9041 as mine has should work. There is risk involved there though.

                  Steve
                  9041

                  P viktor_gV 2 Replies Last reply Reply Quote 0
                  • P
                    Phelton @stephenw10
                    last edited by

                    @stephenw10
                    Ok Stephenw10, i managed to change the PID with 9041 and now i can see in dev the interfaces cuau0.x:

                    [2.4.5-RELEASE][root@pfSense.phelton.it]/root: ls /dev/
                    acpi         audit        cpuctl5      cuaU0.2.init devctl       kbdmux0      music0       sndstat      ttyU0.1.lock ttyu1.init   usbctl
                    ada0         auditpipe    cpuctl6      cuaU0.2.lock devctl2      klog         netmap       speaker      ttyU0.2      ttyu1.lock   xpt0
                    ada0s1       bpf          cpuctl7      cuaU0.3      devstat      kmem         nfslock      stderr       ttyU0.2.init tun1         zero
                    ada0s2       bpf0         ctty         cuaU0.3.init dumpdev      label        null         stdin        ttyU0.2.lock ufs
                    ada0s2a      console      cuaU0.0      cuaU0.3.lock fd           led          pass0        stdout       ttyU0.3      ufsid
                    ada0s3       consolectl   cuaU0.0.init cuau0        fido         md0          pci          sysmouse     ttyU0.3.init ufssuspend
                    ada0s4       cpuctl0      cuaU0.0.lock cuau0.init   full         mdctl        pf           ttyU0.0      ttyU0.3.lock ugen0.1
                    ada0s4a      cpuctl1      cuaU0.1      cuau0.lock   geom.ctl     mem          pts          ttyU0.0.init ttyu0        ugen0.2
                    ada0s4b      cpuctl2      cuaU0.1.init cuau1        hpet0        midistat     random       ttyU0.0.lock ttyu0.init   ugen0.3
                    apm          cpuctl3      cuaU0.1.lock cuau1.init   io           mlx5ctl      reroot       ttyU0.1      ttyu0.lock   urandom
                    apmctl       cpuctl4      cuaU0.2      cuau1.lock   kbd0         msdosfs      sequencer0   ttyU0.1.init ttyu1        usb
                    [2.4.5-RELEASE][root@pfSense.phelton.it]/root: 
                    

                    Now moreover i can see interfaces if i select ppp in interface area:
                    Annotazione 2020-05-24 050621.png

                    I have tried to create all four interfaces (cuau0.0,cuau0.1, cuau0.2, cuau0.3) but in every case the interface stay down:
                    Annotazione 2020-05-24 051229.png
                    Obviously i have inserted also the parameter of APN for permit the connection, but it doesn't work:
                    Annotazione 2020-05-24 051353.png

                    I think that now missing only some parameter for permit a correct functionality of the card... it's correct?

                    Why the interfaces stay down in your opinion?

                    thank you so much for your support, without your support I would never have reached this point.
                    Thank you so much again
                    regards

                    P 1 Reply Last reply Reply Quote 0
                    • P
                      Phelton @Phelton
                      last edited by

                      @Phelton

                      Little addon of information....
                      i have seen that in the log of pfsense only the interface cuaU0.2 work "fine"...
                      i can see that in the log:

                      May 24 06:20:50	ppp		Multi-link PPP daemon for FreeBSD
                      May 24 06:20:50	ppp		process 40336 started, version 5.8 (root@pfSense_v2_4_5_amd64-pfSense_v2_4_5-job-04 20:28 17-Dec-2019)
                      May 24 06:20:50	ppp		waiting for process 56510 to die...
                      May 24 06:20:50	ppp		caught fatal signal TERM
                      May 24 06:20:50	ppp		[opt6] IFACE: Close event
                      May 24 06:20:50	ppp		[opt6] IPCP: Close event
                      May 24 06:20:50	ppp		[opt6] IPV6CP: Close event
                      May 24 06:20:51	ppp		waiting for process 56510 to die...
                      May 24 06:20:52	ppp		[opt6] Bundle: Shutdown
                      May 24 06:20:52	ppp		waiting for process 56510 to die...
                      May 24 06:20:52	ppp		[opt6_link0] Link: Shutdown
                      May 24 06:20:52	ppp		process 56510 terminated
                      May 24 06:20:53	ppp		web: web is not running
                      May 24 06:20:53	ppp		[opt6] Bundle: Interface ng0 created
                      May 24 06:20:53	ppp		[opt6_link0] Link: OPEN event
                      May 24 06:20:53	ppp		[opt6_link0] LCP: Open event
                      May 24 06:20:53	ppp		[opt6_link0] LCP: state change Initial --> Starting
                      May 24 06:20:53	ppp		[opt6_link0] LCP: LayerStart
                      May 24 06:20:53	ppp		[opt6_link0] CHAT: +CGDCONT=1,"IP","apn.fastweb.it"
                      May 24 06:20:53	ppp		[opt6_link0] CHAT: Detected Hayes compatible modem.
                      May 24 06:20:54	ppp		[opt6_link0] CHAT: Dialing server at *99#...
                      May 24 06:20:54	ppp		[opt6_link0] CHAT: ATDT*99#
                      May 24 06:20:54	ppp		[opt6_link0] CHAT: Connected at 100000000.
                      May 24 06:20:54	ppp		[opt6_link0] MODEM: chat script succeeded
                      May 24 06:20:54	ppp		[opt6_link0] Link: UP event
                      May 24 06:20:54	ppp		[opt6_link0] LCP: Up event
                      May 24 06:20:54	ppp		[opt6_link0] LCP: state change Starting --> Req-Sent
                      May 24 06:20:54	ppp		[opt6_link0] LCP: SendConfigReq #1
                      May 24 06:20:54	ppp		[opt6_link0] ACFCOMP
                      May 24 06:20:54	ppp		[opt6_link0] PROTOCOMP
                      May 24 06:20:54	ppp		[opt6_link0] ACCMAP 0x000a0000
                      May 24 06:20:54	ppp		[opt6_link0] MRU 1500
                      May 24 06:20:54	ppp		[opt6_link0] MAGICNUM 0x2edc9120
                      May 24 06:20:54	ppp		[opt6_link0] LCP: rec'd Configure Request #6 (Req-Sent)
                      May 24 06:20:54	ppp		[opt6_link0] ACCMAP 0x00000000
                      May 24 06:20:54	ppp		[opt6_link0] AUTHPROTO CHAP MD5
                      May 24 06:20:54	ppp		[opt6_link0] MAGICNUM 0xf9144c52
                      May 24 06:20:54	ppp		[opt6_link0] PROTOCOMP
                      May 24 06:20:54	ppp		[opt6_link0] ACFCOMP
                      May 24 06:20:54	ppp		[opt6_link0] LCP: SendConfigAck #6
                      May 24 06:20:54	ppp		[opt6_link0] ACCMAP 0x00000000
                      May 24 06:20:54	ppp		[opt6_link0] AUTHPROTO CHAP MD5
                      May 24 06:20:54	ppp		[opt6_link0] MAGICNUM 0xf9144c52
                      May 24 06:20:54	ppp		[opt6_link0] PROTOCOMP
                      May 24 06:20:54	ppp		[opt6_link0] ACFCOMP
                      May 24 06:20:54	ppp		[opt6_link0] LCP: state change Req-Sent --> Ack-Sent
                      May 24 06:20:54	ppp		[opt6_link0] LCP: rec'd Configure Ack #1 (Ack-Sent)
                      May 24 06:20:54	ppp		[opt6_link0] ACFCOMP
                      May 24 06:20:54	ppp		[opt6_link0] PROTOCOMP
                      May 24 06:20:54	ppp		[opt6_link0] ACCMAP 0x000a0000
                      May 24 06:20:54	ppp		[opt6_link0] MRU 1500
                      May 24 06:20:54	ppp		[opt6_link0] MAGICNUM 0x2edc9120
                      May 24 06:20:54	ppp		[opt6_link0] LCP: state change Ack-Sent --> Opened
                      May 24 06:20:54	ppp		[opt6_link0] LCP: auth: peer wants CHAP, I want nothing
                      May 24 06:20:54	ppp		[opt6_link0] LCP: LayerUp
                      May 24 06:20:54	ppp		[opt6_link0] LCP: rec'd Discard Request #7 (Opened)
                      May 24 06:20:54	ppp		[opt6_link0] CHAP: rec'd CHALLENGE #1 len: 35
                      May 24 06:20:54	ppp		[opt6_link0] Name: "UMTS_CHAP_SRVR"
                      May 24 06:20:54	ppp		[opt6_link0] CHAP: Using authname "user"
                      May 24 06:20:54	ppp		[opt6_link0] CHAP: sending RESPONSE #1 len: 25
                      May 24 06:20:54	ppp		[opt6_link0] CHAP: rec'd SUCCESS #1 len: 4
                      May 24 06:20:54	ppp		[opt6_link0] LCP: authorization successful
                      May 24 06:20:54	ppp		[opt6_link0] Link: Matched action 'bundle "opt6" ""'
                      May 24 06:20:54	ppp		[opt6_link0] Link: Join bundle "opt6"
                      May 24 06:20:54	ppp		[opt6] Bundle: Status update: up 1 link, total bandwidth 100000000 bps
                      May 24 06:20:54	ppp		[opt6] IPCP: Open event
                      May 24 06:20:54	ppp		[opt6] IPCP: state change Initial --> Starting
                      May 24 06:20:54	ppp		[opt6] IPCP: LayerStart
                      May 24 06:20:54	ppp		[opt6] IPV6CP: Open event
                      May 24 06:20:54	ppp		[opt6] IPV6CP: state change Initial --> Starting
                      May 24 06:20:54	ppp		[opt6] IPV6CP: LayerStart
                      May 24 06:20:54	ppp		[opt6] IPCP: Up event
                      May 24 06:20:54	ppp		[opt6] IPCP: state change Starting --> Req-Sent
                      May 24 06:20:54	ppp		[opt6] IPCP: SendConfigReq #1
                      May 24 06:20:54	ppp		[opt6] IPADDR 0.0.0.0
                      May 24 06:20:54	ppp		[opt6] COMPPROTO VJCOMP, 16 comp. channels, no comp-cid
                      May 24 06:20:54	ppp		[opt6] PRIDNS 0.0.0.0
                      May 24 06:20:54	ppp		[opt6] SECDNS 0.0.0.0
                      May 24 06:20:54	ppp		[opt6] IPV6CP: Up event
                      May 24 06:20:54	ppp		[opt6] IPV6CP: state change Starting --> Req-Sent
                      May 24 06:20:54	ppp		[opt6] IPV6CP: SendConfigReq #1
                      May 24 06:20:56	ppp		[opt6] IPV6CP: SendConfigReq #2
                      May 24 06:20:56	ppp		[opt6] IPCP: SendConfigReq #2
                      May 24 06:20:56	ppp		[opt6] IPADDR 0.0.0.0
                      May 24 06:20:56	ppp		[opt6] COMPPROTO VJCOMP, 16 comp. channels, no comp-cid
                      May 24 06:20:56	ppp		[opt6] PRIDNS 0.0.0.0
                      May 24 06:20:56	ppp		[opt6] SECDNS 0.0.0.0
                      May 24 06:20:58	ppp		[opt6] IPCP: SendConfigReq #3
                      May 24 06:20:58	ppp		[opt6] IPADDR 0.0.0.0
                      May 24 06:20:58	ppp		[opt6] COMPPROTO VJCOMP, 16 comp. channels, no comp-cid
                      May 24 06:20:58	ppp		[opt6] PRIDNS 0.0.0.0
                      May 24 06:20:58	ppp		[opt6] SECDNS 0.0.0.0
                      May 24 06:20:58	ppp		[opt6] IPV6CP: SendConfigReq #3
                      May 24 06:21:00	ppp		[opt6] IPV6CP: SendConfigReq #4
                      May 24 06:21:00	ppp		[opt6] IPCP: SendConfigReq #4
                      May 24 06:21:00	ppp		[opt6] IPADDR 0.0.0.0
                      May 24 06:21:00	ppp		[opt6] COMPPROTO VJCOMP, 16 comp. channels, no comp-cid
                      May 24 06:21:00	ppp		[opt6] PRIDNS 0.0.0.0
                      May 24 06:21:00	ppp		[opt6] SECDNS 0.0.0.0
                      May 24 06:21:02	ppp		[opt6] IPCP: SendConfigReq #5
                      May 24 06:21:02	ppp		[opt6] IPADDR 0.0.0.0
                      May 24 06:21:02	ppp		[opt6] COMPPROTO VJCOMP, 16 comp. channels, no comp-cid
                      May 24 06:21:02	ppp		[opt6] PRIDNS 0.0.0.0
                      May 24 06:21:02	ppp		[opt6] SECDNS 0.0.0.0
                      May 24 06:21:02	ppp		[opt6] IPV6CP: SendConfigReq #5
                      May 24 06:21:04	ppp		[opt6] IPV6CP: SendConfigReq #6
                      May 24 06:21:04	ppp		[opt6] IPCP: SendConfigReq #6
                      May 24 06:21:04	ppp		[opt6] IPADDR 0.0.0.0
                      May 24 06:21:04	ppp		[opt6] COMPPROTO VJCOMP, 16 comp. channels, no comp-cid
                      May 24 06:21:04	ppp		[opt6] PRIDNS 0.0.0.0
                      May 24 06:21:04	ppp		[opt6] SECDNS 0.0.0.0
                      May 24 06:21:06	ppp		[opt6] IPCP: SendConfigReq #7
                      May 24 06:21:06	ppp		[opt6] IPADDR 0.0.0.0
                      May 24 06:21:06	ppp		[opt6] COMPPROTO VJCOMP, 16 comp. channels, no comp-cid
                      May 24 06:21:06	ppp		[opt6] PRIDNS 0.0.0.0
                      May 24 06:21:06	ppp		[opt6] SECDNS 0.0.0.0
                      May 24 06:21:06	ppp		[opt6] IPV6CP: SendConfigReq #7
                      May 24 06:21:08	ppp		[opt6] IPV6CP: SendConfigReq #8
                      May 24 06:21:08	ppp		[opt6] IPCP: SendConfigReq #8
                      May 24 06:21:08	ppp		[opt6] IPADDR 0.0.0.0
                      May 24 06:21:08	ppp		[opt6] COMPPROTO VJCOMP, 16 comp. channels, no comp-cid
                      May 24 06:21:08	ppp		[opt6] PRIDNS 0.0.0.0
                      May 24 06:21:08	ppp		[opt6] SECDNS 0.0.0.0
                      May 24 06:21:10	ppp		[opt6] IPCP: SendConfigReq #9
                      May 24 06:21:10	ppp		[opt6] IPADDR 0.0.0.0
                      May 24 06:21:10	ppp		[opt6] COMPPROTO VJCOMP, 16 comp. channels, no comp-cid
                      May 24 06:21:10	ppp		[opt6] PRIDNS 0.0.0.0
                      May 24 06:21:10	ppp		[opt6] SECDNS 0.0.0.0
                      May 24 06:21:10	ppp		[opt6] IPV6CP: SendConfigReq #9
                      May 24 06:21:12	ppp		[opt6] IPV6CP: SendConfigReq #10
                      May 24 06:21:12	ppp		[opt6] IPCP: SendConfigReq #10
                      May 24 06:21:12	ppp		[opt6] IPADDR 0.0.0.0
                      May 24 06:21:12	ppp		[opt6] COMPPROTO VJCOMP, 16 comp. channels, no comp-cid
                      May 24 06:21:12	ppp		[opt6] PRIDNS 0.0.0.0
                      May 24 06:21:12	ppp		[opt6] SECDNS 0.0.0.0
                      May 24 06:21:14	ppp		[opt6_link0] LCP: no reply to 1 echo request(s)
                      May 24 06:21:14	ppp		[opt6] IPCP: parameter negotiation failed
                      May 24 06:21:14	ppp		[opt6] IPCP: state change Req-Sent --> Stopped
                      May 24 06:21:14	ppp		[opt6] IPCP: LayerFinish
                      May 24 06:21:14	ppp		[opt6] IPV6CP: parameter negotiation failed
                      May 24 06:21:14	ppp		[opt6] IPV6CP: state change Req-Sent --> Stopped
                      May 24 06:21:14	ppp		[opt6] IPV6CP: LayerFinish
                      May 24 06:21:14	ppp		[opt6] Bundle: No NCPs left. Closing links...
                      May 24 06:21:14	ppp		[opt6] Bundle: closing link "opt6_link0"...
                      May 24 06:21:14	ppp		[opt6_link0] Link: CLOSE event
                      May 24 06:21:14	ppp		[opt6_link0] LCP: Close event
                      May 24 06:21:14	ppp		[opt6_link0] LCP: state change Opened --> Closing
                      May 24 06:21:14	ppp		[opt6_link0] Link: Leave bundle "opt6"
                      May 24 06:21:14	ppp		[opt6] Bundle: Status update: up 0 links, total bandwidth 9600 bps
                      May 24 06:21:14	ppp		[opt6] IPCP: Close event
                      May 24 06:21:14	ppp		[opt6] IPCP: state change Stopped --> Closed
                      May 24 06:21:14	ppp		[opt6] IPV6CP: Close event
                      May 24 06:21:14	ppp		[opt6] IPV6CP: state change Stopped --> Closed
                      May 24 06:21:14	ppp		[opt6] IPCP: Down event
                      May 24 06:21:14	ppp		[opt6] IPCP: state change Closed --> Initial
                      May 24 06:21:14	ppp		[opt6] IPV6CP: Down event
                      May 24 06:21:14	ppp		[opt6] IPV6CP: state change Closed --> Initial
                      May 24 06:21:14	ppp		[opt6_link0] LCP: SendTerminateReq #2
                      May 24 06:21:14	ppp		[opt6_link0] LCP: LayerDown
                      May 24 06:21:16	ppp		[opt6_link0] LCP: SendTerminateReq #3
                      May 24 06:21:18	ppp		[opt6_link0] LCP: state change Closing --> Closed
                      May 24 06:21:18	ppp		[opt6_link0] LCP: LayerFinish
                      May 24 06:21:18	ppp		[opt6_link0] Link: DOWN event
                      May 24 06:21:18	ppp		[opt6_link0] LCP: Down event
                      May 24 06:21:18	ppp		[opt6_link0] LCP: state change Closed --> Initial
                      

                      if i understood well ... the problem is that provider don't release me a ip address... but i don't understand why... in windows and ubuntu all work fine..

                      P 1 Reply Last reply Reply Quote 0
                      • P
                        Phelton @Phelton
                        last edited by Phelton

                        @Phelton
                        i'm very happy ๐Ÿ’ช ๐Ÿ’ช ๐Ÿ’ช
                        After being up all night working on it, i am proud to say that everything is working properly now. ๐Ÿ˜‚

                        Annotazione 2020-05-24 080213.png

                        I can't say why, but it seems that the problem was in the configuration that generates pfsense when selecting my provider.

                        The only difference that i have found between my actual configuration and previous is the missing of "country" path.
                        This is a part of the configuration that work for me:

                        -<ppps>
                         -<ppp>
                          <ptpid>0</ptpid>
                           <type>ppp</type>
                           <if>ppp0</if>
                           <ports>/dev/cuaU0.2</ports>
                           <username/>
                           <password/>
                           <country>IT</country>
                           <provider/>
                           <providerplan/>
                           <apn>apn.fastweb.it</apn>
                           <apnum/>
                           <phone>*99#</phone>
                           <bandwidth/>
                           <mtu/>
                           <mru/>
                           <mrru/>
                         </ppp>
                        </ppps>
                        

                        And this is the some part of configuration when the connection fail:

                        -<ppps>
                         -<ppp>
                          <ptpid>0</ptpid>
                           <type>ppp</type>
                           <if>ppp0</if>
                           <ports>/dev/cuaU0.2</ports>
                           <username/>
                           <password/>
                           <provider/>
                           <providerplan/>
                           <apn>apn.fastweb.it</apn>
                           <apnum/>
                           <phone>*99#</phone>
                         </ppp>
                        </ppps>
                        

                        thank you so much stephenw10 for your support ... you have been very kind and you have helped me as few people would have done.

                        regards

                        1 Reply Last reply Reply Quote 0
                        • viktor_gV
                          viktor_g Netgate @stephenw10
                          last edited by

                          @stephenw10 I think we need to add https://forum.netgate.com/post/556751 link to https://docs.netgate.com/pfsense/en/latest/cellular/known-working-3g-4g-modems.html

                          something more ?

                          P stephenw10S 2 Replies Last reply Reply Quote 0
                          • P
                            Phelton @viktor_g
                            last edited by Phelton

                            @viktor_g yes Sorry thanks also to you.
                            Thanks alot at all the forum.
                            Yes... And also this:
                            https://teklager.se/en/knowledge-base/pfsense-lte-troubleshooting/

                            1 Reply Last reply Reply Quote 0
                            • stephenw10S
                              stephenw10 Netgate Administrator @viktor_g
                              last edited by

                              @viktor_g
                              Yes, more info there would be good. A lot of that is probably out of date at this point.

                              @Phelton said in 4G Modem miniPCIE - Sierra Wireless, Incorporated EM7305:

                              @Phelton
                              i'm very happy ๐Ÿ’ช ๐Ÿ’ช ๐Ÿ’ช
                              After being up all night working on it, i am proud to say that everything is working properly now. ๐Ÿ˜‚

                              Nice! ๐Ÿ‘

                              1 Reply Last reply Reply Quote 0
                              • First post
                                Last post
                              Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.