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

3G/LTE Modem (Huawei ME909u -521) on boot - USB driver not loading

Scheduled Pinned Locked Moved Hardware
22 Posts 11 Posters 5.4k Views
Loading More Posts
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • A
    arundsis
    last edited by Dec 6, 2017, 5:55 PM

    I have changed the delay from 3 s to 41 s, even 63 - no help.

    I changed the Huawei module to another mPCIe slot, no change.

    If the module is removed, then the ' <unknown>at usbus2…' line in dmesg disappears.

    Updated pfSense to the newest 2.4.2. No change :-(

    Clearly the system can not identify the Huawei module or the module is broken.
    Or the module is an uncompatible subversion or something.

    Any good ideas ? Is it possible the module is in some strange mode?
    It is not very easy to test the module/MB combination with some other OS.</unknown>

    1 Reply Last reply Reply Quote 0
    • A
      arundsis
      last edited by Dec 6, 2017, 6:50 PM

      @johnkeates:

      @arundsis:

      I have exactly same problem. ME909u-521 not recognized.

      Board: PC Engines APU3B4 (with 1 mSATA and 2 mPCIe slots)
      pdSense 2.4.0 amd64, FreeBSD 11.1-realease-p1
      LTE modem: Huawei ME909u-521

      Dmesg says: ugen2.3: <unknown>at usbus2 (disconnected).

      I added <earlyshellcmd>usbconfig -u 2 reset</earlyshellcmd> above <system>-part to config.xml.
      Rebooted. I get still the same 'unknown' message.

      I tried manually run that 'usbconfig -u 2 reset' from command line, then I get
      'usbconfig: could not open device: No error: 0'

      What is going wrong here?</system></unknown>

      Are you sure you are using the correct device id?

      No I am not :-(

      But how can I get one ?

      usbconfig dump_device_desc :

      ugen1.1: <amd ehci="" root="" hub="">at usbus1, cfg=0 md=HOST spd=HIGH (480Mbps)
      pwr=SAVE (0mA)

      bLength = 0x0012
        bDescriptorType = 0x0001
        bcdUSB = 0x0200
        bDeviceClass = 0x0009  <hub>bDeviceSubClass = 0x0000
        bDeviceProtocol = 0x0001
        bMaxPacketSize0 = 0x0040
        idVendor = 0x0000
        idProduct = 0x0000
        bcdDevice = 0x0100
        iManufacturer = 0x0001  <amd>iProduct = 0x0002  <ehci root="" hub="">iSerialNumber = 0x0000  <no string="">bNumConfigurations = 0x0001

      ugen2.1: <amd ehci="" root="" hub="">at usbus2, cfg=0 md=HOST spd=HIGH (480Mbps)
      pwr=SAVE (0mA)

      bLength = 0x0012
        bDescriptorType = 0x0001
        bcdUSB = 0x0200
        bDeviceClass = 0x0009  <hub>bDeviceSubClass = 0x0000
        bDeviceProtocol = 0x0001
        bMaxPacketSize0 = 0x0040
        idVendor = 0x0000
        idProduct = 0x0000
        bcdDevice = 0x0100
        iManufacturer = 0x0001  <amd>iProduct = 0x0002  <ehci root="" hub="">iSerialNumber = 0x0000  <no string="">bNumConfigurations = 0x0001

      ugen0.1: <0x1022 XHCI root HUB> at usbus0, cfg=0 md=HOST spd=SUPER
      (5.0Gbps) pwr=SAVE (0mA)

      bLength = 0x0012
        bDescriptorType = 0x0001
        bcdUSB = 0x0300
        bDeviceClass = 0x0009  <hub>bDeviceSubClass = 0x0000
        bDeviceProtocol = 0x0003
        bMaxPacketSize0 = 0x0009
        idVendor = 0x0000
        idProduct = 0x0000
        bcdDevice = 0x0100
        iManufacturer = 0x0001  <0x1022>
        iProduct = 0x0002  <xhci root="" hub="">iSerialNumber = 0x0000  <no string="">bNumConfigurations = 0x0001

      ugen1.2: <vendor 0x0438="" product="" 0x7900="">at usbus1, cfg=0 md=HOST spd=HIGH
      (480Mbps) pwr=SAVE (100mA)

      bLength = 0x0012
        bDescriptorType = 0x0001
        bcdUSB = 0x0200
        bDeviceClass = 0x0009  <hub>bDeviceSubClass = 0x0000
        bDeviceProtocol = 0x0001
        bMaxPacketSize0 = 0x0040
        idVendor = 0x0438
        idProduct = 0x7900
        bcdDevice = 0x0018
        iManufacturer = 0x0000  <no string="">iProduct = 0x0000  <no string="">iSerialNumber = 0x0000  <no string="">bNumConfigurations = 0x0001

      ugen2.2: <vendor 0x0438="" product="" 0x7900="">at usbus2, cfg=0 md=HOST spd=HIGH
      (480Mbps) pwr=SAVE (100mA)

      bLength = 0x0012
        bDescriptorType = 0x0001
        bcdUSB = 0x0200
        bDeviceClass = 0x0009  <hub>bDeviceSubClass = 0x0000
        bDeviceProtocol = 0x0001
        bMaxPacketSize0 = 0x0040
        idVendor = 0x0438
        idProduct = 0x7900
        bcdDevice = 0x0018
        iManufacturer = 0x0000  <no string="">iProduct = 0x0000  <no string="">iSerialNumber = 0x0000  <no string="">bNumConfigurations = 0x0001</no></no></no></hub></vendor></no></no></no></hub></vendor></no></xhci></hub></no></ehci></amd></hub></amd></no></ehci></amd></hub></amd>

      1 Reply Last reply Reply Quote 0
      • U
        uno12
        last edited by Dec 28, 2017, 12:34 PM

        Hi,

        i had the same problem… the ME909u-521 was not found with usbconfig. I got the message "...(disconnected)" for the USB Device in the log file (dmesg).
        also the usbreset did not work for me..

        I asume this is a timing problem.
        My original installation was on a 16G mSATA SSD. Boot was very fast and everything was o.k. but the huawei card was not detected.
        I tried Linux boot from USB Stick, and the card was found correct.
        also, if i boot pfsense from usb stick.... much slower than Sata SSD, the ME909 is found and works. I have rebooted this config several times and had no more issues that the device cuaU0.0-4 devices not available.

        i will try to put some delays in the boot process, to bring my ME909 card online even with the SATA SSD....

        regards

        1 Reply Last reply Reply Quote 0
        • A
          arundsis
          last edited by Jan 5, 2018, 6:09 PM

          Do you have found how to slow boot down?

          /boot/loader.conf setting increases the wait time in boot OK, but does not resolve the original problem - identifying the 909u-521 :-/

          I have run out of ideas.

          1 Reply Last reply Reply Quote 0
          • A
            arundsis
            last edited by Jan 6, 2018, 1:20 PM

            I installed pfSense on a slow USB-memory-stick, and booted from that.
            ME909u-521 gets identified and shows 5 serial ports, from cuaU0.0 to 0.4
            Configured PPP to port /dev/cuaU0.0, and added &F0E1Q0 to init string.
            Yes, it connects and works.

            Now the problem still lies how to make it work from much faster SSD-disk…

            1 Reply Last reply Reply Quote 0
            • J
              jsrobinson3
              last edited by Jan 26, 2018, 8:52 PM

              @arundsis:

              I installed pfSense on a slow USB-memory-stick, and booted from that.
              ME909u-521 gets identified and shows 5 serial ports, from cuaU0.0 to 0.4
              Configured PPP to port /dev/cuaU0.0, and added &F0E1Q0 to init string.
              Yes, it connects and works.

              Now the problem still lies how to make it work from much faster SSD-disk…

              Have you figured out how to solve this I am having what seems to be the same problem with a Sierra MC7355

              1 Reply Last reply Reply Quote 0
              • N
                nora
                last edited by Jan 28, 2018, 3:02 PM

                Hi guys.

                I have here the same problem.
                On the running system, plugged off the miniPCIe modem, plugged it in again an its recognized.
                But that can't be the plan.
                Any new advisories to get the modem recognized?

                Tried all the recommendations, no luck.

                Cheers
                Nora

                1 Reply Last reply Reply Quote 0
                • N
                  nora
                  last edited by Jan 29, 2018, 4:34 PM

                  Hi
                  some more output:
                  After plugged off and plugged in the modem.

                  
                  ugen2.3: <huawei technology="">at usbus2
                  u3g0: <huawei mobile="" connect="" -="" modem="">on usbus2
                  u3g0: Found 5 ports.
                  ugen2.3: <huawei technology="">at usbus2 (disconnected)
                  u3g0: at uhub4, port 3, addr 3 (disconnected)
                  ugen2.3: <huawei technology="">at usbus2
                  u3g0: <huawei mobile="" connect="" -="" modem="">on usbus2
                  u3g0: Found 5 ports.</huawei></huawei></huawei></huawei></huawei> 
                  

                  then the usbconfig dump_device_desc

                  
                  ..
                  ..
                  ugen2.3: <huawei mobile="" huawei="" technology="">at usbus2, 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 = 0x12d1
                    idProduct = 0x1573
                    bcdDevice = 0x0228
                    iManufacturer = 0x0001  <huawei technology="">iProduct = 0x0002  <huawei mobile="">iSerialNumber = 0x0003  <0123456712ABCA17>
                    bNumConfigurations = 0x0003</huawei></huawei></probed></huawei> 
                  

                  Where can we do some configuration to recognize this card?
                  I found an other peace of documentation here:
                  I don't know if i'm allowed to post an foreign URL ?
                  But I don't know if this could help?

                  Any help is greatly appreciated

                  Nora

                  1 Reply Last reply Reply Quote 0
                  • A
                    arundsis
                    last edited by Jan 30, 2018, 11:22 AM

                    Usbmodeswitch is needed with some usb-type modemsticks, it can change the stick's mode to modem, from the original usb-memory-mode offering typically some installer software for Windows.

                    As far as I know, ME909 mPCIe-module does not need usbmodeswitch, at least not for it's original purpose.

                    But maybe it can still be possible to help or re-run the recognition procedure with usbmodeswitch, I don't know.

                    I quess the core of this problem is somewhere in FreeBSD code, maybe some driver or other USB-related thing causing a timing problem and locking the bus/module.
                    The best alternative would be if some BSD- or pfSense developer looked at it…

                    1 Reply Last reply Reply Quote 0
                    • W
                      wireless
                      last edited by Feb 12, 2018, 8:30 PM Feb 12, 2018, 8:25 PM

                      @nora:

                      I have here the same problem.
                      On the running system, plugged off the miniPCIe modem, plugged it in again an its recognized.
                      But that can't be the plan.
                      Any new advisories to get the modem recognized?

                      I've spent a substantial amount of time struggling with this issue: APU board, Huawei ME909u-521, boot from SSD disk. It doesn't matter if the modem is plugged into the motherboard connector or into a USB connector using adapter. Neither this is pfSense-spesific, OPNsense does the same, actually it's the underlying up-to-date freeBSD. AFAIK, old enough (maybe 9.x?) freeBSD did work. But it seems to be essential that 1) the board used is APU and 2) having the Huawei module plugged in during cold boot, the result will be a failure. Plug it in when the system is running, it works.

                      I've been in touch with PC Engines' support, last week I heard they were able to reproduce the problem and promised to investigate it. So I'll keep my fingers crossed there will be a bios update to fix this some day.

                      As a workaround I'm using Sierra MC7455 in my most urgent application. It works out-of-the-box, needs no init strings. Unfortunately I've found no way how to get any info about the radio link quality while the connection is active.

                      1 Reply Last reply Reply Quote 0
                      • N
                        nora
                        last edited by Feb 28, 2018, 10:33 AM

                        Hi

                        I've been in touch with PC Engines' support, last week I heard they were able to reproduce the problem and promised to investigate it. So I'll keep my fingers crossed there will be a bios update to fix this some day.

                        Is this topic covered in some forum / git on pcengines?
                        Any news about it?

                        As a workaround I'm using Sierra MC7455 in my most urgent application. It works out-of-the-box, needs no init strings. Unfortunately I've found no way how to get any info about the radio link quality while the connection is active.

                        I hope there is a solution nearly.
                        I don't want to spend an other 100$ for an other LTE card.

                        Best regards
                        Nora

                        1 Reply Last reply Reply Quote 0
                        • N
                          nora
                          last edited by Mar 5, 2018, 5:36 PM Mar 5, 2018, 5:07 PM

                          Hello again

                          Any further tries.

                          I updated the BIOS of the apu3b4 from legacy 4.0.7.1 to legacy apu3 v4.0.12
                          I tought it might be helping.
                          Created the USB install media
                          and made the install.
                          While booting the install media it sees the Huawai modem:

                          
                          ..
                          ugen1.3: <huawei technology="">at usbus1
                          u3g0: <huawei mobile="" connect="" -="" modem="">on usbus1
                          u3g0: Found 5 ports.
                          ..</huawei></huawei> 
                          

                          After install is competed, it doesn't recognise it anymore:

                          
                          ..
                          ugen1.3: <unknown>at usbus1 (disconnected)
                          ..</unknown> 
                          

                          What can be done to reslove this issue?

                          I read on pcengines, there's a new board revision, Version apu3c:

                          • Improve compatibility with LTE modem modules: Disconnect SMB_DAT / SMB_CLK signals (1.8V level on Quectel).
                          • Improve compatibility with LTE modem modules: No stuff diodes D4 / D17, option resistor bypass (extremely low VIL on Huawei modems, sensitive to incoming EMI).
                          • Optional SIM presence indicator / SIM card detect.
                          • Disable non-functional NCT5104D watchdog timer.
                          • Increase 3.3V current limit to allow for two simultaneous LTE modems.
                          • Some DFM changes.

                          Any help is appreciated
                          Cheers
                          Nora

                          1 Reply Last reply Reply Quote 0
                          • W
                            wireless
                            last edited by Apr 15, 2018, 1:51 AM

                            @nora:

                            I updated the BIOS of the apu3b4 from legacy 4.0.7.1 to legacy apu3 v4.0.12

                            What can be done to reslove this issue?

                            I recommend trying v4.0.16 bios. After the very first tests I've made, it looks promising. The bios seems to be already available on PC Engines' page, I got it directly from their support a few days ago. But I believe it's exactly the same version…

                            1 Reply Last reply Reply Quote 0
                            • stephenw10S
                              stephenw10 Netgate Administrator
                              last edited by Apr 16, 2018, 5:50 PM

                              So the problem here is simply that the modem is not given enough time to initialise at boot?

                              You could try increasing the value of kern.cam.boot_delay or autoboot_delay in loader.conf(.local).

                              Steve

                              1 Reply Last reply Reply Quote 0
                              • First post
                                Last post
                              Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.
                                This community forum collects and processes your personal information.
                                consent.not_received