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.6k 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.
    • 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.