Re: Need help in supporting DWM 157 D1 donle.
I 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 usbus4
basically when I run usb_modeswitch -v 2001 -p a407 -K -W, it ejects cd0 and turns into da0, not modem.
Best,
Savas
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 usbus4
basically when I run usb_modeswitch -v 2001 -p a407 -K -W, it ejects cd0 and turns into da0, not modem.
Best,
Savas
Re: Need help in supporting DWM 157 D1 donle.
Try it under linux.. I have no idea of what has been done by FreeBSD developers to usb_modeswitch in order for it to run under FreeBSD.chedxb wrote:I tried usb_modeswitch -v 2001 -p a407 -K -W, however it didn't generate any verbose output.
If it changes ProductId to 7d0e then there must be more interface available than the mass storage interface.chedxb wrote: basically when I run usb_modeswitch -v 2001 -p a407 -K -W, it ejects cd0 and turns into da0, not modem.
lsusb -v is the linux cmd to display the interface layout and there must be a similar one in FreeBSD.
Find it and run it..
Re: Need help in supporting DWM 157 D1 donle.
I run usbconfig dump_all_desc and attached is the output.
- Attachments
-
- Shell Output.zip
- (74.56 KiB) Downloaded 504 times
Re: Need help in supporting DWM 157 D1 donle.
and it shows the descriptors for a407..chedxb wrote:I run usbconfig dump_all_desc and attached is the output.
Since you don't get any verbose output from usb_modeswitch and also no switching then I can only guess that usb_modeswitch doesn't work under FreeBSD.
DWM 157C1 has no problems switching under linux so you'll probably have to use the eject cmd which previously gave you a successful switch.
Re: Need help in supporting DWM 157 D1 donle.
I never had a successful switch even with eject cmd.
Re: Need help in supporting DWM 157 D1 donle.
From a previous post of yours:chedxb wrote:I never had a successful switch even with eject cmd.
There is no way the dongle can morph into 2001:7d0e without giving you the full interface layout.chedxb wrote: and when I enter the camcontrol eject cd0 command, it changes to
ugen4.2: <D-Link,Inc D-Link DWM-157> at usbus4, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON (500mA)
bLength = 0x0012
bDescriptorType = 0x0001
bcdUSB = 0x0200
bDeviceClass = 0x00ef <Miscellaneous device>
bDeviceSubClass = 0x0002
bDeviceProtocol = 0x0001
bMaxPacketSize0 = 0x0040
idVendor = 0x2001
idProduct = 0x7d0e
bcdDevice = 0x0300
iManufacturer = 0x0009 <D-Link,Inc >
iProduct = 0x000a <D-Link DWM-157>
iSerialNumber = 0x0000 <no string>
bNumConfigurations = 0x0001
Re: Need help in supporting DWM 157 D1 donle.
idProduct is changing with the camcontrol eject cd0 command, however it doesn't turn into a modem. Please see below.
Before
Apr 16 08:27:18 kernel cd0: quirks=0x10<10_BYTE_ONLY>
Apr 16 08:27:18 kernel cd0: 14MB (28672 512 byte sectors)
Apr 16 08:27:18 kernel cd0: 40.000MB/s transfers
Apr 16 08:27:18 kernel cd0: Serial Number 531399703502680
Apr 16 08:27:18 kernel cd0: <HSPA USB SCSI CD-ROM 6225> Removable CD-ROM SCSI device
Apr 16 08:27:18 kernel cd0 at umass-sim0 bus 0 scbus2 target 0 lun 0
Apr 16 08:27:18 kernel umass0: <Mass Storage > on usbus4
Apr 16 08:27:18 kernel umass0 on uhub1
Apr 16 08:27:18 kernel ugen4.2: <D-Link,Inc D-Link DWM-157> at usbus4
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
After (camcontrol eject cd0)
Apr 16 09:14:33 kernel da0: quirks=0x2<NO_6_BYTE>
Apr 16 09:14:33 kernel da0: Attempt to query device size failed: ILLEGAL REQUEST, Invalid field in CDB
Apr 16 09:14:33 kernel da0: 40.000MB/s transfers
Apr 16 09:14:33 kernel da0: <HSPA USB SCSI CD-ROM 6225> Removable Direct Access SCSI device
Apr 16 09:14:33 kernel da0 at umass-sim0 bus 0 scbus2 target 0 lun 0
Apr 16 09:14:33 kernel umass0: <Mass Storage > on usbus4
Apr 16 09:14:33 kernel umass0 on uhub1
Apr 16 09:14:33 kernel ugen4.2: <D-Link,Inc D-Link DWM-157> at usbus4
ugen4.2: <D-Link,Inc D-Link DWM-157> at usbus4, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON (500mA)
bLength = 0x0012
bDescriptorType = 0x0001
bcdUSB = 0x0200
bDeviceClass = 0x00ef <Miscellaneous device>
bDeviceSubClass = 0x0002
bDeviceProtocol = 0x0001
bMaxPacketSize0 = 0x0040
idVendor = 0x2001
idProduct = 0x7d0e
bcdDevice = 0x0300
iManufacturer = 0x0009 <D-Link,Inc >
iProduct = 0x000a <D-Link DWM-157>
iSerialNumber = 0x0000 <no string>
bNumConfigurations = 0x0001
Before
Apr 16 08:27:18 kernel cd0: quirks=0x10<10_BYTE_ONLY>
Apr 16 08:27:18 kernel cd0: 14MB (28672 512 byte sectors)
Apr 16 08:27:18 kernel cd0: 40.000MB/s transfers
Apr 16 08:27:18 kernel cd0: Serial Number 531399703502680
Apr 16 08:27:18 kernel cd0: <HSPA USB SCSI CD-ROM 6225> Removable CD-ROM SCSI device
Apr 16 08:27:18 kernel cd0 at umass-sim0 bus 0 scbus2 target 0 lun 0
Apr 16 08:27:18 kernel umass0: <Mass Storage > on usbus4
Apr 16 08:27:18 kernel umass0 on uhub1
Apr 16 08:27:18 kernel ugen4.2: <D-Link,Inc D-Link DWM-157> at usbus4
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
After (camcontrol eject cd0)
Apr 16 09:14:33 kernel da0: quirks=0x2<NO_6_BYTE>
Apr 16 09:14:33 kernel da0: Attempt to query device size failed: ILLEGAL REQUEST, Invalid field in CDB
Apr 16 09:14:33 kernel da0: 40.000MB/s transfers
Apr 16 09:14:33 kernel da0: <HSPA USB SCSI CD-ROM 6225> Removable Direct Access SCSI device
Apr 16 09:14:33 kernel da0 at umass-sim0 bus 0 scbus2 target 0 lun 0
Apr 16 09:14:33 kernel umass0: <Mass Storage > on usbus4
Apr 16 09:14:33 kernel umass0 on uhub1
Apr 16 09:14:33 kernel ugen4.2: <D-Link,Inc D-Link DWM-157> at usbus4
ugen4.2: <D-Link,Inc D-Link DWM-157> at usbus4, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON (500mA)
bLength = 0x0012
bDescriptorType = 0x0001
bcdUSB = 0x0200
bDeviceClass = 0x00ef <Miscellaneous device>
bDeviceSubClass = 0x0002
bDeviceProtocol = 0x0001
bMaxPacketSize0 = 0x0040
idVendor = 0x2001
idProduct = 0x7d0e
bcdDevice = 0x0300
iManufacturer = 0x0009 <D-Link,Inc >
iProduct = 0x000a <D-Link DWM-157>
iSerialNumber = 0x0000 <no string>
bNumConfigurations = 0x0001
Re: Need help in supporting DWM 157 D1 donle.
What does usbconfig dump_all_desc show at this point?chedxb wrote: bLength = 0x0012
bDescriptorType = 0x0001
bcdUSB = 0x0200
bDeviceClass = 0x00ef <Miscellaneous device>
bDeviceSubClass = 0x0002
bDeviceProtocol = 0x0001
bMaxPacketSize0 = 0x0040
idVendor = 0x2001
idProduct = 0x7d0e
bcdDevice = 0x0300
iManufacturer = 0x0009 <D-Link,Inc >
iProduct = 0x000a <D-Link DWM-157>
iSerialNumber = 0x0000 <no string>
bNumConfigurations = 0x0001
How many interfaces does the bNumInterfaces under Configuration 0 show?
Re: Need help in supporting DWM 157 D1 donle.
Code: Select all
ugen4.2: <D-Link,Inc D-Link DWM-157> at usbus4, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON (500mA)
bLength = 0x0012
bDescriptorType = 0x0001
bcdUSB = 0x0200
bDeviceClass = 0x00ef <Miscellaneous device>
bDeviceSubClass = 0x0002
bDeviceProtocol = 0x0001
bMaxPacketSize0 = 0x0040
idVendor = 0x2001
idProduct = 0x7d0e
bcdDevice = 0x0300
iManufacturer = 0x0009 <D-Link,Inc >
iProduct = 0x000a <D-Link DWM-157>
iSerialNumber = 0x0000 <no string>
bNumConfigurations = 0x0001
Configuration index 0
bLength = 0x0009
bDescriptorType = 0x0002
wTotalLength = 0x00e4
bNumInterfaces = 0x0007
bConfigurationValue = 0x0001
iConfiguration = 0x0000 <no string>
bmAttributes = 0x00a0
bMaxPower = 0x00fa
Additional Descriptor
bLength = 0x08
bDescriptorType = 0x0b
bDescriptorSubType = 0x00
RAW dump:
0x00 | 0x08, 0x0b, 0x00, 0x02, 0x02, 0x0e, 0x00, 0x01
Interface 0
bLength = 0x0009
bDescriptorType = 0x0004
bInterfaceNumber = 0x0000
bAlternateSetting = 0x0000
bNumEndpoints = 0x0001
bInterfaceClass = 0x0002 <Communication device>
bInterfaceSubClass = 0x000e
bInterfaceProtocol = 0x0000
iInterface = 0x0001 <COM(comm_if)>
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, 0x00, 0x01
Additional Descriptor
bLength = 0x0c
bDescriptorType = 0x24
bDescriptorSubType = 0x1b
RAW dump:
0x00 | 0x0c, 0x24, 0x1b, 0x00, 0x01, 0x00, 0x02, 0x10,
0x08 | 0x40, 0xdc, 0x05, 0x20
Endpoint 0
bLength = 0x0007
bDescriptorType = 0x0005
bEndpointAddress = 0x0088 <IN>
bmAttributes = 0x0003 <INTERRUPT>
wMaxPacketSize = 0x0040
bInterval = 0x0001
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 = 0x0002 <COM(data_if)>
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
Interface 2
bLength = 0x0009
bDescriptorType = 0x0004
bInterfaceNumber = 0x0002
bAlternateSetting = 0x0000
bNumEndpoints = 0x0003
bInterfaceClass = 0x00ff <Vendor specific>
bInterfaceSubClass = 0x0002
bInterfaceProtocol = 0x0001
iInterface = 0x0003 <COM(comm_if)>
Additional Descriptor
bLength = 0x05
bDescriptorType = 0x24
bDescriptorSubType = 0x00
RAW dump:
0x00 | 0x05, 0x24, 0x00, 0x10, 0x01
Additional Descriptor
bLength = 0x04
bDescriptorType = 0x24
bDescriptorSubType = 0x02
RAW dump:
0x00 | 0x04, 0x24, 0x02, 0x0f
Additional Descriptor
bLength = 0x05
bDescriptorType = 0x24
bDescriptorSubType = 0x06
RAW dump:
0x00 | 0x05, 0x24, 0x06, 0x02, 0x03
Additional Descriptor
bLength = 0x05
bDescriptorType = 0x24
bDescriptorSubType = 0x01
RAW dump:
0x00 | 0x05, 0x24, 0x01, 0x03, 0x03
Endpoint 0
bLength = 0x0007
bDescriptorType = 0x0005
bEndpointAddress = 0x0087 <IN>
bmAttributes = 0x0003 <INTERRUPT>
wMaxPacketSize = 0x0040
bInterval = 0x0003
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 3
bLength = 0x0009
bDescriptorType = 0x0004
bInterfaceNumber = 0x0003
bAlternateSetting = 0x0000
bNumEndpoints = 0x0002
bInterfaceClass = 0x00ff <Vendor specific>
bInterfaceSubClass = 0x0000
bInterfaceProtocol = 0x0000
iInterface = 0x0005 <COM(data_if)>
Endpoint 0
bLength = 0x0007
bDescriptorType = 0x0005
bEndpointAddress = 0x0083 <IN>
bmAttributes = 0x0002 <BULK>
wMaxPacketSize = 0x0200
bInterval = 0x0000
bRefresh = 0x0000
bSynchAddress = 0x0000
Endpoint 1
bLength = 0x0007
bDescriptorType = 0x0005
bEndpointAddress = 0x0003 <OUT>
bmAttributes = 0x0002 <BULK>
wMaxPacketSize = 0x0200
bInterval = 0x0000
bRefresh = 0x0000
bSynchAddress = 0x0000
Interface 4
bLength = 0x0009
bDescriptorType = 0x0004
bInterfaceNumber = 0x0004
bAlternateSetting = 0x0000
bNumEndpoints = 0x0002
bInterfaceClass = 0x00ff <Vendor specific>
bInterfaceSubClass = 0x0000
bInterfaceProtocol = 0x0000
iInterface = 0x0006 <COM(data_if)>
Endpoint 0
bLength = 0x0007
bDescriptorType = 0x0005
bEndpointAddress = 0x0084 <IN>
bmAttributes = 0x0002 <BULK>
wMaxPacketSize = 0x0200
bInterval = 0x0000
bRefresh = 0x0000
bSynchAddress = 0x0000
Endpoint 1
bLength = 0x0007
bDescriptorType = 0x0005
bEndpointAddress = 0x0004 <OUT>
bmAttributes = 0x0002 <BULK>
wMaxPacketSize = 0x0200
bInterval = 0x0000
bRefresh = 0x0000
bSynchAddress = 0x0000
Interface 5
bLength = 0x0009
bDescriptorType = 0x0004
bInterfaceNumber = 0x0005
bAlternateSetting = 0x0000
bNumEndpoints = 0x0002
bInterfaceClass = 0x00ff <Vendor specific>
bInterfaceSubClass = 0x0000
bInterfaceProtocol = 0x0000
iInterface = 0x0007 <COM(data_if)>
Endpoint 0
bLength = 0x0007
bDescriptorType = 0x0005
bEndpointAddress = 0x0085 <IN>
bmAttributes = 0x0002 <BULK>
wMaxPacketSize = 0x0200
bInterval = 0x0000
bRefresh = 0x0000
bSynchAddress = 0x0000
Endpoint 1
bLength = 0x0007
bDescriptorType = 0x0005
bEndpointAddress = 0x0005 <OUT>
bmAttributes = 0x0002 <BULK>
wMaxPacketSize = 0x0200
bInterval = 0x0000
bRefresh = 0x0000
bSynchAddress = 0x0000
Interface 6
bLength = 0x0009
bDescriptorType = 0x0004
bInterfaceNumber = 0x0006
bAlternateSetting = 0x0000
bNumEndpoints = 0x0002
bInterfaceClass = 0x0008 <Mass storage>
bInterfaceSubClass = 0x0006
bInterfaceProtocol = 0x0050
iInterface = 0x0008 <Mass Storage >
Endpoint 0
bLength = 0x0007
bDescriptorType = 0x0005
bEndpointAddress = 0x0086 <IN>
bmAttributes = 0x0002 <BULK>
wMaxPacketSize = 0x0200
bInterval = 0x0000
bRefresh = 0x0000
bSynchAddress = 0x0000
Endpoint 1
bLength = 0x0007
bDescriptorType = 0x0005
bEndpointAddress = 0x0006 <OUT>
bmAttributes = 0x0002 <BULK>
wMaxPacketSize = 0x0200
bInterval = 0x0000
bRefresh = 0x0000
bSynchAddress = 0x0000
Re: Need help in supporting DWM 157 D1 donle.
I see total 7 interfaces, 0 to 6LOM wrote:What does usbconfig dump_all_desc show at this point?chedxb wrote: bLength = 0x0012
bDescriptorType = 0x0001
bcdUSB = 0x0200
bDeviceClass = 0x00ef <Miscellaneous device>
bDeviceSubClass = 0x0002
bDeviceProtocol = 0x0001
bMaxPacketSize0 = 0x0040
idVendor = 0x2001
idProduct = 0x7d0e
bcdDevice = 0x0300
iManufacturer = 0x0009 <D-Link,Inc >
iProduct = 0x000a <D-Link DWM-157>
iSerialNumber = 0x0000 <no string>
bNumConfigurations = 0x0001
How many interfaces does the bNumInterfaces under Configuration 0 show?
Re: Need help in supporting DWM 157 D1 donle.
Good, can we then finally agree that camcontrol eject cd0 switches the device into modem modechedxb wrote: I see total 7 interfaces, 0 to 6
with the interface layout I previously posted?
MI_00 D-Link Mobile Broadband Device (Network Adapter) (cdc_mbim)
MI_02 D-Link HSPA+DataCard Diagnostics Interface (also ppp dialup modem)
MI_03 D-Link HSPA+DataCard NMEA Device
MI_04 D-Link HSPA+DataCard Speech Port
MI_05 D-Link HSPA+DataCard Debug Port
MI_06 USB Mass Storage Device
Re: Need help in supporting DWM 157 D1 donle.
Agree. So I understand as follows,LOM wrote:Good, can we then finally agree that camcontrol eject cd0 switches the device into modem modechedxb wrote: I see total 7 interfaces, 0 to 6
with the interface layout I previously posted?
MI_00 D-Link Mobile Broadband Device (Network Adapter) (cdc_mbim)
MI_02 D-Link HSPA+DataCard Diagnostics Interface (also ppp dialup modem)
MI_03 D-Link HSPA+DataCard NMEA Device
MI_04 D-Link HSPA+DataCard Speech Port
MI_05 D-Link HSPA+DataCard Debug Port
MI_06 USB Mass Storage Device
Since the drivers are not available in pfSense/BSD for the interfaces from 0 to 5, when I do camcontrol eject cd0, it uses the 6th interface (USB Mass Storage Device)
Let me check if I can find the drivers needed the modem interface.
Re: Need help in supporting DWM 157 D1 donle.
btw, I just noticed MagicId is used in the install.sh file
- Attachments
-
- install.zip
- (2.64 KiB) Downloaded 502 times
Re: Need help in supporting DWM 157 D1 donle.
Nice result and from the photo I see that the device is really marked D1 even though it behaves like a C1.chedxb wrote:it worked, https://forum.netgate.com/topic/96388/d ... ognized/34
It could be a D1 with C1 firmware flashed onto it or a mix up in manufacturing.
It is Mediatek who has provided the hardware for most D-Link dongles and the switch message you found is new to me but we have a similar one for 3 other Mediatek devices.
This type of msg has 1 length byte followed by 3 data bytes, the msg you found was 03 f0 01 03 while the one we already knew of is 03 f0 01 01. The last byte is probably a selector for the firmware to switch to one of a couple of pre-defined interface layouts.
You could try to put 1 or 2 as last byte to see if you get something interesting
As someone else over in the Netgate forum said, ethernet is not a good choice. That is because there is no standard command language for an ethernet connection so mfgrs all use different ways of telling an ethernet modem to bring up or bring down the connection. In your case it is probably done with proprietary AT cmds on one of the serial interfaces.
cdc_mbim which you got when ejecting cd0 is the preferred protocol, it packs data very efficient on the USB carrier and it has a standardized command language.
Unfortunately, from what I can see it is not a protocol that FreeBSD has a driver for but they will more or less be forced to implement it since it will be the dominating protocol for years to come.