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

4G Modem miniPCIE - Sierra Wireless, Incorporated EM7305

Wireless
3
14
1.4k
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.
  • S
    stephenw10 Netgate Administrator
    last edited by stephenw10 May 21, 2020, 9:48 PM May 21, 2020, 9:47 PM

    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 May 22, 2020, 9:46 PM Reply Quote 0
    • P
      Phelton @stephenw10
      last edited by May 22, 2020, 9:46 PM

      @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
      • S
        stephenw10 Netgate Administrator
        last edited by May 23, 2020, 1:00 PM

        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 May 23, 2020, 4:13 PM

          @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
          • S
            stephenw10 Netgate Administrator
            last edited by May 23, 2020, 5:59 PM

            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 V 2 Replies Last reply May 24, 2020, 3:24 AM Reply Quote 0
            • P
              Phelton @stephenw10
              last edited by May 24, 2020, 3:24 AM

              @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:
              login-to-view

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

              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 May 24, 2020, 4:27 AM Reply Quote 0
              • P
                Phelton @Phelton
                last edited by May 24, 2020, 4:27 AM

                @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 May 24, 2020, 6:01 AM Reply Quote 0
                • P
                  Phelton @Phelton
                  last edited by Phelton May 24, 2020, 6:02 AM May 24, 2020, 6:01 AM

                  @Phelton
                  i'm very happy 💪 💪 💪
                  After being up all night working on it, i am proud to say that everything is working properly now. 😂

                  login-to-view

                  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
                  • V
                    viktor_g Netgate @stephenw10
                    last edited by May 24, 2020, 11:35 AM

                    @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 S 2 Replies Last reply May 24, 2020, 1:17 PM Reply Quote 0
                    • P
                      Phelton @viktor_g
                      last edited by Phelton May 24, 2020, 1:21 PM May 24, 2020, 1:17 PM

                      @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
                      • S
                        stephenw10 Netgate Administrator @viktor_g
                        last edited by May 24, 2020, 1:23 PM

                        @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
                        13 out of 14
                        • First post
                          13/14
                          Last post
                        Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.