D-Link DWM-157 USB Stock not recognized
-
If it works on stock freebsd 10.3 (version for upcomming pfSense 2.3) and/or you know how to make it work: file a bugreport on https://redmine.pfsense.org/projects/pfsense
post all relevant info & the devs will probably take a look at it when time permits
-
I have exactly the same problem. My D-Link DWM-157 is also recognized as a CD Drive, but it has another USB ID: 2001:a407 (Europe version?)
Can you also add this ID to the usb file?
Edit: I just saw that Tagashy has mentioned this USB ID. I also found out how to switch the device to modem mode. Could you provide a compiled kernel for pfSense 2.2.6-RELEASE (amd64) so I can test the changes?
-
I have exactly the same problem. My D-Link DWM-157 is also recognized as a CD Drive, but it has another USB ID: 2001:a407 (Europe version?)
Can you also add this ID to the usb file?
Edit: I just saw that Tagashy has mentioned this USB ID. I also found out how to switch the device to modem mode. Could you provide a compiled kernel for pfSense 2.2.6-RELEASE (amd64) so I can test the changes?
@TheNetStriker … maybe you want to share the information on how to switch the DWM-157 stick to modem mode ?
@heper ... i run pfsense 2.3 RC1 but my DWM-157 stick doesn't work.
meanwhile i got the documents (attached) from d-link support. i can confirm that the following MessageContent is switching my stick to modem mode
usb_modeswitch -v 2001 -p a407 -m 1 -M 555342431234567800000000000003f0010300000000000000000000000000 -R 1
But it's reconized as ethernet UE0 device ? Sime ideas ?
-
I have exactly the same problem. My D-Link DWM-157 is also recognized as a CD Drive, but it has another USB ID: 2001:a407 (Europe version?)
Can you also add this ID to the usb file?
Edit: I just saw that Tagashy has mentioned this USB ID. I also found out how to switch the device to modem mode. Could you provide a compiled kernel for pfSense 2.2.6-RELEASE (amd64) so I can test the changes?
@TheNetStriker … maybe you want to share the information on how to switch the DWM-157 stick to modem mode ?
@heper ... i run pfsense 2.3 RC1 but my DWM-157 stick doesn't work.
meanwhile i got the documents (attached) from d-link support. i can confirm that the following MessageContent is switching my stick to modem mode
usb_modeswitch -v 2001 -p a407 -m 1 -M 555342431234567800000000000003f0010300000000000000000000000000 -R 1
But it's reconized as ethernet UE0 device ? Sime ideas ?
My device is now listed as ugen1.2. I think I used the wrong MessageContent. Any idea how I can change the device back? This command doesn't seam to work:
usb_modeswitch -R -v 2001 -p 7d0e
-
If it works on stock freebsd 10.3 (version for upcomming pfSense 2.3) and/or you know how to make it work: file a bugreport on https://redmine.pfsense.org/projects/pfsense
post all relevant info & the devs will probably take a look at it when time permits
I don't think that this will be fixed with FreeBSD 10.3. I've looked at the latest usbdevs file and there is no device with id a407. So I think this should be reported to the FreeBSD project. It seams as there are multiple possible ways to report problems in FreeBSD. Which one would be correct? File a bug report on GitHUB maybe?
-
hello,
I am trying to make a D-Link DWM-157 D1 unit work on pfSense 2.4.4 and I have the same problem, pfSense sees it as CD-ROM despite it is shown as a "Known Working 3G-4G Modem" (https://docs.netgate.com/pfsense/en/latest/cellular/known-working-3g-4g-modems.html)
I followed the steps https://redmine.pfsense.org/issues/6226 and http://www.draisberghof.de/usb_modeswitch/bb/viewtopic.php?f=4&t=2687 however it is insisting to be a CD-ROM instead of a modem.
Question: is it possible to use configuration=2 option instead of MessageContent in pfSense?
Best,
Savas
-
If it has 2 (or more) usb config indexes you can force it to use a different one using a usb quirk option.
Try running
usbconfig dump_all_desc
against it.Steve
-
Thanks Steve,
In the attached file, you can find the usbconfig dump_all_desc output.
How can I use the quirk option?
Best,
Savas
Shell Output.zip -
Ok, so that device has 3 config indexes:
ugen4.2: <D-Link,Inc D-Link DWM-157> at usbus4, cfg=1 md=HOST spd=HIGH (480Mbps) pwr=ON (98mA) bLength = 0x0012 bDescriptorType = 0x0001 bcdUSB = 0x0200 bDeviceClass = 0x0000 <Probed by interface class> bDeviceSubClass = 0x0000 bDeviceProtocol = 0x0000 bMaxPacketSize0 = 0x0040 idVendor = 0x2001 idProduct = 0xa407 bcdDevice = 0x0300 iManufacturer = 0x0002 <D-Link,Inc > iProduct = 0x0003 <D-Link DWM-157> iSerialNumber = 0x0004 <531399703502680> bNumConfigurations = 0x0003 Configuration index 0 bLength = 0x0009 bDescriptorType = 0x0002wTotalLength = 0x0020 bNumInterfaces = 0x0001 bConfigurationValue = 0x0001 iConfiguration = 0x0000 <no string> bmAttributes = 0x00a0 bMaxPower = 0x00fa Interface 0 bLength = 0x0009 bDescriptorType = 0x0004 bInterfaceNumber = 0x0000 bAlternateSetting = 0x0000 bNumEndpoints = 0x0002 bInterfaceClass = 0x0008 <Mass storage> bInterfaceSubClass = 0x0006 bInterfaceProtocol = 0x0050 iInterface = 0x0001 <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 = 0x0000 bRefresh = 0x0000 bSynchAddress = 0x0000 Configuration index 1 bLength = 0x0009 bDescriptorType = 0x0002 wTotalLength = 0x0020 bNumInterfaces = 0x0001 bConfigurationValue = 0x0002 iConfiguration = 0x0000 <no string> bmAttributes = 0x00a0 bMaxPower = 0x0031 Interface 0 bLength = 0x0009 bDescriptorType = 0x0004 bInterfaceNumber = 0x0000 bAlternateSetting = 0x0000 bNumEndpoints = 0x0002bInterfaceClass = 0x0008 <Mass storage> bInterfaceSubClass = 0x0006 bInterfaceProtocol = 0x0050 iInterface = 0x0001 <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 = 0x0000 bRefresh = 0x0000 bSynchAddress = 0x0000 Configuration index 2 bLength = 0x0009 bDescriptorType = 0x0002 wTotalLength = 0x0020 bNumInterfaces = 0x0001 bConfigurationValue = 0x0003 iConfiguration = 0x0000 <no string> bmAttributes = 0x00e0 bMaxPower = 0x0000 Interface 0 bLength = 0x0009 bDescriptorType = 0x0004 bInterfaceNumber = 0x0000 bAlternateSetting = 0x0000 bNumEndpoints = 0x0002 bInterfaceClass = 0x0008 <Mass storage> bInterfaceSubClass = 0x0006 bInterfaceProtocol = 0x0050 iInterface = 0x0001 <Mass Storage > Endpoint 0 bLength = 0x0007 bDescriptorType = 0x0005 bEndpointAddress = 0x0081 <IN> bmAttributes = 0x0002 <BULK> wMaxPacketSize = 0x0200 bInterval = 0x0000 bRefresh = 0x0000bSynchAddress = 0x0000 Endpoint 1 bLength = 0x0007 bDescriptorType = 0x0005 bEndpointAddress = 0x0001 <OUT> bmAttributes = 0x0002 <BULK> wMaxPacketSize = 0x0200 bInterval = 0x0000 bRefresh = 0x0000 bSynchAddress = 0x0000
All show as mass storage devices though...
Try setting it manually first:
usbconfig ugen4.2 set_config 2
Or 1.Though it looks like you might have the C1 variant from the usbmodeswitch forum discussion.
Steve
-
Thanks Steve,
when I tried usbconfig ugen4.2 set_config 2, I got the following message;
usbconfig - configure the USB subsystem
usage: usbconfig -u <busnum> -a <devaddr> -i <ifaceindex> [cmds...]
usage: usbconfig -d [ugen]<busnum>.<devaddr> -i <ifaceindex> [cmds...]
commands:
set_config <cfg_index>
.
.then I tried the following;
usbconfig -d ugen4.2 set_config 0
usbconfig -d ugen4.2 set_config 1
usbconfig -d ugen4.2 set_config 2however they didn't work, still shows as cd0
Best,
Savas
-
btw, when I was searching something useful in the USB stick, this is what I found,
intallation config file
DefaultVendor= 0x2001
DefaultProduct= 0xa407TargetVendor= 0x2001
TargetProduct= 0x7d0eMagicId=2ds2dse5w885d5d5we5d2d2d5sd4dgg4fdfd5
AutoRun=1
I tried to use the MagicId as MessageContent with USB_switch, however it didn't work.
Is there a way to convert the MagicId to MessageContent?
Best,
Savas
-
Ah sorry missed the -d switch. Ok well if you have the C1version you will need to use usb_modeswitch.
Is the message content not in it already?
It may not help you though because neither of those IDs is known to pfSense/FreeBSD:
https://github.com/pfsense/FreeBSD-src/blob/ff7d4801f1b88de656e028209818ff005e8a1353/sys/dev/usb/usbdevs#L1663Steve
-
Unfortunately there is no message content. I found this cryptic MagicId, however it didn't work.
btw, TargetVendor and TargetProduct are there,
731 vendor DLINK 0x2001 D-Link
813 product ABIT AK_020 0x7d0e 3G modemBest,
Savas
-
Mmm, but that product is from a different vendor so it will not match.
If you manage to make this work it will be via bunch of workarounds that may fail. I recommend using a different modem if you can.
Steve
-
Thanks Steve, I will try with a different modem.
Best,
Savas
-
If it is the C1 version it just needs to be ejected anyway:
https://github.com/NetworkManager/usb_modeswitch-data/blob/master/usb_modeswitch.d/2001:a407And then it may appear as a usb Ethernet device which you can use directly. There are issues with that though.
Steve
-
I am afraid it is D1
-
I also tried usb_modeswitch -v 2001 -p a407 -K -W, however it didn't generate any verbose output.
and this is what I see on the system log,
Apr 15 18:17:57 kernel da0: quirks=0x2<NO_6_BYTE>
Apr 15 18:17:57 kernel da0: Attempt to query device size failed: ILLEGAL REQUEST, Invalid field in CDB
Apr 15 18:17:57 kernel da0: 40.000MB/s transfers
Apr 15 18:17:57 kernel da0: <HSPA USB SCSI CD-ROM 6225> Removable Direct Access SCSI device
Apr 15 18:17:57 kernel da0 at umass-sim0 bus 0 scbus2 target 0 lun 0
Apr 15 18:17:57 kernel umass0: <Mass Storage > on usbus4
Apr 15 18:17:57 kernel umass0 on uhub1
Apr 15 18:17:57 kernel ugen4.2: <D-Link,Inc D-Link DWM-157> at usbus4
Apr 15 18:17:55 kernel ugen4.2: <D-Link,Inc D-Link DWM-157> at usbus4 (disconnected)
Apr 15 18:17:55 kernel umass0: detached
Apr 15 18:17:55 kernel (cd0:umass-sim0:0:0:0): Periph destroyed
Apr 15 18:17:55 kernel cd0: <HSPA USB SCSI CD-ROM 6225> s/n 531399703502680 detached
Apr 15 18:17:55 kernel cd0 at umass-sim0 bus 0 scbus2 target 0 lun 0
Apr 15 18:17:55 kernel umass0: at uhub1, port 1, addr 2 (disconnected)
Apr 15 18:17:36 kernel cd0: quirks=0x10<10_BYTE_ONLY>
Apr 15 18:17:36 kernel cd0: 14MB (28672 512 byte sectors)
Apr 15 18:17:36 kernel cd0: 40.000MB/s transfers
Apr 15 18:17:36 kernel cd0: Serial Number 531399703502680
Apr 15 18:17:36 kernel cd0: <HSPA USB SCSI CD-ROM 6225> Removable CD-ROM SCSI device
Apr 15 18:17:36 kernel cd0 at umass-sim0 bus 0 scbus2 target 0 lun 0
Apr 15 18:17:36 kernel umass0: <Mass Storage > on usbus4
Apr 15 18:17:36 kernel umass0 on uhub1
Apr 15 18:17:36 kernel ugen4.2: <D-Link,Inc D-Link DWM-157> at usbus4basically when I run usb_modeswitch -v 2001 -p a407 -K -W, it ejects cd0 and turns into da0, not modem.
Best,
Savas
-
Mmm, it sure looks like a C1 version in many ways. You see anything else in the system log after you do that?
Try running usbconfig dump_all_desc against it after you have ejected it to change it's mode like LOM suggested.
Steve
-
I cannot post the logs, I am getting SPAM message
"Post content was flagged as spam by Akismet.com"