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

    D-Link DWM-222 LTE Dongle with 2.5

    Scheduled Pinned Locked Moved Hardware
    39 Posts 3 Posters 7.3k 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.
    • R
      rmeskill
      last edited by

      On a Debian machine (rasberry pi) I get the following:

      pi@raspberrypi:~ $ sudo usb_modeswitch -K -W -v 2001 -p 0xab00
      Take all parameters from the command line
      
      
       * usb_modeswitch: handle USB devices with multiple modes
       * Version 2.5.0 (C) Josua Dietze 2017
       * Based on libusb1/libusbx
      
       ! PLEASE REPORT NEW CONFIGURATIONS !
      
      DefaultVendor=  0x2001
      DefaultProduct= 0xab00
      
      StandardEject=1
      
      Look for default devices ...
        found USB ID 2001:7e35
         vendor ID matched
        found USB ID 0424:ec00
        found USB ID 0424:9514
        found USB ID 1d6b:0002
       No devices in default mode found. Nothing to do. Bye!
      
      1 Reply Last reply Reply Quote 0
      • stephenw10S
        stephenw10 Netgate Administrator
        last edited by

        @rmeskill said in D-Link DWM-222 LTE Dongle with 2.5:

        7e35

        In Debian it has already been switched so usb_modeswitch has nothing to do. 0x7e35 is the modem mode ID:
        https://github.com/pfsense/FreeBSD-src/blob/RELENG_2_5/sys/dev/usb/usbdevs#L1722

        It just needs to be ejected but if it never appears as a virtual CD drive that's.... challenging!

        It looks to be failing reading the config index for some reason but your usbconfig output previously showed it using config index 0 as expected.

        Steve

        1 Reply Last reply Reply Quote 0
        • R
          rmeskill
          last edited by rmeskill

          For clarification, here's the most recent output:

          ugen7.2: <Mobile Connect Mobile Connect> at usbus7, cfg=255 md=HOST spd=HIGH (480Mbps) pwr=ON (500mA)
          
            bLength = 0x0012
            bDescriptorType = 0x0001
            bcdUSB = 0x0201
            bDeviceClass = 0x0000  <Probed by interface class>
            bDeviceSubClass = 0x0000
            bDeviceProtocol = 0x0000
            bMaxPacketSize0 = 0x0040
            idVendor = 0x2001
            idProduct = 0xab00
            bcdDevice = 0x0228
          

          (Had to pare it back a bit since it kept getting flagged as spam)

              Interface 0
                bLength = 0x0009
                bDescriptorType = 0x0004
                bInterfaceNumber = 0x0000
                bAlternateSetting = 0x0000
                bNumEndpoints = 0x0002
                bInterfaceClass = 0x0008  <Mass storage>
                bInterfaceSubClass = 0x0006
                bInterfaceProtocol = 0x0050
                iInterface = 0x0004  <Mass Storage>
          
               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 = 0x0001
                  bRefresh = 0x0000
                  bSynchAddress = 0x0000
          
          1 Reply Last reply Reply Quote 0
          • R
            rmeskill
            last edited by rmeskill

            I also just upgraded the firmware to 2.1.2 rev A1, available here and confirmed a couple things on my Windows machine. It does initially connect as a USB/CD folder, and when you launch the connection program it disconnects that, presumably making the mode change which we need to produce here. I've also tried running it through an unpowered USB hub, just to see if that somehow affected things, but it just comes up as 7.3 (with 7.2 being the hub itself) with no additional CDROM in /dev:

            [2.5.0-DEVELOPMENT][admin@pfSense.localdomain]/dev: ls
            acpi       apm        bpf0       cpuctl3    cuau2.init fd         io         label      mixer1     null       reroot     stdout     ttyu2      ttyv3      ttyv9      ugen1.1    ugen7.1    usbctl
            ada0       apmctl     console    ctty       cuau2.lock fido       kbd0       md0        mlx5ctl    pass0      sequencer0 sysmouse   ttyu2.init ttyv4      ttyva      ugen2.1    ugen7.2    xpt0
            ada0s1     atkbd0     consolectl cuau0      devctl     full       kbd1       mdctl      music0     pci        sndstat    tcp_log    ttyu2.lock ttyv5      ttyvb      ugen3.1    ugen7.3    zero
            ada0s1a    audit      cpuctl0    cuau0.init devctl2    geom.ctl   kbdmux0    mem        netdump    pf         speaker    ttyu0      ttyv0      ttyv6      ufsid      ugen4.1    uinput
            ada0s1b    auditpipe  cpuctl1    cuau0.lock devstat    hpet1      klog       midistat   netmap     pts        stderr     ttyu0.init ttyv1      ttyv7      ufssuspend ugen5.1    urandom
            agpgart    bpf        cpuctl2    cuau2      dumpdev    input      kmem       mixer0     nfslock    random     stdin      ttyu0.lock ttyv2      ttyv8      ugen0.1    ugen6.1    usb
            
            [2.5.0-DEVELOPMENT][admin@pfSense.localdomain]/dev: usbconfig
            ugen1.1: <Intel UHCI root HUB> at usbus1, cfg=0 md=HOST spd=FULL (12Mbps) pwr=SAVE (0mA)
            ugen7.1: <Intel EHCI root HUB> at usbus7, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=SAVE (0mA)
            ugen6.1: <Intel UHCI root HUB> at usbus6, cfg=0 md=HOST spd=FULL (12Mbps) pwr=SAVE (0mA)
            ugen5.1: <Intel UHCI root HUB> at usbus5, cfg=0 md=HOST spd=FULL (12Mbps) pwr=SAVE (0mA)
            ugen3.1: <Intel EHCI root HUB> at usbus3, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=SAVE (0mA)
            ugen2.1: <Intel UHCI root HUB> at usbus2, cfg=0 md=HOST spd=FULL (12Mbps) pwr=SAVE (0mA)
            ugen0.1: <Intel UHCI root HUB> at usbus0, cfg=0 md=HOST spd=FULL (12Mbps) pwr=SAVE (0mA)
            ugen4.1: <Intel UHCI root HUB> at usbus4, cfg=0 md=HOST spd=FULL (12Mbps) pwr=SAVE (0mA)
            ugen7.2: <vendor 0x058f product 0x6254> at usbus7, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=SAVE (100mA)
            ugen7.3: <Mobile Connect Mobile Connect> at usbus7, cfg=255 md=HOST spd=HIGH (480Mbps) pwr=ON (500mA)
            
            1 Reply Last reply Reply Quote 0
            • stephenw10S
              stephenw10 Netgate Administrator
              last edited by

              @rmeskill said in D-Link DWM-222 LTE Dongle with 2.5:

              Get the current device configuration ...
              Determining the active configuration failed (error -5). Abort

              This indicates there is some issue with the device config values. Does it still show bConfigurationValue = 0x0001?

              Can you specify it directly, like: usb_modeswitch -v 2001 -p 0xab00 -u 1

              Steve

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

                @rmeskill said in D-Link DWM-222 LTE Dongle with 2.5:

                ugen7.3: <Mobile Connect Mobile Connect> at usbus7, cfg=255 md=HOST spd=HIGH (480Mbps) pwr=ON (500mA)

                Aha this looks like a clue: cfg=255 is clearly invalid! It should be 0 there is only one config index available.

                Try this: usbconfig -d ugen7.3 set_config 0

                If that works we can add it as a device hint.

                Steve

                1 Reply Last reply Reply Quote 0
                • R
                  rmeskill
                  last edited by

                  Still no dice. I swapped things around a few times to see if bus 3 or 7 made a difference and tried everything with both a value of 1 and of 0x0001, but to no avail...

                  [2.5.0-DEVELOPMENT][admin@pfSense.localdomain]/dev: sudo usbconfig -d ugen3.2 set_config 0
                  [2.5.0-DEVELOPMENT][admin@pfSense.localdomain]/dev: usbconfig
                  ugen1.1: <Intel UHCI root HUB> at usbus1, cfg=0 md=HOST spd=FULL (12Mbps) pwr=SAVE (0mA)
                  ugen7.1: <Intel EHCI root HUB> at usbus7, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=SAVE (0mA)
                  ugen6.1: <Intel UHCI root HUB> at usbus6, cfg=0 md=HOST spd=FULL (12Mbps) pwr=SAVE (0mA)
                  ugen5.1: <Intel UHCI root HUB> at usbus5, cfg=0 md=HOST spd=FULL (12Mbps) pwr=SAVE (0mA)
                  ugen3.1: <Intel EHCI root HUB> at usbus3, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=SAVE (0mA)
                  ugen2.1: <Intel UHCI root HUB> at usbus2, cfg=0 md=HOST spd=FULL (12Mbps) pwr=SAVE (0mA)
                  ugen0.1: <Intel UHCI root HUB> at usbus0, cfg=0 md=HOST spd=FULL (12Mbps) pwr=SAVE (0mA)
                  ugen4.1: <Intel UHCI root HUB> at usbus4, cfg=0 md=HOST spd=FULL (12Mbps) pwr=SAVE (0mA)
                  ugen3.2: <Mobile Connect Mobile Connect> at usbus3, cfg=255 md=HOST spd=HIGH (480Mbps) pwr=ON (500mA)
                  
                  [2.5.0-DEVELOPMENT][admin@pfSense.localdomain]/dev: usb_modeswitch -v 2001 -p 0xab00 -u 1
                  Look for default devices ...
                   Found devices in default mode (1)
                  Access device 002 on bus 003
                  Get the current device configuration ...
                   Determining the active configuration failed (error -5). Abort
                  
                  1 Reply Last reply Reply Quote 0
                  • stephenw10S
                    stephenw10 Netgate Administrator
                    last edited by

                    Hmm, for some reason it's not able to read the config index value. Seems to be defaulting to 255 whuch indicates the device has not been initialised correctly.
                    https://wiki.freebsd.org/USB#Debugging_USB

                    I'm not sure there is anything we can do about that.

                    Steve

                    1 Reply Last reply Reply Quote 0
                    • R
                      rmeskill
                      last edited by

                      Crap, does this just mean it's hopeless? Do we think it might be the hardware I'm running pfsense on or just the DWM-222 itself? And there's no way to force a config index on boot?

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

                        I don't think so. If it's not being initialised correctly we can't force it to do anything much.

                        I assume it appears like that whether it's connected before or after boot?

                        You might try it in a different port if you can, maybe a usb 2 vs 3 issue?

                        If you can try it in a different pfSense device that would probably be conclusive.

                        Steve

                        1 Reply Last reply Reply Quote 0
                        • R
                          rmeskill
                          last edited by

                          I've tried it in all the available USB ports on that machine, but it's an old one, so all the ports are only USB 2. Does 2.5 (or any PFSense) work on 32-bit hardware? I have another old machine that is only 32-bit but with USB 3 that I could try...

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

                            No, there is no current pfSense version that will run in 32bit x86 hardware. The last version was 2.3.5.

                            You could test using FreeBSD though: https://download.freebsd.org/ftp/releases/i386/i386/ISO-IMAGES/12.1/

                            Steve

                            1 Reply Last reply Reply Quote 0
                            • D
                              DjJoakim @rmeskill
                              last edited by

                              @rmeskill said in D-Link DWM-222 LTE Dongle with 2.5:

                              I've tried it in all the available USB ports on that machine, but it's an old one, so all the ports are only USB 2. Does 2.5 (or any PFSense) work on 32-bit hardware? I have another old machine that is only 32-bit but with USB 3 that I could try...

                              Hey, did you ever get this to work?
                              I am in the same boat as you.. and don't really know if i just have to buy another USB modem or if it's possible to get this working with pfsense.

                              R 1 Reply Last reply Reply Quote 0
                              • R
                                rmeskill @DjJoakim
                                last edited by

                                @djjoakim Oh wow, I completely forgot about this. No, I eventually gave up, boxed the DWM-222 up and returned it. Sorry to be the bearer of bad news, but it seemed hopeless to me...

                                D 1 Reply Last reply Reply Quote 0
                                • D
                                  DjJoakim @rmeskill
                                  last edited by

                                  @rmeskill
                                  Thank you for the responce. I have Done the same now.. and i hope the huawei model i bought today will work better :)

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